/* DesignClass – Home v3 add-on: fonts and motion for the Elementor-built page.
   Layout, colours and text live in Elementor (global classes beginning dc-). This file only adds
   self-hosted fonts and the effects Elementor's panels can't set. */
@font-face{font-family:"Poppins";src:url(../home-v2/fonts/poppins-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url(../home-v2/fonts/poppins-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Poppins";src:url(../home-v2/fonts/poppins-latin-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url(../home-v2/fonts/poppins-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url(../home-v2/fonts/poppins-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url(../home-v2/fonts/poppins-latin-800-normal.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url(../home-v2/fonts/poppins-latin-800-italic.woff2) format("woff2");font-weight:800;font-style:italic;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(../home-v2/fonts/jetbrains-mono-latin-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(../home-v2/fonts/jetbrains-mono-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(../stem-racing/fonts/barlow-condensed-latin-800-italic.woff2) format("woff2");font-weight:800;font-style:italic;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(../stem-racing/fonts/barlow-condensed-latin-600-italic.woff2) format("woff2");font-weight:600;font-style:italic;font-display:swap}
@font-face{font-family:"Chakra Petch";src:url(../stem-racing/fonts/chakra-petch-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}

@property --dc-scribble{syntax:"<percentage>";inherits:false;initial-value:100%}

/* hero lens slideshow */
.dc-lens.dc-ready .dc-lens-slide{opacity:0}
.dc-lens.dc-ready .dc-lens-slide.is-on{opacity:1}
.dc-lens.dc-ready .dc-lens-callout .dc-lens-label{display:none}
.dc-lens.dc-ready .dc-lens-callout .dc-lens-label.is-on{display:block}
.dc-lens[data-k="1"] .dc-lens-dot{background-color:#ff8a2a}
.dc-lens[data-k="2"] .dc-lens-dot{background-color:#ff3d81}
.dc-lens[data-k="3"] .dc-lens-dot{background-color:#11b981}

/* STEM streak positions */
.dc-streaks .dc-streak:nth-child(1){top:15%}
.dc-streaks .dc-streak:nth-child(2){top:35%;width:18%}
.dc-streaks .dc-streak:nth-child(3){top:52%}
.dc-streaks .dc-streak:nth-child(4){top:68%;width:32%}
.dc-streaks .dc-streak:nth-child(5){top:84%;width:20%}

/* progress bars wait until they're in view */
.dc-js .dc-dash:not(.is-in) .dc-fill{transform:scaleX(0)}

@media (prefers-reduced-motion:no-preference){
  .dc-lens.dc-ready .dc-lens-slide.is-on{animation:dc-kb 7s ease-out both}
  .dc-lens-ring.dc-spin{animation:dc-spin 90s linear infinite}
  .dc-lens-rays.dc-spin{animation:dc-spin 140s linear infinite reverse}
  .dc-card-orbit.dc-spin{animation:dc-spin 40s linear infinite}
  .dc-mark-dial-ring.dc-spin{animation:dc-spin 120s linear infinite}
  .dc-circle-ring.dc-spin{animation:dc-spin 60s linear infinite}
  .dc-hero-title span{animation:dc-up .8s cubic-bezier(.2,.8,.2,1) both}
  .dc-hero-title span:nth-of-type(2){animation-delay:.15s}
  .dc-hero-title span:nth-of-type(3){animation-delay:.3s}
  .dc-hero-title span:nth-of-type(1){animation:dc-up .8s cubic-bezier(.2,.8,.2,1) both,dc-scribble 1.2s .6s cubic-bezier(.6,0,.2,1) both}
  .dc-stem.is-in .dc-light{animation:dc-light 4.2s linear 1 both}
  .dc-stem.is-in .dc-light:nth-child(2){animation-delay:.35s}
  .dc-stem.is-in .dc-light:nth-child(3){animation-delay:.7s}
  .dc-stem.is-in .dc-light:nth-child(4){animation-delay:1.05s}
  .dc-stem.is-in .dc-light:nth-child(5){animation-delay:1.4s}
  .dc-streaks .dc-streak{animation:dc-streak 3.1s cubic-bezier(.4,0,.6,1) infinite}
  .dc-streaks .dc-streak:nth-child(2){animation-duration:2.6s;animation-delay:.9s}
  .dc-streaks .dc-streak:nth-child(3){animation-duration:3.6s;animation-delay:1.7s}
  .dc-streaks .dc-streak:nth-child(4){animation-duration:2.9s;animation-delay:.4s}
  .dc-streaks .dc-streak:nth-child(5){animation-duration:3.4s;animation-delay:2.3s}
}
@media (prefers-reduced-motion:reduce){
  .dc-lens-slide,.dc-fill{transition:none!important}
}
@keyframes dc-spin{to{transform:rotate(360deg)}}
@keyframes dc-kb{from{transform:scale(1.14)}to{transform:scale(1.02)}}
@keyframes dc-up{from{opacity:0;transform:translateY(.25em)}to{opacity:1;transform:none}}
@keyframes dc-scribble{from{--dc-scribble:0%}to{--dc-scribble:100%}}
@keyframes dc-light{0%{background-color:#2b1b3b}8%,70%{background-color:#ff2338;box-shadow:0 0 14px 3px rgba(255,35,56,.65)}72%,100%{background-color:#2b1b3b;box-shadow:inset 0 2px 3px rgba(0,0,0,.6)}}
@keyframes dc-streak{0%{transform:translateX(-30%);opacity:0}15%{opacity:.9}100%{transform:translateX(420%);opacity:0}}