/* Keyframes for animations */
@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes slideOutRight {
    0% {
        transform: translateX(100%);
        opacity: 0;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}
@keyframes slideOutLeft {
    0% {
        transform: translateX(-100%);
        opacity: 0;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}
@keyframes slideOutTop {
    0% {
        transform: translateY(-100%);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}
@keyframes slideOutBottom {
    0% {
        transform: translateY(100%);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes zoomInTop{
    0% {
        transform: scale(0.5) translateY(-100%);
        opacity: 0;
    }
    100% {
        transform: scale(1) translateY(0px);
        opacity: 1;
    }
}


@keyframes zoomInBottom{
    0% {
        transform: scale(0.5) translateY(100%);
        opacity: 0;
    }
    100% {
        transform: scale(1) translateY(0px);
        opacity: 1;
    }
}
@keyframes zoomInLeft{
    0% {
        transform: scale(0.5) translateX(-100%);
        opacity: 0;
    }
    100% {
        transform: scale(1) translateX(0px);
        opacity: 1;
    }
}
@keyframes zoomInRight{
    0% {
        transform: scale(0.5) translateX(100%);
        opacity: 0;
    }
    100% {
        transform: scale(1) translateX(0px);
        opacity: 1;
    }
}

[data-scroll-animation="zoomInBottom"]{
    opacity: 0;
    transform: scale(0.5) translateY(100%);
}

/* Animation settings */
[data-animate] {
    animation-fill-mode: forwards;
    animation-timing-function: ease-in-out;
}