/*
 * =========================================================
 * IESIF ACCESSIBILITY
 * =========================================================
 */


/*
 * Keyboard focus
 */

:focus-visible {
  outline: 3px solid #ffb000;
  outline-offset: 3px;
}


/*
 * Reduced motion
 */

@media (prefers-reduced-motion: reduce) {

  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }

}


/*
 * High contrast preference
 */

@media (prefers-contrast: more) {

  body {
    --border: #333;
  }

  a {
    text-decoration-thickness: .14em;
  }

  button,
  input,
  select,
  textarea {
    border-width: 2px;
  }

}


/*
 * Windows forced colors / high contrast
 */

@media (forced-colors: active) {

  * {
    forced-color-adjust: auto;
  }

  .btn {
    border: 2px solid ButtonText;
    background: ButtonFace;
    color: ButtonText;
  }

  .btn-secondary {
    background: ButtonFace;
    color: ButtonText;
  }

  .card {
    border: 2px solid ButtonText;
  }

}


/*
 * Prevent accidental hiding of keyboard focus
 */

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  position: relative;
  z-index: 10;
}


/*
 * Touch targets
 */

button,
select,
a.btn {
  min-height: 42px;
}


/*
 * Text readability
 */

p,
li {
  max-width: 75ch;
}


/*
 * RTL support
 */

html[dir="rtl"] {
  direction: rtl;
}


html[dir="rtl"] .main-nav {
  direction: rtl;
}


html[dir="rtl"] .header-tools {
  direction: rtl;
}


html[dir="rtl"] .contact-list {
  direction: rtl;
}


html[dir="rtl"] .modal-close,
html[dir="rtl"] .lightbox-close {
  right: auto;
  left: 12px;
}


/*
 * Screen-reader only content
 */

.sr-only {
  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;
}

