/* custom overrides (loaded last) */
@media (max-width: 767px) {
  .headerAndNavContainer {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 1000 !important;
  }
  /* eyebrow (secondary nav) collapses on scroll to reclaim space */
  .secondaryNav {
    overflow: hidden;
    max-height: 300px;
    transition: max-height 0.25s ease, opacity 0.2s ease;
  }
  .secondaryNav.eyebrow-collapsed {
    max-height: 0 !important;
    opacity: 0 !important;
  }
}

/* Header eyebrow (secondaryNav) contact bar: keep each item (address / phone /
   hours) on one line with its icon sitting tight against the text and even
   spacing between items. The theme absolutely-positions each icon just left of
   its block (left:-20px), so the blocks must stay auto-width for the icon to
   hug its text -- RIGHT_ALIGN (width:100%;text-align:right) is therefore
   withheld from these three blocks in refine_site.py. Here we also hide the
   hard street/city <br> so the address stays on a single line, and prevent any
   mid-text wrapping above the theme's column breakpoint. */
.secondaryNavContent [itemprop="address"] br {
  display: none;
}
@media (min-width: 1025px) {
  .secondaryNavContent {
    flex-wrap: wrap;
    gap: 0.75em 2.25em;
  }
  .secondaryNavContent .blockInnerContent {
    white-space: nowrap;
  }
}

/* Newsletter section: the Lumistry capture embed replaces the template's dead
   form (the template's plain heading is removed since the embed renders its own
   titled, working form). The section's template layout (.layoutD--vAlign1) is a
   two-column row-reverse layout that pins the form to a 48%-wide right column; it
   must be neutralized with !important (the base stylesheet's rules otherwise win)
   so the embed can span the full width and be centered. The embed then renders a
   horizontal .lk-ih form (title beside fields) with left-aligned text, so it is
   restacked into a vertical, center-justified column. */
.blockWrap_d66f6a80367049f7b70e5a4e6d422571 .blockContent {
  display: block !important;
  text-align: center !important;
}
.blockWrap_d66f6a80367049f7b70e5a4e6d422571 .blockForm {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
}
.blockWrap_d66f6a80367049f7b70e5a4e6d422571 [data-lumistry-capture] {
  display: flex;
  justify-content: center;
  width: 100%;
}
.blockWrap_d66f6a80367049f7b70e5a4e6d422571 .lk-form {
  width: auto !important;
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center;
}
.blockWrap_d66f6a80367049f7b70e5a4e6d422571 .lk-form.lk-ih {
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
}
.blockWrap_d66f6a80367049f7b70e5a4e6d422571 .lk-form.lk-ih .lk-head,
.blockWrap_d66f6a80367049f7b70e5a4e6d422571 .lk-form.lk-ih .lk-body {
  flex: 0 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
}
.blockWrap_d66f6a80367049f7b70e5a4e6d422571 .lk-title,
.blockWrap_d66f6a80367049f7b70e5a4e6d422571 .lk-sub,
.blockWrap_d66f6a80367049f7b70e5a4e6d422571 .lk-msg,
.blockWrap_d66f6a80367049f7b70e5a4e6d422571 .lk-err {
  text-align: center;
}
.blockWrap_d66f6a80367049f7b70e5a4e6d422571 .lk-row {
  justify-content: center !important;
}
.blockWrap_d66f6a80367049f7b70e5a4e6d422571 .lk-consent {
  justify-content: center;
}

/* Header logo: the template caps the top logo container at max-width:292px and
   sizes the image to only 66.67% of it (~195px effective). Enlarge just the
   top-of-page header logo (not the footer / "member of" marks) so it reads
   bigger and clearer. */
.headerContent div.logo {
  max-width: 380px !important;
}
.headerContent div.logo img {
  width: 100% !important;
}
