.cee-image-switcher {
    --cee-transition-duration: 900ms;
    --cee-easing: ease-in-out;
    --cee-object-fit: cover;
    --cee-object-position: center center;
    --cee-transition-mask-position: center center;
    --cee-transition-mask-end-size: 300%;
    --cee-ken-burns-origin: center center;
    --cee-ken-burns-scale: 1.12;
    --cee-ken-burns-duration: 6500ms;
    position: relative;
    width: 100%;
    height: 500px;
    overflow: hidden;
    isolation: isolate;
}

.cee-image-switcher.has-container-mask {
    -webkit-mask-image: var(--cee-mask-image);
    mask-image: var(--cee-mask-image);
    -webkit-mask-size: var(--cee-mask-size, contain);
    mask-size: var(--cee-mask-size, contain);
    -webkit-mask-position: var(--cee-mask-position, center center);
    mask-position: var(--cee-mask-position, center center);
    -webkit-mask-repeat: var(--cee-mask-repeat, no-repeat);
    mask-repeat: var(--cee-mask-repeat, no-repeat);
}

.cee-image-switcher .cee-switcher-stage,
.cee-image-switcher .cee-slide,
.cee-image-switcher .cee-slide-link,
.cee-image-switcher img.cee-switcher-image {
    width: 100%;
    height: 100%;
}

.cee-image-switcher .cee-switcher-stage {
    position: relative;
    overflow: hidden;
}

.cee-image-switcher .cee-slide {
    position: absolute;
    inset: 0;
    z-index: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    backface-visibility: hidden;
    will-change: opacity, clip-path, -webkit-mask-size, mask-size;
}

.cee-image-switcher .cee-slide.is-previous {
    z-index: 1;
    opacity: 1;
}

.cee-image-switcher .cee-slide.is-active {
    z-index: 2;
    opacity: 1;
    pointer-events: auto;
}

.cee-image-switcher .cee-slide-link {
    display: block;
}

/*
 * Elementor ise kasutab reeglit `.elementor img { height:auto; max-width:100%; }`.
 * Siin kasutame teadlikult spetsiifilisemat selektorit, et img oleks alati
 * sama suur kui widgeti konteiner ja object-fit saaks reaalselt töötada.
 */
.cee-image-switcher img.cee-switcher-image {
    display: block;
    width: 100%;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    max-width: none;
    max-height: none;
    object-fit: var(--cee-object-fit, cover);
    object-position: var(--cee-object-position, center center);
}

.cee-image-switcher.has-ken-burns img.cee-switcher-image {
    transform-origin: var(--cee-ken-burns-origin, center center);
    backface-visibility: hidden;
}

.cee-image-switcher.has-ken-burns .cee-slide.is-active.cee-kb-in img.cee-switcher-image.cee-ken-burns-run {
    animation: cee-ken-burns-in var(--cee-ken-burns-duration, 6500ms) linear both;
    will-change: transform;
}

.cee-image-switcher.has-ken-burns .cee-slide.is-active.cee-kb-out img.cee-switcher-image.cee-ken-burns-run {
    animation: cee-ken-burns-out var(--cee-ken-burns-duration, 6500ms) linear both;
    will-change: transform;
}

.cee-image-switcher.is-hover-paused .cee-slide.is-active img.cee-switcher-image.cee-ken-burns-run {
    animation-play-state: paused;
}

.cee-image-switcher.is-static .cee-slide {
    position: relative;
    opacity: 1;
    pointer-events: auto;
}

.cee-image-switcher .cee-slide.is-active.cee-animate {
    animation-duration: var(--cee-transition-duration);
    animation-fill-mode: both;
    animation-timing-function: var(--cee-easing);
}

.cee-image-switcher[data-current-effect="fade"] .cee-slide.is-active.cee-animate {
    animation-name: cee-fade-reveal;
}

.cee-image-switcher[data-current-effect="iris"] .cee-slide.is-active.cee-animate {
    animation-name: cee-iris-reveal;
}

.cee-image-switcher[data-current-effect="ellipse"] .cee-slide.is-active.cee-animate {
    animation-name: cee-ellipse-reveal;
}

.cee-image-switcher[data-current-effect="diamond"] .cee-slide.is-active.cee-animate {
    animation-name: cee-diamond-reveal;
}

.cee-image-switcher[data-current-effect="split_horizontal"] .cee-slide.is-active.cee-animate {
    animation-name: cee-split-horizontal;
}

.cee-image-switcher[data-current-effect="split_vertical"] .cee-slide.is-active.cee-animate {
    animation-name: cee-split-vertical;
}

.cee-image-switcher[data-current-effect="diagonal"] .cee-slide.is-active.cee-animate {
    animation-name: cee-diagonal-reveal;
}

.cee-image-switcher[data-current-effect="rounded_reveal"] .cee-slide.is-active.cee-animate {
    animation-name: cee-rounded-reveal;
}

.cee-image-switcher[data-current-effect="svg_mask"] .cee-slide.is-active.cee-animate {
    -webkit-mask-image: var(--cee-transition-mask-image);
    mask-image: var(--cee-transition-mask-image);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: var(--cee-transition-mask-position, center center);
    mask-position: var(--cee-transition-mask-position, center center);
    animation-name: cee-svg-mask-reveal;
}

@keyframes cee-fade-reveal {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes cee-iris-reveal {
    from { clip-path: circle(0% at 50% 50%); }
    to { clip-path: circle(75% at 50% 50%); }
}

@keyframes cee-ellipse-reveal {
    from { clip-path: ellipse(0% 0% at 50% 50%); }
    to { clip-path: ellipse(75% 75% at 50% 50%); }
}

@keyframes cee-diamond-reveal {
    from { clip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%); }
    to { clip-path: polygon(50% -50%, 150% 50%, 50% 150%, -50% 50%); }
}

@keyframes cee-split-horizontal {
    from { clip-path: inset(50% 0 50% 0); }
    to { clip-path: inset(0 0 0 0); }
}

@keyframes cee-split-vertical {
    from { clip-path: inset(0 50% 0 50%); }
    to { clip-path: inset(0 0 0 0); }
}

@keyframes cee-diagonal-reveal {
    from { clip-path: polygon(0 0, 0 0, 0 0, 0 0); }
    to { clip-path: polygon(0 0, 145% 0, 100% 145%, 0 100%); }
}

@keyframes cee-rounded-reveal {
    from { clip-path: inset(48% 48% 48% 48% round 999px); }
    to { clip-path: inset(0 0 0 0 round 0); }
}

@keyframes cee-svg-mask-reveal {
    0% {
        -webkit-mask-size: 0% 0%;
        mask-size: 0% 0%;
        opacity: 1;
    }
    100% {
        -webkit-mask-size: var(--cee-transition-mask-end-size, 300%) var(--cee-transition-mask-end-size, 300%);
        mask-size: var(--cee-transition-mask-end-size, 300%) var(--cee-transition-mask-end-size, 300%);
        opacity: 1;
    }
}

@keyframes cee-ken-burns-in {
    from { transform: scale(1); }
    to { transform: scale(var(--cee-ken-burns-scale, 1.12)); }
}

@keyframes cee-ken-burns-out {
    from { transform: scale(var(--cee-ken-burns-scale, 1.12)); }
    to { transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
    .cee-image-switcher .cee-slide.is-active.cee-animate {
        animation: none !important;
        -webkit-mask-image: none !important;
        mask-image: none !important;
    }

    .cee-image-switcher img.cee-switcher-image.cee-ken-burns-run {
        animation: none !important;
        transform: none !important;
    }
}
