/* ---------------------------------------------------------------------------
   Site-wide accessibility styles.

   Text size scales the root font-size rather than one panel, so every rem in
   the stylesheet follows along -- header, nav, tables, prose and footer alike.
   Nothing has to opt in.

   Steps are deliberately gentler than the old panel-only ones (which topped out
   at 1.36): scaling the root moves the whole layout, not just body copy, so
   large jumps push the header menu into wrapping on mid-width screens.
--------------------------------------------------------------------------- */
html { font-size: 100%; }

html[data-textscale="1"]  { font-size: 108%; }
html[data-textscale="2"]  { font-size: 116%; }
html[data-textscale="3"]  { font-size: 124%; }
html[data-textscale="-1"] { font-size: 94%; }
html[data-textscale="-2"] { font-size: 88%; }

/* Screen-reader-only announcement region used by a11y.js. Bootstrap's
   .visually-hidden would do, but this file must not depend on load order. */
.a11y-sr-status {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* A disabled control still needs to read as a control, not as missing. */
.a11y-textsize button[disabled] {
    opacity: .45;
    cursor: not-allowed;
}

.a11y-textsize button[disabled]:hover {
    background: transparent;
    color: inherit;
}
