.hexa-animations-ready [data-hexa-animation] {
    opacity: var(--hexa-animation-opacity, 0);
    filter: blur(var(--hexa-animation-blur, 0));
    transition:
        opacity var(--hexa-animation-duration, 600ms) var(--hexa-animation-easing, ease) var(--hexa-animation-delay, 0ms),
        transform var(--hexa-animation-duration, 600ms) var(--hexa-animation-easing, ease) var(--hexa-animation-delay, 0ms),
        filter var(--hexa-animation-duration, 600ms) var(--hexa-animation-easing, ease) var(--hexa-animation-delay, 0ms);
    will-change: opacity, transform, filter;
}

.hexa-animations-ready [data-hexa-animation="fade"] { transform: none; }
.hexa-animations-ready [data-hexa-animation="fade-up"] { transform: translate3d(0, var(--hexa-animation-distance, 32px), 0); }
.hexa-animations-ready [data-hexa-animation="fade-down"] { transform: translate3d(0, calc(-1 * var(--hexa-animation-distance, 32px)), 0); }
.hexa-animations-ready [data-hexa-animation="fade-left"] { transform: translate3d(calc(-1 * var(--hexa-animation-distance, 32px)), 0, 0); }
.hexa-animations-ready [data-hexa-animation="fade-right"] { transform: translate3d(var(--hexa-animation-distance, 32px), 0, 0); }
.hexa-animations-ready [data-hexa-animation="zoom-in"] { transform: scale(var(--hexa-animation-scale, .92)); }
.hexa-animations-ready [data-hexa-animation="zoom-out"] { transform: scale(var(--hexa-animation-scale, 1.08)); }
.hexa-animations-ready [data-hexa-animation="rotate-left"] { transform: rotate(calc(-1 * var(--hexa-animation-rotate, 8deg))); }
.hexa-animations-ready [data-hexa-animation="rotate-right"] { transform: rotate(var(--hexa-animation-rotate, 8deg)); }
.hexa-animations-ready [data-hexa-animation="flip-x"] { transform: perspective(800px) rotateX(90deg); }
.hexa-animations-ready [data-hexa-animation="flip-y"] { transform: perspective(800px) rotateY(90deg); }

.hexa-animations-ready [data-hexa-animation].hexa-animation-visible {
    opacity: 1;
    transform: none;
    filter: blur(0);
}

@media (prefers-reduced-motion: reduce) {
    .hexa-animations-ready [data-hexa-animation] {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
