@keyframes fade-up {
    0% {
        opacity: 0;
        transform: translateY(100px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

[data-animation-type="fade-up"] {
    opacity: 0;
    transform: translateY(100px);
}

[data-animation-type="fade-up"].animation-active {
    animation: fade-up 0.4s cubic-bezier(.25,.46,.45,.94) forwards;
}

@keyframes zoom-in {
    0% {
        opacity: 0;
        transform: scale(0);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

[data-animation-type="zoom-in"] {
    transform: scale(0.6);
    opacity: 0;
}

[data-animation-type="zoom-in"].animation-active {
    animation: zoom-in 0.4s cubic-bezier(.25, .46, .45, .94) forwards;
}

@keyframes fade-zoom-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

[data-animation-type="fade-zoom-in"] {
    opacity: 0;
}

[data-animation-type="fade-zoom-in"].animation-active {
    animation: fade-zoom-in 0.4s cubic-bezier(.25, .46, .45, .94) forwards;
}

@media (prefers-reduced-motion: reduce) {
    [data-animation-type="fade-up"],
    [data-animation-type="zoom-in"] {
        opacity: 1;
        transform: none;
    }

    [data-animation-type="fade-zoom-in"] {
        opacity: 1;
    }

    [data-animation-type].animation-active {
        animation: none;
    }
}
