/* Layout and colors originate in the supplied reference CSS. */
:root { --focus-color: #164d69; }
html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
body { overflow-wrap: break-word; }
img, video, iframe { max-width: 100%; }
#s3411 > .card-img-overlay { pointer-events: none; }
#s3411 > .card-img-overlay a { pointer-events: auto; }
img { object-fit: contain; }
.svg-inline--fa { display: inline-block; height: 1em; overflow: visible; vertical-align: -.125em; }
.fa-4x { font-size: 4em; }
.fa-5x { font-size: 5em; }
.skip-link { position: fixed; left: 1rem; top: -5rem; padding: .75rem 1rem; z-index: 10000; background: white; color: #183f52; }
.skip-link:focus { top: .5rem; }
:focus-visible { outline: 3px solid var(--focus-color); outline-offset: 3px; }
a:focus, button:focus, input:focus, select:focus, textarea:focus { outline: 3px solid var(--focus-color) !important; outline-offset: 3px; box-shadow: none !important; }
#language { min-width: 44px; min-height: 44px; }
#language-menu .dropdown-menu { min-width: 160px; border-radius: 0; }
#language-menu .dropdown-item { min-height: 32px; }
#main-navbar .nav-link { color: #193e53; }
.dropdown-toggle[aria-expanded="true"]::after { transform: rotate(180deg); }
.dropdown.show > .dropdown-menu { display: block; }
.navbar-toggler { min-width: 44px; min-height: 44px; }
.navbar.fixed-top { z-index: 1030; }
.contact-notice { margin-top: 1rem; font-size: .95rem; }
.restored-page { padding: 2rem 0; }
.restored-subpages { margin: 1.5rem 0; }
.restored-subpages ul { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; list-style: none; padding: 0; }
.public-site-map { list-style: none; padding-left: 0; }
.public-site-map ul { list-style: circle; padding-left: 2rem; }
.restored-section, .restored-content { margin-bottom: 2rem; scroll-margin-top: 7rem; }
.restored-columns { display: flex; gap: 2rem; margin-bottom: 2rem; scroll-margin-top: 7rem; }
.restored-column { flex: 1; min-width: 0; }
.restored-media img { display: block; max-width: 100%; height: auto; margin: 1rem auto; }
.restored-page table { width: 100%; }
.restored-page td, .restored-page th { padding: .5rem; border-bottom: 1px solid #ddd; }
@media (max-width: 767.98px) { .restored-columns { flex-direction: column; } }
.road-gallery { padding: 2rem 0; }
.road-gallery section { margin: 2rem 0; }
.road-gallery-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 1rem; }
.road-gallery-grid img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
/* Local SVGs replace link glyphs whose icon font is not bundled. */
.download-link::before,
.external-link::before,
.internal-link::before {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-left: .2em;
    margin-right: .3em;
    vertical-align: -.125em;
    background-color: currentColor;
    -webkit-mask: var(--link-icon) center / contain no-repeat;
    mask: var(--link-icon) center / contain no-repeat;
}
.download-link { --link-icon: url('/assets/img/icon/download.svg'); }
.external-link { --link-icon: url('/assets/img/icon/external-link.svg'); }
.internal-link { --link-icon: url('/assets/img/icon/internal-link.svg'); }
.contact-draft input[type="checkbox"] { width: 18px; height: 18px; vertical-align: middle; margin-right: .4rem; }
.contact-draft .form-check-label { min-height: 28px; padding: .2rem 0; }
.media-unavailable { display: grid; place-items: center; padding: 2rem; min-height: 160px; background: #f1f3f4; color: #364956; text-align: center; }
.media-unavailable.d-none { display: none !important; }
@media (min-width: 992px) { .media-unavailable.d-lg-block { display: grid !important; } }
.unavailable-image { background: #f4f5f5; }
dialog { max-width: min(32rem, calc(100vw - 2rem)); padding: 2rem; border: 1px solid #bac2c7; color: #183f52; background: white; }
dialog::backdrop { background: rgb(0 0 0 / 35%); }
.back-to-top { position: fixed; right: 1rem; bottom: 1rem; z-index: 1020; border: 0; background: transparent; color: #53616c; }
.error-page { font: 18px/1.6 Arial, sans-serif; color: #183f52; background: #f9fafb; }
.error-page main { max-width: 52rem; margin: 12vh auto; padding: 2rem; }
.error-page a { color: #185170; }
@media (max-width: 991.98px) {
    #s3411 { display: none; }
    .animated { animation: none !important; transform: none !important; }
    #s3226 > .d-flex > .col > .row { margin-left: 0; margin-right: 0; }
    #navbarToggler.show { display: block; max-height: calc(100dvh - 80px); overflow-y: auto; }
    .navbar.fixed-top { background: white; }
    .dropdown-menu { position: static; }
    #language-menu { align-items: flex-start; }
    #language-menu .dropdown-menu { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
.youtube-embed { margin: 1.5rem 0; }
.youtube-placeholder { padding: 2rem; max-width: 64rem; background: #183f52; color: #fff; }
.youtube-placeholder p { max-width: 52rem; }
.youtube-load, .youtube-close { min-height: 44px; padding: .65rem 1rem; border: 2px solid #183f52; background: #fff; color: #183f52; }
.youtube-load:focus-visible { outline: 3px solid #fff !important; outline-offset: 4px; }
.youtube-player { width: 100%; max-width: 64rem; aspect-ratio: 16 / 9; background: #000; }
.youtube-player iframe { width: 100%; height: 100%; border: 0; display: block; }
.youtube-embed > a { display: block; margin-top: 1rem; }
.youtube-close { margin-top: .75rem; }
.youtube-embed [hidden] { display: none !important; }
@media (max-width: 991.98px) { .youtube-layout { width: 100% !important; } }
.youtube-embed > a,
.youtube-embed > a:hover,
.youtube-embed > a:focus-visible {
    color: #183f52;
    background: #fff;
    padding: .5rem;
    text-decoration: underline;
}
