/* Hero overlay copy — loads after wsg.css; rewritten on each publish */
@media (min-width: 992px) {
  .textover p {
    padding: 0 170px !important;
  }
}

/* Optional mobile home hero (portrait). Prefer page <style id="pws-home-hero-mobile">
   (direct url). Fallback: path-only custom prop + url(var()). */
@media (max-width: 767px) {
  .fly-slider-full .item.brand-home-hero-has-mobile {
    background-image: url(var(--brand-home-hero-mobile)) !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;
}

/* Empty About: hide white .textbg when it only has hotfix <style>/<script> (no real copy). */
.fly-info-box .fly-info-box-content:has(> .textbg):not(:has(> .textbg > :not(style):not(script))) {
  display: none !important;
}
/* Home titles: h1 flush; modest gap before subtitle (h2). */
.homeh1,
.fly-info-box-header .homeh1,
h1.brandfontwhite.homeh1 {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}
.homeh2,
.fly-info-box-header .homeh2,
h2.brandfontwhite.homeh2 {
  margin: 0.85em 0 1.25em !important;
  padding: 0 !important;
  line-height: 1 !important;
}
.fly-info-box:has(.fly-info-box-content[style*="display: none"]) .fly-info-box-header br,
.fly-info-box:not(:has(.fly-info-box-content)) .fly-info-box-header br {
  display: none;
}
.fly-info-box:has(.fly-info-box-content[style*="display: none"]) .fly-divider-space.space-md,
.fly-info-box:not(:has(.fly-info-box-content)) .fly-divider-space.space-md {
  height: 36px;
}

/* 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: black or white from fill contrast */
.fly-btn-1.fly-btn-color-3,
.fly-btn-quick-nav.fly-btn-color-3,
.fly-btn-1.fly-btn-color-3 span,
.fly-btn-quick-nav.fly-btn-color-3 span {
  color: var(--k-brand-on-secondary, #fff) !important;
  text-shadow: var(--k-brand-on-secondary-shadow, 0 1px 2px rgba(0, 0, 0, 0.95)) !important;
}
.fly-btn-1.fly-btn-color-3:hover,
.fly-btn-1.fly-btn-color-3:focus,
.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:hover span,
.fly-btn-1.fly-btn-color-3:focus span,
.fly-btn-quick-nav.fly-btn-color-3:hover span,
.fly-btn-quick-nav.fly-btn-color-3:focus span {
  color: var(--k-brand-on-primary, #fff) !important;
  text-shadow: var(--k-brand-on-primary-shadow, 0 1px 2px rgba(0, 0, 0, 0.95)) !important;
}

/* About / white panels: readable link color when secondary is too light */
.textbg a,
.textbg p a,
.homebody a {
  color: var(--k-brand-link-on-light, var(--k-brand-primary)) !important;
  font-weight: 700;
}
.textbg a:hover,
.textbg a:focus,
.textbg p a:hover,
.textbg p a:focus,
.homebody a:hover,
.homebody a:focus {
  color: var(--k-brand-primary) !important;
  text-decoration: underline;
}

/* ===========================================================================
   Rectangle (wide) image-logo header — desktop + iPad landscape.

   Theme uses fixed ~450px / 40% nav columns + inline-block floats. On iPad
   landscape those columns wrap into two rows with the logo shoved right.
   One flex row (left nav | logo | right nav) fixes it. Loads last via overrides.
   =========================================================================== */
@media (min-width: 992px) {
  body:not(.brand-logo-shape-square):not(.brand-logo-shape-circle):not(.brand-logo-is-text) .fly-header-site.fly-header-type-1,
  body:not(.brand-logo-shape-square):not(.brand-logo-shape-circle):not(.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;
  }
  body:not(.brand-logo-shape-square):not(.brand-logo-shape-circle):not(.brand-logo-is-text) .fly-header-site .fly-nav-wrap,
  body:not(.brand-logo-shape-square):not(.brand-logo-shape-circle):not(.brand-logo-is-text) .fly-header-site.fly-header-type-1 .fly-nav-wrap,
  body:not(.brand-logo-shape-square):not(.brand-logo-shape-circle):not(.brand-logo-is-text) .fly-header-site.sticky-menu .fly-nav-wrap {
    width: auto !important;
    max-width: none !important;
    flex: 0 1 auto !important;
    float: none !important;
    position: static !important;
    top: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
  }
  body:not(.brand-logo-shape-square):not(.brand-logo-shape-circle):not(.brand-logo-is-text) .fly-header-site .fly-nav-left,
  body:not(.brand-logo-shape-square):not(.brand-logo-shape-circle):not(.brand-logo-is-text) .fly-header-site .fly-nav-right,
  body:not(.brand-logo-shape-square):not(.brand-logo-shape-circle):not(.brand-logo-is-text) .fly-header-site.sticky-menu .fly-nav-left,
  body:not(.brand-logo-shape-square):not(.brand-logo-shape-circle):not(.brand-logo-is-text) .fly-header-site.sticky-menu .fly-nav-right {
    position: relative !important;
    top: 0 !important;
    float: none !important;
  }
  body:not(.brand-logo-shape-square):not(.brand-logo-shape-circle):not(.brand-logo-is-text) .fly-header-site .fly-site-navigation .fly-nav-menu,
  body:not(.brand-logo-shape-square):not(.brand-logo-shape-circle):not(.brand-logo-is-text) .fly-header-site.sticky-menu .fly-site-navigation .fly-nav-menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
  }
  body:not(.brand-logo-shape-square):not(.brand-logo-shape-circle):not(.brand-logo-is-text) .fly-header-site .fly-wrap-logo {
    flex: 0 0 auto !important;
    float: none !important;
    position: static !important;
    top: 0 !important;
    margin: 0 28px !important;
    display: flex !important;
    align-items: center !important;
  }
  body:not(.brand-logo-shape-square):not(.brand-logo-shape-circle):not(.brand-logo-is-text) .fly-header-site:not(.sticky-menu) .fly-wrap-logo img {
    width: auto !important;
    max-width: 250px !important;
    max-height: 120px !important;
    height: auto !important;
    object-fit: contain !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  body:not(.brand-logo-shape-square):not(.brand-logo-shape-circle):not(.brand-logo-is-text) .fly-header-site .fly-site-navigation .fly-nav-menu li,
  body:not(.brand-logo-shape-square):not(.brand-logo-shape-circle):not(.brand-logo-is-text) .fly-header-site.sticky-menu .fly-site-navigation .fly-nav-menu li {
    margin-left: 14px !important;
  }
  body:not(.brand-logo-shape-square):not(.brand-logo-shape-circle):not(.brand-logo-is-text) .fly-header-site .fly-wrap-logo {
    margin: 0 16px !important;
  }
  body:not(.brand-logo-shape-square):not(.brand-logo-shape-circle):not(.brand-logo-is-text) .fly-header-site:not(.sticky-menu) .fly-wrap-logo {
    max-width: 210px !important;
    max-height: 96px !important;
  }
  body:not(.brand-logo-shape-square):not(.brand-logo-shape-circle):not(.brand-logo-is-text) .fly-header-site:not(.sticky-menu) .fly-wrap-logo img {
    width: auto !important;
    max-width: 210px !important;
    max-height: 96px !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.
   Cap with !important so fitLogoText() cannot inflate inline font-size to ~200px.
   =========================================================================== */

/* Desktop */
.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;
  font-size: clamp(1.5rem, 3.2vw, 2.6rem) !important;
}

/* 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;
  }
}

/* ===========================================================================
   Uploaded logo shapes — rectangle stays theme-default (wide).
   Square / circle: compact height + nav vertically centered with the mark.
   =========================================================================== */
@media (min-width: 992px) {
  body.brand-logo-shape-square .fly-header-site.fly-header-type-1,
  body.brand-logo-shape-circle .fly-header-site.fly-header-type-1,
  body.brand-logo-shape-square .fly-header-site.fly-header-type-1.sticky-menu,
  body.brand-logo-shape-circle .fly-header-site.fly-header-type-1.sticky-menu,
  .fly-header-site.fly-header-type-1:has(.brand-logo-img--square),
  .fly-header-site.fly-header-type-1:has(.brand-logo-img--circle),
  .fly-header-site.fly-header-type-1.sticky-menu:has(.brand-logo-img--square),
  .fly-header-site.fly-header-type-1.sticky-menu:has(.brand-logo-img--circle) {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    height: auto !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  body.brand-logo-shape-square .fly-header-site .fly-nav-wrap,
  body.brand-logo-shape-circle .fly-header-site .fly-nav-wrap,
  .fly-header-site:has(.brand-logo-img--square) .fly-nav-wrap,
  .fly-header-site:has(.brand-logo-img--circle) .fly-nav-wrap {
    width: auto !important;
    flex: 0 1 auto !important;
    position: static !important;
    top: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
  }
  body.brand-logo-shape-square .fly-header-site .fly-nav-wrap.fly-nav-right,
  body.brand-logo-shape-circle .fly-header-site .fly-nav-wrap.fly-nav-right,
  .fly-header-site:has(.brand-logo-img--square) .fly-nav-wrap.fly-nav-right,
  .fly-header-site:has(.brand-logo-img--circle) .fly-nav-wrap.fly-nav-right {
    padding-right: 40px !important;
  }
  body.brand-logo-shape-square .fly-header-site .fly-wrap-logo,
  body.brand-logo-shape-circle .fly-header-site .fly-wrap-logo,
  .fly-header-site .fly-wrap-logo:has(.brand-logo-img--square),
  .fly-header-site .fly-wrap-logo:has(.brand-logo-img--circle) {
    flex: 0 0 auto !important;
    position: static !important;
    top: 0 !important;
    margin: 0 36px !important;
    max-width: 150px !important;
    max-height: 150px !important;
  }
  body.brand-logo-shape-square .fly-header-site .fly-nav-left,
  body.brand-logo-shape-square .fly-header-site .fly-nav-right,
  body.brand-logo-shape-circle .fly-header-site .fly-nav-left,
  body.brand-logo-shape-circle .fly-header-site .fly-nav-right,
  .fly-header-site:has(.brand-logo-img--square) .fly-nav-left,
  .fly-header-site:has(.brand-logo-img--square) .fly-nav-right,
  .fly-header-site:has(.brand-logo-img--circle) .fly-nav-left,
  .fly-header-site:has(.brand-logo-img--circle) .fly-nav-right {
    top: 0 !important;
  }
}
body.brand-logo-shape-square .fly-header-site .fly-wrap-logo img,
body.brand-logo-shape-circle .fly-header-site .fly-wrap-logo img,
body.brand-logo-shape-square .fly-sticky-header-on .fly-wrap-logo img,
body.brand-logo-shape-circle .fly-sticky-header-on .fly-wrap-logo img,
.fly-header-site .fly-wrap-logo img.brand-logo-img--square,
.fly-header-site .fly-wrap-logo img.brand-logo-img--circle,
.fly-sticky-header-on .fly-wrap-logo img.brand-logo-img--square,
.fly-sticky-header-on .fly-wrap-logo img.brand-logo-img--circle {
  width: auto !important;
  height: auto !important;
  max-width: 150px !important;
  max-height: 150px !important;
  margin-left: 0 !important;
  object-fit: contain !important;
}
body.brand-logo-shape-square .fly-header-site.sticky-menu .fly-wrap-logo img,
body.brand-logo-shape-circle .fly-header-site.sticky-menu .fly-wrap-logo img,
body.brand-logo-shape-square .stick-open .fly-wrap-logo img,
body.brand-logo-shape-circle .stick-open .fly-wrap-logo img,
.fly-header-site.sticky-menu .fly-wrap-logo img.brand-logo-img--square,
.fly-header-site.sticky-menu .fly-wrap-logo img.brand-logo-img--circle,
.stick-open .fly-wrap-logo img.brand-logo-img--square,
.stick-open .fly-wrap-logo img.brand-logo-img--circle {
  width: auto !important;
  height: auto !important;
  max-width: 110px !important;
  max-height: 110px !important;
  padding-top: 0 !important;
}
/* Inner pages: keep Event Calendar / titles below the 150px absolute logo */
@media (min-width: 992px) {
  body.brand-logo-shape-square .fly-section-image.fly-header-image,
  body.brand-logo-shape-circle .fly-section-image.fly-header-image {
    min-height: 420px !important;
  }
  body.brand-logo-shape-square .fly-section-image.fly-header-image .container,
  body.brand-logo-shape-circle .fly-section-image.fly-header-image .container {
    padding-top: 200px !important;
    padding-bottom: 36px !important;
  }
  body.brand-logo-shape-square .fly-section-image.fly-header-image .container .row,
  body.brand-logo-shape-circle .fly-section-image.fly-header-image .container .row {
    vertical-align: bottom !important;
  }
}
@media (max-width: 991px) {
  body.brand-logo-shape-square .fly-section-image.fly-header-image,
  body.brand-logo-shape-circle .fly-section-image.fly-header-image {
    min-height: 340px !important;
  }
  body.brand-logo-shape-square .fly-section-image.fly-header-image .container,
  body.brand-logo-shape-circle .fly-section-image.fly-header-image .container {
    padding-top: 148px !important;
    padding-bottom: 24px !important;
  }
  /* Mobile square/circle logo — MUST beat theme width:250px !important.
     Homepage hotfix has this; interior pages only get it via this file / JS lock. */
  body.brand-logo-shape-square .fly-header-site,
  body.brand-logo-shape-circle .fly-header-site,
  body.brand-logo-shape-square .fly-header-site.sticky-menu,
  body.brand-logo-shape-circle .fly-header-site.sticky-menu {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    display: block !important;
    text-align: center !important;
    min-height: 0 !important;
    background: transparent !important;
  }
  body.brand-logo-shape-square .fly-header-site.sticky-menu.sticky-open,
  body.brand-logo-shape-circle .fly-header-site.sticky-menu.sticky-open {
    position: fixed !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 108px !important;
    height: 108px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    background: var(--k-brand-primary, #3b2414) !important;
  }
  body.brand-logo-shape-square .fly-header-site .fly-nav-wrap,
  body.brand-logo-shape-circle .fly-header-site .fly-nav-wrap,
  body.brand-logo-shape-square .fly-header-site.sticky-menu .fly-nav-wrap,
  body.brand-logo-shape-circle .fly-header-site.sticky-menu .fly-nav-wrap {
    display: none !important;
  }
  body.brand-logo-shape-square .fly-header-site:not(.sticky-open) .fly-wrap-logo,
  body.brand-logo-shape-circle .fly-header-site:not(.sticky-open) .fly-wrap-logo,
  body.brand-logo-shape-square .fly-header-site.sticky-menu:not(.sticky-open) .fly-wrap-logo,
  body.brand-logo-shape-circle .fly-header-site.sticky-menu:not(.sticky-open) .fly-wrap-logo {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    float: none !important;
    display: inline-block !important;
    margin: 0 auto !important;
    text-align: center !important;
    width: auto !important;
    max-width: min(136px, 40vw) !important;
    max-height: min(136px, 40vw) !important;
  }
  body.brand-logo-shape-square .fly-header-site:not(.sticky-open) .fly-wrap-logo img,
  body.brand-logo-shape-circle .fly-header-site:not(.sticky-open) .fly-wrap-logo img,
  body.brand-logo-shape-square .fly-header-site.sticky-menu:not(.sticky-open) .fly-wrap-logo img,
  body.brand-logo-shape-circle .fly-header-site.sticky-menu:not(.sticky-open) .fly-wrap-logo img,
  body.brand-logo-shape-square .fly-header-site:not(.sticky-open) .logowhite img,
  body.brand-logo-shape-circle .fly-header-site:not(.sticky-open) .logowhite img,
  body.brand-logo-shape-square .fly-header-site:not(.sticky-open) .logoblack img,
  body.brand-logo-shape-circle .fly-header-site:not(.sticky-open) .logoblack img {
    display: block !important;
    margin: 0 auto !important;
    width: auto !important;
    height: auto !important;
    max-width: min(136px, 40vw) !important;
    max-height: min(136px, 40vw) !important;
    object-fit: contain !important;
  }
  body.brand-logo-shape-square .fly-header-site.sticky-menu.sticky-open .fly-wrap-logo,
  body.brand-logo-shape-circle .fly-header-site.sticky-menu.sticky-open .fly-wrap-logo {
    max-width: 96px !important;
    max-height: 96px !important;
  }
  body.brand-logo-shape-square .fly-header-site.sticky-menu.sticky-open .fly-wrap-logo img,
  body.brand-logo-shape-circle .fly-header-site.sticky-menu.sticky-open .fly-wrap-logo img,
  body.brand-logo-shape-square .fly-header-site.sticky-menu.sticky-open .logowhite img,
  body.brand-logo-shape-circle .fly-header-site.sticky-menu.sticky-open .logowhite img,
  body.brand-logo-shape-square .fly-header-site.sticky-menu.sticky-open .logoblack img,
  body.brand-logo-shape-circle .fly-header-site.sticky-menu.sticky-open .logoblack img {
    max-width: 96px !important;
    max-height: 96px !important;
    width: auto !important;
    height: auto !important;
  }
}
body.brand-logo-shape-circle .fly-header-site .fly-wrap-logo img,
body.brand-logo-shape-circle .fly-footer-logo img,
body.brand-logo-shape-circle .preloader img#preloader-gif,
body.brand-logo-shape-circle #preloader-gif,
img.brand-logo-img--circle {
  border-radius: 50%;
}
body.brand-logo-shape-square .fly-footer-logo img,
body.brand-logo-shape-circle .fly-footer-logo img,
.fly-footer-logo img.brand-logo-img--square,
.fly-footer-logo img.brand-logo-img--circle {
  width: auto !important;
  height: auto !important;
  max-width: 150px !important;
  max-height: 150px !important;
  margin-top: 8px;
}
body.brand-logo-shape-square .preloader img,
body.brand-logo-shape-circle .preloader img,
.preloader img,
.preloader img#preloader-gif,
#preloader-gif {
  max-width: min(440px, 75vw) !important;
  max-height: min(440px, 75vw) !important;
  width: auto !important;
  height: auto !important;
}

/* Right header nav: keep clear of sticky side actions / viewport edge */
.fly-nav-wrap.fly-nav-right {
  padding-right: 40px !important;
}

/* Footer lockup: logo | text side-by-side (centered), Facebook under */
.fly-site-footer.myfooter .fly-footer-content {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  width: min(720px, 92%) !important;
  margin: 0 auto !important;
  text-align: center !important;
}
.fly-site-footer.myfooter .fly-footer-brand-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 36px !important;
  width: 100% !important;
}
.fly-site-footer.myfooter .fly-footer-brand-row .fly-footer-logo {
  display: block !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
}
.fly-site-footer.myfooter .fly-footer-brand-row .fly-footer-info.brand-footer-info {
  flex: 0 0 auto !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 2.1 !important;
}
.fly-site-footer.myfooter .fly-footer-content > [class*="col-"] {
  float: none !important;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.fly-site-footer.myfooter .fly-footer-content > .col-lg-6:first-child {
  padding-right: 36px !important;
}
.fly-site-footer.myfooter .fly-footer-content .fly-footer-info.brand-footer-info {
  text-align: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 2.1 !important;
}
.fly-site-footer.myfooter .fly-footer-content > .col-sm-12,
.fly-site-footer.myfooter .fly-footer-content .fly-social {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
  margin-top: 22px !important;
}
@media (max-width: 767px) {
  .fly-site-footer.myfooter .fly-footer-brand-row {
    flex-direction: column !important;
    gap: 16px !important;
  }
  .fly-site-footer.myfooter .fly-footer-brand-row .fly-footer-info.brand-footer-info,
  .fly-site-footer.myfooter .fly-footer-content .fly-footer-info.brand-footer-info {
    text-align: center !important;
  }
  .fly-site-footer.myfooter .fly-footer-content > .col-lg-6:first-child {
    padding-right: 0 !important;
  }
}

/* Desktop dropdowns: attach the menu to the item and bridge the gap so a slow
   move into the box does not close it. The theme opens the menu at top:45px,
   which leaves a dead band under the link. */
@media (min-width: 992px) {
  .fly-header-site .fly-site-navigation .fly-nav-menu > li:hover {
    z-index: 40;
  }
  .fly-header-site .fly-site-navigation .fly-nav-menu > li > ul {
    top: 100% !important;
  }
  .fly-header-site .fly-site-navigation .fly-nav-menu > li > ul::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 100%;
    height: 36px;
  }
}

/* Sticky mobile header: true viewport center for the logo.
   Must beat body:not(...) rules in wsg.css (same file loads earlier).
   Full-width absolute flex row — hamburger stays absolute left, logo is
   centered to the viewport, not the leftover space. */
@media (max-width: 991px) {
  body:not(.brand-logo-shape-square):not(.brand-logo-shape-circle):not(.brand-logo-is-text) .fly-header-site.sticky-menu.sticky-open,
  body.brand-logo-shape-square .fly-header-site.sticky-menu.sticky-open,
  body.brand-logo-shape-circle .fly-header-site.sticky-menu.sticky-open,
  .brand-logo-is-text .fly-header-site.sticky-menu.sticky-open,
  .fly-header-site.sticky-menu.sticky-open {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
  }
  body:not(.brand-logo-shape-square):not(.brand-logo-shape-circle):not(.brand-logo-is-text) .fly-header-site.sticky-menu.sticky-open .fly-wrap-logo,
  body.brand-logo-shape-square .fly-header-site.sticky-menu.sticky-open .fly-wrap-logo,
  body.brand-logo-shape-circle .fly-header-site.sticky-menu.sticky-open .fly-wrap-logo,
  .brand-logo-is-text .fly-header-site.sticky-menu.sticky-open .fly-wrap-logo,
  .fly-header-site.sticky-menu.sticky-open .fly-wrap-logo {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    pointer-events: none !important;
  }
  body:not(.brand-logo-shape-square):not(.brand-logo-shape-circle):not(.brand-logo-is-text) .fly-header-site.sticky-menu.sticky-open .fly-wrap-logo a,
  body.brand-logo-shape-square .fly-header-site.sticky-menu.sticky-open .fly-wrap-logo a,
  body.brand-logo-shape-circle .fly-header-site.sticky-menu.sticky-open .fly-wrap-logo a,
  .brand-logo-is-text .fly-header-site.sticky-menu.sticky-open .fly-wrap-logo a,
  .fly-header-site.sticky-menu.sticky-open .fly-wrap-logo a {
    pointer-events: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body:not(.brand-logo-shape-square):not(.brand-logo-shape-circle):not(.brand-logo-is-text) .fly-header-site.sticky-menu.sticky-open .fly-wrap-logo img,
  body.brand-logo-shape-square .fly-header-site.sticky-menu.sticky-open .fly-wrap-logo img,
  body.brand-logo-shape-circle .fly-header-site.sticky-menu.sticky-open .fly-wrap-logo img,
  .brand-logo-is-text .fly-header-site.sticky-menu.sticky-open .fly-wrap-logo img,
  .fly-header-site.sticky-menu.sticky-open .fly-wrap-logo img {
    display: block !important;
    margin: 0 auto !important;
    max-width: min(220px, 58vw) !important;
    max-height: 48px !important;
    width: auto !important;
    height: auto !important;
  }
}

/* Mobile sticky footer nav: light black drop shadow on icons + labels */
.sticky-mobile-footer a,
.sticky-mobile-footer a span {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.55) !important;
}
.sticky-mobile-footer a i {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.55) !important;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.45)) !important;
}
