/* Hero overlay copy — loads after wsg.css; rewritten on each publish */
@media (min-width: 992px) {
  .textover p {
    padding: 0 170px !important;
  }
}

/* About / interior content: centered, capped at 1000px */
.fly-info-box .fly-info-box-content,
.fly-story-box .fly-info-box-content,
.fly-story-box .fly-story-box-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  box-sizing: border-box;
}

/* Preloader: brand primary (not white). Wallpaper image still wins via inline style when set. */
.preloader {
  background-color: var(--k-brand-primary) !important;
}

/* CTA / quick-nav labels: white on secondary (often light gray) needs a hard shadow */
.fly-btn-1.fly-btn-color-3,
.fly-btn-1.fly-btn-color-3:hover,
.fly-btn-1.fly-btn-color-3:focus,
.fly-btn-quick-nav.fly-btn-color-3,
.fly-btn-quick-nav.fly-btn-color-3:hover,
.fly-btn-quick-nav.fly-btn-color-3:focus,
.fly-btn-1.fly-btn-color-3 span,
.fly-btn-quick-nav.fly-btn-color-3 span {
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.95),
    1px 1px 0 rgba(0, 0, 0, 0.9),
    2px 2px 0 rgba(0, 0, 0, 0.75) !important;
}

/* ===========================================================================
   Text-logo header layout (no uploaded image logo), desktop only.

   The legacy theme defines DIFFERENT sticky vs non-sticky spacing across
   several files and ~6 width breakpoints, which made the sticky bar drift out
   of alignment. Instead of chasing every value, we give the text-logo header
   ONE flex layout applied IDENTICALLY to both the normal and sticky states, so
   they can't differ. This file loads last, so it wins the cascade.

   Scoped to .brand-logo-is-text + (min-width:992px): image-logo sites and the
   mobile menu (<992px) are untouched.
   =========================================================================== */
@media (min-width: 992px) {
  /* Header is a centered flex row, same box in both states. */
  .brand-logo-is-text .fly-header-site.fly-header-type-1,
  .brand-logo-is-text .fly-header-site.fly-header-type-1.sticky-menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    height: auto !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  /* Left / right nav clusters: natural width, sit right beside the logo, and
     center vertically against it. Drop the legacy fixed widths + top offsets. */
  .brand-logo-is-text .fly-header-type-1 .fly-nav-wrap.fly-nav-left,
  .brand-logo-is-text .fly-header-type-1 .fly-nav-wrap.fly-nav-right,
  .brand-logo-is-text .fly-header-type-1.sticky-menu .fly-nav-wrap.fly-nav-left,
  .brand-logo-is-text .fly-header-type-1.sticky-menu .fly-nav-wrap.fly-nav-right {
    width: auto !important;
    flex: 0 1 auto !important;
    position: static !important;
    top: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
  }

  /* Wordmark: fixed centered block with equal gaps to each nav cluster. */
  .brand-logo-is-text .fly-header-type-1 .fly-wrap-logo,
  .brand-logo-is-text .fly-header-type-1.sticky-menu .fly-wrap-logo {
    flex: 0 0 auto !important;
    position: static !important;
    top: 0 !important;
    /* -9px nudges the wordmark onto the nav-link centerline. */
    margin: -9px 45px 0 !important;
    max-width: none !important;
    max-height: none !important;
  }

  /* Nav link spacing — identical in both states. Symmetric vertical padding
     keeps the link text on the logo's centerline while preserving the
     padding-bottom dropdown hover bridge. */
  .brand-logo-is-text .fly-header-type-1 .fly-site-navigation .fly-nav-menu li,
  .brand-logo-is-text .fly-header-type-1.sticky-menu .fly-site-navigation .fly-nav-menu li {
    margin-left: 40px !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .brand-logo-is-text .fly-header-type-1 .fly-site-navigation .fly-nav-menu li:first-child,
  .brand-logo-is-text .fly-header-type-1.sticky-menu .fly-site-navigation .fly-nav-menu li:first-child {
    margin-left: 0 !important;
  }

  /* Keep the left cluster's links hugging the logo (right-aligned) and the
     right cluster's links hugging the logo (left-aligned). */
  .brand-logo-is-text .fly-header-type-1 .fly-nav-left .fly-nav-menu {
    text-align: right !important;
  }
  .brand-logo-is-text .fly-header-type-1 .fly-nav-right .fly-nav-menu {
    text-align: left !important;
  }
}

/* ===========================================================================
   Text wordmark sizing — desktop + mobile.
   fitLogoText() in general.js sets the exact font-size at runtime so the
   name always fills the available wrapper width. These rules just ensure the
   span and wrapper are unconstrained so the JS measurements are accurate.
   =========================================================================== */

/* Desktop: wrapper already has max-width:none from the flex rules above. */
.brand-logo-is-text .fly-header-site .logowhite .brand-logo-text,
.brand-logo-is-text .fly-header-site .logoblack .brand-logo-text {
  white-space: nowrap;
  display: inline-block;
  max-width: none !important;
  line-height: 1.1;
}

/* Mobile: give the wrapper most of the bar width so the JS has room to work,
   and vertically center the text logo inside the sticky header bar. */
@media (max-width: 991px) {
  .brand-logo-is-text .fly-header-site .fly-wrap-logo {
    max-width: 72vw !important;
    flex: 0 1 72vw !important;
  }

  /* Sticky bar: flex-center the logo vertically so it doesn't sit at the top. */
  .brand-logo-is-text .fly-header-site.sticky-menu {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .brand-logo-is-text .fly-header-site.sticky-menu .fly-wrap-logo {
    margin-top: 0 !important;
  }
}
