/* ===== Duration Rules ===== */

[data-aos][data-aos][data-aos-duration="50"]   { transition-duration: 50ms; }
[data-aos][data-aos][data-aos-duration="100"]  { transition-duration: 0.1s; }
[data-aos][data-aos][data-aos-duration="150"]  { transition-duration: 0.15s; }
[data-aos][data-aos][data-aos-duration="200"]  { transition-duration: 0.2s; }
[data-aos][data-aos][data-aos-duration="250"]  { transition-duration: 0.25s; }
[data-aos][data-aos][data-aos-duration="300"]  { transition-duration: 0.3s; }
[data-aos][data-aos][data-aos-duration="350"]  { transition-duration: 0.35s; }
[data-aos][data-aos][data-aos-duration="400"]  { transition-duration: 0.4s; }
[data-aos][data-aos][data-aos-duration="450"]  { transition-duration: 0.45s; }
[data-aos][data-aos][data-aos-duration="500"]  { transition-duration: 0.5s; }
[data-aos][data-aos][data-aos-duration="550"]  { transition-duration: 0.55s; }
[data-aos][data-aos][data-aos-duration="600"]  { transition-duration: 0.6s; }
[data-aos][data-aos][data-aos-duration="650"]  { transition-duration: 0.65s; }
[data-aos][data-aos][data-aos-duration="700"]  { transition-duration: 0.7s; }
[data-aos][data-aos][data-aos-duration="750"]  { transition-duration: 0.75s; }
[data-aos][data-aos][data-aos-duration="800"]  { transition-duration: 0.8s; }
[data-aos][data-aos][data-aos-duration="850"]  { transition-duration: 0.85s; }
[data-aos][data-aos][data-aos-duration="900"]  { transition-duration: 0.9s; }
[data-aos][data-aos][data-aos-duration="950"]  { transition-duration: 0.95s; }
[data-aos][data-aos][data-aos-duration="1000"] { transition-duration: 1s; }
[data-aos][data-aos][data-aos-duration="1050"] { transition-duration: 1.05s; }
[data-aos][data-aos][data-aos-duration="1100"] { transition-duration: 1.1s; }
[data-aos][data-aos][data-aos-duration="1150"] { transition-duration: 1.15s; }
[data-aos][data-aos][data-aos-duration="1200"] { transition-duration: 1.2s; }
[data-aos][data-aos][data-aos-duration="1250"] { transition-duration: 1.25s; }
[data-aos][data-aos][data-aos-duration="1300"] { transition-duration: 1.3s; }
[data-aos][data-aos][data-aos-duration="1350"] { transition-duration: 1.35s; }
[data-aos][data-aos][data-aos-duration="1400"] { transition-duration: 1.4s; }
[data-aos][data-aos][data-aos-duration="1450"] { transition-duration: 1.45s; }
[data-aos][data-aos][data-aos-duration="1500"] { transition-duration: 1.5s; }
[data-aos][data-aos][data-aos-duration="1550"] { transition-duration: 1.55s; }
[data-aos][data-aos][data-aos-duration="1600"] { transition-duration: 1.6s; }
[data-aos][data-aos][data-aos-duration="1650"] { transition-duration: 1.65s; }
[data-aos][data-aos][data-aos-duration="1700"] { transition-duration: 1.7s; }
[data-aos][data-aos][data-aos-duration="1750"] { transition-duration: 1.75s; }
[data-aos][data-aos][data-aos-duration="1800"] { transition-duration: 1.8s; }
[data-aos][data-aos][data-aos-duration="1850"] { transition-duration: 1.85s; }
[data-aos][data-aos][data-aos-duration="1900"] { transition-duration: 1.9s; }
[data-aos][data-aos][data-aos-duration="1950"] { transition-duration: 1.95s; }
[data-aos][data-aos][data-aos-duration="2000"] { transition-duration: 2s; }
[data-aos][data-aos][data-aos-duration="2050"] { transition-duration: 2.05s; }
[data-aos][data-aos][data-aos-duration="2100"] { transition-duration: 2.1s; }
[data-aos][data-aos][data-aos-duration="2150"] { transition-duration: 2.15s; }
[data-aos][data-aos][data-aos-duration="2200"] { transition-duration: 2.2s; }
[data-aos][data-aos][data-aos-duration="2250"] { transition-duration: 2.25s; }
[data-aos][data-aos][data-aos-duration="2300"] { transition-duration: 2.3s; }
[data-aos][data-aos][data-aos-duration="2350"] { transition-duration: 2.35s; }
[data-aos][data-aos][data-aos-duration="2400"] { transition-duration: 2.4s; }
[data-aos][data-aos][data-aos-duration="2450"] { transition-duration: 2.45s; }
[data-aos][data-aos][data-aos-duration="2500"] { transition-duration: 2.5s; }
[data-aos][data-aos][data-aos-duration="2550"] { transition-duration: 2.55s; }
[data-aos][data-aos][data-aos-duration="2600"] { transition-duration: 2.6s; }
[data-aos][data-aos][data-aos-duration="2650"] { transition-duration: 2.65s; }
[data-aos][data-aos][data-aos-duration="2700"] { transition-duration: 2.7s; }
[data-aos][data-aos][data-aos-duration="2750"] { transition-duration: 2.75s; }
[data-aos][data-aos][data-aos-duration="2800"] { transition-duration: 2.8s; }
[data-aos][data-aos][data-aos-duration="2850"] { transition-duration: 2.85s; }
[data-aos][data-aos][data-aos-duration="2900"] { transition-duration: 2.9s; }
[data-aos][data-aos][data-aos-duration="2950"] { transition-duration: 2.95s; }
[data-aos][data-aos][data-aos-duration="3000"] { transition-duration: 3s; }


