/**
 * Ken Burns Effects for Elementor frontend styles.
 */

.elementor-widget-kbee-ken-burns-image,
.elementor-widget-image.kbee-enabled-yes {
	--kbee-duration: 12s;
	--kbee-delay: 0s;
	--kbee-easing: ease-in-out;
	--kbee-object-x: 50%;
	--kbee-object-y: 50%;
	--kbee-start-scale: 1.05;
	--kbee-start-x: 0%;
	--kbee-start-y: 0%;
	--kbee-end-scale: 1.2;
	--kbee-end-x: 0%;
	--kbee-end-y: 0%;
	--kbee-animation: kbee-zoom-in;
}

.kbee-bg-enabled-yes {
	--kbee-bg-duration: 18s;
	--kbee-bg-delay: 0s;
	--kbee-bg-easing: cubic-bezier(.45, 0, .55, 1);
	--kbee-bg-start-scale: 1.05;
	--kbee-bg-start-x: 0%;
	--kbee-bg-start-y: 0%;
	--kbee-bg-end-scale: 1.2;
	--kbee-bg-end-x: 0%;
	--kbee-bg-end-y: 0%;
	--kbee-bg-animation: kbee-zoom-in;
	--kbee-bg-iterations: 1;
	--kbee-bg-direction: normal;
	--kbee-bg-play-state: paused;
}

.kbee-bg-source {
	isolation: isolate;
}

.kbee-bg-source-static {
	position: relative;
}

.kbee-bg-source.kbee-bg-source-main {
	background-color: transparent !important;
	background-image: none !important;
}

.kbee-bg-source.kbee-bg-source-pseudo::before {
	background-color: transparent !important;
	background-image: none !important;
}

.kbee-bg-clip {
	position: absolute;
	inset: 0;
	z-index: -1;
	display: block;
	overflow: hidden;
	border-radius: inherit;
	pointer-events: none;
}

.kbee-bg-layer {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	animation-name: var(--kbee-bg-animation);
	animation-duration: var(--kbee-bg-duration);
	animation-delay: var(--kbee-bg-delay);
	animation-timing-function: var(--kbee-bg-easing);
	animation-fill-mode: both;
	animation-iteration-count: var(--kbee-bg-iterations);
	animation-direction: var(--kbee-bg-direction);
	animation-play-state: var(--kbee-bg-play-state);
	backface-visibility: hidden;
	transform-origin: center center;
	will-change: transform;
}

.kbee-bg-loop-yes {
	--kbee-bg-iterations: infinite;
}

.kbee-bg-alternate-yes {
	--kbee-bg-direction: alternate;
}

.kbee-bg-trigger-load,
.kbee-bg-trigger-viewport.kbee-bg-in-view,
.kbee-bg-trigger-hover:hover {
	--kbee-bg-play-state: running;
}

.kbee-bg-pause-hover-yes:hover {
	--kbee-bg-play-state: paused;
}

.kbee-carousel-enabled-yes {
	--kbee-carousel-duration: 8s;
	--kbee-carousel-delay: 0s;
	--kbee-carousel-easing: cubic-bezier(.45, 0, .55, 1);
	--kbee-carousel-start-scale: 1.05;
	--kbee-carousel-start-x: 0%;
	--kbee-carousel-start-y: 0%;
	--kbee-carousel-end-scale: 1.2;
	--kbee-carousel-end-x: 0%;
	--kbee-carousel-end-y: 0%;
	--kbee-carousel-animation: kbee-zoom-in;
	--kbee-carousel-iterations: 1;
	--kbee-carousel-direction: normal;
}

.kbee-carousel-clip {
	position: relative;
	overflow: hidden;
}

.kbee-carousel-bg-source {
	isolation: isolate;
	background-color: transparent !important;
	background-image: none !important;
}

.kbee-carousel-bg-source-static {
	position: relative;
}

.kbee-carousel-bg-clip {
	position: absolute;
	inset: 0;
	z-index: -1;
	display: block;
	overflow: hidden;
	border-radius: inherit;
	pointer-events: none;
}

