/* #qodef-page-outer {
	transform: none !important;
	will-change: opacity !important; 
} */
/* transform prevents position fixed to stay within screen, behaves like position absolute on body */
/* will-change on transform prevents position fixed to stay within screen, behaves like position absolute on body */

.scroll-section {
	position: relative;
	display: flex;
	flex-direction: row;
	align-items: baseline;
	justify-content: flex-start;
	gap: 70px;
	width: 100svw;
	height: 200svh;
	background-color: #000000;
	flex-wrap: wrap;
}

.scroll-section * {
	cursor: default;
}

.scroll-section .row {
	display: flex;
	gap: 10px;
	justify-content: center;
	flex: 1 0 100%;
	flex-direction: row;
	align-items: center;
	height: min-content;
}

.scroll-section h6 {
	font-size: 10svw;
	line-height: 0.764em;
	letter-spacing: -0.035em;
	font-weight: 500;
	color: #fff;
	margin: 0;
}

.scroll-content[data-target-url]:not([data-target-url=""]),
.scroll-content[data-target-url]:not([data-target-url=""]) div,
.scroll-content[data-target-url]:not([data-target-url=""]) h6,
.scroll-content[data-target-url]:not([data-target-url=""]) .img-desktop {
	cursor: pointer;
}

.scroll-section p {
	color: #fff;
}

.scroll-content.row,
.video {
	position: absolute;
	gap: 15px;
	z-index: 5;
	top: 50dvh;
	left: 50%;
	transform: translate(-50%, -50%);
}

.scroll-content.row .text-left {
	transform: translateX(-20vw);
	z-index: 2;
}

.scroll-content.row .text-right {
	transform: translateX(20vw);
	z-index: 2;
}

.scroll-section .video {
	position: absolute;
	top: 50dvh;
	left: 50dvw;
	width: inherit;
	transform: translate3d(-50%, -50%, 0px);
	transform-origin: 50% 50%;
	z-index: 1;
}

.scroll-section .video img {
	display: block;
	width: 100%;
	height: auto;
	transform: scale(0.25);
	transform-origin: 50% 50%;
	will-change: transform;
}

@media (min-width: 1024px) {
	.scroll-section .video img.img-mobile {
		display: none;
	}
}

@media (max-width: 1023px) {
	.scroll-section .video img.img-desktop {
		display: none;
	}
}

.scroll-section .video video,
.scroll-section .video img {
	width: inherit;
	height: inherit;
	object-fit: cover;
	object-position: center;
	outline: none;
}

.scroll-section .custom-btn::before {
	background-color: #fff;
}

.scroll-section .custom-btn {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 40vh;
	color: #fff;
	min-width: 150px;
	text-align: center;
	display: flex;
	flex-direction: row;
	justify-content: center;
	z-index: 10;
	cursor: pointer;
}

@media (min-width: 768px) {
	.scroll-section .custom-btn {
		display: none !important;
	}
}

/***************************/
/*** Services Left Right ***/
/***************************/

.services-title-left,
.services-title-right {
	width: fit-content !important;
	/* Elementor doesn't save this for container for some reason */
}

.services-overflow-hidden {
	overflow: hidden !important;
}

.services-side-reveal > div {
	overflow: hidden;
}

.services-title-left::before {
	content: "" !important;
	position: absolute !important;
	top: 50% !important;
	left: 105% !important;
	transform: translateY(50%) !important;
	width: 200% !important;
	height: 1px !important;
	background-color: #EE4723 !important;
}

.services-title-left {
	transform: translateX(40%);
	transition: all .8s cubic-bezier(.47, 0, .9, 1.02) !important;
}

.services-title-left.reveal {
	transform: translateX(0%);
}

.services-title-right {
	transform: translateX(0%);
	transition: all .8s cubic-bezier(.47, 0, .9, 1.02) !important;
}

.services-title-right.reveal {
	transform: translateX(85%);
}

.services-title-right::before {
	content: "" !important;
	position: absolute !important;
	top: 50% !important;
	left: unset !important;
	transform: translateY(50%) !important;
	width: 200% !important;
	height: 1px !important;
	background-color: #EE4723 !important;
	right: 110% !important;
}


.services_svg {
	min-height: 60dvh;
}

@media (max-width: 767px) {

	.animation_text {
		width: 65vw;
	}

	.animation_text:hover .hello-svg.shadow.top {
		top: -75px;
	}

	.animation_text:hover .hello-svg.shadow.bottom {
		top: 75px;
	}

	/* Left Titles */
	.services-title-left,
	.services-title-left.reveal {
		transform: translateX(40%);
		transition: transform .8s cubic-bezier(.47, 0, .9, 1.02) !important;
	}

	.services-title-left.reveal {
		transform: translateX(0%) !important;
	}

	.services-title-left::before {
		left: 85% !important;
	}

	/* Right Titles: mirror left on mobile */
	.services-title-right,
	.services-title-right.reveal {
		transform: translateX(40%);
		transition: transform .8s cubic-bezier(.47, 0, .9, 1.02) !important;
	}

	.services-title-right.reveal {
		transform: translateX(0%) !important;
	}

	.services-title-right::before {
		left: 85% !important;
		right: unset !important;
	}
	
	.services-title-right.account-management::before {
		left: 95% !important;
	}
}


/************************/
/******* Cursor *********/
/************************/

.cursor {
	position: absolute;
	align-items: center;
	display: flex;
	height: 5.9722222222vw;
	justify-content: center;
	pointer-events: none;
	width: 5.9722222222vw;
	z-index: 20;
	transform: translate3d(-150px, -150px, 0px);
	transition: all .2s linear !important;
}

.cursor > .inner {
	position: absolute;
	width: 100%;
	height: 100%;
	backdrop-filter: blur(20px);
	background: rgba(0, 0, 0, .15);
	border-radius: 100%;
	bottom: 0;
	left: 0;
	opacity: 0;
	overflow: hidden;
	right: 0;
	top: 0;
}

.cursor > .label {
	color: #fff;
	font-size: 1vw;
	letter-spacing: .0266666667vw;
	line-height: 5.6vw;
	z-index: 1;
}

@media (max-width: 768px) {
	.cursor {
		display: none;
	}
}

/************************/
/***  NUMBER LOADERS  ***/
/************************/

.loading_number {
	height: 7vw;
}

.digit.fill path {
	fill: black;
	stroke: none;
}

.digit.outline path {
	fill: none;
	stroke: black;
	stroke-width: 3px;
	vector-effect: non-scaling-stroke;
}

/* required for clip-path animation */
.digit.fill {
	clip-path: inset(0 100% 0 0);
}

@media (max-width: 1024px) {
	.loading_number {
		height: 15vw;
	}
}

@media (max-width: 480px) {
	.loading_number {
		height: 20vw;
	}
}