/* ===== Delay Rules ===== */

[data-aos][data-aos][data-aos-delay="50"]   { transition-delay: 50ms; }
[data-aos][data-aos][data-aos-delay="100"]  { transition-delay: 0.1s; }
[data-aos][data-aos][data-aos-delay="150"]  { transition-delay: 0.15s; }
[data-aos][data-aos][data-aos-delay="200"]  { transition-delay: 0.2s; }
[data-aos][data-aos][data-aos-delay="250"]  { transition-delay: 0.25s; }
[data-aos][data-aos][data-aos-delay="300"]  { transition-delay: 0.3s; }
[data-aos][data-aos][data-aos-delay="350"]  { transition-delay: 0.35s; }
[data-aos][data-aos][data-aos-delay="400"]  { transition-delay: 0.4s; }
[data-aos][data-aos][data-aos-delay="450"]  { transition-delay: 0.45s; }
[data-aos][data-aos][data-aos-delay="500"]  { transition-delay: 0.5s; }
[data-aos][data-aos][data-aos-delay="550"]  { transition-delay: 0.55s; }
[data-aos][data-aos][data-aos-delay="600"]  { transition-delay: 0.6s; }
[data-aos][data-aos][data-aos-delay="650"]  { transition-delay: 0.65s; }
[data-aos][data-aos][data-aos-delay="700"]  { transition-delay: 0.7s; }
[data-aos][data-aos][data-aos-delay="750"]  { transition-delay: 0.75s; }
[data-aos][data-aos][data-aos-delay="800"]  { transition-delay: 0.8s; }
[data-aos][data-aos][data-aos-delay="850"]  { transition-delay: 0.85s; }
[data-aos][data-aos][data-aos-delay="900"]  { transition-delay: 0.9s; }
[data-aos][data-aos][data-aos-delay="950"]  { transition-delay: 0.95s; }
[data-aos][data-aos][data-aos-delay="1000"] { transition-delay: 1s; }
[data-aos][data-aos][data-aos-delay="1050"] { transition-delay: 1.05s; }
[data-aos][data-aos][data-aos-delay="1100"] { transition-delay: 1.1s; }
[data-aos][data-aos][data-aos-delay="1150"] { transition-delay: 1.15s; }
[data-aos][data-aos][data-aos-delay="1200"] { transition-delay: 1.2s; }
[data-aos][data-aos][data-aos-delay="1250"] { transition-delay: 1.25s; }
[data-aos][data-aos][data-aos-delay="1300"] { transition-delay: 1.3s; }
[data-aos][data-aos][data-aos-delay="1350"] { transition-delay: 1.35s; }
[data-aos][data-aos][data-aos-delay="1400"] { transition-delay: 1.4s; }
[data-aos][data-aos][data-aos-delay="1450"] { transition-delay: 1.45s; }
[data-aos][data-aos][data-aos-delay="1500"] { transition-delay: 1.5s; }
[data-aos][data-aos][data-aos-delay="1550"] { transition-delay: 1.55s; }
[data-aos][data-aos][data-aos-delay="1600"] { transition-delay: 1.6s; }
[data-aos][data-aos][data-aos-delay="1650"] { transition-delay: 1.65s; }
[data-aos][data-aos][data-aos-delay="1700"] { transition-delay: 1.7s; }
[data-aos][data-aos][data-aos-delay="1750"] { transition-delay: 1.75s; }
[data-aos][data-aos][data-aos-delay="1800"] { transition-delay: 1.8s; }
[data-aos][data-aos][data-aos-delay="1850"] { transition-delay: 1.85s; }
[data-aos][data-aos][data-aos-delay="1900"] { transition-delay: 1.9s; }
[data-aos][data-aos][data-aos-delay="1950"] { transition-delay: 1.95s; }
[data-aos][data-aos][data-aos-delay="2000"] { transition-delay: 2s; }
[data-aos][data-aos][data-aos-delay="2050"] { transition-delay: 2.05s; }
[data-aos][data-aos][data-aos-delay="2100"] { transition-delay: 2.1s; }
[data-aos][data-aos][data-aos-delay="2150"] { transition-delay: 2.15s; }
[data-aos][data-aos][data-aos-delay="2200"] { transition-delay: 2.2s; }
[data-aos][data-aos][data-aos-delay="2250"] { transition-delay: 2.25s; }
[data-aos][data-aos][data-aos-delay="2300"] { transition-delay: 2.3s; }
[data-aos][data-aos][data-aos-delay="2350"] { transition-delay: 2.35s; }
[data-aos][data-aos][data-aos-delay="2400"] { transition-delay: 2.4s; }
[data-aos][data-aos][data-aos-delay="2450"] { transition-delay: 2.45s; }
[data-aos][data-aos][data-aos-delay="2500"] { transition-delay: 2.5s; }
[data-aos][data-aos][data-aos-delay="2550"] { transition-delay: 2.55s; }
[data-aos][data-aos][data-aos-delay="2600"] { transition-delay: 2.6s; }
[data-aos][data-aos][data-aos-delay="2650"] { transition-delay: 2.65s; }
[data-aos][data-aos][data-aos-delay="2700"] { transition-delay: 2.7s; }
[data-aos][data-aos][data-aos-delay="2750"] { transition-delay: 2.75s; }
[data-aos][data-aos][data-aos-delay="2800"] { transition-delay: 2.8s; }
[data-aos][data-aos][data-aos-delay="2850"] { transition-delay: 2.85s; }
[data-aos][data-aos][data-aos-delay="2900"] { transition-delay: 2.9s; }
[data-aos][data-aos][data-aos-delay="2950"] { transition-delay: 2.95s; }
[data-aos][data-aos][data-aos-delay="3000"] { transition-delay: 3s; }


