/* Responsive refinements for the React pages. The standalone landing page has its own stylesheet. */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body,
#root {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

body {
  margin: 0;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}

#root,
#root > * {
  min-width: 0;
}

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

img {
  vertical-align: middle;
}

#root .chakra-flex > *,
#root .chakra-stack > *,
#root .chakra-grid > * {
  min-width: 0;
}

#root .chakra-heading,
#root .chakra-text,
#root .chakra-link {
  overflow-wrap: break-word;
}

#root .chakra-input,
#root .chakra-textarea,
#root .chakra-select {
  max-width: 100%;
}

#root .chakra-button {
  touch-action: manipulation;
}

#root .chakra-container {
  max-width: 100%;
}

.aboutus-stats {
  min-width: 0;
}

.offerings-track {
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scroll-padding-inline: 8px;
}

@media (min-width: 768px) and (max-width: 1279px) {
  /* Use the compact navigation drawer through tablet widths to avoid overlapping links. */
  #root .chakra-container {
    padding-inline: 1.25rem;
  }

  #root .chakra-heading {
    text-wrap: balance;
  }
}

@media (max-width: 767px) {
  html {
    scroll-padding-top: 68px;
  }

  #root .chakra-container {
    padding-inline: 1rem;
  }

  #root .chakra-heading {
    text-wrap: balance;
  }

  #root .chakra-link {
    overflow-wrap: anywhere;
  }

  .aboutus-stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .aboutus-stats > * {
    min-width: 0;
    padding-inline: 2px;
  }

  .aboutus-stats .chakra-text {
    white-space: normal;
    line-height: 1.3;
  }

  .aboutus-team {
    row-gap: 18px;
  }

  #root .chakra-table__container {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  #root button,
  #root [role="button"] {
    min-height: 42px;
  }
}

@media (max-width: 380px) {
  #root .chakra-container {
    padding-inline: 0.75rem;
  }

  .aboutus-stats {
    gap: 4px !important;
  }
}


/* Responsive overrides for the bundled What We Offer carousel */
.offerings-track > a {
  display: block;
  flex: 0 0 374px;
  width: 374px;
  min-width: 0;
}
.offerings-card {
  min-width: 0;
}
@media (min-width: 768px) and (max-width: 1279px) {
  .offerings-track {
    width: 100% !important;
  }
}
@media (max-width: 767px) {
  .offerings-track {
    width: 100% !important;
    max-width: 100% !important;
    column-gap: 14px;
  }
  .offerings-track > a {
    flex: 0 0 85vw;
    width: 85vw;
    max-width: calc(100vw - 32px);
  }
  .offerings-track .offerings-card {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    height: 320px !important;
    margin-right: 0 !important;
  }
}
