/* Small compatibility layer over the recovered TopHit blue theme. */
body{font-family:Arial,Helvetica,sans-serif}h1,h2,h3,.intro{font-family:"Arial Narrow",Arial,sans-serif}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #97267e;outline-offset:3px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;background:#fff;padding:12px;z-index:99}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#logo img{max-width:100%;height:auto}#header-right .content a{color:inherit}#main-navigation{overflow:visible}.site-menu{display:flex;flex-wrap:wrap;list-style:none;margin:0!important;padding:0!important}.site-menu>li{position:relative;margin:0!important;float:none!important;width:auto!important}.site-menu>li>a{display:block;padding:17px 19px!important;text-transform:uppercase;font-size:15px}.site-menu a[aria-current=page]{color:#103887}.site-menu li ul{display:none;position:absolute;top:100%;left:0;background:#fff;min-width:225px;list-style:none;margin:0;padding:8px 0;box-shadow:0 4px 15px #0002;z-index:20}.site-menu li:hover>ul,.site-menu li:focus-within>ul{display:block}.site-menu li ul a{display:block;padding:10px 16px}.site-menu .has-submenu>a:after{content:' ▾';font-size:11px}.menu-toggle{display:none}.flexslider .slides>li{display:block;position:relative}.flexslider .slides>li[hidden]{display:none!important}.flexslider .slides img{width:100%;height:350px;object-fit:cover}.flex-caption{position:absolute;bottom:30px}.carousel-arrows{position:absolute;top:45%;left:-10px;right:-10px;display:flex;justify-content:space-between;pointer-events:none}.carousel-arrows button{pointer-events:auto;background:#103887;color:white;border:0;width:50px;height:55px;font-size:42px;border-radius:8px;cursor:pointer}.carousel-dots{position:absolute;bottom:0;width:100%;height:30px;display:flex;align-items:center;justify-content:center;gap:8px;background:#ddd9}.carousel-dots button{width:28px;height:9px;padding:0;border:1px solid #777;background:transparent;cursor:pointer}.carousel-dots button[aria-pressed=true]{background:#103887;border-color:#103887}.carousel-dots .pause-carousel{height:24px;width:26px;border:0;font-size:15px;color:#103887}.view-promoted-posts .views-field-field-image img{width:100%;height:190px;object-fit:cover;box-sizing:border-box}.view-promoted-posts h2{height:auto;min-height:40px}.view-promoted-posts .views-field-field-teaser{min-height:55px;margin:0}.view-promoted-posts .views-field-body{height:auto;min-height:145px}.footer-thumbnails{display:grid;grid-template-columns:1fr 1fr;gap:8px}.footer-thumbnails img{width:100%;height:90px;object-fit:cover}.footer-menu{display:flex;list-style:none;gap:15px;margin:0}.prose iframe{max-width:100%}.prose img{max-width:100%;height:auto}.project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:30px 0}.project-gallery img{width:100%;height:140px;object-fit:cover;border:4px solid white;box-sizing:border-box;outline:1px solid #c9d6e1}.contact-form input,.contact-form textarea{box-sizing:border-box;width:100%;max-width:100%;border:1px solid #bccbd9;padding:10px;background:white;border-radius:3px;font:inherit}.contact-form label{display:block;margin-bottom:7px;font-weight:bold}.contact-form .form-item{margin:0 0 20px}.honeypot{position:absolute;left:-9999px}.messages{padding:15px;margin-bottom:25px;border:1px solid #bbc}.messages.status{background:#edf7ee;border-color:#b7d2bb}.messages.error{background:#fff1f1}.form-submit{background:#103887;color:#fff;padding:10px 20px;border:0;border-radius:3px;font-weight:bold;cursor:pointer}#back-to-top{position:fixed;bottom:20px;right:20px;background:#103887;color:#fff;border:0;padding:8px 14px;border-radius:3px;cursor:pointer;display:none}#back-to-top.visible{display:block}@media(max-width:767px){.menu-toggle{display:flex;justify-content:space-between;width:100%;border:1px solid #ccd8e0;background:white;padding:12px;color:#103887;margin-bottom:15px}.site-menu{display:none}.site-menu.open{display:block}.site-menu li ul{position:static;box-shadow:none;display:block;padding-left:15px}.site-menu>li>a{padding:10px!important}.site-menu li ul a{padding:6px 16px}#header-right{text-align:center}.flexslider .slides img{height:230px}.flex-caption{font-size:19px!important}.flex-caption p{padding:8px}.carousel-arrows button{width:32px;height:40px;font-size:27px}.view-promoted-posts .views-field-body{min-height:0}.view-promoted-posts .views-field-field-teaser{min-height:0}.view-promoted-posts .views-field-field-image img{height:auto}.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.flexslider .slides>li{background:none!important;padding:0!important;margin:0!important;list-style:none!important}

