.training-slide{
  inset:0 -4% -4%;
  background-position:center 16%;
  -webkit-mask-image:none;
  mask-image:none;
}

.training-slide{animation:training-crossfade var(--hero-cycle,24s) linear infinite,training-ken-burns var(--hero-ken-burns,12s) ease-in-out infinite alternate}.slide-one{background-image:var(--hero-image-1)!important;animation-delay:0s,0s}.slide-two{background-image:var(--hero-image-2)!important;animation-delay:calc(var(--hero-slide-duration,6s) * -1),calc(var(--hero-slide-duration,6s) / -3)}.slide-three{background-image:var(--hero-image-3)!important;animation-delay:calc(var(--hero-slide-duration,6s) * -2),calc(var(--hero-slide-duration,6s) / -1.2)}.slide-four{background-image:var(--hero-image-4)!important;animation-delay:calc(var(--hero-slide-duration,6s) * -3),calc(var(--hero-slide-duration,6s) / -0.75)}.hero-image-space:before{animation-duration:var(--wave-duration,32s)}

@media(max-width:700px){
  .training-slide{
    inset:0 -4% -4%;
    background-position:center 16%;
  }
}

.page-home .site-header:not(.is-scrolled){
  background:transparent;
  border-color:transparent;
  box-shadow:none;
  backdrop-filter:none;
}

.hero-image-space{
  background:#0c406a;
}

.page-home .site-header:not(.is-scrolled) nav a{
  color:#fff!important;
  text-shadow:none!important;
}

.page-home .site-header:not(.is-scrolled) nav a:hover{
  color:#fff!important;
}

@media(min-width:701px){
  .page-home .site-header:not(.is-scrolled) #main-nav{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
  }

  .page-home .site-header:not(.is-scrolled) #main-nav a{
    color:#fff!important;
    font-size:15px;
  }
}

.hero{
  --training-image-height:295px;
  padding-top:246px;
}

.hero-image-space:after{
  background:linear-gradient(180deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.48) 26%,rgba(0,0,0,0) 52%,transparent 100%);
}

.hero-image-space:before{
  content:"";
  position:absolute;
  z-index:2;
  right:auto;
  bottom:-1px;
  left:0;
  width:200%;
  height:18px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 18' preserveAspectRatio='none'%3E%3Cpath fill='%23f8fcff' d='M0 6C120 6 180 12 360 11S620 1 720 2s180 11 360 9 240-5 360-5v12H0Z'/%3E%3C/svg%3E") left bottom/50% 100% repeat-x;
  pointer-events:none;
  will-change:transform;
  animation:hero-wave-flow 32s linear infinite;
  filter:drop-shadow(0 7px 7px rgba(7,85,170,.2));
}

@keyframes hero-wave-flow{
  to{transform:translateX(-50%)}
}

.hero .kicker{
  color:var(--blue);
  text-shadow:0 1px 10px rgba(255,255,255,.94);
}

@media(max-width:700px){
  .hero{
    --training-image-height:270px;
    padding-top:224px;
  }

  .hero-image-space:after{
    background:linear-gradient(180deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.48) 26%,rgba(0,0,0,0) 52%,transparent 100%);
  }

  .page-home .site-header:not(.is-scrolled) nav.open{
    background:#fff;
  }

  .page-home .site-header:not(.is-scrolled) nav.open a{
    color:var(--navy)!important;
    text-shadow:none!important;
  }

  .site-header #main-nav.open{
    background:#fff!important;
  }

  .site-header #main-nav.open a{
    color:var(--navy)!important;
    visibility:visible!important;
    opacity:1!important;
    text-shadow:none!important;
  }
}

@media(max-width:520px){
  .hero{
    --training-image-height:250px;
    padding-top:210px;
  }
}

@media(prefers-reduced-motion:reduce){
  .hero-image-space:before{animation:none;filter:none}
}

.page-courses .courses.home-only{
  display:block!important;
}

.modal.open .backdrop{
  animation:modal-backdrop-in 240ms ease-out both;
}

.modal.open .modal-box{
  animation:modal-box-in 420ms cubic-bezier(.2,.82,.22,1) both;
}

@keyframes modal-backdrop-in{
  from{opacity:0}
  to{opacity:1}
}

@keyframes modal-box-in{
  from{opacity:0;transform:translateY(20px) scale(.94)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

@media(prefers-reduced-motion:reduce){
  .modal.open .backdrop,.modal.open .modal-box{animation:none}
}

@media(prefers-reduced-motion:no-preference){
  body.is-transitioning main{
    animation:page-scale-out-up 500ms cubic-bezier(.4,0,.2,1) both;
  }

  body.is-entering main{
    animation:page-scale-in-up 550ms cubic-bezier(.2,.8,.2,1) both;
  }
}

@keyframes page-scale-out-up{
  from{opacity:1;transform:scale(1)}
  to{opacity:.9;transform:scale(1.03)}
}

@keyframes page-scale-in-up{
  from{opacity:.9;transform:scale(1.03)}
  to{opacity:1;transform:scale(1)}
}

@media(prefers-reduced-motion:no-preference){
  main.page-outgoing{
    position:absolute;
    left:0;
    right:0;
    z-index:3;
    width:100%;
    transform-origin:center top;
    pointer-events:none;
  }

  main.page-outgoing.is-scaling{
    opacity:1;
    transform:scale(1.03);
    transition:transform 500ms cubic-bezier(.4,0,.2,1);
  }

  main.page-incoming{
    position:relative;
    z-index:1;
    opacity:0;
    transform:scale(1.018);
    transform-origin:center top;
  }

  main.page-incoming.is-revealing{
    opacity:1;
    transform:scale(1);
    transition:opacity 550ms cubic-bezier(.2,.8,.2,1),transform 550ms cubic-bezier(.2,.8,.2,1);
  }

  main.page-outgoing.is-crossfading{
    opacity:0;
    transition:opacity 500ms cubic-bezier(.2,.8,.2,1);
  }
}

@media(prefers-reduced-motion:no-preference){
  ::view-transition-old(root),::view-transition-new(root){
    animation-duration:1050ms;
    animation-fill-mode:both;
    animation-timing-function:cubic-bezier(.22,.75,.22,1);
  }

  ::view-transition-old(root){
    animation-name:dansales-view-out;
    z-index:2;
  }

  ::view-transition-new(root){
    animation-name:dansales-view-in;
    z-index:1;
  }
}

@keyframes dansales-view-out{
  0%{opacity:1;transform:scale(1)}
  47.6%{opacity:1;transform:scale(1.03)}
  100%{opacity:0;transform:scale(1.03)}
}

@keyframes dansales-view-in{
  0%,47.6%{opacity:1;transform:scale(1.018)}
  100%{opacity:1;transform:scale(1)}
}
