.pixel-animate-lines-enabled {
	position: relative;
	isolation: isolate;
	--pixel-lines-color: rgba(0, 0, 0, 0.18);
	--pixel-lines-width: 1px;
	--pixel-lines-opacity: 1;
	--pixel-lines-length: 100%;
	--pixel-lines-duration: 1200ms;
	--pixel-lines-stagger: 80ms;
	--pixel-lines-delay: 0ms;
	--pixel-lines-easing: cubic-bezier(0.22, 1, 0.36, 1);
	--pixel-lines-z-index: 1;
	--pixel-lines-blend-mode: normal;
	--pixel-lines-infinite-pause: 600ms;
}

.pixel-animate-lines-clip {
	overflow: hidden;
}

.pixel-animate-lines {
	position: absolute;
	inset: 0;
	z-index: var(--pixel-lines-z-index);
	pointer-events: none;
	overflow: hidden;
	mix-blend-mode: var(--pixel-lines-blend-mode);
}

.pixel-animate-lines-layer-above > .pixel-animate-lines {
	--pixel-lines-z-index: 50;
}

.pixel-animate-lines-layer-behind > .pixel-animate-lines {
	--pixel-lines-z-index: 1;
}

.pixel-animate-lines-enabled > .elementor-background-overlay {
	position: absolute;
	z-index: 0;
	pointer-events: none;
}

.pixel-animate-lines-layer-behind > :not(.pixel-animate-lines):not(.elementor-background-overlay) {
	position: relative;
	z-index: 2;
}

.pixel-animate-line {
	position: absolute;
	display: block;
	opacity: var(--pixel-lines-opacity);
	background: var(--pixel-lines-color);
	border-radius: 0;
	transform: scaleY(0);
	transition:
		transform var(--pixel-lines-duration) var(--pixel-lines-easing),
		opacity var(--pixel-lines-duration) var(--pixel-lines-easing),
		clip-path var(--pixel-lines-duration) var(--pixel-lines-easing);
	transition-delay: var(--pixel-line-delay, 0ms);
	will-change: transform, opacity, clip-path;
}

.pixel-animate-lines-cap-round .pixel-animate-line {
	border-radius: 999px;
}

.pixel-animate-lines-style-dashed .pixel-animate-line--vertical,
.pixel-animate-lines-style-dotted .pixel-animate-line--vertical {
	background:
		repeating-linear-gradient(
			to bottom,
			var(--pixel-lines-color) 0,
			var(--pixel-lines-color) calc(var(--pixel-lines-width) * 5),
			transparent calc(var(--pixel-lines-width) * 5),
			transparent calc(var(--pixel-lines-width) * 9)
		);
}

.pixel-animate-lines-style-dotted .pixel-animate-line--vertical {
	background:
		repeating-linear-gradient(
			to bottom,
			var(--pixel-lines-color) 0,
			var(--pixel-lines-color) calc(var(--pixel-lines-width) * 2),
			transparent calc(var(--pixel-lines-width) * 2),
			transparent calc(var(--pixel-lines-width) * 6)
		);
}

.pixel-animate-lines-style-dashed .pixel-animate-line--horizontal,
.pixel-animate-lines-style-dotted .pixel-animate-line--horizontal {
	background:
		repeating-linear-gradient(
			to right,
			var(--pixel-lines-color) 0,
			var(--pixel-lines-color) calc(var(--pixel-lines-width) * 5),
			transparent calc(var(--pixel-lines-width) * 5),
			transparent calc(var(--pixel-lines-width) * 9)
		);
}

.pixel-animate-lines-style-dotted .pixel-animate-line--horizontal {
	background:
		repeating-linear-gradient(
			to right,
			var(--pixel-lines-color) 0,
			var(--pixel-lines-color) calc(var(--pixel-lines-width) * 2),
			transparent calc(var(--pixel-lines-width) * 2),
			transparent calc(var(--pixel-lines-width) * 6)
		);
}

.pixel-animate-lines-style-gradient .pixel-animate-line--vertical {
	background: linear-gradient(to bottom, transparent, var(--pixel-lines-color), transparent);
}

.pixel-animate-lines-style-gradient .pixel-animate-line--horizontal {
	background: linear-gradient(to right, transparent, var(--pixel-lines-color), transparent);
}

.pixel-animate-line--vertical {
	top: calc((100% - var(--pixel-lines-length)) / 2);
	left: var(--pixel-line-x, 0%);
	width: var(--pixel-lines-width);
	height: var(--pixel-lines-length);
	transform: translateX(-50%) scaleY(0);
	transform-origin: top center;
}

