/* Enqueue after Elementor, ElementsKit, and generated page CSS. */
body:not(.elementor-editor-active) .elementor .elementor-element.elementor-invisible {
    visibility: visible !important;
    opacity: 1 !important;
}

body:not(.elementor-editor-active) .elementor .animated {
    animation: ar-motion-reveal 240ms ease-out 0ms 1 normal both !important;
}

/* A shallow fade never makes text unreadable or changes its position. */
@keyframes ar-motion-reveal {
    from { opacity: 0.92; }
    to { opacity: 1; }
}

body:not(.elementor-editor-active) .elementor[data-elementor-type="wp-page"] > :first-child .animated,
body:not(.elementor-editor-active) .elementor[data-elementor-type="wp-page"] > :first-child.animated,
body:not(.elementor-editor-active) .elementor-location-header .animated {
    animation: none !important;
}

.elementor :is(a, button, input, select, textarea, summary, .elementor-menu-toggle,
    .elementor-icon, .elementor-icon-list-text, .elementor-icon-list-icon i,
    .elementor-icon-list-icon svg, .elementor-social-icon i, .elementor-social-icon svg,
    .elementor-swiper-button, .swiper-pagination-bullet) {
    transition-property: color, background-color, border-color, opacity, fill, stroke, box-shadow !important;
    transition-duration: 180ms !important;
    transition-delay: 0ms !important;
    transition-timing-function: ease-out !important;
}

.elementor :is(.elementor-post__card, .elementor-image-box-wrapper,
    .elementor-icon-box-wrapper, .elementor-widget-image img, .elementor-post__thumbnail img) {
    transition-property: color, background-color, border-color, opacity, box-shadow !important;
    transition-duration: 220ms !important;
    transition-delay: 0ms !important;
    transition-timing-function: ease-out !important;
}

/* Replace decorative pulse/zoom treatments without changing resting geometry. */
.elementor [class*="elementor-animation-"]:is(:hover, :focus, :active),
.elementor :is(.elementor-ken-burns, .ekit-video-popup-btn.glow-btn),
.elementor .ekit-video-popup-btn::before,
.elementor .ekit-video-popup-btn::after {
    animation: none !important;
}

.elementor [class*="elementor-animation-"]:is(:hover, :focus, :active) {
    transform: none !important;
}

.elementor :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 2px solid #111 !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 3px #fff !important;
}

@media (forced-colors: active) {
    .elementor :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
        outline-color: Highlight !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html, body, .elementor, .elementor * {
        scroll-behavior: auto !important;
    }

    body:not(.elementor-editor-active) .elementor .animated,
    body:not(.elementor-editor-active) .elementor *,
    body:not(.elementor-editor-active) .elementor *::before,
    body:not(.elementor-editor-active) .elementor *::after {
        animation: none !important;
        transition-duration: 0s !important;
        transition-delay: 0s !important;
    }

    .elementor .elementor-element.elementor-invisible {
        visibility: visible !important;
        opacity: 1 !important;
    }

    .elementor :is(.elementor-motion-effects-element, .elementor-motion-effects-layer,
        .elementor-ken-burns) {
        transform: none !important;
    }
}