/* Override the Drupal theme's navigation rules without clipping submenus. */
#header {
    position: relative;
    z-index: 30;
}
#header #main-navigation .site-menu {
    display: flex;
    overflow: visible;
}
#header #main-navigation .site-menu li {
    display: block;
    overflow: visible;
}
#header #main-navigation .site-menu a {
    display: block;
    float: none;
}
#header #main-navigation .site-menu li ul {
    display: none;
    overflow: visible;
}
#header #main-navigation .site-menu li:hover > ul,
#header #main-navigation .site-menu li:focus-within > ul {
    display: block;
}
#header #main-navigation .site-menu li ul a {
    padding: 10px 16px;
    text-transform: none;
}
@media (max-width: 767px) {
    #header #main-navigation .site-menu {
        display: none;
    }
    #header #main-navigation .site-menu.open {
        display: block;
    }
    #header #main-navigation .site-menu li ul {
        display: block;
        position: static;
    }
}


/* Accessible full-size gallery viewer. */
body.photo-viewer-open { overflow: hidden; }
.photo-viewer { box-sizing: border-box; width: min(1100px, calc(100% - 24px)); max-width: none; max-height: calc(100dvh - 24px); padding: 18px; border: 1px solid #536477; border-radius: 8px; color: #fff; background: #14202d; box-shadow: 0 12px 50px #0007; }
.photo-viewer::backdrop { background: rgb(0 0 0 / 85%); }
.photo-viewer[open] { display: flex; flex-direction: column; }
.photo-viewer-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.photo-viewer-header h2 { color: #fff; font-size: 20px; margin: 0; padding: 0; text-shadow: none; }
.photo-viewer button { border: 1px solid #73879b; border-radius: 5px; background: #103887; color: #fff; cursor: pointer; min-width: 44px; min-height: 44px; padding: 8px 12px; font: inherit; }
.photo-viewer button:hover { background: #2355b2; }
.photo-viewer-header button { flex-shrink: 0; }
.photo-viewer-header button span { margin-left: 12px; font-size: 22px; }
.photo-viewer-stage { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 0; }
.photo-viewer-stage img { display: block; object-fit: contain; min-width: 0; max-width: calc(100% - 112px); max-height: calc(100dvh - 180px); margin: auto; }
.photo-viewer-stage button { flex-shrink: 0; font-size: 32px; line-height: 1; }
.photo-viewer-stage button[hidden] { display: none; }
.photo-viewer-caption { margin: 14px 0 0; text-align: center; color: #e0e7ee; font-size: 14px; }
@media (max-width: 600px) {
    .photo-viewer { padding: 12px; }
    .photo-viewer-header { align-items: flex-start; gap: 8px; }
    .photo-viewer-header h2 { font-size: 16px; }
    .photo-viewer-header button { font-size: 13px; padding: 6px 8px; }
    .photo-viewer-stage { gap: 4px; }
    .photo-viewer-stage img { max-width: calc(100% - 96px); }
}