.pixel-animate-line--horizontal {
	left: calc((100% - var(--pixel-lines-length)) / 2);
	top: var(--pixel-line-y, 0%);
	width: var(--pixel-lines-length);
	height: var(--pixel-lines-width);
	transform: translateY(-50%) scaleX(0);
	transform-origin: left center;
}

.pixel-animate-lines-dir-end .pixel-animate-line--vertical {
	transform-origin: bottom center;
}

.pixel-animate-lines-dir-end .pixel-animate-line--horizontal {
	transform-origin: right center;
}

.pixel-animate-lines-dir-center-out .pixel-animate-line--vertical,
.pixel-animate-lines-dir-edges-center .pixel-animate-line--vertical {
	transform-origin: center center;
}

.pixel-animate-lines-dir-center-out .pixel-animate-line--horizontal,
.pixel-animate-lines-dir-edges-center .pixel-animate-line--horizontal {
	transform-origin: center center;
}

.pixel-animate-lines-anim-fade-draw .pixel-animate-line {
	opacity: 0;
}

.pixel-animate-lines-anim-wipe .pixel-animate-line {
	transform: none;
	clip-path: inset(0 0 100% 0);
}

.pixel-animate-lines-anim-wipe .pixel-animate-line--horizontal {
	clip-path: inset(0 100% 0 0);
}

.pixel-animate-lines-anim-pulse .pixel-animate-line {
	transform: none;
	opacity: 0.25;
}

.pixel-lines-active .pixel-animate-line--vertical {
	transform: translateX(-50%) scaleY(1);
}

.pixel-lines-active .pixel-animate-line--horizontal {
	transform: translateY(-50%) scaleX(1);
}

.pixel-lines-active.pixel-animate-lines-anim-fade-draw .pixel-animate-line {
	opacity: var(--pixel-lines-opacity);
}

.pixel-lines-active.pixel-animate-lines-anim-wipe .pixel-animate-line {
	clip-path: inset(0 0 0 0);
}

.pixel-lines-active.pixel-animate-lines-anim-pulse .pixel-animate-line {
	animation: pixelAnimateLinesPulse var(--pixel-lines-duration) var(--pixel-lines-easing) infinite alternate;
}

.pixel-lines-active.pixel-animate-lines-anim-continuous .pixel-animate-line {
	animation: pixelAnimateLinesFlow calc(var(--pixel-lines-duration) + var(--pixel-lines-infinite-pause)) linear infinite;
}

.pixel-lines-paused .pixel-animate-line {
	animation-play-state: paused !important;
}

@keyframes pixelAnimateLinesPulse {
	from {
		opacity: 0.25;
	}
	to {
		opacity: var(--pixel-lines-opacity);
	}
}

@keyframes pixelAnimateLinesFlow {
	0% {
		opacity: 0;
		transform: translateX(-50%) scaleY(0);
	}
	35% {
		opacity: var(--pixel-lines-opacity);
		transform: translateX(-50%) scaleY(1);
	}
	70% {
		opacity: var(--pixel-lines-opacity);
		transform: translateX(-50%) scaleY(1);
	}
	100% {
		opacity: 0;
		transform: translateX(-50%) scaleY(0);
	}
}

.pixel-animate-line--horizontal {
	animation-name: none;
}

.pixel-lines-active.pixel-animate-lines-anim-continuous .pixel-animate-line--horizontal {
	animation-name: pixelAnimateLinesFlowHorizontal;
}

@keyframes pixelAnimateLinesFlowHorizontal {
	0% {
		opacity: 0;
		transform: translateY(-50%) scaleX(0);
	}
	35% {
		opacity: var(--pixel-lines-opacity);
		transform: translateY(-50%) scaleX(1);
	}
	70% {
		opacity: var(--pixel-lines-opacity);
		transform: translateY(-50%) scaleX(1);
	}
	100% {
		opacity: 0;
		transform: translateY(-50%) scaleX(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.pixel-animate-line,
	.pixel-lines-active .pixel-animate-line {
		animation: none !important;
		transition: none !important;
		opacity: var(--pixel-lines-opacity);
		clip-path: none;
	}

	.pixel-lines-active .pixel-animate-line--vertical {
		transform: translateX(-50%) scaleY(1);
	}

	.pixel-lines-active .pixel-animate-line--horizontal {
		transform: translateY(-50%) scaleX(1);
	}
}
