* {
  box-sizing: border-box;
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

body {
  padding-left: clamp(12px, 4vw, 40px);
  padding-right: clamp(12px, 4vw, 40px);
}

.container,
.custom-container,
.row,
.col {
  max-width: 100%;
}

img {
  display: block;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto 12px;
  object-fit: contain;
}

iframe,
video,
embed,
object,
canvas {
  max-width: 100%;
}

.video-container {
  width: min(100%, 960px);
  margin: 0 auto 16px;
}

.video-container iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}

form {
  width: min(100%, 420px) !important;
}

#pdf-container {
  width: 100%;
}

#pdf-container canvas,
.pdf-page-canvas {
  display: block;
  width: 100% !important;
  height: auto !important;
  margin: 0 auto 16px;
}

@media (max-width: 576px) {
  body {
    padding-left: 12px;
    padding-right: 12px;
  }

  h1 {
    font-size: 1.75rem;
  }

  h2 {
    font-size: 1.35rem;
  }

  h3 {
    font-size: 1.2rem;
  }

  h4,
  h5 {
    font-size: 1rem;
  }
}