.tj-preloader {
	position: fixed;
	top: 0;
	inset-inline-start: 0;
	width: 100%;
	height: 100%;
	background-color: #38050e;
	z-index: 100000000;
	color: #fdfdf9;
	user-select: none;
}

.tj-preloader.is-loading .tj-preloader-ball-inner,
.tj-preloader.is-loading .tj-preloader-ball-shadow {
	animation-play-state: running;
}

.tj-preloader.is-loaded {
	pointer-events: none;
}

.tj-preloader .tj-preloader-overlay {
	position: fixed;
	top: 0;
	inset-inline-start: 0;
	width: 100%;
	height: 100%;
	background-color: #38050e;
	z-index: 99999999;
	opacity: 1;
	animation: tj-fade-out 2s forwards;
}

@keyframes tj-fade-out {
	0% {
		opacity: 1;
	}

	50% {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

.tj-preloader .tj-preloader-inner {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.tj-preloader .tj-preloader-ball-wrap {
	gap: 10px;
	position: relative;
	display: flex;
	inset-inline-start: 0;
	align-items: center;
	justify-content: center;
	transform: translateX(16px);
}

@media only screen and (min-width: 1025px) {
	.tj-preloader .tj-preloader-ball-wrap {
		transform: none;
	}
}

.tj-preloader .tj-preloader-ball-inner-wrap {
	position: absolute;
	width: 10px;
	height: 100%;
	top: 50%;
	inset-inline-start: -16px;
	transform: translate(-100%, -50%);
	z-index: 10000;
	@media only screen and (min-width: 1025px) {
		inset-inline-start: -30px;
	}
}

.tj-preloader .tj-preloader-ball-shadow {
	position: absolute;
	width: 16px;
	height: 4px;
	inset-inline-start: 50%;
	transform: translateX(-50%);
	background-color: #ecff00;
	bottom: 0;
	border-radius: 50%;
	filter: blur(12px);
	box-shadow: 0 4px 20px 0 #ecff00;
	transition: 0.7s cubic-bezier(0.77, 0, 0.175, 1);
	animation-play-state: paused;
	animation: tj-shadow-blur 1s linear infinite;
}

.tj-preloader .tj-preloader-ball-inner {
	position: absolute;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #ecff00;
	animation: tj-bounce-anim 1s linear infinite;
	box-shadow: 0 0 12px 0 #fdfdf9;
	transition: 0.7s cubic-bezier(0.77, 0, 0.175, 1);
	animation-play-state: paused;
}
.tj-preloader.is-loaded .tj-preloader-ball-shadow {
	display: none;
}
.tj-preloader.is-loaded .tj-preloader-ball-inner {
	animation: fadeLeftToRight 0.7s linear;
}
.tj-preloader .tj-preloader-ball {
	position: absolute;
	width: 14px;
	height: 14px;
	bottom: 50%;
	inset-inline-start: 50%;
	transform: translate(-50%, 50%);
	border-radius: 50%;
	background-color: #ecff0021;
	box-shadow: 0 0 20px 0 #ecff00;
	filter: blur(10px);
}

.tj-preloader .tj-preloader-text {
	font-size: 20px;
	position: relative;
	letter-spacing: 0;
	transform: translateY(-0.03em);
	transition: 0.3s;
	font-weight: var(--tj-fw-sbold);
	@media #{$sm,$xs} {
		font-size: 16px;
	}
}
.tj-preloader.is-loaded .tj-preloader-text {
	opacity: 0;
	visibility: hidden;
}
#tj-weave-anim span {
	position: relative;
	transition: all 0.3s ease;
	display: inline-block;
	animation: tj-weave-anim 1.15s ease infinite;
	transform-origin: 100% 50%;
	transform-style: preserve-3d;
	&:nth-child(1) {
		animation-delay: 0s;
	}
	&:nth-child(2) {
		animation-delay: 0.05s;
	}
	&:nth-child(3) {
		animation-delay: 0.1s;
	}
	&:nth-child(4) {
		animation-delay: 0.15s;
	}
	&:nth-child(5) {
		animation-delay: 0.2s;
	}
	&:nth-child(6) {
		animation-delay: 0.25s;
	}
	&:nth-child(7) {
		animation-delay: 0.3s;
	}
	&:nth-child(8) {
		animation-delay: 0.35s;
	}
	&:nth-child(9) {
		animation-delay: 0.4s;
	}
	&:nth-child(10) {
		animation-delay: 0.45s;
	}
	&:nth-child(11) {
		animation-delay: 0.5s;
	}
	&:nth-child(12) {
		animation-delay: 0.55s;
	}
	&:nth-child(13) {
		animation-delay: 0.6s;
	}
	&:nth-child(14) {
		animation-delay: 0.65s;
	}
	&:nth-child(15) {
		animation-delay: 0.7s;
	}
	&:nth-child(16) {
		animation-delay: 0.75s;
	}
	&:nth-child(17) {
		animation-delay: 0.8s;
	}
	&:nth-child(18) {
		animation-delay: 0.85s;
	}
	&:nth-child(19) {
		animation-delay: 0.9s;
	}
	&:nth-child(20) {
		animation-delay: 0.95s;
	}
	&:nth-child(21) {
		animation-delay: 1s;
	}
	&:nth-child(22) {
		animation-delay: 1.05s;
	}
	&:nth-child(23) {
		animation-delay: 1.15s;
	}
}

@keyframes tj-shadow-blur {
	0% {
		filter: blur(12px);
		transform: translate(-50%) scale(0.6);
		opacity: 0.4;
	}

	30% {
		filter: blur(2px);
		transform: translate(-50%, -0.5rem) scale(1);
		opacity: 1;
	}

	to {
		filter: blur(12px);
		transform: translate(-50%) scale(0.6);
		opacity: 0.4;
	}
}

@keyframes fadeLeftToRight {
	0% {
		filter: blur(0);
		transform: translate(0) scale(1);
		opacity: 1;
	}

	30% {
		filter: blur(0);
		transform: translate(-3000%, 0) scale(1);
		opacity: 1;
	}
	40% {
		filter: blur(0);
		transform: translate(-2000%, 0) scale(1);
		opacity: 1;
	}
	60% {
		filter: blur(0);
		transform: translate(-0%, 0) scale(1);
		opacity: 1;
	}

	to {
		filter: blur(12px);
		transform: translate(1000%, 0) scale(7);
		opacity: 0.4;
	}
}

@keyframes tj-bounce-anim {
	0% {
		transform: translateY(calc(-50% - 1rem)) scaleX(1.4);
	}

	3% {
		transform: translateY(calc(-50% - 0.95rem)) scale(1.1, 1.05);
	}

	5% {
		transform: translateY(calc(-50% - 0.9rem)) scale(1.2, 1.1);
	}

	8% {
		transform: translateY(calc(-50% - 0.8rem)) scale(0.98, 1.15);
	}

	12% {
		transform: translateY(calc(-50% - 0.7rem)) scale(0.95, 1.2);
	}

	16% {
		transform: translateY(calc(-50% - 0.5rem)) scale(0.92, 1.25);
	}

	20% {
		transform: translateY(calc(-50% - 0.2rem)) scale(0.9, 1.4);
	}

	24% {
		transform: translateY(calc(-50% + 0.4rem)) scale(0.9, 1.7);
	}

	26% {
		transform: translateY(calc(-50% + 0.8rem)) scale(0.9, 1.4);
	}

	28% {
		transform: translateY(calc(-50% + 0.95rem)) scale(1.2, 0.7);
	}

	30% {
		transform: translateY(calc(-50% + 1rem)) scale(1.5, 0.3);
	}

	32% {
		transform: translateY(calc(-50% + 0.8rem)) scale(1.4, 0.4);
	}

	36% {
		transform: translateY(calc(-50% + 0.5rem)) scale(1.2, 0.8);
	}

	42% {
		transform: translateY(calc(-50% + 0.2rem)) scaleY(1.2);
	}

	48% {
		transform: translateY(calc(-50% - 0.2rem)) scale(0.9, 1.4);
	}

	54% {
		transform: translateY(calc(-50% - 0.3rem)) scale(0.92, 1.3);
	}

	62% {
		transform: translateY(calc(-50% - 0.5rem)) scale(0.95, 1.2);
	}

	68% {
		transform: translateY(calc(-50% - 0.6rem)) scale(0.97, 1.15);
	}

	75% {
		transform: translateY(calc(-50% - 0.7rem)) scale(0.98, 1.1);
	}

	80% {
		transform: translateY(calc(-50% - 0.8rem)) scale(0.99, 1.08);
	}

	85% {
		transform: translateY(calc(-50% - 0.9rem)) scaleY(1.05);
	}

	90% {
		transform: translateY(calc(-50% - 0.95rem)) scale(1.2, 1.03);
	}

	95% {
		transform: translateY(calc(-50% - 0.98rem)) scale(1.1, 1.01);
	}

	to {
		transform: translateY(calc(-50% - 1rem)) scaleX(1.4);
	}
}

@keyframes tj-weave-anim {
	0% {
		transform: translate3D(0, 0, 0) scale(1) rotateY(0);
	}
	12% {
		transform: translate3D(2px, -2px, 2px) scale(1.16) rotateY(6deg);
	}
	24% {
		transform: translate3D(0, 0, 0) scale(1) rotateY(0);
	}
	36% {
		transform: translate3D(0, 0, 0) scale(1);
	}
	100% {
		transform: scale(1);
	}
}
/* !END: Preloader CSS */