/* ===== Easing Rules ===== */

[data-aos][data-aos][data-aos-easing="linear"]        { transition-timing-function: cubic-bezier(.25, .25, .75, .75); }
[data-aos][data-aos][data-aos-easing="ease"]          { transition-timing-function: ease; }
[data-aos][data-aos][data-aos-easing="ease-in"]       { transition-timing-function: ease-in; }
[data-aos][data-aos][data-aos-easing="ease-out"]      { transition-timing-function: ease-out; }
[data-aos][data-aos][data-aos-easing="ease-in-out"]   { transition-timing-function: ease-in-out; }

[data-aos][data-aos][data-aos-easing="ease-in-back"]      { transition-timing-function: cubic-bezier(.6, -.28, .735, .045); }
[data-aos][data-aos][data-aos-easing="ease-out-back"]     { transition-timing-function: cubic-bezier(.175, .885, .32, 1.275); }
[data-aos][data-aos][data-aos-easing="ease-in-out-back"]  { transition-timing-function: cubic-bezier(.68, -.55, .265, 1.55); }

[data-aos][data-aos][data-aos-easing="ease-in-sine"]      { transition-timing-function: cubic-bezier(.47, 0, .745, .715); }
[data-aos][data-aos][data-aos-easing="ease-out-sine"]     { transition-timing-function: cubic-bezier(.39, .575, .565, 1); }
[data-aos][data-aos][data-aos-easing="ease-in-out-sine"]  { transition-timing-function: cubic-bezier(.445, .05, .55, .95); }

