/* AOS (Animate On Scroll) */
[data-aos] {
    opacity: 0;
    transform: translate3d(0, 40px, 0);
    transition-property: opacity, transform;
    transition-duration: 1000ms;
    transition-timing-function: ease-in-out;
}

[data-aos].aos-animate {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.aos-duration-300 { transition-duration: 300ms; }
.aos-duration-500 { transition-duration: 500ms; }
.aos-duration-700 { transition-duration: 700ms; }
.aos-duration-1000 { transition-duration: 1000ms; }
.aos-duration-1500 { transition-duration: 1500ms; }
.aos-duration-2000 { transition-duration: 2000ms; }

.aos-delay-0 { transition-delay: 0s; }
.aos-delay-100 { transition-delay: 0.1s; }
.aos-delay-200 { transition-delay: 0.2s; }
.aos-delay-300 { transition-delay: 0.3s; }
.aos-delay-400 { transition-delay: 0.4s; }
.aos-delay-500 { transition-delay: 0.5s; }

[data-aos="fade-in"] {
    opacity: 0;
}

[data-aos="fade-in"].aos-animate {
    opacity: 1;
}

[data-aos="fade-up"] {
    transform: translate3d(0, 40px, 0);
}

[data-aos="fade-up"].aos-animate {
    transform: translate3d(0, 0, 0);
}

[data-aos="fade-down"] {
    transform: translate3d(0, -40px, 0);
}

[data-aos="fade-down"].aos-animate {
    transform: translate3d(0, 0, 0);
}

[data-aos="fade-left"] {
    transform: translate3d(-40px, 0, 0);
}

[data-aos="fade-left"].aos-animate {
    transform: translate3d(0, 0, 0);
}

[data-aos="fade-right"] {
    transform: translate3d(40px, 0, 0);
}

[data-aos="fade-right"].aos-animate {
    transform: translate3d(0, 0, 0);
}

[data-aos="zoom-in"] {
    opacity: 0;
    transform: scale(0.9);
}

[data-aos="zoom-in"].aos-animate {
    opacity: 1;
    transform: scale(1);
}

[data-aos="flip-up"] {
    transform: perspective(2500px) rotateX(100deg);
    opacity: 0;
}

[data-aos="flip-up"].aos-animate {
    transform: perspective(2500px) rotateX(0);
    opacity: 1;
}

[data-aos="flip-down"] {
    transform: perspective(2500px) rotateX(-100deg);
    opacity: 0;
}

[data-aos="flip-down"].aos-animate {
    transform: perspective(2500px) rotateX(0);
    opacity: 1;
}

[data-aos="flip-left"] {
    transform: perspective(2500px) rotateY(-100deg);
    opacity: 0;
}

[data-aos="flip-left"].aos-animate {
    transform: perspective(2500px) rotateY(0);
    opacity: 1;
}

[data-aos="flip-right"] {
    transform: perspective(2500px) rotateY(100deg);
    opacity: 0;
}

[data-aos="flip-right"].aos-animate {
    transform: perspective(2500px) rotateY(0);
    opacity: 1;
}