.kbee-carousel-bg-layer {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
}

.kbee-carousel-item.kbee-carousel-animate {
	animation-name: var(--kbee-carousel-animation);
	animation-duration: var(--kbee-carousel-duration);
	animation-delay: var(--kbee-carousel-delay);
	animation-timing-function: var(--kbee-carousel-easing);
	animation-fill-mode: both;
	animation-iteration-count: var(--kbee-carousel-iterations);
	animation-direction: var(--kbee-carousel-direction);
	animation-play-state: paused;
	backface-visibility: hidden;
	transform-origin: center center;
	will-change: transform;
}

.kbee-carousel-loop-yes {
	--kbee-carousel-iterations: infinite;
}

.kbee-carousel-alternate-yes {
	--kbee-carousel-direction: alternate;
}

.kbee-carousel-trigger-load .kbee-carousel-slide-active .kbee-carousel-item.kbee-carousel-animate,
.kbee-carousel-trigger-active.kbee-carousel-in-view .kbee-carousel-slide-active .kbee-carousel-item.kbee-carousel-animate,
.kbee-carousel-trigger-hover:hover .kbee-carousel-slide-active .kbee-carousel-item.kbee-carousel-animate {
	animation-play-state: running;
}

.elementor-widget-kbee-ken-burns-image .kbee__link,
.elementor-widget-kbee-ken-burns-image .kbee__media {
	display: block;
	width: 100%;
}

.elementor-widget-kbee-ken-burns-image .kbee__media,
.elementor-widget-image.kbee-enabled-yes .elementor-widget-container,
.elementor-widget-image.kbee-enabled-yes .elementor-widget-container > a {
	position: relative;
	overflow: hidden;
}

.elementor-widget-kbee-ken-burns-image .kbee__media {
	height: 500px;
}

.elementor-widget-kbee-ken-burns-image .kbee__image {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: var(--kbee-object-x) var(--kbee-object-y);
}

.elementor-widget-kbee-ken-burns-image .kbee__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
}

.elementor-widget-kbee-ken-burns-image .kbee__image,
.elementor-widget-image.kbee-enabled-yes .elementor-widget-container img {
	animation-name: var(--kbee-animation);
	animation-duration: var(--kbee-duration);
	animation-delay: var(--kbee-delay);
	animation-timing-function: var(--kbee-easing);
	animation-fill-mode: both;
	animation-iteration-count: 1;
	animation-direction: normal;
	animation-play-state: paused;
	backface-visibility: hidden;
	transform-origin: center center;
	will-change: transform;
}

.kbee-loop-yes .kbee__image,
.elementor-widget-image.kbee-enabled-yes.kbee-loop-yes .elementor-widget-container img {
	animation-iteration-count: infinite;
}

.kbee-alternate-yes .kbee__image,
.elementor-widget-image.kbee-enabled-yes.kbee-alternate-yes .elementor-widget-container img {
	animation-direction: alternate;
}

.kbee-trigger-load .kbee__image,
.kbee-trigger-viewport.kbee-in-view .kbee__image,
.kbee-trigger-hover:hover .kbee__image,
.elementor-widget-image.kbee-enabled-yes.kbee-trigger-load .elementor-widget-container img,
.elementor-widget-image.kbee-enabled-yes.kbee-trigger-viewport.kbee-in-view .elementor-widget-container img,
.elementor-widget-image.kbee-enabled-yes.kbee-trigger-hover:hover .elementor-widget-container img {
	animation-play-state: running;
}

.kbee-pause-hover-yes:hover .kbee__image,
.elementor-widget-image.kbee-enabled-yes.kbee-pause-hover-yes:hover .elementor-widget-container img {
	animation-play-state: paused;
}

