/*SEARCH PANEL OVERLAP PATCH*/
.search__panel {
  z-index: 10000;
}

/*HIDE ALL ACCESSIBILITY FIX*/
.accordion-panel .btn-collapse.disabled,
.accordion-panel .btn-expand.disabled {
  pointer-events: none;
  opacity: 0.75;
}

.search__opener {
  color: #0f3063 !important;
}

/*ALERT BANNER FIXES*/
.alert-banner__frame {
  align-items: center;
  /* padding: 31px 60px 18px 20px; */
  /* min-height: 188px; */
  display: grid;
  grid-template-columns: 15% 65% 20%;
  justify-items: center;
  padding: 20px;
  min-height: auto;
}

.alert-banner__icon {
  /* left: 60px; */
  /* top: 53px; */
  font-size: 44px;
  font-weight: bold;
  position: static;
}

.alert-banner__body {
  font-size: 18px;
  line-height: 1.67;
  max-width: 959px;
  padding-left: 0;
  margin-bottom: 0;
  text-align: center;
}
.alert-banner p {
  margin: 0;
}

.alert-banner__btn-holder {
  -ms-flex-negative: 0;
  /* flex-shrink: 0; */
  margin: 0;
  /* margin: 0 0 24px 20px; */
}

.alert-banner__body .btn.btn--bordered {
  position: static;
}

@media only screen and (max-width: 1315px) {
  .alert-banner__frame {
    align-items: center;
    /* padding: 31px 60px 18px 20px; */
    /* min-height: 188px; */
    display: grid;
    grid-template-columns: 10% 65% 20%;
    justify-items: center;
    padding: 20px;
  }
}

@media only screen and (max-width: 1100px) {
  .alert-banner__frame {
    align-items: center;
    /* padding: 31px 60px 18px 20px; */
    /* min-height: 188px; */
    display: grid;
    grid-template-columns: 10% 65% 25%;
    justify-items: center;
    padding: 20px;
  }
}

@media only screen and (max-width: 1025px) {
  .alert-banner__icon {
    grid-area: alert-icon;
    position: static;
  }

  .alert-banner__body {
    grid-area: alert-text;
  }

  .alert-banner__btn-holder {
    grid-area: alert-button;
    width: 100%;
  }
  .alert-banner__btn-holder .btn {
    width: 100%;
  }

  .alert-banner__frame {
    display: grid;
    width: 90%;
    margin-left: 5%;
    grid-template-areas:
      'alert-icon alert-text alert-text alert-text alert-text '
      'alert-button alert-button alert-button alert-button alert-button';
    grid-column-gap: 12px;
    /* padding-top: 12px; */
    /* grid-template-columns: 20% 80%; */

    align-items: center;
    padding: 20px;
    padding-top: 12px;
    grid-row-gap: 25px;
    justify-content: space-evenly;
    align-content: center;
  }
}

a:focus {
  outline: solid !important;
  outline-offset: 1px;
  outline-color: #0f3063;
  outline-width: 1px;
}

@media (max-width: 775px) {
  .alert-banner__frame {
    grid-template-areas:
      'alert-icon alert-text alert-text alert-text alert-text'
      'alert-button alert-button alert-button alert-button alert-button';
  }
}

