/* Universal responsive fix */
* {
  box-sizing: border-box;
}

/* Make images and videos resize automatically */
img, video {
  max-width: 100%;
  height: auto;
}

/* Make main layout stack vertically on smaller screens */
@media (max-width: 768px) {
  body {
    padding: 10px;
  }

  .container, .section, .row {
    display: block;
    width: 100%;
  }

  .column, .col, .card {
    width: 100%;
    margin-bottom: 20px;
  }

  nav ul {
    flex-direction: column;
    align-items: center;
  }

  h1, h2, h3, p {
    text-align: center;
  }

  button, input {
    width: 100%;
  }
}
