/* Loaded after the theme skin. A two-colour ring works on light and dark panels. */
body a:focus, body button:focus, body input:focus, body select:focus,
body textarea:focus, body [tabindex]:focus {
    outline: 3px solid #005fcc !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 5px #fff !important;
}
.ks-skip-link {
    position: fixed;
    top: -100rem;
    left: 12px;
    z-index: 100000;
    padding: 12px 16px;
    max-width: calc(100% - 24px);
    color: #fff !important;
    background: #1c551e;
    font-weight: 700;
    transition: none !important;
}
.ks-skip-link:focus { top: 12px; }
#main-content { scroll-margin-top: 16px; min-width: 0; }
#footer a { color: #2f8b32; text-decoration: underline; text-underline-offset: .15em; }
#footer a:hover, #footer a:focus { color: #2f8b32; text-decoration-thickness: 2px; }
#page-content, #footer, .sidebar { overflow-wrap: anywhere; }
#page-content img, #page-content video { max-width: 100%; height: auto; }
.widget.lsvr-locale-info .row-title h3 { margin: 0; padding: 3px 0 0; font-size: 1em; font-weight: bold; }
/* Let icons take real space when text is enlarged instead of covering titles. */
.widget-title.m-has-ico { display: flex; align-items: flex-start; gap: .625em; }
.sidebar .widget-title.m-has-ico { padding-left: 20px; }
.sidebar .widget.lsvr-custom-code .widget-title.m-has-ico,
.sidebar .widget.lsvr-image .widget-title.m-has-ico,
#bottom-panel .widget-title.m-has-ico { padding-left: 0; }
.sidebar .widget-title .widget-ico, #bottom-panel .widget-title .widget-ico { position: static; flex: 0 0 auto; }
.c-article-list.m-has-icon .article-list-title { display: flex; align-items: flex-start; gap: .375em; padding-left: 0; }
.c-article-list .article-list-title .ico { position: static; flex: 0 0 auto; }
.c-article-list .article-list-title > a { min-width: 0; }
.ks-facebook-fallback { display: none; }
.ks-facebook-embed { max-width: 100%; }
.ks-table-scroll { max-width: 100%; overflow-x: auto; }
#pojo-a11y-toolbar .pojo-a11y-toolbar-overlay { max-height: calc(100vh - 70px); max-height: calc(100dvh - 70px); overflow-y: auto; }
@media (max-width: 991px) {
    /* Leave room for the fixed accessibility toolbar button. */
    .header-toggle-holder { margin-left: 48px; }
    .header-toggle { min-height: 44px; height: auto; line-height: 1.5; padding: 8px 10px; }
    .header-toggle i { line-height: 1.5; }
}
@media (max-width: 767px) {
    .ks-facebook-embed { display: none; }
    .ks-facebook-fallback { display: block; margin: 0; padding: 16px; }
}
@media (max-width: 640px) {
    /* This is a photo/text layout table, not a data table. Keep each pair together. */
    .ks-heritage-table, .ks-heritage-table tbody, .ks-heritage-table tr, .ks-heritage-table td { display: block; width: 100%; }
    .ks-heritage-table img { float: none; margin: 0 0 12px; }
    .ks-heritage-table td:empty { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .animated { animation: none !important; }
}
@media (forced-colors: active) {
    body a:focus, body button:focus, body [tabindex]:focus { outline-color: Highlight !important; }
}
