/* custom overrides (loaded last) */
/* accessible, visually-hidden text (e.g. the logo <h1> name) */
.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0);
  white-space: nowrap; border: 0;
}
/* Newsletter (Lumistry embed) styled to match the template's design: a
   full-width white band with a light-blue hairline on top and 30px vertical
   padding; the inner content is capped at 1400px and centered with 4% side
   padding (so it gets automatic margins on very wide screens). */
.blockContainer.lumistry-capture-section {
  width: 100% !important;
  box-sizing: border-box !important;
  background: #fff !important;
  border-top: 1px solid rgba(194, 216, 240, 0.5) !important;
  padding: 30px 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.lumistry-capture-section [data-lumistry-capture] {
  width: 100%;
  max-width: 1400px;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  padding-left: 4%;
  padding-right: 4%;
}
/* ===== Eyebrow contact bar: restore the original 3-column single row =====
   The platform's site JS moves the address / contact / hours blocks into
   .secondaryNavContent inside .secondaryNav, but the layout rules that lay them
   out as a centred row are commented out in the localized CSS, so the blocks
   fall back to their inline width:100%;text-align:right and the absolutely
   positioned icons (left:-20px) end up detached from their text. We rebuild the
   row here to match the original white bar with blue icons + dark text. */
.secondaryNav {
  background: #ffffff;
  border-bottom: 1px solid #e6e9ee;
}
.secondaryNav > .blockContent {
  max-width: 1400px;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 8px 4%;
}
/* hide the empty placeholder list that the eyebrow block ships with */
.secondaryNav > .blockContent > .blockText {
  display: none;
}
.secondaryNavContent {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px 40px;
}
/* neutralise the inline width:100%; clear:both; text-align:right (needs
   !important to beat inline styles) so each block becomes an auto-width column */
.secondaryNavContent > .blockContainer {
  width: auto !important;
  float: none !important;
  clear: none !important;
  text-align: left !important;
  margin: 0 !important;
}
.secondaryNavContent > .blockContainer .blockContent,
.secondaryNavContent > .blockContainer .blockText {
  margin: 0;
  padding: 0;
}
/* put the icon immediately to the left of its data (padding needs !important
   because the address/hours columns use a combined .blockText.blockInnerContent
   element whose .blockText padding would otherwise reset ours, causing overlap) */
.secondaryNav .blockInnerContent {
  position: relative;
  padding-left: 26px !important;
  margin: 0;
}
.secondaryNav .blockInnerContent:before {
  left: 0 !important;
  top: 50% !important;
  margin-top: -8px !important;
  /* the _1 / -dk icon PNGs are already the brand blue (#003E7E); no filter */
}
.secondaryNav,
.secondaryNav p,
.secondaryNav a,
.secondaryNav span {
  color: #333333 !important;
}
.secondaryNav p {
  margin: 0;
  line-height: 1.35;
  white-space: nowrap;
}
.secondaryNav .blockInnerContent br { display: none; }
/* contact column: keep phone (+ fax) inline, hide the email line */
.secondaryNavContent .contactEmail { display: none; }
.secondaryNavContent .contactPhone,
.secondaryNavContent .contactFax { display: inline; }
.secondaryNavContent .contactFax:before {
  content: "|";
  margin: 0 8px;
  opacity: .55;
}
@media (max-width: 767px) {
  .secondaryNav p { white-space: normal; }
  .secondaryNavContent { gap: 6px 20px; }
}
@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;
  }
}
