/* Project overrides: keep legacy theme and generated vendor files intact. */
:root { --school-link: #00758a; --school-focus: #a51d35; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
    outline: 3px solid var(--school-focus) !important;
    outline-offset: 3px;
}
.school-skip-link { position: fixed; left: 1rem; top: -10rem; z-index: 10000; padding: .75rem 1rem; color: #fff; background: #005e70; }
.school-skip-link:focus { top: 1rem; color: #fff; }
.school-download-card { position: relative; }
.school-download-card .rdx-tilte { position: static; color: #58575d; }
.school-download-card .icon-content { overflow: visible; }
.school-download-card .icon-bx-sm { pointer-events: none; }
.school-download-card .school-card-link { color: inherit; text-decoration: none; }
.school-card-link::after { content: ''; position: absolute; inset: -40px 0 0; z-index: 1; }
.school-download-card:focus-within { outline: 3px solid var(--school-focus); outline-offset: 3px; }
.school-download-card .icon-content a:not(.school-card-link) { position: relative; z-index: 2; }
.wrapper p a, .page-content p a, .carousel-caption p a { text-decoration: underline; text-underline-offset: .15em; }
.wrapper p a, .page-content p a { color: var(--school-link); }
/* Download cards retain the legacy tile appearance; the whole tile is a link. */
.school-download-card .icon-content p a { color: #333; text-decoration: none; }
.site-footer .footer-top.bg-primary { background-color: #00758a !important; }
.site-footer .widget h2, .site-footer .widget p, .site-footer .widget a { color: #fff; }
.site-footer .widget a { text-decoration: underline; text-underline-offset: .15em; }
.site-footer .widget a, .top-bar a, .tt-address-list .menu a, .tt-address-list .divider a {
    display: inline-flex; align-items: center; min-height: 44px;
}
.tt-address-list .menu a { justify-content: center; min-width: 44px; }
.tt-address-list a { color: var(--school-link); text-decoration: underline; text-underline-offset: .15em; }
.tt-address-list .divider .index { color: var(--school-link); }
.carousel .carousel-inner .carousel-item .carousel-caption.dark { background-color: #00758a; }
.carousel .carousel-inner .carousel-item .carousel-caption.light * { color: #30383b; }
.carousel .carousel-control { min-height: 44px; min-width: 44px; background-color: #00758a; }
.school-carousel-toggle { display: block; margin: .5rem auto; padding: .5rem 1rem; min-height: 44px; border: 1px solid #00758a; border-radius: 3px; background: #fff; color: #005e70; }
.school-carousel-toggle[hidden] { display: none; }
.school-form { color: #4b5356; }
.school-form .school-required-hint { margin: 0 0 1.5rem; color: inherit; }
.school-form .school-field-error { display: block; color: #a01830; margin-top: .35rem; }
.school-form .school-invalid { border: 2px solid #a01830; }
@media (max-width: 575px) {
    .carousel .carousel-inner { padding-bottom: 1.75rem; }
    .carousel .carousel-inner .carousel-item .carousel-caption {
        position: static; max-width: none; max-height: none; overflow: visible;
        padding: 1rem 3.5rem; text-align: left; box-shadow: none;
    }
    .carousel .carousel-indicators { bottom: 0; margin-bottom: 0; }
    .carousel .carousel-indicators li { box-sizing: content-box; background-color: #00758a; height: 4px; min-height: 0; border-top: 10px solid transparent; border-bottom: 10px solid transparent; }
    .carousel-caption h2 { font-size: 1.5rem; }
    .tt-address-list .menu li { margin-right: .25rem !important; }
}
@media (prefers-reduced-motion: reduce) { .carousel-item { transition: none !important; } }
