/* Written on each publish by the deploy agent. Loads after wsg.css so it wins. */

/* Footer tagline: plain-text newlines from publish — keep breaks visible */
.fly-site-footer.myfooter .brand-footer-tagline {
  white-space: pre-line !important;
  display: block;
}
.fly-site-footer.myfooter .fly-footer-info.brand-footer-info {
  white-space: pre-line !important;
}

/* Hero overlay copy — horizontal inset */
@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;
}

/* Mobile: no horizontal rubber-band from wide children */
html,
body {
  overflow-x: hidden;
  max-width: 100%;
}
.dj-packages,
.dj-packages * {
  max-width: 100%;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .dj-packages [style*="min-width"] {
    min-width: 0 !important;
  }
  .dj-packages [style*="flex:1 1"] {
    flex-basis: 100% !important;
  }
  .preloader img {
    max-width: min(380px, 85vw) !important;
    width: auto !important;
    height: auto !important;
    box-sizing: border-box !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;
  }
}

/* ===========================================================================
   Mobile nav (portrait + landscape, < 992px): widen the text wordmark.
   The 14ch cap in brand-vars.php keeps the header logo narrow on phones; let it
   use more of the available bar width before wrapping.
   =========================================================================== */
@media (max-width: 991px) {
  .brand-logo-is-text .fly-header-site .logowhite .brand-logo-text,
  .brand-logo-is-text .fly-header-site .logoblack .brand-logo-text {
    max-width: 70vw !important;
    font-size: clamp(1.6rem, 7vw, 2.6rem) !important;
  }
  .brand-logo-is-text .fly-header-site .fly-wrap-logo {
    max-width: 75vw !important;
  }
}