[data-aos][data-aos][data-aos-easing="ease-in-quad"]      { transition-timing-function: cubic-bezier(.55, .085, .68, .53); }
[data-aos][data-aos][data-aos-easing="ease-out-quad"]     { transition-timing-function: cubic-bezier(.25, .46, .45, .94); }
[data-aos][data-aos][data-aos-easing="ease-in-out-quad"]  { transition-timing-function: cubic-bezier(.455, .03, .515, .955); }

[data-aos][data-aos][data-aos-easing="ease-in-cubic"]     { transition-timing-function: cubic-bezier(.55, .085, .68, .53); }
[data-aos][data-aos][data-aos-easing="ease-out-cubic"]    { transition-timing-function: cubic-bezier(.25, .46, .45, .94); }
[data-aos][data-aos][data-aos-easing="ease-in-out-cubic"] { transition-timing-function: cubic-bezier(.455, .03, .515, .955); }

[data-aos][data-aos][data-aos-easing="ease-in-quart"]     { transition-timing-function: cubic-bezier(.55, .085, .68, .53); }
[data-aos][data-aos][data-aos-easing="ease-out-quart"]    { transition-timing-function: cubic-bezier(.25, .46, .45, .94); }
[data-aos][data-aos][data-aos-easing="ease-in-out-quart"] { transition-timing-function: cubic-bezier(.455, .03, .515, .955); }

/* ===== Fade Base ===== */
[data-aos^="fade"] { 
    opacity: 0; 
    transition-property: opacity, transform; 
}

[data-aos^="fade"].aos-animate { 
    opacity: 1; 
    transform: translateZ(0); 
}


/* ===== Fade Up ===== */
[data-aos="fade-up"] { 
    transform: translate3d(0, 100px, 0); 
}


/* ===== Fade Down ===== */
[data-aos="fade-down"] { 
    transform: translate3d(0, -100px, 0); 
}


/* ===== Fade Right ===== */
[data-aos="fade-right"] { 
    transform: translate3d(-100px, 0, 0); 
}


/* ===== Fade Left ===== */
[data-aos="fade-left"] { 
    transform: translate3d(100px, 0, 0); 
}


/* ===== Fade Up Right ===== */
[data-aos="fade-up-right"] { 
    transform: translate3d(-100px, 100px, 0); 
}


/* ===== Fade Up Left ===== */
[data-aos="fade-up-left"] { 
    transform: translate3d(100px, 100px, 0); 
}


/* ===== Fade Down Right ===== */
[data-aos="fade-down-right"] { 
    transform: translate3d(-100px, -100px, 0); 
}


/* ===== Fade Down Left ===== */
[data-aos="fade-down-left"] { 
    transform: translate3d(100px, -100px, 0); 
}
