:root {
  --pf-readable-ink: #0a1a2f;
  --pf-readable-muted: #3b4d63;
  --pf-readable-link: #064b99;
  --pf-readable-focus: #ffbe00;
}

body {
  color: var(--pf-readable-ink);
}

main a:not(.button),
footer a {
  text-decoration-thickness: 2px;
  text-underline-offset: 0.2em;
}

main a:not(.button) {
  color: var(--pf-readable-link);
}

button,
input,
select,
summary,
nav a,
.button {
  min-height: 48px;
}

button,
input,
select {
  border-width: 2px;
}

:focus-visible {
  box-shadow: 0 0 0 7px #000000;
  outline: 4px solid var(--pf-readable-focus);
  outline-offset: 3px;
}

figcaption,
small {
  font-size: max(0.82rem, 13px);
}

body.pf-high-contrast,
body.pf-contrast {
  background: #ffffff !important;
  color: #000000 !important;
}

body.pf-high-contrast main,
body.pf-high-contrast section,
body.pf-high-contrast article,
body.pf-high-contrast aside,
body.pf-high-contrast details,
body.pf-contrast main,
body.pf-contrast section,
body.pf-contrast article,
body.pf-contrast aside,
body.pf-contrast details {
  border-color: #000000 !important;
}

body.pf-high-contrast main a,
body.pf-contrast main a {
  color: #0000c8 !important;
  text-decoration-line: underline !important;
}

body.pf-high-contrast .page-hero .page-actions a,
body.pf-high-contrast .page-hero .language-actions a,
body.pf-contrast .page-hero .page-actions a,
body.pf-contrast .page-hero .language-actions a {
  background: #000000 !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
}

body.pf-high-contrast .page-hero .page-actions a:first-child,
body.pf-high-contrast .page-hero .language-actions a:first-child,
body.pf-contrast .page-hero .page-actions a:first-child,
body.pf-contrast .page-hero .language-actions a:first-child {
  background: #fff000 !important;
  border-color: #ffffff !important;
  color: #000000 !important;
}

body.pf-high-contrast .site-notice,
body.pf-high-contrast .page-hero,
body.pf-high-contrast .home-hero-stage,
body.pf-high-contrast .home-boundary,
body.pf-high-contrast .site-footer,
body.pf-high-contrast .access-panel-heading,
body.pf-contrast .site-notice,
body.pf-contrast .page-hero,
body.pf-contrast .home-hero-stage,
body.pf-contrast .home-boundary,
body.pf-contrast .site-footer,
body.pf-contrast .access-panel-heading {
  background: #000000 !important;
  color: #ffffff !important;
}

body.pf-high-contrast .site-notice *,
body.pf-high-contrast .page-hero h1,
body.pf-high-contrast .page-hero > p:last-child,
body.pf-high-contrast .site-footer p,
body.pf-high-contrast .site-footer a,
body.pf-high-contrast .access-panel-heading *,
body.pf-contrast .site-notice *,
body.pf-contrast .page-hero h1,
body.pf-contrast .page-hero > p:last-child,
body.pf-contrast .site-footer p,
body.pf-contrast .site-footer a,
body.pf-contrast .access-panel-heading * {
  color: #ffffff !important;
}

body.pf-high-contrast .page-hero .kicker,
body.pf-high-contrast .footer-grid strong,
body.pf-contrast .page-hero .kicker,
body.pf-contrast .footer-grid strong {
  color: #fff000 !important;
}

body.pf-high-contrast .control-group button,
body.pf-high-contrast .control-group input,
body.pf-high-contrast .control-group select,
body.pf-high-contrast .access-panel-bottom button,
body.pf-contrast .control-group button,
body.pf-contrast .control-group input,
body.pf-contrast .control-group select,
body.pf-contrast .access-panel-bottom button {
  background: #ffffff !important;
  border-color: #000000 !important;
  color: #000000 !important;
}

body.pf-high-contrast .control-group button[aria-pressed="true"],
body.pf-high-contrast .access-panel-bottom button:last-child,
body.pf-high-contrast .access-launcher,
body.pf-contrast .control-group button[aria-pressed="true"],
body.pf-contrast .access-panel-bottom button:last-child,
body.pf-contrast .access-launcher {
  background: #fff000 !important;
  border-color: #000000 !important;
  color: #000000 !important;
}

@media (prefers-contrast: more) {
  :root {
    --pf-readable-ink: #000000;
    --pf-readable-muted: #111111;
    --pf-readable-link: #0000b8;
  }

  button,
  input,
  select,
  summary,
  nav a,
  .button {
    border-color: #000000;
  }
}

@media (forced-colors: active) {
  * {
    forced-color-adjust: auto;
  }
}
