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

img, video {
  max-width: 100%;
}

@media (max-width: 900px) {
  body,
  header,
  main,
  section,
  footer {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  body * {
    min-width: 0 !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
  }

  body > div {
    width: 100vw !important;
    min-width: 0 !important;
    max-width: 100vw !important;
  }

  header > div {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 72px !important;
    padding: 14px 24px !important;
    gap: 18px !important;
  }

  header nav {
    display: none !important;
  }

  header a[href="/request-a-quote/"] {
    display: none !important;
    padding: 10px 16px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
  }

  section > div,
  footer > div {
    width: 100vw !important;
    max-width: 100vw !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  h1 {
    width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
    font-size: 32px !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    text-wrap: wrap !important;
    text-wrap-mode: wrap !important;
  }

  h2 {
    width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
    font-size: 32px !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    text-wrap: auto !important;
  }

  h3 {
    font-size: 22px !important;
    line-height: 1.18 !important;
  }

  p {
    width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
    overflow-wrap: break-word !important;
    text-wrap: wrap !important;
  }

  [style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
  }

  [style*="grid-column"] {
    grid-column: auto !important;
  }

  [style*="display"][style*="flex"][style*="justify-content"][style*="space-between"],
  [style*="display"][style*="flex"][style*="align-items"][style*="flex-end"] {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  [style*="display"][style*="flex"][style*="justify-content"][style*="space-between"] > *,
  [style*="display"][style*="flex"][style*="align-items"][style*="flex-end"] > * {
    width: 100% !important;
    flex: 0 1 auto !important;
  }

  [style*="display"][style*="flex"][style*="gap"] {
    flex-wrap: wrap !important;
  }

  a,
  button {
    max-width: 100%;
  }

  table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }
}

@media (max-width: 480px) {
  header > div {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  section > div,
  footer > div {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  h1 {
    width: calc(100vw - 40px) !important;
    max-width: calc(100vw - 40px) !important;
    font-size: 30px !important;
  }

  h2 {
    width: calc(100vw - 40px) !important;
    max-width: calc(100vw - 40px) !important;
    font-size: 29px !important;
  }

  p {
    width: calc(100vw - 40px) !important;
    max-width: calc(100vw - 40px) !important;
  }
}
