.ehv-background {
	background-color: #fff;
	background-image: var(--ehv-poster, none);
	background-position: center;
	background-size: cover;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
	position: absolute;
	contain: layout paint;
	isolation: isolate;
	visibility: hidden;
	z-index: 0;
}

.ehv-host {
	background-image: none !important;
	overflow: hidden !important;
	position: relative !important;
}

.ehv-host:not(.elementor-motion-effects-element-type-background),
.ehv-host > .elementor-motion-effects-container,
.ehv-host > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-image: none !important;
}

.ehv-host > .ehv-background {
	visibility: visible;
}

.ehv-host > :not(.ehv-background) {
	position: relative;
	z-index: 3;
}

.ehv-video,
.ehv-splash,
.ehv-overlay {
	height: 100%;
	inset: 0;
	position: absolute;
	width: 100%;
}

.ehv-white-gradient .ehv-overlay {
	background: linear-gradient(
		to bottom,
		rgba(255, 255, 255, .95) 0%,
		rgba(255, 255, 255, .65) 10%,
		rgba(255, 255, 255, .35) 22%,
		rgba(255, 255, 255, .45) 40%
	);
	opacity: 1;
}

.ehv-video {
	border: 0;
	display: block;
	outline: 0;
	object-fit: cover;
	object-position: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity .6s ease;
	transform: translateZ(0);
	user-select: none;
	-webkit-user-select: none;
	z-index: 1;
}

.ehv-background.ehv-video-ready .ehv-video {
	opacity: 1;
}

.ehv-is-native .ehv-video {
	opacity: 1;
	transition: none;
}

.ehv-controls-hidden video::-webkit-media-controls,
.ehv-controls-hidden video::-webkit-media-controls-enclosure,
.ehv-controls-hidden video::-webkit-media-controls-panel,
.ehv-controls-hidden video::-webkit-media-controls-play-button,
.ehv-controls-hidden video::-webkit-media-controls-start-playback-button,
.ehv-controls-hidden video::-webkit-media-controls-overlay-play-button {
	display: none !important;
	-webkit-appearance: none;
	opacity: 0 !important;
	pointer-events: none !important;
}

.ehv-youtube {
	border: 0;
	height: calc(56.25vw + 140px);
	left: 50%;
	min-height: calc(100% + 140px);
	min-width: calc(177.78vh + 250px);
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: calc(100vw + 250px);
}

.ehv-splash {
	object-fit: cover;
	opacity: 1;
	transition: opacity .45s ease, visibility .45s ease;
	visibility: visible;
	z-index: 0;
}

.ehv-overlay {
	background: var(--ehv-overlay, #08051f);
	opacity: var(--ehv-overlay-opacity, .35);
	pointer-events: none;
	z-index: 2;
}
