/* Scroll & Motion Effects v4.2.0 */

.spe-fx[data-spe-effect="scrollspy_nav_wrap"]{position:sticky;top:0;align-self:flex-start;z-index:100;}
.spe-fx[data-spe-effect="scrollspy_nav_item"]{opacity:0.4;transition:opacity 0.3s ease;}
.spe-fx[data-spe-effect="scrollspy_nav_item"].spe-active{opacity:1;}
.spe-fx[data-spe-effect="mask_reveal"]{position:sticky;top:10vh;overflow:hidden;}
.spe-fx[data-spe-effect="image_reveal_hover"]{position:relative;overflow:hidden;}
.spe-fx[data-spe-effect="stagger_reveal"] > *{opacity:0;}
.spe-fx[data-spe-effect="image_zoom_hover"]{overflow:hidden;}
.spe-fx[data-spe-effect="image_zoom_hover"] img{transform-origin:center center;display:block;width:100%;}
.spe-fx[data-spe-effect="elastic_cursor"]{cursor:none;position:relative;}
.spe-fx[data-spe-effect="ripple_click"]{overflow:hidden;position:relative;}
.spe-fx[data-spe-effect="text_scroll_fill"]{display:inline-block;}
.spe-fx[data-spe-effect="flip_card"]{perspective:1000px;}

/* gradient: children must sit above the spinning bg */
.spe-fx[data-spe-effect="gradient_border"] > *{position:relative;z-index:1;}

/* body bg trigger override */
body.spe-bg-on{background-color:var(--spe-bg,#fff)!important;transition:background-color 0.6s ease!important;}

/* keyframes */
@keyframes spe-ripple{to{transform:scale(4);opacity:0;}}
@keyframes spe-float{0%,100%{transform:translateY(0);}50%{transform:translateY(calc(-1 * var(--spe-float-h,12px)));}}
@keyframes spe-neon{0%,100%{opacity:1;}50%{opacity:0.3;}}
@keyframes spe-blink{0%,100%{opacity:1;}50%{opacity:0;}}
@keyframes spe-marquee{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
