/* ==========================================================
   Accessibility panel
   Linked on every page, works alongside either stylesheet.
   ========================================================== */

.a11y-launch{
  position:fixed;
  right:0;
  top:50%;
  transform:translateY(-50%);
  z-index:900;
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:6px 0 0 6px;
  background:#3b241c;
  color:#fdf6ec;
  cursor:pointer;
  box-shadow:0 4px 18px rgba(40,26,18,.28);
}
.a11y-launch:hover{background:#5a3626}
.a11y-launch svg{width:26px;height:26px;fill:currentColor}
.a11y-launch:focus-visible{outline:3px solid #a8492e;outline-offset:3px}

.a11y-panel[hidden]{display:none}
.a11y-panel{
  position:fixed;
  inset:0;
  z-index:901;
  display:flex;
  justify-content:flex-end;
}
.a11y-scrim{position:absolute;inset:0;background:rgba(30,24,18,.45)}
.a11y-sheet{
  position:relative;
  width:min(330px,88vw);
  height:100%;
  overflow-y:auto;
  background:#fdfaf4;
  border-left:1px solid rgba(75,55,38,.2);
  padding:26px 24px 34px;
  font:400 15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;
  color:#241d17;
}
.a11y-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:6px}
.a11y-sheet h2{margin:0;font:500 1.25rem/1.2 Georgia,serif;color:#3b241c}
.a11y-sheet .a11y-note{margin:0 0 22px;font-size:.82rem;color:#6d6459}
.a11y-close{
  border:0;background:none;padding:0 2px;
  font:300 1.9rem/1 system-ui,sans-serif;
  color:#3b241c;cursor:pointer;
}

.a11y-group{margin-bottom:22px}
.a11y-group h3{
  margin:0 0 10px;
  font:600 .68rem/1 system-ui,sans-serif;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:#a8492e;
}
.a11y-sizes{display:flex;gap:8px}
.a11y-sizes button{
  flex:1;
  padding:11px 4px;
  border:1px solid rgba(75,55,38,.25);
  background:#fff;
  color:#241d17;
  cursor:pointer;
  font-family:system-ui,sans-serif;
}
.a11y-sizes button:nth-child(1){font-size:13px}
.a11y-sizes button:nth-child(2){font-size:16px}
.a11y-sizes button:nth-child(3){font-size:19px}
.a11y-sizes button[aria-pressed="true"]{
  background:#3b241c;border-color:#3b241c;color:#fdf6ec;
}

.a11y-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  width:100%;
  padding:12px 13px;
  margin-bottom:8px;
  border:1px solid rgba(75,55,38,.22);
  background:#fff;
  color:#241d17;
  font:400 .92rem/1.35 system-ui,sans-serif;
  text-align:left;
  cursor:pointer;
}
.a11y-toggle:hover{border-color:rgba(168,73,46,.5)}
.a11y-switch{
  flex:none;
  width:38px;height:21px;border-radius:11px;
  background:#cfc7ba;position:relative;transition:background .18s ease;
}
.a11y-switch::after{
  content:"";position:absolute;top:3px;left:3px;
  width:15px;height:15px;border-radius:50%;
  background:#fff;transition:transform .18s ease;
}
.a11y-toggle[aria-pressed="true"] .a11y-switch{background:#a8492e}
.a11y-toggle[aria-pressed="true"] .a11y-switch::after{transform:translateX(17px)}

.a11y-reset{
  width:100%;
  padding:12px;
  border:1px solid #a8492e;
  background:transparent;
  color:#8c2f1e;
  font:600 .8rem/1 system-ui,sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
}
.a11y-reset:hover{background:#a8492e;color:#fff}
.a11y-sheet a{color:#8c2f1e}

/* ---------- the settings themselves ---------- */

html.a11y-text-lg{font-size:18px}
html.a11y-text-lg body{font-size:19px}
html.a11y-text-xl{font-size:20.5px}
html.a11y-text-xl body{font-size:21px}

html.a11y-underline a{text-decoration:underline !important;text-underline-offset:2px}

html.a11y-readable body,
html.a11y-readable h1,html.a11y-readable h2,html.a11y-readable h3,
html.a11y-readable p,html.a11y-readable a,html.a11y-readable li,
html.a11y-readable td,html.a11y-readable th,html.a11y-readable span,
html.a11y-readable button,html.a11y-readable input,html.a11y-readable label{
  font-family:Verdana,Tahoma,"DejaVu Sans",sans-serif !important;
  letter-spacing:.02em !important;
}

html.a11y-spacing p,html.a11y-spacing li{line-height:1.9 !important}
html.a11y-spacing p{margin-bottom:1.1em !important}

html.a11y-motion *,
html.a11y-motion *::before,
html.a11y-motion *::after{
  transition:none !important;
  animation:none !important;
}
html.a11y-motion{scroll-behavior:auto !important}

html.a11y-contrast body{background:#fff !important;color:#000 !important}
html.a11y-contrast p,html.a11y-contrast li,html.a11y-contrast td,
html.a11y-contrast h1,html.a11y-contrast h2,html.a11y-contrast h3,
html.a11y-contrast h4,html.a11y-contrast span,html.a11y-contrast small,
html.a11y-contrast time,html.a11y-contrast strong{color:#000 !important}
html.a11y-contrast a{color:#00308f !important}
html.a11y-contrast .site-footer,
html.a11y-contrast .site-foot,
html.a11y-contrast .about-panel{background:#000 !important}
html.a11y-contrast .site-footer *,
html.a11y-contrast .site-foot *,
html.a11y-contrast .about-panel *{color:#fff !important}
html.a11y-contrast .site-footer a,
html.a11y-contrast .site-foot a{color:#9ecbff !important}
html.a11y-contrast .btn-primary{background:#000 !important;color:#fff !important;border-color:#000 !important}
html.a11y-contrast .record,html.a11y-contrast .news-card,
html.a11y-contrast .launch-card,html.a11y-contrast .portal-card,
html.a11y-contrast .research-card{background:#fff !important}
html.a11y-contrast body::before{display:none !important}

@media (max-width:620px){
  .a11y-launch{width:42px;height:42px}
  .a11y-launch svg{width:23px;height:23px}
}
@media print{
  .a11y-launch,.a11y-panel{display:none !important}
}
