/* Effects */

/* Reveal */
.a-fade-up,.a-fade-in,.a-zoom-in,.a-zoom-out,.a-slide-left,.a-slide-right,.a-pop{
  opacity:0;
  transition:opacity var(--dur,.9s) cubic-bezier(.22,.61,.36,1),translate var(--dur,.9s) cubic-bezier(.22,.61,.36,1),scale var(--dur,.9s) cubic-bezier(.22,.61,.36,1);
  transition-delay:var(--d,0s);
}
.a-fade-up{translate:0 36px}
.a-zoom-in{scale:.9}
.a-zoom-out{scale:1.04}
.a-slide-left{translate:-60px 0}
.a-slide-right{translate:60px 0}
.a-pop{scale:.6;transition-timing-function:cubic-bezier(.34,1.56,.64,1)}
.is-in{opacity:1;translate:0 0;scale:1}

/* Hover zoom */
.zoomable{transition:translate .45s cubic-bezier(.22,.61,.36,1),scale .45s cubic-bezier(.22,.61,.36,1);pointer-events:none}
.hit{pointer-events:auto}

/* Shake */
.clickable{cursor:pointer}
.clickable:focus-visible{outline:2px solid #FFCD05;outline-offset:4px;border-radius:12px}
.shake{animation:shake .6s cubic-bezier(.36,.07,.19,.97)}
@keyframes shake{
  0%,100%{translate:0 0}
  10%{translate:-10px 0}
  22%{translate:10px 0}
  35%{translate:-8px 0}
  48%{translate:8px 0}
  61%{translate:-5px 0}
  74%{translate:5px 0}
  87%{translate:-2px 0}
}

/* Marquee */
.marquee-clip{overflow:hidden}
.marquee{width:auto!important;animation:marquee var(--dur,30s) linear infinite;will-change:transform}
@keyframes marquee{to{transform:translateX(calc(-1 * var(--p)))}}

/* Links */
a.f{color:inherit;text-decoration:none;cursor:pointer}
.btn-yellow,.btn-white{transition:background-color .25s ease}
.btn-yellow:hover,.btn-yellow:focus-visible{background-color:#FFDB4B!important}
.btn-white:hover,.btn-white:focus-visible{background-color:#DDDDDD!important}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:#FFCD05;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.nav-link:hover::after,.nav-link:focus-visible::after{transform:scaleX(1)}

@media (prefers-reduced-motion:reduce){
  .a-fade-up,.a-fade-in,.a-zoom-in,.a-zoom-out,.a-slide-left,.a-slide-right,.a-pop{opacity:1;translate:0 0;scale:1;transition:none}
  .zoomable{transition:none}
  .shake,.marquee{animation:none}
}

/* Accordion */
.acc-head{cursor:pointer}
.acc-head:focus-visible{outline:2px solid #FFCD05;outline-offset:-2px;border-radius:12px}
.acc-arrow{transition:rotate .3s ease;transform-origin:50% 50%}
.is-closed .acc-arrow{rotate:180deg}
