html.c3-intro-lock,
body.c3-intro-lock {
    overflow: hidden;
    height: 100%;
    overscroll-behavior: none;
}

@media (max-width: 1024px) {
    body:not(.elementor-editor-active) .c3-intro-animation {
        display: none !important;
    }
}

body:not(.elementor-editor-active) .c3-intro-page-exit,
body:not(.elementor-editor-active) .c3-intro-page-shifted {
    transform: translateY(calc(var(--c3-intro-stage-height, 100vh) * -1));
}

body:not(.elementor-editor-active) .c3-intro-page-exit {
    transition: transform var(--c3-intro-auto-scroll-duration, 1100ms) cubic-bezier(0.76, 0, 0.24, 1);
}

body:not(.elementor-editor-active) .c3-intro-page-shifted {
    margin-top: calc(var(--c3-intro-stage-height, 100vh) * -1);
    transform: none;
}

body:not(.elementor-editor-active) .elementor-location-header {
    transform: translateY(0);
    opacity: 1;
}

body:not(.elementor-editor-active).c3-intro-header-hidden .elementor-location-header {
    transform: translateY(var(--c3-intro-stage-height, 100vh));
    opacity: 0;
    pointer-events: none;
    transition: none;
}

body:not(.elementor-editor-active).c3-intro-header-entering .elementor-location-header {
    transform: translateY(0);
    opacity: 1;
    pointer-events: none;
    transition: transform var(--c3-intro-auto-scroll-duration, 1100ms) cubic-bezier(0.76, 0, 0.24, 1), opacity 180ms linear;
}

body:not(.elementor-editor-active) .c3-intro-animation {
    --c3-intro-stage-height: calc(var(--vh, 1vh) * 100);
    --c3-intro-gap: 32px;
    position: relative;
    z-index: 120;
    isolation: isolate;
    overflow: clip;
    min-height: var(--c3-intro-stage-height);
    background-color: var(--e-global-color-accent);
    transition: background-color 1500ms cubic-bezier(0.22, 1, 0.36, 1), min-height 1100ms cubic-bezier(0.76, 0, 0.24, 1);
}

body:not(.elementor-editor-active) .c3-intro-animation > .e-con {
    min-height: 100%;
}

body:not(.elementor-editor-active) .c3-intro-animation .elementor-widget-video,
body:not(.elementor-editor-active) .c3-intro-animation .elementor-widget-icon,
body:not(.elementor-editor-active) .c3-intro-animation .elementor-widget-heading {
    position: relative;
}

body:not(.elementor-editor-active) .c3-intro-animation .elementor-widget-video {
    z-index: 3;
    visibility: hidden;
}

body:not(.elementor-editor-active) .c3-intro-animation .elementor-widget-video .elementor-widget-container,
body:not(.elementor-editor-active) .c3-intro-animation .elementor-widget-video .elementor-wrapper,
body:not(.elementor-editor-active) .c3-intro-animation .elementor-widget-video .elementor-fit-aspect-ratio,
body:not(.elementor-editor-active) .c3-intro-animation .elementor-widget-video video {
    width: 100%;
    height: 100%;
}

body:not(.elementor-editor-active) .c3-intro-animation .elementor-widget-video .elementor-wrapper,
body:not(.elementor-editor-active) .c3-intro-animation .elementor-widget-video .elementor-fit-aspect-ratio {
    position: relative;
    overflow: hidden;
    padding-bottom: 0 !important;
}

body:not(.elementor-editor-active) .c3-intro-video-overlay {
    position: absolute;
    top: var(--c3-intro-gap);
    left: var(--c3-intro-gap);
    z-index: 3;
    width: calc(100% - (var(--c3-intro-gap) * 2));
    height: calc(var(--c3-intro-stage-height) - (var(--c3-intro-gap) * 2));
    overflow: hidden;
    border-radius: 16px;
    background-color: #000;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.16);
    transition: none;
}

body:not(.elementor-editor-active) .c3-intro-animation.is-transitioning .c3-intro-video-overlay,
body:not(.elementor-editor-active) .c3-intro-animation.is-holding .c3-intro-video-overlay,
body:not(.elementor-editor-active) .c3-intro-animation.is-exiting .c3-intro-video-overlay,
body:not(.elementor-editor-active) .c3-intro-animation.is-finished .c3-intro-video-overlay {
    top: var(--c3-intro-video-end-top);
    left: var(--c3-intro-video-end-left);
    width: var(--c3-intro-video-end-width);
    height: var(--c3-intro-video-end-height);
    box-shadow: 0 18px 54px rgba(0, 0, 0, 0.12);
    transition: top var(--c3-intro-video-shrink-duration, 1600ms) cubic-bezier(0.22, 1, 0.36, 1), left var(--c3-intro-video-shrink-duration, 1600ms) cubic-bezier(0.22, 1, 0.36, 1), width var(--c3-intro-video-shrink-duration, 1600ms) cubic-bezier(0.22, 1, 0.36, 1), height var(--c3-intro-video-shrink-duration, 1600ms) cubic-bezier(0.22, 1, 0.36, 1), box-shadow var(--c3-intro-video-shrink-duration, 1600ms) cubic-bezier(0.22, 1, 0.36, 1);
}

body:not(.elementor-editor-active) .c3-intro-video-overlay .elementor-widget-container,
body:not(.elementor-editor-active) .c3-intro-video-overlay .elementor-wrapper,
body:not(.elementor-editor-active) .c3-intro-video-overlay .elementor-fit-aspect-ratio,
body:not(.elementor-editor-active) .c3-intro-video-overlay video {
    width: 100%;
    height: 100%;
}

