/*!
 * Eplug Media - Custom AOS (Animate On Scroll)
 * Enhanced for Digital Marketing Agency with smooth, professional animations
 * Version: 2.0.0 - Eplug Custom
 */

[data-aos] {
  pointer-events: none;
  transition-duration: 600ms;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

[data-aos].aos-animate {
  pointer-events: auto;
}

/* Duration Classes - Enhanced with smoother increments */
[data-aos][data-aos][data-aos-duration="50"],
body[data-aos-duration="50"] [data-aos] {
  transition-duration: 50ms;
}

[data-aos][data-aos][data-aos-duration="100"],
body[data-aos-duration="100"] [data-aos] {
  transition-duration: 100ms;
}

[data-aos][data-aos][data-aos-duration="200"],
body[data-aos-duration="200"] [data-aos] {
  transition-duration: 200ms;
}

[data-aos][data-aos][data-aos-duration="300"],
body[data-aos-duration="300"] [data-aos] {
  transition-duration: 300ms;
}

[data-aos][data-aos][data-aos-duration="400"],
body[data-aos-duration="400"] [data-aos] {
  transition-duration: 400ms;
}

[data-aos][data-aos][data-aos-duration="500"],
body[data-aos-duration="500"] [data-aos] {
  transition-duration: 500ms;
}

[data-aos][data-aos][data-aos-duration="600"],
body[data-aos-duration="600"] [data-aos] {
  transition-duration: 600ms;
}

[data-aos][data-aos][data-aos-duration="700"],
body[data-aos-duration="700"] [data-aos] {
  transition-duration: 700ms;
}

[data-aos][data-aos][data-aos-duration="800"],
body[data-aos-duration="800"] [data-aos] {
  transition-duration: 800ms;
}

[data-aos][data-aos][data-aos-duration="900"],
body[data-aos-duration="900"] [data-aos] {
  transition-duration: 900ms;
}

[data-aos][data-aos][data-aos-duration="1000"],
body[data-aos-duration="1000"] [data-aos] {
  transition-duration: 1000ms;
}

[data-aos][data-aos][data-aos-duration="1200"],
body[data-aos-duration="1200"] [data-aos] {
  transition-duration: 1200ms;
}

[data-aos][data-aos][data-aos-duration="1500"],
body[data-aos-duration="1500"] [data-aos] {
  transition-duration: 1500ms;
}

[data-aos][data-aos][data-aos-duration="2000"],
body[data-aos-duration="2000"] [data-aos] {
  transition-duration: 2000ms;
}

/* Delay Classes - Optimized for better user experience */
[data-aos][data-aos][data-aos-delay="50"],
body[data-aos-delay="50"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="50"].aos-animate,
body[data-aos-delay="50"] [data-aos].aos-animate {
  transition-delay: 50ms;
}

[data-aos][data-aos][data-aos-delay="100"],
body[data-aos-delay="100"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="100"].aos-animate,
body[data-aos-delay="100"] [data-aos].aos-animate {
  transition-delay: 100ms;
}

[data-aos][data-aos][data-aos-delay="150"],
body[data-aos-delay="150"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="150"].aos-animate,
body[data-aos-delay="150"] [data-aos].aos-animate {
  transition-delay: 150ms;
}

[data-aos][data-aos][data-aos-delay="200"],
body[data-aos-delay="200"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="200"].aos-animate,
body[data-aos-delay="200"] [data-aos].aos-animate {
  transition-delay: 200ms;
}

[data-aos][data-aos][data-aos-delay="250"],
body[data-aos-delay="250"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="250"].aos-animate,
body[data-aos-delay="250"] [data-aos].aos-animate {
  transition-delay: 250ms;
}

[data-aos][data-aos][data-aos-delay="300"],
body[data-aos-delay="300"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="300"].aos-animate,
body[data-aos-delay="300"] [data-aos].aos-animate {
  transition-delay: 300ms;
}

[data-aos][data-aos][data-aos-delay="500"],
body[data-aos-delay="500"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="500"].aos-animate,
body[data-aos-delay="500"] [data-aos].aos-animate {
  transition-delay: 500ms;
}

[data-aos][data-aos][data-aos-delay="800"],
body[data-aos-delay="800"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="800"].aos-animate,
body[data-aos-delay="800"] [data-aos].aos-animate {
  transition-delay: 800ms;
}

[data-aos][data-aos][data-aos-delay="1000"],
body[data-aos-delay="1000"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1000"].aos-animate,
body[data-aos-delay="1000"] [data-aos].aos-animate {
  transition-delay: 1000ms;
}

/* Easing Functions - Enhanced for modern feel */
[data-aos][data-aos][data-aos-easing="linear"],
body[data-aos-easing="linear"] [data-aos] {
  transition-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75);
}

[data-aos][data-aos][data-aos-easing="ease"],
body[data-aos-easing="ease"] [data-aos] {
  transition-timing-function: ease;
}

[data-aos][data-aos][data-aos-easing="ease-in"],
body[data-aos-easing="ease-in"] [data-aos] {
  transition-timing-function: ease-in;
}

[data-aos][data-aos][data-aos-easing="ease-out"],
body[data-aos-easing="ease-out"] [data-aos] {
  transition-timing-function: ease-out;
}

[data-aos][data-aos][data-aos-easing="ease-in-out"],
body[data-aos-easing="ease-in-out"] [data-aos] {
  transition-timing-function: ease-in-out;
}

/* Eplug Custom Easing - Smooth and professional */
[data-aos][data-aos][data-aos-easing="eplug-smooth"],
body[data-aos-easing="eplug-smooth"] [data-aos] {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

[data-aos][data-aos][data-aos-easing="eplug-bounce"],
body[data-aos-easing="eplug-bounce"] [data-aos] {
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

[data-aos][data-aos][data-aos-easing="eplug-energetic"],
body[data-aos-easing="eplug-energetic"] [data-aos] {
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* Fade Animations - Enhanced for digital marketing appeal */
[data-aos^="fade"][data-aos^="fade"] {
  opacity: 0;
  transition-property: opacity, transform;
}

[data-aos^="fade"][data-aos^="fade"].aos-animate {
  opacity: 1;
  transform: translateZ(0);
}

/* Fade Up - Perfect for content sections */
[data-aos="fade-up"] {
  transform: translate3d(0, 60px, 0);
}

[data-aos="fade-up"].aos-animate {
  transform: translate3d(0, 0, 0);
}

/* Fade Down - Great for headers */
[data-aos="fade-down"] {
  transform: translate3d(0, -60px, 0);
}

[data-aos="fade-down"].aos-animate {
  transform: translate3d(0, 0, 0);
}

/* Fade Left - Ideal for feature lists */
[data-aos="fade-left"] {
  transform: translate3d(60px, 0, 0);
}

[data-aos="fade-left"].aos-animate {
  transform: translate3d(0, 0, 0);
}

/* Fade Right - Perfect for testimonials */
[data-aos="fade-right"] {
  transform: translate3d(-60px, 0, 0);
}

[data-aos="fade-right"].aos-animate {
  transform: translate3d(0, 0, 0);
}

/* Fade Corner Animations */
[data-aos="fade-up-right"] {
  transform: translate3d(-60px, 60px, 0);
}

[data-aos="fade-up-left"] {
  transform: translate3d(60px, 60px, 0);
}

[data-aos="fade-down-right"] {
  transform: translate3d(-60px, -60px, 0);
}

[data-aos="fade-down-left"] {
  transform: translate3d(60px, -60px, 0);
}

/* Zoom Animations - Enhanced for impact */
[data-aos^="zoom"][data-aos^="zoom"] {
  opacity: 0;
  transition-property: opacity, transform;
}

[data-aos^="zoom"][data-aos^="zoom"].aos-animate {
  opacity: 1;
  transform: translateZ(0) scale(1);
}

[data-aos="zoom-in"] {
  transform: scale(0.85);
}

[data-aos="zoom-in-up"] {
  transform: translate3d(0, 60px, 0) scale(0.85);
}

[data-aos="zoom-in-down"] {
  transform: translate3d(0, -60px, 0) scale(0.85);
}

[data-aos="zoom-in-right"] {
  transform: translate3d(-60px, 0, 0) scale(0.85);
}

[data-aos="zoom-in-left"] {
  transform: translate3d(60px, 0, 0) scale(0.85);
}

[data-aos="zoom-out"] {
  transform: scale(1.15);
}

[data-aos="zoom-out-up"] {
  transform: translate3d(0, 60px, 0) scale(1.15);
}

[data-aos="zoom-out-down"] {
  transform: translate3d(0, -60px, 0) scale(1.15);
}

[data-aos="zoom-out-right"] {
  transform: translate3d(-60px, 0, 0) scale(1.15);
}

[data-aos="zoom-out-left"] {
  transform: translate3d(60px, 0, 0) scale(1.15);
}

/* Slide Animations - Professional and clean */
[data-aos^="slide"][data-aos^="slide"] {
  transition-property: transform;
  visibility: hidden;
}

[data-aos^="slide"][data-aos^="slide"].aos-animate {
  visibility: visible;
  transform: translateZ(0);
}

[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 - Modern and engaging */
[data-aos^="flip"][data-aos^="flip"] {
  backface-visibility: hidden;
  transition-property: transform;
}

[data-aos="flip-left"] {
  transform: perspective(2500px) rotateY(-100deg);
}

[data-aos="flip-left"].aos-animate {
  transform: perspective(2500px) rotateY(0);
}

[data-aos="flip-right"] {
  transform: perspective(2500px) rotateY(100deg);
}

[data-aos="flip-right"].aos-animate {
  transform: perspective(2500px) rotateY(0);
}

[data-aos="flip-up"] {
  transform: perspective(2500px) rotateX(-100deg);
}

[data-aos="flip-up"].aos-animate {
  transform: perspective(2500px) rotateX(0);
}

[data-aos="flip-down"] {
  transform: perspective(2500px) rotateX(100deg);
}

[data-aos="flip-down"].aos-animate {
  transform: perspective(2500px) rotateX(0);
}

/* Eplug Custom Animations - Tailored for Digital Marketing */

/* Pulse Reveal - Perfect for CTAs */
[data-aos="eplug-pulse"] {
  opacity: 0;
  transform: scale(0.8);
}

[data-aos="eplug-pulse"].aos-animate {
  opacity: 1;
  transform: scale(1);
  animation: eplugPulse 1s ease-in-out;
}

@keyframes eplugPulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); }
}

/* Typewriter Effect - Great for headlines */
[data-aos="eplug-typewriter"] {
  opacity: 0;
}

[data-aos="eplug-typewriter"].aos-animate {
  opacity: 1;
  animation: eplugTypewriter 1s ease-in-out;
}

@keyframes eplugTypewriter {
  from { width: 0; }
  to { width: 100%; }
}

/* Gradient Reveal - Modern and stylish */
[data-aos="eplug-gradient"] {
  opacity: 0;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  background-size: 200% 200%;
  background-position: 100% 100%;
}

[data-aos="eplug-gradient"].aos-animate {
  opacity: 1;
  background-position: 0% 0%;
  transition: opacity 0.6s ease, background-position 1.2s ease;
}

/* Card Lift - Perfect for service cards */
[data-aos="eplug-card-lift"] {
  opacity: 0;
  transform: translateY(30px) scale(0.95);
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

[data-aos="eplug-card-lift"].aos-animate {
  opacity: 1;
  transform: translateY(0) scale(1);
  box-shadow: 0 20px 40px rgba(0,0,0,0.15);
  transition: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* Stats Counter - For numbers and metrics */
[data-aos="eplug-counter"] {
  opacity: 0;
  transform: translateY(20px);
}

[data-aos="eplug-counter"].aos-animate {
  opacity: 1;
  transform: translateY(0);
  animation: eplugCount 2s ease-in-out;
}

@keyframes eplugCount {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Staggered List - For team members and features */
[data-aos="eplug-stagger"] {
  opacity: 0;
  transform: translateX(-30px);
}

[data-aos="eplug-stagger"].aos-animate {
  opacity: 1;
  transform: translateX(0);
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Responsive adjustments */
@media screen and (max-width: 768px) {
  [data-aos] {
    transition-duration: 400ms !important;
  }
  
  [data-aos="fade-up"],
  [data-aos="fade-down"],
  [data-aos="fade-left"],
  [data-aos="fade-right"] {
    transform: translate3d(0, 30px, 0);
  }
  
  [data-aos="zoom-in"],
  [data-aos="zoom-out"] {
    transform: scale(0.95);
  }
}

/* Reduced motion support for accessibility */
@media (prefers-reduced-motion: reduce) {
  [data-aos] {
    transition: none !important;
    animation: none !important;
  }
  
  [data-aos].aos-animate {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Print styles */
@media print {
  [data-aos] {
    opacity: 1 !important;
    transform: none !important;
  }
}