/* AOS (Animate On Scroll) CSS - Non-intrusive Version */

/* Base AOS styles - only apply when AOS is initialized */
[data-aos] {
    transition-property: opacity, transform;
    transition-duration: 0.6s;
    transition-timing-function: ease;
}

/* Only hide elements when AOS is ready and element is not animated */
[data-aos]:not(.aos-animate) {
    opacity: 0;
}

[data-aos].aos-animate {
    opacity: 1;
    transform: translateZ(0);
}

/* Duration classes */
[data-aos-duration="50"] { transition-duration: 50ms; }
[data-aos-duration="100"] { transition-duration: 0.1s; }
[data-aos-duration="150"] { transition-duration: 0.15s; }
[data-aos-duration="200"] { transition-duration: 0.2s; }
[data-aos-duration="250"] { transition-duration: 0.25s; }
[data-aos-duration="300"] { transition-duration: 0.3s; }
[data-aos-duration="350"] { transition-duration: 0.35s; }
[data-aos-duration="400"] { transition-duration: 0.4s; }
[data-aos-duration="450"] { transition-duration: 0.45s; }
[data-aos-duration="500"] { transition-duration: 0.5s; }
[data-aos-duration="550"] { transition-duration: 0.55s; }
[data-aos-duration="600"] { transition-duration: 0.6s; }
[data-aos-duration="700"] { transition-duration: 0.7s; }
[data-aos-duration="800"] { transition-duration: 0.8s; }
[data-aos-duration="900"] { transition-duration: 0.9s; }
[data-aos-duration="1000"] { transition-duration: 1s; }

/* Delay classes */
[data-aos-delay="50"] { transition-delay: 50ms; }
[data-aos-delay="100"] { transition-delay: 0.1s; }
[data-aos-delay="150"] { transition-delay: 0.15s; }
[data-aos-delay="200"] { transition-delay: 0.2s; }
[data-aos-delay="250"] { transition-delay: 0.25s; }
[data-aos-delay="300"] { transition-delay: 0.3s; }
[data-aos-delay="350"] { transition-delay: 0.35s; }
[data-aos-delay="400"] { transition-delay: 0.4s; }
[data-aos-delay="450"] { transition-delay: 0.45s; }
[data-aos-delay="500"] { transition-delay: 0.5s; }
[data-aos-delay="550"] { transition-delay: 0.55s; }
[data-aos-delay="600"] { transition-delay: 0.6s; }
[data-aos-delay="700"] { transition-delay: 0.7s; }
[data-aos-delay="800"] { transition-delay: 0.8s; }
[data-aos-delay="900"] { transition-delay: 0.9s; }
[data-aos-delay="1000"] { transition-delay: 1s; }

/* Easing functions */
[data-aos-easing="linear"] { transition-timing-function: linear; }
[data-aos-easing="ease"] { transition-timing-function: ease; }
[data-aos-easing="ease-in"] { transition-timing-function: ease-in; }
[data-aos-easing="ease-out"] { transition-timing-function: ease-out; }
[data-aos-easing="ease-in-out"] { transition-timing-function: ease-in-out; }

/* Fade animations */
[data-aos="fade-up"] {
    transform: translate3d(0, 100px, 0);
}

[data-aos="fade-down"] {
    transform: translate3d(0, -100px, 0);
}

[data-aos="fade-right"] {
    transform: translate3d(-100px, 0, 0);
}

[data-aos="fade-left"] {
    transform: translate3d(100px, 0, 0);
}

[data-aos="fade-up-right"] {
    transform: translate3d(-100px, 100px, 0);
}

[data-aos="fade-up-left"] {
    transform: translate3d(100px, 100px, 0);
}

[data-aos="fade-down-right"] {
    transform: translate3d(-100px, -100px, 0);
}

[data-aos="fade-down-left"] {
    transform: translate3d(100px, -100px, 0);
}

/* Zoom animations */
[data-aos="zoom-in"] {
    transform: scale(0.6);
}

[data-aos="zoom-in-up"] {
    transform: translate3d(0, 100px, 0) scale(0.6);
}

[data-aos="zoom-in-down"] {
    transform: translate3d(0, -100px, 0) scale(0.6);
}

[data-aos="zoom-in-right"] {
    transform: translate3d(-100px, 0, 0) scale(0.6);
}

[data-aos="zoom-in-left"] {
    transform: translate3d(100px, 0, 0) scale(0.6);
}

[data-aos="zoom-out"] {
    transform: scale(1.2);
}

[data-aos="zoom-out-up"] {
    transform: translate3d(0, 100px, 0) scale(1.2);
}

[data-aos="zoom-out-down"] {
    transform: translate3d(0, -100px, 0) scale(1.2);
}

[data-aos="zoom-out-right"] {
    transform: translate3d(-100px, 0, 0) scale(1.2);
}

[data-aos="zoom-out-left"] {
    transform: translate3d(100px, 0, 0) scale(1.2);
}

/* Slide animations */
[data-aos="slide-up"] {
    transform: translate3d(0, 100%, 0);
}

[data-aos="slide-down"] {
    transform: translate3d(0, -100%, 0);
}

[data-aos="slide-right"] {
    transform: translate3d(-100%, 0, 0);
}

[data-aos="slide-left"] {
    transform: translate3d(100%, 0, 0);
}

/* Flip animations */
[data-aos="flip-left"] {
    backface-visibility: hidden;
    transform: perspective(2500px) rotateY(-100deg);
}

[data-aos="flip-left"].aos-animate {
    transform: perspective(2500px) rotateY(0);
}

[data-aos="flip-right"] {
    backface-visibility: hidden;
    transform: perspective(2500px) rotateY(100deg);
}

[data-aos="flip-right"].aos-animate {
    transform: perspective(2500px) rotateY(0);
}

[data-aos="flip-up"] {
    backface-visibility: hidden;
    transform: perspective(2500px) rotateX(-100deg);
}

[data-aos="flip-up"].aos-animate {
    transform: perspective(2500px) rotateX(0);
}

[data-aos="flip-down"] {
    backface-visibility: hidden;
    transform: perspective(2500px) rotateX(100deg);
}

[data-aos="flip-down"].aos-animate {
    transform: perspective(2500px) rotateX(0);
}