/* Preserve the complete photograph at every screen width. */
img { max-width:100%; height:auto; }
img.card-img-top { display:block; width:100%; height:auto; }
.site-photo-link { display:block; cursor:zoom-in; }
.site-photo-link:focus-visible { outline:3px solid #ffcd45; outline-offset:3px; }
.site-card-photo { display:block; aspect-ratio:4/3; background:#171d22; }
.site-card-photo img.card-img-top { width:100%;height:100%;object-fit:contain; }
.carousel-inner { aspect-ratio:3/2; background:#171d22; }
.carousel-item,.carousel-item img { width:100%;height:100%; }
.carousel-item img { display:block;object-fit:contain; }
.social .site-social-icon { width:1em;height:1em;vertical-align:-.125em;fill:currentColor; }
.site-video,.site-video-frame { display:block;width:100%;max-width:100%;height:auto;aspect-ratio:16/9;border:0;background:#10161c; }
.site-video { position:relative; padding:0; overflow:hidden; color:#fff; cursor:pointer; font:inherit; }
.site-video img { display:block;width:100%;height:100%;object-fit:cover;opacity:.8; }
.site-video:hover img { opacity:1; }
.site-video:focus-visible { outline:3px solid #ffcd45;outline-offset:3px; }
.site-video-play { position:absolute;inset:0;display:grid;place-content:center;pointer-events:none;text-shadow:0 2px 6px #000; }
.site-video-play::before { content:'\25B6';display:grid;place-content:center;width:64px;height:48px;margin:auto;border-radius:12px;background:#c12a28;font-size:25px; }
.site-video-play span { margin-top:10px;padding:4px 10px;border-radius:4px;background:#111b;font-size:14px; }
video { max-width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#111; }
iframe[src*="google.com/maps"] { width:100%;max-width:600px;aspect-ratio:1;height:auto; }
form input:not([type=submit]):not([type=reset]),form textarea { width:min(100%,32rem);max-width:100%;box-sizing:border-box; }
form label { margin:.6rem 0 .2rem; }
.site-form-note,.site-unavailable { color:#d5d5d5;font-size:.9rem; }
.centre h2 { overflow-wrap:anywhere; }
.site-contact-heading a { display:block;font-size:clamp(1.05rem,2vw,1.65rem);margin:.5rem 0 1.5rem;color:#ffcd45; }
@media(max-width:991px) { .paddingtop20,.paddingtop12 { padding-top:1rem; } }
@media(prefers-reduced-motion:reduce) { .carousel-item { transition:none; } }
