/* Transition overlays and body classes */
body.pt-animating {
    overflow: hidden !important;
}

/* Fade */
body.pt-fade {
    opacity: 1;
}
body.pt-fade.pt-leaving {
    opacity: 0;
}

/* Slide */
body.pt-slide {
    transform: translateX(0);
}
body.pt-slide.pt-leaving {
    transform: translateX(-100vw);
}

/* Zoom */
body.pt-zoom {
    transform: scale(1);
    opacity: 1;
}
body.pt-zoom.pt-leaving {
    transform: scale(0.8);
    opacity: 0;
}

/* Curtain Effect */
.pt-curtain-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #111;
    z-index: 999999;
    transform: translateY(-100%);
    pointer-events: none;
}

body.pt-curtain.pt-leaving .pt-curtain-overlay {
    transform: translateY(0);
}

body.pt-curtain.pt-entering .pt-curtain-overlay {
    transform: translateY(0);
    transition: none !important;
}