:root {
  --wcag-focus-ring: #667eea;
  --wcag-focus-offset: 2px;
  --wcag-min-target: 44px;
}
:focus-visible {
  outline: 3px solid var(--wcag-focus-ring) !important;
  outline-offset: var(--wcag-focus-offset) !important;
}
:focus:not(:focus-visible) {
  outline: none;
}
.sr-only,
.visually-hidden {
  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-width: 0 !important;
}
.skip-link {
  position: absolute;
  left: -9999px;
  z-index: 9999;
  background: #6c587b;
  color: #fff;
  padding: 12px 16px;
  text-decoration: none;
  border-radius: 0 0 4px;
  font-weight: 600;
}
.skip-link:focus {
  left: 0;
  top: 0;
}
.footer-text,
.footer-copy,
.footer-info {
  color: var(--public-muted, #6b7280);
}
.footer-bottom .footer-brand a,
.footer-bottom .footer-copyright,
.footer-bottom .footer-legal-link,
.footer-bottom .footer-social a {
  color: rgb(255 255 255 / 90%);
}
button,
.btn,
[role=button],
a.nav-link {
  min-height: var(--wcag-min-target);
}
.public-utility-bar__actions a,
.public-utility-bar__actions button,
.public-utility-bar__actions select,
.public-nav-links a {
  min-height: var(--wcag-min-target);
  min-width: var(--wcag-min-target);
}
label[for] {
  cursor: pointer;
}
@media screen and (width <= 768px) {
  input[type=text],
  input[type=email],
  input[type=password],
  input[type=number],
  input[type=tel],
  input[type=url],
  select,
  textarea {
    font-size: 16px;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
@media (prefers-contrast: more) {
  :root {
    --wcag-focus-ring: #000;
  }
  button,
  .btn {
    border: 3px solid #000;
  }
  .form-control, .form-select, @media (min-width: 768px) {
    .navbar-default:not(.affix, .navbar-shrink) {
      background-color: rgb(20 33 61 / 92%) !important;
      border-color: rgb(255 255 255 / 15%) !important;
    }
    .navbar-default:not(.affix, .navbar-shrink) .nav > li > a,
    .navbar-default:not(.affix, .navbar-shrink) .nav > li > a:focus {
      color: rgb(255 255 255 / 97%) !important;
    }
    .navbar-default:not(.affix, .navbar-shrink) .nav > li > a:hover {
      color: #fff !important;
    }
    .navbar-default .dropdown-menu {
      background-color: #fff !important;
      border-color: rgb(108 88 123 / 20%) !important;
    }
    .navbar-default .dropdown-menu > li > a,
    .navbar-default .dropdown-menu > li > a:focus {
      color: #1a1626 !important;
    }
    .navbar-default .dropdown-menu > li > a:hover {
      color: #6c587b !important;
      background-color: #f3f0f7 !important;
    }
    .navbar-default.affix .nav > li > a,
    .navbar-default.affix .nav > li > a:focus,
    .navbar-default.navbar-shrink .nav > li > a,
    .navbar-default.navbar-shrink .nav > li > a:focus {
      color: #1a1626 !important;
    }
  }
  textarea {
    border: 3px solid #000;
  }
}
.public-utility-bar a,
.public-utility-bar button,
.public-utility-bar select,
.public-pref-select {
  min-height: 44px !important;
  min-width: 44px !important;
}
.public-utility-bar__actions,
.public-pref-switchers {
  gap: 32px !important;
}
@media (width <= 767px) {
  .public-utility-bar {
    height: auto !important;
    min-height: 0 !important;
    position: relative !important;
  }
  .public-utility-bar__inner {
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    flex-wrap: wrap;
    gap: 4px;
  }
  .public-utility-bar__actions {
    width: auto !important;
    gap: 8px !important;
  }
  .public-utility-bar__actions a,
  .public-utility-bar__actions button,
  .public-utility-bar__actions select {
    min-height: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
    padding: 2px 8px !important;
    font-size: 11px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .public-pref-switchers {
    gap: 4px !important;
  }
  .public-pref-select {
    height: 24px !important;
    min-height: 24px !important;
    padding: 2px 8px !important;
    font-size: 11px !important;
  }
  .public-pref-apply {
    height: 24px !important;
    min-height: 24px !important;
    padding: 2px 8px !important;
    font-size: 11px !important;
  }
  .public-navbar.navbar-default {
    position: relative !important;
    top: 0 !important;
  }
  .page-content-wrapper,
  .info-page-content {
    padding-top: 0 !important;
  }
}
