/* Accessibility improvements for the PRL public website. */
:root { scroll-padding-top: 8rem; }
html, body { min-width: 0; max-width: 100%; }
html { overflow-x: clip; }
body { width: auto; min-height: 100vh; height: auto; overflow-x: clip; }
body, p, li, td, th, label, input, select, textarea, button { overflow-wrap: anywhere; }
body { color: #17212b; }
.odd { color: #fff; }
.odd :is(p, li, td, th, h1, h2, h3, h4, h5, h6, span, label) { color: #fff; }
img, video, iframe, canvas, svg { max-width: 100%; }
img { height: auto; }

/* Color is never the only sign that an item is a link. */
a:not(.btn):not(.navbar-brand):not(.smooth-anchor) {
  color: #064b91 !important;
  text-decoration: underline !important;
  text-underline-offset: .14em;
}
.odd a:not(.btn):not(.navbar-brand):not(.smooth-anchor),
footer a:not(.btn), .footer a:not(.btn), .copyright a:not(.btn) {
  color: #c5e1ff !important;
}
.navbar a:not(.btn), .navbar .dropdown-menu a:not(.btn) { color: #102b45 !important; }

/* A visible, consistent focus indicator and clearance below fixed navigation. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #005fcc !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 2px #fff !important;
  scroll-margin-block: 8rem;
}
:where(main, section, h1, h2, h3, [id]):target { scroll-margin-top: 8rem; }

/* Buttons, fields, and component boundaries remain visible against their backgrounds. */
input:not([type="hidden"]), select, textarea {
  max-width: 100%;
  border: 2px solid #555 !important;
  border-radius: 3px;
}
.btn-primary, a.btn-primary, button:not(.dropdown-toggle):not(.close), input[type="submit"], input[type="button"] {
  color: #fff !important;
  background-color: #064b91 !important;
  border: 2px solid #064b91 !important;
}
button.dropdown-toggle {
  display: inline-flex;
  align-items: center;
  min-height: 2.5rem;
  padding: .4rem .65rem;
  color: #102b45 !important;
  background: #fff !important;
  border: 1px solid #485563 !important;
  border-radius: .25rem;
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}
.dropdown.is-open > .dropdown-menu { display: block; }
.dropdown-menu { z-index: 1001; max-width: min(92vw, 32rem); }
.dropdown-menu a { white-space: normal; }

/* Only wide data tables can scroll horizontally; the page itself reflows. */
table { max-width: 100%; }
table.tg { display: block; width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
table.tg caption { display: table-caption; }
pre, code { max-width: 100%; overflow-wrap: anywhere; white-space: pre-wrap; }

/* Accessible settings controls. */
.a11y-toolbar {
  position: relative;
  z-index: 10000;
  width: 100%;
  padding: .35rem 1rem;
  color: #102b45;
  background: #f1f5f9;
  border-block: 1px solid #536170;
  font: 500 1rem/1.5 Arial, sans-serif;
}
.a11y-toolbar details { max-width: 72rem; margin-inline: auto; }
.a11y-toolbar summary { display: list-item; width: fit-content; cursor: pointer; text-decoration: underline; }
.a11y-toolbar__controls { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; padding: .75rem 0 .35rem; }
.a11y-toolbar__controls button {
  min-height: 2.75rem; padding: .45rem .8rem; color: #fff; background: #064b91;
  border: 2px solid #064b91; border-radius: .25rem; font: inherit; cursor: pointer;
}
.a11y-toolbar__status { margin: 0; }
.a11y-sitemap-link { padding: .75rem 1rem; text-align: center; background: #f1f5f9; }
.a11y-sitemap-link a, .a11y-sitemap-list a { color: #064b91; text-decoration: underline; }
.a11y-sitemap-list { columns: 2; column-gap: 2rem; }
.a11y-sitemap-list li { break-inside: avoid; margin: 0 0 .55rem; }

/* User-selectable high contrast mode. */
html.a11y-high-contrast body { color: #000 !important; background: #fff !important; }
html.a11y-high-contrast body :not(img):not(video):not(canvas):not(svg) {
  text-shadow: none !important; border-color: #000 !important;
}
html.a11y-high-contrast body a:not(.btn),
html.a11y-high-contrast body button,
html.a11y-high-contrast body input,
html.a11y-high-contrast body select,
html.a11y-high-contrast body textarea { color: #000 !important; background: #fff !important; }
html.a11y-high-contrast body .odd,
html.a11y-high-contrast body footer,
html.a11y-high-contrast body .footer,
html.a11y-high-contrast body #copyright { color: #fff !important; background: #000 !important; }
html.a11y-high-contrast body .odd :is(a, p, li, h1, h2, h3, h4, h5, h6, span, td, th),
html.a11y-high-contrast body footer :is(a, p, li, h1, h2, h3, h4, h5, h6, span) { color: #fff !important; }
html.a11y-high-contrast :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 4px solid #ff0 !important; outline-offset: 3px !important; box-shadow: 0 0 0 2px #000 !important;
}

/* Optional WCAG text-spacing override; allow content to wrap and grow. */
html.a11y-text-spacing :is(p, li, td, th, label, a, button, input, select, textarea, summary, h1, h2, h3, h4, h5, h6) {
  line-height: 1.5 !important;
  letter-spacing: .12em !important;
  word-spacing: .16em !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0;
  overflow-wrap: anywhere;
}
html.a11y-text-spacing p { margin-block: 0 2em !important; }
html.a11y-text-spacing li { margin-block: .25em !important; }

/* Smaller screens and short/rotated viewports. */
@media (max-width: 1600px) {
  .mnavv { display: block !important; }
  body header .navbar-expand .navbar-nav.items { display: none !important; }
  body header .navbar-expand { position: relative; }
  body header .navbar-expand .navbar-brand img { height: auto; max-height: 5.5rem; }
}
@media (max-width: 700px) {
  .a11y-sitemap-list { columns: 1; }
  .a11y-toolbar { padding-inline: .75rem; }
  .navbar .container, .container, .container-fluid { width: 100%; max-width: 100%; }
  .row { margin-inline: 0; }
  .modalPopup { inset-inline: 50%; width: min(95vw, 44rem); max-height: 90vh; overflow-y: auto; }
  table.tg { font-size: .875rem; }
  table.tg th, table.tg td { min-width: 8rem; }
}
@media (orientation: landscape) and (max-height: 420px) {
  .modalPopup { top: 50%; max-height: 88vh; overflow-y: auto; }
  .modalContent { padding-block: .75rem; }
  .a11y-toolbar__controls button { min-height: 2.25rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}


/* Styles moved out of legacy body markup. */
.tg  {border-collapse:collapse;border-spacing:0;}
.tg td{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;
  overflow:hidden;padding:10px 5px;word-break:normal;}
.tg th{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;
  font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;}
.tg .tg-1wig{font-weight:bold;text-align:left;vertical-align:top}
.tg .tg-y58q{background-color:#F9F9F9;font-weight:bold;text-align:left;vertical-align:top}
.tg .tg-dgl5{background-color:#FFF;font-weight:bold;text-align:left;vertical-align:top}
.tg .tg-0lax{text-align:left;vertical-align:top}
.tg .tg-ktyi{background-color:#FFF;text-align:left;vertical-align:top}

.tg {
                        border-collapse: collapse;
                        border-spacing: 0;
                        width: 100%;
                        margin-bottom: 1.5rem;
                    }
                    .tg td,
                    .tg th {
                        border-color: #222;
                        border-style: solid;
                        border-width: 1px;
                        font-family: Arial, sans-serif;
                        font-size: 14px;
                        overflow: hidden;
                        padding: 10px 8px;
                        word-break: normal;
                        text-align: left;
                        vertical-align: top;
                    }
                    .tg .tg-1wig {
                        font-weight: 700;
                    }
                    .tg .tg-y58q {
                        background-color: #F9F9F9;
                        font-weight: 700;
                    }
                    .tg .tg-dgl5 {
                        background-color: #FFF;
                        font-weight: 700;
                    }
                    .tg .tg-ktyi {
                        background-color: #FFF;
                    }
                    @media (max-width: 700px) {
                        .tg {
                            font-size: 12px;
                        }
                        .tg td,
                        .tg th {
                            padding: 6px 4px;
                        }
                    }


