[hidden]{display:none!important}.map-open{position:absolute;bottom:30px;right:10px;z-index:1000;padding:8px 12px;background:white;color:#111;border-radius:4px;font-size:13px;box-shadow:0 1px 6px #777}.leaflet-container{position:relative}.otter-animation{opacity:1!important;transform:none!important}img{max-width:100%}
@media (prefers-reduced-motion:no-preference){.slide-pending{visibility:hidden}main .slideInUp.animated{animation-duration:1s;animation-fill-mode:both}}
@media (prefers-reduced-motion:reduce){main .slideInUp{animation:none!important;transform:none!important;visibility:visible!important}}
.event-category{text-align:center}.event-icon{display:block;width:112px;height:112px;margin:0 auto 24px;color:#fff}.event-category p{font-size:20px;font-weight:700}@media(max-width:600px){.event-icon{width:72px;height:72px;margin-bottom:16px}.event-category p{font-size:16px}}
@keyframes bikeout-section-enter{from{opacity:0;transform:translate3d(0,120px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media (prefers-reduced-motion:no-preference){main .slideInUp.animated{animation-name:bikeout-section-enter;animation-duration:1.4s;animation-timing-function:cubic-bezier(.22,.61,.36,1)}}
#wp-block-themeisle-blocks-advanced-columns-e1ca32e1{background-position:center 35%}
.partner-clubs-note{text-align:center;color:inherit;font-size:16px;margin-top:-20px;margin-bottom:32px}
.hathersage-photo{margin:20px 0}.hathersage-photo img{display:block;width:100%;height:auto;border-radius:0}
.poster-header{width:100%;margin:0;background:#fff}.poster-photo{position:relative;width:100%;overflow:hidden;line-height:0}.poster-photo img{display:block;width:100%;height:auto;margin:0}.poster-photo h1{position:absolute;bottom:2%;left:0;width:100%;margin:0!important;padding:0 4%;color:#fff!important;font-family:Poppins,sans-serif;font-weight:700;font-size:clamp(76px,17vw,280px)!important;line-height:1!important;letter-spacing:-.045em;text-align:center}.poster-details{text-align:center;padding:28px 20px 30px;background:#fff;color:#111}.poster-tagline{font-size:clamp(18px,2.1vw,28px);font-weight:700;margin:0 0 6px}.poster-date{font-size:clamp(16px,1.6vw,22px);margin:0}.poster-date span{margin:0 8px}#wp-block-themeisle-blocks-advanced-column-311d4b3f>.wp-block-buttons{justify-content:flex-start;margin-top:28px}@media(max-width:600px){.poster-photo h1{font-size:19vw!important;bottom:1%}.poster-details{padding:22px 16px 24px}.poster-date span{margin:0 3px}}
.image-credits{text-align:center;padding:24px 20px;background:#f5f5f5;color:#333;font-size:13px}.image-credits p{margin:0}
@media(min-width:961px){.poster-photo{height:min(56.25vw,calc(100svh - 145px))}.poster-photo img{height:100%;object-fit:cover;object-position:center bottom}.poster-photo h1{font-size:min(17vw,24svh)!important;bottom:2%}}
.simplified-section-heading>h2:first-child{margin-top:0!important}.simplified-section-heading>h2{margin-bottom:28px!important}
img.section-photo-crop{display:block;width:100%!important;height:auto!important;aspect-ratio:1/1;object-fit:cover;object-position:center}.section-photo-crop[src*="bikeout-panel"]{object-position:50% 55%}.section-photo-crop[src*="hathersage-cycling"]{object-position:53% 50%}.section-photo-crop[src*="rapha-coffee-stop"]{object-position:50% 60%}

#wp-block-themeisle-blocks-advanced-column-311d4b3f>h2{margin-bottom:10px!important}.intro-festival-date{font-size:20px;margin:0 0 30px}@media(max-width:600px){.intro-festival-date{font-size:17px}}
.festival-introduction{width:100%;padding:64px 24px 56px;background:#fff;text-align:center}.festival-introduction-inner{max-width:900px;margin:0 auto}.festival-introduction h2{font-size:clamp(28px,3.2vw,44px);line-height:1.2;margin:0 0 12px}.festival-introduction .intro-festival-date{margin:0 0 28px}.festival-introduction .wp-block-paragraph{margin:0 auto 28px;line-height:1.75}.festival-introduction .wp-block-buttons{justify-content:center}@media(max-width:600px){.festival-introduction{padding:40px 24px 24px}}
/* Keep the complete vertical photo composition; narrower screens crop the sides. */
.poster-photo{height:clamp(520px,78svh,900px)}.poster-photo>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}@media(max-width:600px){.poster-photo{height:78svh;min-height:520px}.poster-photo h1{bottom:4%;font-size:20vw!important}}
.poster-photo{height:max(56.2528vw,min(78svh,900px))}
.poster-photo>img{object-position:47% center}
