/* Mobile-owned adjustments layered after the base site CSS. */
*, *::before, *::after {
  box-sizing: border-box;
}

/* The header nav is collapsed to the hamburger for the whole
   data-collapse="medium" range (up to 991px), so its geometry has to be
   fixed across that range — not just on phones. Left at 767px, the icon
   div inherited `width: 28px` with no height from meeopp.css, so between
   768px and 991px (iPad portrait, small laptop windows) the button had a
   zero-height hit box: the bars still drew, but the menu could not be
   opened at all, and the desktop nav is hidden below 992px. */
@media (max-width: 991px) {
  .w-nav[data-collapse="medium"] .mo-header-nav-menu-toggle.w-nav-button,
  .mo-header-nav-menu-toggle.w-nav-button {
    align-items: center;
    display: flex;
    height: 44px;
    justify-content: center;
    min-height: 44px;
    min-width: 44px;
    padding: 0;
    width: 44px;
  }

  .mo-header-nav-menu-icon {
    height: 28px;
    width: 28px;
  }

  .mo-header-site-logo-link.w-nav-brand {
    align-items: center;
    justify-content: center;
    display: flex;
    min-height: 44px;
  }

  .mo-site-logo-link.w-nav-brand {
    align-items: center;
    display: flex;
    min-height: 44px;
  }
}

@media (max-width: 767px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }

  img,
  svg,
  video,
  canvas {
    max-width: 100%;
    height: auto;
  }

  .mo-section,
  .v2-section,
  .v3-section,
  .container-1140,
  .container-1280,
  .mo-row {
    max-width: 100%;
  }

  .mo-footer-nav-menu .mo-nav-menu-link.mo_footer-link {
    align-items: center;
    display: flex;
    min-height: 44px;
  }

  .mo-follow-icons-wrapper a.w-inline-block {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 44px;
    min-width: 44px;
  }

  .mo-follow-icons,
  .mo-follow-icons-2 {
    align-items: center;
    display: flex;
    height: 22px;
    justify-content: center;
    width: 22px;
  }

  .mo-section.mo-full-cta.mo_contact-cta {
    overflow: hidden;
    padding-left: 16px;
    padding-right: 16px;
  }

  .mo-section.mo-full-cta.mo_contact-cta .mo-row,
  .mo-section.mo-full-cta.mo_contact-cta .mo-blue-cta,
  .mo-section.mo-full-cta.mo_contact-cta .mo-cta-content,
  .mo-section.mo-full-cta.mo_contact-cta .div-block-273,
  .mo-section.mo-full-cta.mo_contact-cta .div-block-271 {
    max-width: 100%;
    min-width: 0;
  }

  .mo-section.mo-full-cta.mo_contact-cta .mo-button-group {
    align-items: stretch;
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
  }

  .mo-section.mo-full-cta.mo_contact-cta .mo-default-button {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 44px;
    white-space: normal;
    width: 100%;
  }

  .mo-section.mo-full-cta.mo_contact-cta .mo-flower-vector {
    max-width: min(46vw, 150px);
    opacity: .35;
  }

  .mo-section.mo-full-cta.mo_contact-cta .mo-flower-vector.mo-cta-vase {
    bottom: -46px;
    right: -76px;
    top: auto;
    width: min(52vw, 170px);
  }

  .mo-section.mo-full-cta.mo_contact-cta .mo-flower-vector.mo-cta-flower {
    left: -76px;
    top: -36px;
    width: min(48vw, 150px);
  }

  .slick-slider,
  .slick-list,
  .slick-track,
  .mo-cards-carousel-row,
  .mo-cards-carousel-wrapper,
  .mo_logo-carousel-section,
  .mo-testimonial-cms-list-wrapper,
  .mo-testimonial-cms-list,
  .div-block-183.slick-testimonials {
    max-width: 100%;
  }

  .slick-list,
  .mo-cards-carousel-row,
  .mo-cards-carousel-wrapper,
  .mo_logo-carousel-section,
  .mo-testimonial-cms-list-wrapper,
  .mo-testimonial-cms-list,
  .div-block-183.slick-testimonials {
    overflow: hidden;
  }

  .slick-track {
    min-width: 0;
  }

  .v2-h1,
  .v2-h2,
  .mo-h1,
  .mo-h2,
  .mo-h3,
  .mo-contact-us-h1,
  .paragraph-42,
  .text-block-24,
  .text-block-33,
  .text-block-34,
  .text-block-35 {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .v2-h2.left-aligned {
    font-size: clamp(28px, 9vw, 36px);
    line-height: 1.12;
  }

  .div-block-342 {
    overflow: hidden;
    padding-left: 16px;
    padding-right: 16px;
  }

  .div-block-343,
  .div-block-344,
  .div-block-345,
  .div-block-346 {
    max-width: 100%;
    min-width: 0;
  }

  .div-block-344 {
    align-items: center;
    text-align: center;
  }

  .div-block-343 {
    flex-wrap: wrap;
    gap: 8px 12px;
    justify-content: center;
  }

  .div-block-343 .paragraph-42 {
    flex-basis: 100%;
    text-align: center;
  }

  .div-block-345 {
    gap: 8px;
    justify-content: center;
  }

  .paragraph-42 {
    font-size: clamp(42px, 15vw, 58px);
    line-height: 1.02;
    overflow-wrap: normal;
    white-space: nowrap;
    word-break: normal;
  }

  .div-block-343 .code-embed-2 {
    padding-left: 0;
    padding-right: 0;
  }

  .code-embed-2,
  .code-embed-3,
  .code-embed-4,
  .code-embed-5 {
    max-width: 28vw;
  }

  .code-embed-5 {
    display: none;
  }

  .mo-contact-form-fields-wrapper.twocolumns {
    align-items: stretch;
    flex-direction: column;
  }

  .mo-contact-form-field-wrapper,
  .mo-contact-form-text-field,
  .mo-contact-form-textarea-field,
  .mo-contact-form-submit-wrapper {
    max-width: 100%;
  }

  .mo-contact-form-text-field {
    min-height: 44px;
  }

  .mo-contact-form-submit-button {
    min-height: 44px;
    width: 100%;
  }
}

@media (max-width: 360px) {
  .mo-section.mo-full-cta.mo_contact-cta .mo-flower-vector {
    opacity: .2;
  }

  .code-embed-2,
  .code-embed-3,
  .code-embed-4,
  .code-embed-5 {
    display: none;
  }
}
