/* V11 responsive image, ticker, and spacing fixes */
html,body{max-width:100%;overflow-x:clip}
img,video,iframe,svg{max-width:100%}
.site-shell,.site-main,.global-page-layout,.global-page-content,.three-column,.main-col,.left-col,.right-col{min-width:0;max-width:100%}
/* Keep the entire source image visible in every CMS-managed slider/banner. */
.hero-slide{background-image:none!important;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;background:#101d32}
.hero-image-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,10,30,.24),rgba(4,10,30,0) 75%);pointer-events:none}
.hero-copy{position:relative;z-index:2;align-self:flex-end;margin-right:auto;width:min(100%,780px);overflow-wrap:anywhere}
.hero-copy:empty{display:none}
.side-image-slide,.mini-slide,.footer-banner-slide{display:flex;align-items:center;justify-content:center;background:#f4f6f9;overflow:hidden}
.side-image-slide img,.mini-slide img,.footer-banner-slide img{display:block;width:100%;height:100%;max-height:420px;object-fit:contain;object-position:center}
.side-image-slide span,.mini-slide span,.footer-banner-slide span{max-width:100%;overflow-wrap:anywhere}
.footer-banner-slider{width:min(100% - 32px,1440px)}
.footer-banner-slide img{max-height:260px}
/* Homepage ticker is a centred medium-width component, not a left/right sidebar. */
body:has(.hero-slider) .news-ticker{width:min(100% - 32px,960px);margin:12px auto 14px;border-radius:9px;overflow:hidden}
body:has(.hero-slider) .site-main{padding-top:0}
body:has(.hero-slider) .hero-slider{margin-top:0;margin-bottom:20px}
.news-ticker{max-width:100%;min-width:0}
.news-ticker-track,.news-ticker-content{min-width:0}
.news-ticker-content a{max-width:none;white-space:nowrap}
/* Remove empty caption/title containers; blank fields remain blank on the public site. */
.hero-copy:not(:has(h1,p,.hero-cta)),.side-image-slide:not(:has(span)),.mini-slide:not(:has(span)),.footer-banner-slide:not(:has(span)){text-shadow:none}
/* Prevent wide media/content from breaking the mobile viewport. */
.rich-content,.events-rich-content,.global-page-content,.panel,.post-card,.admin-card{min-width:0;overflow-wrap:anywhere}
.rich-content img,.events-rich-content img,.post-card img,.event-image img,.panel img{max-width:100%;height:auto}
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:980px){.global-page-layout{grid-template-columns:minmax(0,1fr)}.global-side{width:100%;min-width:0}.global-side-left,.global-side-right{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px}.hero-slider{width:100%;max-width:100%;left:auto;transform:none;aspect-ratio:16/7;height:auto;min-height:240px;max-height:480px}.hero-slide{background-size:contain}.hero-image{object-fit:contain}.footer-banner-slider{width:calc(100% - 24px)}}
@media(max-width:640px){.site-shell{width:calc(100% - 24px)}.top-strip .site-shell{gap:10px}.top-strip-message{font-size:11px}.news-ticker{font-size:12px}.news-ticker-label{padding:8px 10px;white-space:nowrap}.news-ticker-content a{padding:9px 12px}.hero-slider{width:100%;min-height:0;height:auto;aspect-ratio:4/3;max-height:none;border-radius:0}.hero-slides,.hero-slide{position:absolute;inset:0}.hero-image{object-fit:contain}.hero-copy{padding:12px 14px 38px;background:linear-gradient(0deg,rgba(8,18,35,.7),transparent);max-width:100%}.hero-copy h1{font-size:clamp(17px,5vw,26px);margin:4px 0}.hero-copy p{font-size:12px;line-height:1.4;margin:4px 0}.hero-cta{padding:7px 10px;font-size:11px;margin-top:5px}.hero-dots{left:12px;bottom:10px}.hero-count{right:10px;bottom:7px}.side-image-slide img,.mini-slide img{max-height:360px}.footer-banner-slider{width:calc(100% - 20px)}.footer-banner-slide img{max-height:180px}.footer-banner-wrap{margin-top:14px}body:has(.hero-slider) .news-ticker{width:calc(100% - 24px);margin:10px auto 12px;border-radius:7px}body:has(.hero-slider) .site-main{padding-top:0}.three-column{width:100%}.admin-card,.edit-form{overflow:hidden}.form-two{grid-template-columns:minmax(0,1fr)!important}}
