/* Local mirror repairs for shared header and footer chrome. */
body > header .logo,
body > footer .logo {
  width: auto;
}

body > footer {
  background: #0E596E;
  color: #fff;
}

body > footer .logo {
  height: 90px;
  filter: brightness(0) invert(1);
}

body > footer h2,
body > footer .h4,
body > footer .small {
  color: #fff;
}

.sr-only:not(:focus):not(:focus-within),
.sr-only-focusable:not(:focus):not(:focus-within) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.fa-solid,
.fa-brands {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25em;
  font-style: normal;
  line-height: 1;
}

.fa-magnifying-glass::before {
  content: "Search";
  font-size: .7rem;
  font-weight: 600;
  text-transform: uppercase;
}

.fa-facebook-f::before {
  content: "f";
  font-family: Georgia, serif;
  font-weight: 700;
}

.fa-instagram::before {
  --local-social-icon: url("../images/icons/instagram.svg");
}

.fa-youtube::before {
  --local-social-icon: url("../images/icons/youtube.svg");
  width: 1.18em;
}

.fa-instagram::before,
.fa-youtube::before {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask-image: var(--local-social-icon);
  mask-image: var(--local-social-icon);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.local-social-svg {
  display: inline-block;
  width: 1em;
  height: 1em;
  fill: currentColor;
  vertical-align: -0.125em;
}

.local-social-svg[data-icon="youtube"] {
  width: 1.18em;
}

.fa-bars::before {
  content: "Menu";
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
}

.fa-xmark::before,
.fa-times::before {
  content: "x";
  font-size: 1.25rem;
  font-weight: 700;
}

.fa-caret-right::before {
  content: "\25B6";
  font-size: .72em;
  font-weight: 700;
}

.fa-caret-left::before {
  content: "\25C0";
  font-size: .72em;
  font-weight: 700;
}

.fa-chevron-right::before {
  content: "\203A";
  font-size: 1.2em;
  font-weight: 700;
}

.fa-chevron-left::before {
  content: "\2039";
  font-size: 1.2em;
  font-weight: 700;
}

.fa-spinner::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  border: .15em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
}

.fa-spin::before {
  animation: local-fa-spin .8s linear infinite;
}

@keyframes local-fa-spin {
  to {
    transform: rotate(360deg);
  }
}

body > header .dropdown:hover > .dropdown-menu,
body > header .dropdown:focus-within > .dropdown-menu,
body > header .dropdown.show > .dropdown-menu,
body > header .dropdown-menu.show {
  display: block;
}

body > header .dropdown-menu {
  margin-top: 0;
}

@media (max-width: 991.98px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  body > header .navbar {
    flex-wrap: nowrap;
  }

  body > header .navbar-brand {
    width: auto;
    max-width: 50vw;
    margin: .75rem;
  }

  body > header .navbar-brand .logo {
    max-width: 100%;
    height: auto;
    max-height: 74px;
  }

  body > header .navbar-search {
    display: none !important;
  }

  body > header .navbar-toggler {
    flex: 0 0 auto;
    margin-left: auto;
    padding: .65rem .75rem;
    font-size: .9rem;
  }

  body > header .navbar-collapse.show {
    display: block;
    flex-basis: 100%;
    width: 100%;
  }

  body > header .dropdown-menu {
    position: static;
    width: 100%;
    margin: 0;
    padding: 0;
    background: #0E596E;
    border: 0;
    border-radius: 0;
    text-align: center;
  }

  body > header .dropdown-menu .dropdown-item {
    padding: .65rem 1rem;
    color: #fff;
  }

  body > header .dropdown-menu .dropdown-item:hover,
  body > header .dropdown-menu .dropdown-item:focus {
    color: #0E596E;
    background: #f9f6ef;
  }

  body > header,
  body > .container,
  body > section,
  body > footer {
    max-width: 100vw;
  }

  body > .container,
  section > .container {
    width: 100%;
    max-width: 100%;
    padding-inline: 1rem;
  }

  body > .hero {
    aspect-ratio: auto;
    min-height: 290px;
    padding: 2.5rem 0;
  }

  body > .hero .container {
    max-width: 100%;
    padding-inline: 1rem;
  }

  body > .container > .row,
  section > .container > .row,
  body > .hero .row,
  body > footer .row {
    margin-right: 0;
    margin-left: 0;
  }

  body > .container a,
  body > .container p,
  section > .container a,
  section > .container p,
  body > footer p,
  body > footer a {
    overflow-wrap: anywhere;
  }

  body > footer {
    padding: 3rem 1rem 1rem;
  }

  body > footer .row {
    --bs-gutter-x: 0;
  }

  body > footer .logo {
    max-width: 72vw;
    height: auto;
    max-height: 90px;
  }

  body > footer .btn {
    white-space: normal;
  }

}
