/* Lightweight GSAP entrances for the homepage. */

html,
body {
	max-width: 100%;
	overflow-x: clip;
}

@supports not (overflow: clip) {
	html,
	body {
		overflow-x: hidden;
	}
}

.dz-gsap-target {
	backface-visibility: hidden;
	transform-origin: 50% 50%;
}

.dz-gsap-animating:not(.dz-title-word):not(.dz-copy-word):not(.dz-footer-word) {
	will-change: transform, opacity;
}

html.skswf-gsap-js body:not(.elementor-editor-active) :is(
	.gsap-reveal-text,
	.gsap-reveal-copy,
	.gsap-reveal-wipe,
	.gsap-reveal-pop,
	.gsap-reveal-carousel,
	.gsap-slide-left,
	.gsap-slide-right,
	.gsap-rise-cta
):not(.dz-gsap-ready) {
	opacity: 0 !important;
	visibility: hidden !important;
}

.dz-split-title {
	perspective: 900px;
}

.dz-word-mask {
	display: inline-block;
	overflow: hidden;
	padding-bottom: 0.08em;
	margin-bottom: -0.08em;
	vertical-align: bottom;
}

.dz-title-word,
.dz-copy-word {
	display: inline-block;
}

.dz-title-word {
	transform-origin: 50% 100%;
}

html.skswf-gsap-js body:not(.elementor-editor-active) .gsap-section-rise:not(.dz-gsap-ready) {
	opacity: 0 !important;
	visibility: hidden !important;
}

html.skswf-gsap-js body:not(.elementor-editor-active) .gsap-section-content:not(.dz-gsap-ready) {
	opacity: 0 !important;
	visibility: hidden !important;
}

html.skswf-gsap-js body:not(.elementor-editor-active) :is(.gsap-footer-stage, .gsap-footer-details):not(.dz-gsap-ready) {
	opacity: 0 !important;
	visibility: hidden !important;
}

html.skswf-gsap-js body:not(.elementor-editor-active) .gsap-header-drop:not(.dz-gsap-ready) {
	opacity: 0 !important;
	visibility: hidden !important;
}

html.skswf-gsap-js body:not(.elementor-editor-active) .gsap-grid-hero:not(.dz-grid-ready) {
	visibility: hidden !important;
}

html.skswf-gsap-js body:not(.elementor-editor-active) .gsap-arrow-down:not(.dz-gsap-ready) {
	opacity: 0 !important;
	visibility: hidden !important;
}

html.skswf-gsap-js body:not(.elementor-editor-active) .gsap-grid-wave:not(.dz-grid-wave-ready) {
	opacity: 0 !important;
	visibility: hidden !important;
}

.gsap-grid-wave {
	display: block;
	max-width: 100%;
	overflow: hidden;
	pointer-events: none;
}

.gsap-grid-wave svg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.gsap-grid-wave .grid-line {
	fill: none !important;
	vector-effect: non-scaling-stroke;
}

.gsap-grid-hero {
	position: relative;
	isolation: isolate;
	overflow: clip;
}

.dz-grid-hero-layer {
	position: absolute;
	inset: 0;
	z-index: -1;
	overflow: hidden;
	border-radius: inherit;
	pointer-events: none;
}

.dz-grid-hero-tile {
	position: absolute;
	display: block;
	overflow: hidden;
	backface-visibility: hidden;
}

.dz-grid-hero-canvas {
	position: absolute;
	display: block;
	max-width: none;
	pointer-events: none;
}

.gsap-footer-stage {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow: clip;
}

.gsap-footer-stage:not(.dz-footer-stage-wrapper),
.gsap-footer-stage.dz-footer-stage-wrapper > .dz-footer-stage-panel {
	min-height: 100vh;
}

.gsap-footer-stage.dz-footer-stage-wrapper > .dz-footer-stage-panel {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.dz-footer-word {
	display: inline-block;
}

@supports (width: 100dvw) {
	.gsap-footer-stage:not(.dz-footer-stage-wrapper),
	.gsap-footer-stage.dz-footer-stage-wrapper > .dz-footer-stage-panel {
		min-height: 100svh;
	}
}

@media (max-width: 767px) {
	.gsap-footer-stage:not(.dz-footer-stage-wrapper),
	.gsap-footer-stage.dz-footer-stage-wrapper > .dz-footer-stage-panel {
		min-height: auto;
	}
}

.gsap-reveal-carousel {
	perspective: 900px;
}

html.skswf-gsap-js body:not(.elementor-editor-active) :is(
	.gsap-highlight-text,
	.gsap-type-text
):not(.dz-highlight-ready) {
	opacity: 0;
}

.dz-type-char {
	display: inline;
}

.dz-type-chunk {
	display: inline-block;
}

.img-carousel-box,
.logo-carousel {
	max-width: 100%;
}

@media (prefers-reduced-motion: reduce) {
	.dz-gsap-target {
		opacity: 1 !important;
		transform: none !important;
	}

	.gsap-grid-hero,
	.gsap-grid-wave,
	.gsap-arrow-down {
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
	}
}
