/* Animation classes for AOS library */
[data-aos] {
    transition-property: opacity, transform;
}

[data-aos="fade-up"] {
    transform: translate3d(0, 30px, 0);
    opacity: 0;
}

[data-aos="fade-up"].aos-animate {
    transform: translate3d(0, 0, 0);
    opacity: 1;
}

[data-aos="fade-down"] {
    transform: translate3d(0, -30px, 0);
    opacity: 0;
}

[data-aos="fade-down"].aos-animate {
    transform: translate3d(0, 0, 0);
    opacity: 1;
}

[data-aos="fade-right"] {
    transform: translate3d(-30px, 0, 0);
    opacity: 0;
}

[data-aos="fade-right"].aos-animate {
    transform: translate3d(0, 0, 0);
    opacity: 1;
}

[data-aos="fade-left"] {
    transform: translate3d(30px, 0, 0);
    opacity: 0;
}

[data-aos="fade-left"].aos-animate {
    transform: translate3d(0, 0, 0);
    opacity: 1;
}

[data-aos="zoom-in"] {
    transform: scale(0.8);
    opacity: 0;
}

[data-aos="zoom-in"].aos-animate {
    transform: scale(1);
    opacity: 1;
}

[data-aos="zoom-out"] {
    transform: scale(1.2);
    opacity: 0;
}

[data-aos="zoom-out"].aos-animate {
    transform: scale(1);
    opacity: 1;
}

[data-aos="flip-up"] {
    transform: perspective(1000px) rotateX(-90deg);
    opacity: 0;
    transform-origin: 0 100%;
}

[data-aos="flip-up"].aos-animate {
    transform: perspective(1000px) rotateX(0deg);
    opacity: 1;
}

[data-aos="flip-down"] {
    transform: perspective(1000px) rotateX(90deg);
    opacity: 0;
    transform-origin: 100% 0;
}

[data-aos="flip-down"].aos-animate {
    transform: perspective(1000px) rotateX(0deg);
    opacity: 1;
}

[data-aos="flip-left"] {
    transform: perspective(1000px) rotateY(90deg);
    opacity: 0;
    transform-origin: 100% 0;
}

[data-aos="flip-left"].aos-animate {
    transform: perspective(1000px) rotateY(0deg);
    opacity: 1;
}

[data-aos="flip-right"] {
    transform: perspective(1000px) rotateY(-90deg);
    opacity: 0;
    transform-origin: 0 100%;
}

[data-aos="flip-right"].aos-animate {
    transform: perspective(1000px) rotateY(0deg);
    opacity: 1;
}