/**
 * Animation Override CSS
 * Purpose: Reduce visual distraction by slowing down or disabling animations
 * This file overrides fade out animations and exit animations across the site
 */

/* =========================================
   1. AOS (Animate On Scroll) Overrides
   ========================================= */

/* Significantly slow down ALL AOS animations from default 400ms to 2000ms */
[data-aos] {
    transition-duration: 2000ms !important;
}

/* Alternative: Disable AOS animations completely (uncomment to use) */
/*
[data-aos] {
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
}

[data-aos].aos-animate {
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
}
*/

/* Slow down fade animations specifically */
[data-aos^="fade"] {
    transition-duration: 2500ms !important;
}

/* Slow down zoom animations */
[data-aos^="zoom"] {
    transition-duration: 2500ms !important;
}

/* Slow down slide animations */
[data-aos^="slide"] {
    transition-duration: 2500ms !important;
}

/* Override AOS duration attributes */
body[data-aos-duration] [data-aos],
[data-aos][data-aos-duration] {
    transition-duration: 2000ms !important;
}

/* =========================================
   2. GLightbox Animation Overrides
   ========================================= */

/* Slow down GLightbox fade animations */
.gfadeIn {
    animation-duration: 1500ms !important;
}

.gfadeOut {
    animation-duration: 1500ms !important;
}

/* Slow down GLightbox slide animations */
.gslideOutLeft,
.gslideInLeft,
.gslideOutRight,
.gslideInRight {
    animation-duration: 1200ms !important;
}

/* Slow down GLightbox zoom animations */
.gzoomIn,
.gzoomOut {
    animation-duration: 1500ms !important;
}

/* Slow down GLightbox transitions */
.glightbox-container .gslider {
    transition: transform 1200ms ease !important;
}

/* Alternative: Disable GLightbox animations (uncomment to use) */
/*
.gfadeIn,
.gfadeOut,
.gslideOutLeft,
.gslideInLeft,
.gslideOutRight,
.gslideInRight,
.gzoomIn,
.gzoomOut {
    animation: none !important;
}

.glightbox-container .gslider {
    transition: none !important;
}
*/

/* =========================================
   3. General Transition Overrides
   ========================================= */

/* Slow down all general transitions */
a {
    transition: all 800ms ease-in-out !important;
}

/* Slow down button transitions */
button {
    transition: all 600ms ease-in-out !important;
}

/* Slow down hover effects */
.transition,
.transition-all {
    transition-duration: 800ms !important;
}

/* =========================================
   4. Dropdown and Modal Fade Overrides
   ========================================= */

/* Slow down Bootstrap-like fade effects */
.fade {
    transition: opacity 1000ms linear !important;
}

.modal.fade .modal-dialog {
    transition: transform 800ms ease-out !important;
}

/* Slow down dropdown animations */
.dropdown-menu {
    transition: all 600ms ease !important;
}

/* =========================================
   5. Page Element Fade Overrides
   ========================================= */

/* Slow down any fadeOut classes */
.fadeOut,
.fade-out {
    animation-duration: 2000ms !important;
    transition-duration: 2000ms !important;
}

/* Slow down any fadeIn classes */
.fadeIn,
.fade-in {
    animation-duration: 2000ms !important;
    transition-duration: 2000ms !important;
}

/* =========================================
   6. Utility: Complete Animation Disable
   ========================================= */

/*
   OPTION: Uncomment the following block to completely disable ALL animations
   This is the most aggressive approach and will remove all visual transitions
*/

/*
*,
*::before,
*::after {
    animation-duration: 0ms !important;
    animation-delay: 0ms !important;
    transition-duration: 0ms !important;
    transition-delay: 0ms !important;
}

[data-aos] {
    transition: none !important;
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
}
*/

/* =========================================
   7. Specific Component Overrides
   ========================================= */

/* Slow down toast notifications */
.toast {
    transition: opacity 1200ms ease !important;
}

/* Slow down tab transitions */
.tab-content > .tab-pane {
    transition: opacity 1000ms ease-in-out !important;
}

/* Slow down collapse animations */
.collapse {
    transition: height 800ms ease !important;
}

.collapsing {
    transition: height 800ms ease !important;
}

/* Slow down carousel transitions */
.carousel-item {
    transition: transform 1200ms ease-in-out !important;
}

/* =========================================
   8. Accessibility: Respect User Preferences
   ========================================= */

/* Respect user's motion preferences - disable animations if requested by OS */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    [data-aos] {
        transition: none !important;
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

/* =========================================
   9. Custom Animation Slowdown
   ========================================= */

/* Override any custom keyframe animations to be slower */
@keyframes fadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Apply slower duration to these animations */
.animated {
    animation-duration: 2000ms !important;
}

/* =========================================
   END OF ANIMATION OVERRIDES
   ========================================= */