.kbee-effect-zoom-in { --kbee-animation: kbee-zoom-in; }
.kbee-effect-zoom-out { --kbee-animation: kbee-zoom-out; }
.kbee-effect-left-to-right { --kbee-animation: kbee-left-to-right; }
.kbee-effect-right-to-left { --kbee-animation: kbee-right-to-left; }
.kbee-effect-top-to-bottom { --kbee-animation: kbee-top-to-bottom; }
.kbee-effect-bottom-to-top { --kbee-animation: kbee-bottom-to-top; }
.kbee-effect-diagonal-down { --kbee-animation: kbee-diagonal-down; }
.kbee-effect-diagonal-up { --kbee-animation: kbee-diagonal-up; }
.kbee-effect-zoom-pan-left { --kbee-animation: kbee-zoom-pan-left; }
.kbee-effect-zoom-pan-right { --kbee-animation: kbee-zoom-pan-right; }
.kbee-effect-zoom-pan-up { --kbee-animation: kbee-zoom-pan-up; }
.kbee-effect-zoom-pan-down { --kbee-animation: kbee-zoom-pan-down; }
.kbee-effect-random { --kbee-animation: kbee-zoom-pan-right; }
.kbee-effect-custom { --kbee-animation: kbee-custom; }

.kbee-bg-effect-zoom-in { --kbee-bg-animation: kbee-zoom-in; }
.kbee-bg-effect-zoom-out { --kbee-bg-animation: kbee-zoom-out; }
.kbee-bg-effect-left-to-right { --kbee-bg-animation: kbee-left-to-right; }
.kbee-bg-effect-right-to-left { --kbee-bg-animation: kbee-right-to-left; }
.kbee-bg-effect-top-to-bottom { --kbee-bg-animation: kbee-top-to-bottom; }
.kbee-bg-effect-bottom-to-top { --kbee-bg-animation: kbee-bottom-to-top; }
.kbee-bg-effect-diagonal-down { --kbee-bg-animation: kbee-diagonal-down; }
.kbee-bg-effect-diagonal-up { --kbee-bg-animation: kbee-diagonal-up; }
.kbee-bg-effect-zoom-pan-left { --kbee-bg-animation: kbee-zoom-pan-left; }
.kbee-bg-effect-zoom-pan-right { --kbee-bg-animation: kbee-zoom-pan-right; }
.kbee-bg-effect-zoom-pan-up { --kbee-bg-animation: kbee-zoom-pan-up; }
.kbee-bg-effect-zoom-pan-down { --kbee-bg-animation: kbee-zoom-pan-down; }
.kbee-bg-effect-random { --kbee-bg-animation: kbee-zoom-pan-right; }
.kbee-bg-effect-custom { --kbee-bg-animation: kbee-bg-custom; }

.kbee-carousel-effect-zoom-in { --kbee-carousel-animation: kbee-zoom-in; }
.kbee-carousel-effect-zoom-out { --kbee-carousel-animation: kbee-zoom-out; }
.kbee-carousel-effect-left-to-right { --kbee-carousel-animation: kbee-left-to-right; }
.kbee-carousel-effect-right-to-left { --kbee-carousel-animation: kbee-right-to-left; }
.kbee-carousel-effect-top-to-bottom { --kbee-carousel-animation: kbee-top-to-bottom; }
.kbee-carousel-effect-bottom-to-top { --kbee-carousel-animation: kbee-bottom-to-top; }
.kbee-carousel-effect-diagonal-down { --kbee-carousel-animation: kbee-diagonal-down; }
.kbee-carousel-effect-diagonal-up { --kbee-carousel-animation: kbee-diagonal-up; }
.kbee-carousel-effect-zoom-pan-left { --kbee-carousel-animation: kbee-zoom-pan-left; }
.kbee-carousel-effect-zoom-pan-right { --kbee-carousel-animation: kbee-zoom-pan-right; }
.kbee-carousel-effect-zoom-pan-up { --kbee-carousel-animation: kbee-zoom-pan-up; }
.kbee-carousel-effect-zoom-pan-down { --kbee-carousel-animation: kbee-zoom-pan-down; }
.kbee-carousel-effect-random { --kbee-carousel-animation: kbee-zoom-pan-right; }
.kbee-carousel-effect-custom { --kbee-carousel-animation: kbee-carousel-custom; }

