/*
 * AOS - Animate On Scroll Library
 * Essential CSS for animations
 */

[data-aos] {
  opacity: 0;
  transition-property: opacity, transform;
}

[data-aos].aos-animate {
  opacity: 1;
}

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

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

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

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

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

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

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

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

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

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

[data-aos="slide-up"] {
  transform: translate3d(0, 100%, 0);
}

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

[data-aos="slide-down"] {
  transform: translate3d(0, -100%, 0);
}

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

[data-aos="slide-left"] {
  transform: translate3d(-100%, 0, 0);
}

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

[data-aos="slide-right"] {
  transform: translate3d(100%, 0, 0);
}

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

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

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

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

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

[data-aos="flip-left"] {
  transform: perspective(2500px) rotateY(-100deg);
}

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

[data-aos="flip-right"] {
  transform: perspective(2500px) rotateY(100deg);
}

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

[data-aos="flip-up"] {
  transform: perspective(2500px) rotateX(-100deg);
}

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

[data-aos="flip-down"] {
  transform: perspective(2500px) rotateX(100deg);
}

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

/* Easing functions */
[data-aos] {
  transition-timing-function: ease;
}

[data-aos][data-aos-easing="linear"] {
  transition-timing-function: linear;
}

[data-aos][data-aos-easing="ease-in"] {
  transition-timing-function: ease-in;
}

[data-aos][data-aos-easing="ease-out"] {
  transition-timing-function: ease-out;
}

[data-aos][data-aos-easing="ease-in-out"] {
  transition-timing-function: ease-in-out;
}

[data-aos][data-aos-easing="ease-in-back"] {
  transition-timing-function: cubic-bezier(0.600, -0.280, 0.735, 0.045);
}

[data-aos][data-aos-easing="ease-out-back"] {
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.275);
}

[data-aos][data-aos-easing="ease-in-out-back"] {
  transition-timing-function: cubic-bezier(0.680, -0.550, 0.265, 1.550);
}

/* Duration */
[data-aos][data-aos-duration="50"] {
  transition-duration: 50ms;
}

[data-aos][data-aos-duration="100"] {
  transition-duration: 100ms;
}

[data-aos][data-aos-duration="150"] {
  transition-duration: 150ms;
}

[data-aos][data-aos-duration="200"] {
  transition-duration: 200ms;
}

[data-aos][data-aos-duration="300"] {
  transition-duration: 300ms;
}

[data-aos][data-aos-duration="400"] {
  transition-duration: 400ms;
}

[data-aos][data-aos-duration="500"] {
  transition-duration: 500ms;
}

[data-aos][data-aos-duration="600"] {
  transition-duration: 600ms;
}

[data-aos][data-aos-duration="700"] {
  transition-duration: 700ms;
}

[data-aos][data-aos-duration="800"] {
  transition-duration: 800ms;
}

[data-aos][data-aos-duration="900"] {
  transition-duration: 900ms;
}

[data-aos][data-aos-duration="1000"] {
  transition-duration: 1000ms;
}

[data-aos][data-aos-duration="1200"] {
  transition-duration: 1200ms;
}

[data-aos][data-aos-duration="1500"] {
  transition-duration: 1500ms;
}

[data-aos][data-aos-duration="2000"] {
  transition-duration: 2000ms;
}

[data-aos][data-aos-duration="2500"] {
  transition-duration: 2500ms;
}

[data-aos][data-aos-duration="3000"] {
  transition-duration: 3000ms;
}

/* Delay */
[data-aos][data-aos-delay="50"] {
  transition-delay: 50ms;
}

[data-aos][data-aos-delay="100"] {
  transition-delay: 100ms;
}

[data-aos][data-aos-delay="150"] {
  transition-delay: 150ms;
}

[data-aos][data-aos-delay="200"] {
  transition-delay: 200ms;
}

[data-aos][data-aos-delay="300"] {
  transition-delay: 300ms;
}

[data-aos][data-aos-delay="400"] {
  transition-delay: 400ms;
}

[data-aos][data-aos-delay="500"] {
  transition-delay: 500ms;
}

[data-aos][data-aos-delay="600"] {
  transition-delay: 600ms;
}

[data-aos][data-aos-delay="700"] {
  transition-delay: 700ms;
}

[data-aos][data-aos-delay="800"] {
  transition-delay: 800ms;
}

[data-aos][data-aos-delay="900"] {
  transition-delay: 900ms;
}

[data-aos][data-aos-delay="1000"] {
  transition-delay: 1000ms;
}

[data-aos][data-aos-delay="1200"] {
  transition-delay: 1200ms;
}

[data-aos][data-aos-delay="1500"] {
  transition-delay: 1500ms;
}

[data-aos][data-aos-delay="2000"] {
  transition-delay: 2000ms;
}

[data-aos][data-aos-delay="2500"] {
  transition-delay: 2500ms;
}

[data-aos][data-aos-delay="3000"] {
  transition-delay: 3000ms;
}

/* Disable AOS */
.aos-animate {
  pointer-events: auto;
}

body[data-aos-duration='0'] [data-aos] {
  transition-duration: 0ms !important;
}

body[data-aos-delay='0'] [data-aos] {
  transition-delay: 0ms !important;
}

body[data-aos-easing='ease'] [data-aos] {
  transition-timing-function: ease !important;
}

/* Responsive utilities */
@media screen and (max-width: 768px) {
  [data-aos-disable='mobile'] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

@media screen and (max-width: 1024px) {
  [data-aos-disable='tablet'] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
