/* ==========================================
   XPY GLOBAL SCROLL REVEALS
   ========================================== */

/* Initial hidden state - JS adds this class */
html.xpy-reveal-ready .xpy-reveal {
    opacity: 0;
    transform: translate3d(0, 28px, 0);
    transition:
        opacity .8s cubic-bezier(.2,.8,.2,1),
        transform .8s cubic-bezier(.2,.8,.2,1);
    will-change: opacity, transform;
}


/* Visible */

html.xpy-reveal-ready .xpy-reveal.xpy-in-view {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}


/* Headings - slightly stronger */

html.xpy-reveal-ready h1.xpy-reveal,
html.xpy-reveal-ready h2.xpy-reveal,
html.xpy-reveal-ready h3.xpy-reveal {
    transform: translate3d(0, 38px, 0);
    transition-duration: .95s;
}

html.xpy-reveal-ready h1.xpy-in-view,
html.xpy-reveal-ready h2.xpy-in-view,
html.xpy-reveal-ready h3.xpy-in-view {
    transform: translate3d(0, 0, 0);
}


/* Images - slower / more premium */

html.xpy-reveal-ready .xpy-reveal-image {
    opacity: 0;
    transform: translate3d(0, 35px, 0) scale(.985);

    transition:
        opacity 1s cubic-bezier(.2,.8,.2,1),
        transform 1.1s cubic-bezier(.2,.8,.2,1);
}

html.xpy-reveal-ready .xpy-reveal-image.xpy-in-view {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
}


/* Stagger */

.xpy-delay-1 {
    transition-delay: .08s !important;
}

.xpy-delay-2 {
    transition-delay: .16s !important;
}

.xpy-delay-3 {
    transition-delay: .24s !important;
}


/* Accessibility */

@media (prefers-reduced-motion: reduce) {

    .xpy-reveal,
    .xpy-reveal-image {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

}