/* Elementor 4.2 optimized markup compatibility for animated containers. */
.gtech-reveal {
    --gtech-reveal-x: 0px;
    --gtech-reveal-y: 40px;
    --gtech-reveal-delay: 0ms;
    --gtech-reveal-duration: 750ms;
}

.gtech-reveal-left {
    --gtech-reveal-x: -40px;
    --gtech-reveal-y: 0px;
}

.gtech-reveal-right {
    --gtech-reveal-x: 40px;
    --gtech-reveal-y: 0px;
}

.gtech-reveal-up {
    --gtech-reveal-x: 0px;
    --gtech-reveal-y: 40px;
}

.gtech-reveal-down {
    --gtech-reveal-x: 0px;
    --gtech-reveal-y: -40px;
}

.gtech-reveal-runtime .gtech-reveal {
    opacity: 0;
    transform: translate3d(var(--gtech-reveal-x), var(--gtech-reveal-y), 0);
    transition:
        opacity var(--gtech-reveal-duration) cubic-bezier(.22, .61, .36, 1) var(--gtech-reveal-delay),
        transform var(--gtech-reveal-duration) cubic-bezier(.22, .61, .36, 1) var(--gtech-reveal-delay);
    will-change: opacity, transform;
}

.gtech-reveal-runtime .gtech-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.gtech-reveal-delay-100 { --gtech-reveal-delay: 100ms; }
.gtech-reveal-delay-200 { --gtech-reveal-delay: 200ms; }
.gtech-reveal-delay-300 { --gtech-reveal-delay: 300ms; }
.gtech-reveal-delay-400 { --gtech-reveal-delay: 400ms; }
.gtech-reveal-delay-500 { --gtech-reveal-delay: 500ms; }
.gtech-reveal-slow { --gtech-reveal-duration: 1000ms; }

.gtech-reveal-pending.elementor-invisible {
    visibility: visible;
}

.gtech-reveal-runtime .gtech-reveal-pending.elementor-invisible {
    visibility: hidden;
}

/* Elementor injects editor widgets after the reveal runtime initializes.
   Keep all editable content visible inside the editor canvas. */
html.elementor-html .gtech-reveal,
html.elementor-html .gtech-reveal-pending,
body.elementor-editor-active .gtech-reveal,
body.elementor-editor-active .gtech-reveal-pending,
body.elementor-editor-preview .gtech-reveal,
body.elementor-editor-preview .gtech-reveal-pending {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
}

.gtech-reveal-delay-0 { animation-delay: 0ms; }
.gtech-reveal-delay-80 { animation-delay: 80ms; }
.gtech-reveal-delay-100 { animation-delay: 100ms; }
.gtech-reveal-delay-120 { animation-delay: 120ms; }
.gtech-reveal-delay-150 { animation-delay: 150ms; }
.gtech-reveal-delay-180 { animation-delay: 180ms; }
.gtech-reveal-delay-220 { animation-delay: 220ms; }
.gtech-reveal-delay-280 { animation-delay: 280ms; }
.gtech-reveal-delay-320 { animation-delay: 320ms; }
.gtech-reveal-delay-380 { animation-delay: 380ms; }

.gtech-reveal-duration-fast { animation-duration: 750ms; }
.gtech-reveal-duration-normal { animation-duration: 1000ms; }
.gtech-reveal-duration-slow { animation-duration: 2000ms; }

@media (max-width: 767px) {
    .gtech-reveal-mobile-delay-0 { animation-delay: 0ms; }
    .gtech-reveal-mobile-delay-80 { animation-delay: 80ms; }
    .gtech-reveal-mobile-delay-100 { animation-delay: 100ms; }
    .gtech-reveal-mobile-delay-120 { animation-delay: 120ms; }
    .gtech-reveal-mobile-delay-150 { animation-delay: 150ms; }
    .gtech-reveal-mobile-delay-160 { animation-delay: 160ms; }
    .gtech-reveal-mobile-delay-180 { animation-delay: 180ms; }
    .gtech-reveal-mobile-delay-220 { animation-delay: 220ms; }
    .gtech-reveal-mobile-delay-280 { animation-delay: 280ms; }
    .gtech-reveal-mobile-delay-320 { animation-delay: 320ms; }
    .gtech-reveal-mobile-delay-380 { animation-delay: 380ms; }
}

@media (prefers-reduced-motion: reduce) {
    .gtech-reveal-runtime .gtech-reveal,
    .gtech-reveal-runtime .gtech-reveal.is-visible {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .gtech-reveal-pending.elementor-invisible {
        visibility: visible;
    }

    .gtech-reveal-pending,
    .gtech-reveal-pending.animated {
        animation: none !important;
        transform: none !important;
    }
}
