﻿/* ======================
   Base
====================== */
[data-aos] {
    opacity: 0;
    transition-property: opacity, transform;
    transition-duration: 600ms;
    transition-timing-function: ease;
    will-change: opacity, transform;
    backface-visibility: hidden;
}

    [data-aos].aos-animate {
        opacity: 1;
        transform: none;
    }

/* ======================
   Fade
====================== */
[data-aos="fade"] {
}

[data-aos="fade-up"] {
    transform: translateY(30px);
}

[data-aos="fade-down"] {
    transform: translateY(-30px);
}

[data-aos="fade-left"] {
    transform: translateX(30px);
}

[data-aos="fade-right"] {
    transform: translateX(-30px);
}

[data-aos="fade-up-right"] {
    transform: translate(-30px, 30px);
}

[data-aos="fade-up-left"] {
    transform: translate(30px, 30px);
}

[data-aos="fade-down-right"] {
    transform: translate(-30px, -30px);
}

[data-aos="fade-down-left"] {
    transform: translate(30px, -30px);
}

/* ======================
   Slide
====================== */
[data-aos="slide-up"] {
    transform: translateY(100%);
}

[data-aos="slide-down"] {
    transform: translateY(-100%);
}

[data-aos="slide-left"] {
    transform: translateX(100%);
}

[data-aos="slide-right"] {
    transform: translateX(-100%);
}

/* ======================
   Zoom
====================== */
[data-aos^="zoom-in"] {
    transform: scale(0.8);
}

[data-aos^="zoom-out"] {
    transform: scale(1.2);
}

[data-aos="zoom-in-up"] {
    transform: translateY(30px) scale(0.8);
}

[data-aos="zoom-in-down"] {
    transform: translateY(-30px) scale(0.8);
}

[data-aos="zoom-in-left"] {
    transform: translateX(30px) scale(0.8);
}

[data-aos="zoom-in-right"] {
    transform: translateX(-30px) scale(0.8);
}

[data-aos="zoom-out-up"] {
    transform: translateY(30px) scale(1.2);
}

[data-aos="zoom-out-down"] {
    transform: translateY(-30px) scale(1.2);
}

[data-aos="zoom-out-left"] {
    transform: translateX(30px) scale(1.2);
}

[data-aos="zoom-out-right"] {
    transform: translateX(-30px) scale(1.2);
}

/* ======================
   Flip
====================== */
[data-aos^="flip"] {
    transform-style: preserve-3d;
}

[data-aos="flip-up"] {
    transform: rotateX(-90deg);
}

[data-aos="flip-down"] {
    transform: rotateX(90deg);
}

[data-aos="flip-left"] {
    transform: rotateY(-90deg);
}

[data-aos="flip-right"] {
    transform: rotateY(90deg);
}

/* ======================
   Easing (AOS compatible)
====================== */
[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;
}

[data-aos-easing="ease-in-back"] {
    transition-timing-function: cubic-bezier(0.6,-0.28,0.735,0.045);
}

[data-aos-easing="ease-out-back"] {
    transition-timing-function: cubic-bezier(0.175,0.885,0.32,1.275);
}

[data-aos-easing="ease-in-out-back"] {
    transition-timing-function: cubic-bezier(0.68,-0.55,0.265,1.55);
}

[data-aos-easing="ease-in-sine"] {
    transition-timing-function: cubic-bezier(0.47,0,0.745,0.715);
}

[data-aos-easing="ease-out-sine"] {
    transition-timing-function: cubic-bezier(0.39,0.575,0.565,1);
}

[data-aos-easing="ease-in-out-sine"] {
    transition-timing-function: cubic-bezier(0.445,0.05,0.55,0.95);
}

[data-aos-easing="ease-in-cubic"] {
    transition-timing-function: cubic-bezier(0.55,0.055,0.675,0.19);
}

[data-aos-easing="ease-out-cubic"] {
    transition-timing-function: cubic-bezier(0.215,0.61,0.355,1);
}

[data-aos-easing="ease-in-out-cubic"] {
    transition-timing-function: cubic-bezier(0.645,0.045,0.355,1);
}

[data-aos-easing="ease-in-quart"] {
    transition-timing-function: cubic-bezier(0.895,0.03,0.685,0.22);
}

[data-aos-easing="ease-out-quart"] {
    transition-timing-function: cubic-bezier(0.165,0.84,0.44,1);
}

[data-aos-easing="ease-in-out-quart"] {
    transition-timing-function: cubic-bezier(0.77,0,0.175,1);
}