@keyframes kbee-zoom-in {
	from { transform: translate3d(0, 0, 0) scale(1); }
	to { transform: translate3d(0, 0, 0) scale(1.2); }
}

@keyframes kbee-zoom-out {
	from { transform: translate3d(0, 0, 0) scale(1.2); }
	to { transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes kbee-left-to-right {
	from { transform: translate3d(-7%, 0, 0) scale(1.18); }
	to { transform: translate3d(7%, 0, 0) scale(1.18); }
}

@keyframes kbee-right-to-left {
	from { transform: translate3d(7%, 0, 0) scale(1.18); }
	to { transform: translate3d(-7%, 0, 0) scale(1.18); }
}

@keyframes kbee-top-to-bottom {
	from { transform: translate3d(0, -7%, 0) scale(1.18); }
	to { transform: translate3d(0, 7%, 0) scale(1.18); }
}

@keyframes kbee-bottom-to-top {
	from { transform: translate3d(0, 7%, 0) scale(1.18); }
	to { transform: translate3d(0, -7%, 0) scale(1.18); }
}

@keyframes kbee-diagonal-down {
	from { transform: translate3d(-5%, -5%, 0) scale(1.2); }
	to { transform: translate3d(5%, 5%, 0) scale(1.2); }
}

@keyframes kbee-diagonal-up {
	from { transform: translate3d(5%, 5%, 0) scale(1.2); }
	to { transform: translate3d(-5%, -5%, 0) scale(1.2); }
}

@keyframes kbee-zoom-pan-left {
	from { transform: translate3d(4%, 0, 0) scale(1.05); }
	to { transform: translate3d(-4%, 0, 0) scale(1.24); }
}

@keyframes kbee-zoom-pan-right {
	from { transform: translate3d(-4%, 0, 0) scale(1.05); }
	to { transform: translate3d(4%, 0, 0) scale(1.24); }
}

@keyframes kbee-zoom-pan-up {
	from { transform: translate3d(0, 4%, 0) scale(1.05); }
	to { transform: translate3d(0, -4%, 0) scale(1.24); }
}

@keyframes kbee-zoom-pan-down {
	from { transform: translate3d(0, -4%, 0) scale(1.05); }
	to { transform: translate3d(0, 4%, 0) scale(1.24); }
}

@keyframes kbee-custom {
	from {
		transform: translate3d(var(--kbee-start-x), var(--kbee-start-y), 0) scale(var(--kbee-start-scale));
	}
	to {
		transform: translate3d(var(--kbee-end-x), var(--kbee-end-y), 0) scale(var(--kbee-end-scale));
	}
}

@keyframes kbee-bg-custom {
	from {
		transform: translate3d(var(--kbee-bg-start-x), var(--kbee-bg-start-y), 0) scale(var(--kbee-bg-start-scale));
	}
	to {
		transform: translate3d(var(--kbee-bg-end-x), var(--kbee-bg-end-y), 0) scale(var(--kbee-bg-end-scale));
	}
}

@keyframes kbee-carousel-custom {
	from {
		transform: translate3d(var(--kbee-carousel-start-x), var(--kbee-carousel-start-y), 0) scale(var(--kbee-carousel-start-scale));
	}
	to {
		transform: translate3d(var(--kbee-carousel-end-x), var(--kbee-carousel-end-y), 0) scale(var(--kbee-carousel-end-scale));
	}
}

@media (prefers-reduced-motion: reduce) {
	.kbee-reduced-motion-yes .kbee__image,
	.elementor-widget-image.kbee-enabled-yes.kbee-reduced-motion-yes .elementor-widget-container img {
		animation: none !important;
		transform: none !important;
	}

	.kbee-bg-reduced-motion-yes .kbee-bg-layer {
		animation: none !important;
		transform: none !important;
	}

	.kbee-carousel-reduced-motion-yes .kbee-carousel-item {
		animation: none !important;
		transform: none !important;
	}
}
