/* Stable slots for media that loads when needed. Keep the existing site styling. */
.slideshow { margin: 0; padding: 0; }
.gad-video { position: relative; width: 100%; max-width: 1000px; aspect-ratio: 16 / 9; margin: 0 auto; background: #111; overflow: hidden; }
.gad-video-play { position: absolute; inset: 0; display: block; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; background: #111; color: #fff; cursor: pointer; }
.gad-video-play img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gad-video-play:focus-visible { outline: 3px solid #fff; outline-offset: -5px; }
.gad-video-play-icon { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 76px; height: 54px; border-radius: 12px; background: #cf0606; color: #fff; font: 30px system-ui, sans-serif; }
.gad-video-caption { position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%); padding: 5px 12px; background: #000b; color: #fff; font: 16px system-ui, sans-serif; }
.video-container .gad-video iframe, .gad-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.gad-calculator-shell { min-height: 320px; width: 100%; }
.gad-calculator-shell iframe { display: block; width: 100%; min-height: 256px; }
.gad-embed-fallback { font-size: 0.9em; }
@media (max-width: 900px), (prefers-reduced-motion: reduce) {
    .slideshow li span { animation: none !important; }
    .slideshow li:first-child span { opacity: 1; background-image: url('/2023/topgallery/gallery1-mobile.webp') !important; }
    .slideshow li:nth-child(n+2) { display: none; }
    .slideshow li:nth-child(n+2) span { background-image: none !important; }
}

/* Accessibility: preserve the card appearance while correcting heading levels. */
cardTitle .gad-card-heading { font-size: 1.17em; text-align: center; opacity: 1; animation: none; }
#menuHide button { color: inherit; background: transparent; border: 0; padding: 0; font: inherit; cursor: pointer; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
#main_nav li:focus-within > ul { display: block; visibility: visible; opacity: 1; }