@media (max-width: 700px) {
  .alert-banner__icon {
    left: 31px;
    top: 29px;
    font-size: 40px;
  }
}
@media (max-width: 699px) {
  .table {
    width: 90%;
    overflow: hidden;
    margin-left: 5%;
  }

  .table tbody {
    display: block;
    border-left: 0px;
    float: left;
    width: 100%;
    padding: 0 1px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .table td {
    padding: 0;
    margin: 0;
    border-top: 0;
    white-space: normal;
  }
  .table td:before,
  .table td span {
    padding: 0;
    display: inline-block;
    white-space: normal;
  }
  .table td:before {
    content: attr(data-label);
    font-family:
      Gudea,
      Arial,
      Helvetica Neue,
      Helvetica,
      sans-serif;
    color: #0f3063 !important;
    font-size: 14px;
    font-weight: 700;
    width: auto;
    vertical-align: top;
    margin: 0 0 0 0px;
    position: relative;
    text-transform: uppercase;
    margin-right: 20px;
  }
  .table td > a {
    display: block;
  }
}
.accessibility.skip-main {
  background: #fff;
  color: #000;
  font-weight: 500;
  left: 0%;
  padding: 1rem;
  position: absolute;
  transform: translateY(-100%);
  z-index: 100000;
}
.accessibility.skip-main:focus {
  transform: translateY(0%);
  left: 4px;
  top: 4px;
}
.news.wow .swiper-button-next:before,
.main__nav > li button {
  color: #0f3063;
}
@media only screen and (max-width: 1400px) {
  .hero-overlay__quote p {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 575px) {
  .hero-overlay__quote p {
    font-size: 1.5rem;
  }
}

*:focus-visible,
a:focus {
  /* inner indicator */
  outline: 2px rgb(253, 193, 34) solid !important;
  outline-offset: 0 !important;
  /* outer indicator */
  box-shadow: 0 0 0 4px #002c5f !important;
  transition: 0s all !important;
}

nav.mobile__nav {
  display: none !important;
}
nav.desktop__nav {
  display: flex !important;
}
@media only screen and (max-width: 1025px) {
  nav.desktop__nav {
    display: none !important;
  }
  nav.mobile__nav {
    display: flex !important;
  }
}

/* ============================================================
   A11Y BATCH (FIXES.md follow-up) — see MODS.md / fix-files/README.md
   ============================================================ */

/* ---- FIX 1.5: section nav — native keyboard scrolling.
   Replaces malihu mCustomScrollbar (ou.js stubs the plugin).
   Native scroll = Tab/focus scrolling and arrow keys work again. */
.section__nav__frame {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: thin;
  scrollbar-color: #fdc122 #fff;
}
.section__nav__frame::-webkit-scrollbar {
  width: 8px;
}
.section__nav__frame::-webkit-scrollbar-thumb {
  background: #fdc122;
  border-radius: 4px;
}
.section__nav__frame::-webkit-scrollbar-track {
  background: #fff;
}

/* ---- FIX 1.3: hero overlay — remove collapsed overlay (and its
   "Apply Today!" link) from tab order + a11y tree, keep the fade.
   visibility flips 0.5s after fade-out starts, instantly on open. */
.hero-overlay {
  visibility: hidden;
  transition:
    opacity 0.5s ease,
    visibility 0s linear 0.5s;
}
.hero-overlay.is-active {
  visibility: visible;
  transition: opacity 0.5s ease;
}

/* ---- FIX 1.1: hero slide text contrast — navy scrim behind the
   white headline. rgba(15,48,99,.75) over a worst-case white photo
   ≈ 6:1 (≥ 4.5:1 guaranteed for any photo). Brand navy, uniform. */
.hero-slider__content::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(15, 48, 99, 0.75);
}
.hero-slider__content .hero__headline {
  position: relative;
  z-index: 1;
}

/* ---- FIX 1.4: circle slider — native horizontal scroll at reflow.
   Swiper runs (max-width:699px) in transform mode, which keyboard
   users cannot scroll. This converts it to a native scroll container;
   ou.js adds a focus handler that keeps the focused item centered. */
@media (max-width: 699px) {
  .circle-slider {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  .circle-slider .swiper-wrapper {
    transform: none !important;
    width: auto !important;
    height: auto !important;
    display: flex;
    flex-wrap: nowrap;
    transition: none !important;
  }
  .circle-slider .swiper-slide {
    width: auto !important;
    flex: 0 0 auto;
    margin-right: 20px !important;
  }
  .circle-slider .swiper-scrollbar {
    display: none !important;
  }
  .circle-slider::-webkit-scrollbar {
    height: 8px;
  }
  .circle-slider::-webkit-scrollbar-thumb {
    background: #fdc122;
    border-radius: 4px;
  }
  .circle-slider::-webkit-scrollbar-track {
    background: #f2f2f2;
  }
}

/* ---- FIX 1.2: pause/play button for the hero carousel (injected by ou.js) */
.hero-pause-btn {
  position: absolute;
  right: 15px;
  top: 33px;
  z-index: 4;
  background: #fdc122;
  color: #0f3063;
  border: none;
  min-width: 55px;
  height: 55px;
  padding: 0 12px;
  font:
    700 15px/1 Gudea,
    Arial,
    Helvetica,
    sans-serif;
  cursor: pointer;
}
.hero-pause-btn:hover {
  background: #fff;
}
.hero-pause-btn:focus-visible {
  outline: 2px solid #002c5f;
  outline-offset: 2px;
}
