.festival-life,.fl-hatch,.fl-chimney{pointer-events:none}
.fl-hatch-light{opacity:.12;animation:fl-hatch-warmth var(--fl-period,10s) ease-in-out var(--fl-delay,0s) infinite}
.fl-counter-worker{animation:fl-counter-stroll var(--fl-period,23s) ease-in-out var(--fl-delay,0s) infinite}
.fl-smoke{opacity:0;animation:fl-roof-smoke 7.2s linear var(--fl-delay,0s) infinite;transform-box:fill-box;transform-origin:center bottom}



@keyframes fl-hatch-warmth{0%,100%{opacity:.08}30%{opacity:.19}65%{opacity:.11}80%{opacity:.24}}
@keyframes fl-counter-stroll{0%,100%{transform:translateX(-4px)}24%{transform:translateX(0)}46%,64%{transform:translateX(5px)}82%{transform:translateX(1px)}}
@keyframes fl-roof-smoke{0%{opacity:0;transform:translate(0,0) scale(.75)}12%{opacity:.64}50%{opacity:.54}85%{opacity:.18}100%{opacity:0;transform:translate(8px,-23px) scale(1.2)}}


.fl-reduced *{animation:none!important}
.fl-reduced .fl-hatch-light{opacity:.13}
.fl-reduced .fl-counter-worker{opacity:1}
.fl-reduced .fl-smoke{display:none}
@media(prefers-reduced-motion:reduce){.festival-life *,.fl-hatch *,.fl-chimney *{animation:none!important}.fl-smoke{display:none}.fl-counter-worker{opacity:1}.fl-hatch-light{opacity:.13}}

/* Lane state is on a parent, independent of each guest's SMIL arrival fade. */
.fl-lane-content{opacity:1;transition:opacity .45s ease;transition-delay:.25s}
.fl-closed-cord{opacity:0;transition:opacity .25s ease;transition-delay:0s}
.entry-scaled-down .fl-lane-closable{opacity:0;transition-delay:0s}
.entry-scaled-down .fl-closed-cord{opacity:1;transition-delay:.45s}
.fl-reduced .fl-lane-content,.fl-reduced .fl-closed-cord{transition:none}
@media(prefers-reduced-motion:reduce){.fl-lane-content,.fl-closed-cord{transition:none!important}}

.fl-socialguest{animation:fl-social-sway var(--fl-period,7s) ease-in-out var(--fl-delay,0s) infinite}
@keyframes fl-social-sway{0%,100%{transform:translateY(0)}50%{transform:translateY(.7px)}}
@media(prefers-reduced-motion:reduce){.fl-socialguest{animation:none!important}}