body:not(.elementor-editor-active) .c3-intro-video-overlay .elementor-wrapper,
body:not(.elementor-editor-active) .c3-intro-video-overlay .elementor-fit-aspect-ratio {
    position: relative;
    overflow: hidden;
    padding-bottom: 0 !important;
}

body:not(.elementor-editor-active) .c3-intro-video-overlay iframe {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 177.7778%;
    max-width: none;
    height: 100%;
    transform: translateX(-50%);
}

body:not(.elementor-editor-active) .c3-intro-video-overlay video {
    display: block;
    border: 0;
    object-fit: cover;
}

body:not(.elementor-editor-active) .c3-intro-animation .elementor-widget-video video {
    display: block;
    border: 0;
    object-fit: cover;
}

body:not(.elementor-editor-active) .c3-intro-animation .elementor-widget-icon {
    z-index: 4;
    transform: translateY(-50vh);
    transition: transform var(--c3-intro-icon-duration, 900ms) cubic-bezier(0.22, 1, 0.36, 1);
}

body:not(.elementor-editor-active) .c3-intro-animation .elementor-widget-heading {
    z-index: 2;
    opacity: 0;
    transition: opacity var(--c3-intro-heading-duration, 900ms) cubic-bezier(0.22, 1, 0.36, 1), transform var(--c3-intro-heading-duration, 900ms) cubic-bezier(0.22, 1, 0.36, 1);
}

body:not(.elementor-editor-active) .c3-intro-animation .elementor-widget-heading.c3-intro-heading-start {
    transform: translateX(72px);
}

body:not(.elementor-editor-active) .c3-intro-animation .elementor-widget-heading.c3-intro-heading-end {
    transform: translateX(-72px);
}

body:not(.elementor-editor-active) .c3-intro-animation.is-transitioning,
body:not(.elementor-editor-active) .c3-intro-animation.is-holding,
body:not(.elementor-editor-active) .c3-intro-animation.is-exiting,
body:not(.elementor-editor-active) .c3-intro-animation.is-finished {
    background-color: var(--e-global-color-c83c9d9);
}

body:not(.elementor-editor-active) .c3-intro-animation.is-heading-entering .elementor-widget-heading,
body:not(.elementor-editor-active) .c3-intro-animation.is-holding .elementor-widget-heading,
body:not(.elementor-editor-active) .c3-intro-animation.is-exiting .elementor-widget-heading,
body:not(.elementor-editor-active) .c3-intro-animation.is-finished .elementor-widget-heading {
    opacity: 1;
}

body:not(.elementor-editor-active) .c3-intro-animation.is-icon-entering .elementor-widget-icon,
body:not(.elementor-editor-active) .c3-intro-animation.is-holding .elementor-widget-icon,
body:not(.elementor-editor-active) .c3-intro-animation.is-exiting .elementor-widget-icon,
body:not(.elementor-editor-active) .c3-intro-animation.is-finished .elementor-widget-icon {
    transform: translateY(0);
}

body:not(.elementor-editor-active) .c3-intro-animation.is-heading-entering .elementor-widget-heading.c3-intro-heading-start,
body:not(.elementor-editor-active) .c3-intro-animation.is-holding .elementor-widget-heading.c3-intro-heading-start,
body:not(.elementor-editor-active) .c3-intro-animation.is-exiting .elementor-widget-heading.c3-intro-heading-start,
body:not(.elementor-editor-active) .c3-intro-animation.is-finished .elementor-widget-heading.c3-intro-heading-start,
body:not(.elementor-editor-active) .c3-intro-animation.is-heading-entering .elementor-widget-heading.c3-intro-heading-end,
body:not(.elementor-editor-active) .c3-intro-animation.is-holding .elementor-widget-heading.c3-intro-heading-end,
body:not(.elementor-editor-active) .c3-intro-animation.is-exiting .elementor-widget-heading.c3-intro-heading-end,
body:not(.elementor-editor-active) .c3-intro-animation.is-finished .elementor-widget-heading.c3-intro-heading-end {
    transform: translateX(0);
}

body:not(.elementor-editor-active) .c3-intro-animation.is-finished {
    pointer-events: none;
}

@media (max-width: 1024px) {
    body:not(.elementor-editor-active) .c3-intro-animation {
        --c3-intro-gap: 24px;
    }
}

@media (max-width: 767px) {
    body:not(.elementor-editor-active) .c3-intro-animation {
        --c3-intro-gap: 20px;
    }

    body:not(.elementor-editor-active) .c3-intro-animation .elementor-widget-heading.c3-intro-heading-start {
        transform: translateX(40px);
    }

    body:not(.elementor-editor-active) .c3-intro-animation .elementor-widget-heading.c3-intro-heading-end {
        transform: translateX(-40px);
    }
}

@media (prefers-reduced-motion: reduce) {
    body:not(.elementor-editor-active) .c3-intro-animation,
    body:not(.elementor-editor-active) .c3-intro-animation .elementor-widget-video,
    body:not(.elementor-editor-active) .c3-intro-animation .elementor-widget-icon,
    body:not(.elementor-editor-active) .c3-intro-animation .elementor-widget-heading {
        transition-duration: 1ms !important;
        transition-delay: 0ms !important;
    }
}
