/*--------------------------------------------------------------
    Loader
--------------------------------------------------------------*/

.pre-loader {
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 999991;
    background-color: var(--wdtBodyBGColor);
    transform: scale(1.5);
}

.loader-inner {
  text-transform:uppercase;

  width:100%;
  text-align:center;
  line-height:50px;
  margin:auto;
  position:absolute;
  left:0;right:0;top:50%;
  transform:translateY(-50%);
}
.loader-inner svg.loader
{
  height: 150px;
  width: 150px;
  display: inline-block;
}

.loader-ring {
	width: 11em;
	height: 10em;
}
.loader__ring,
.loader__worm1,
.loader__worm2,
.loader__worm3 {
	animation-duration: 4s;
	animation-iteration-count: infinite;
}
.loader__ring {
	stroke: #e7e7e7;
	transition: stroke 0.3s;
}
.loader__worm1 {
	animation-name: worm1;
}
.loader__worm2 {
	animation-name: worm2;
	transform-origin: 32px 88px;
}
.loader__worm3 {
	animation-name: worm3;
	transform-origin: 144px 88px;
}

/* Dark theme */
/* @media (prefers-color-scheme: dark) {
	:root {
		--bg: hsl(223,10%,10%);
		--fg: hsl(223,10%,90%);
	}
	.loader__ring {
		stroke: hsla(223,10%,90%,0.1);
	}
} */

/* Animations */
@keyframes worm1 {
	from {
		animation-timing-function: ease-out;
		stroke-dashoffset: 43.98;
	}
	12.5% {
		animation-timing-function: ease-in-out;
		stroke-dashoffset: -131.95;
	}
	25% {
		animation-timing-function: ease-in;
		stroke-dashoffset: 0;
	}
	37.5%,
	50% {
		animation-timing-function: ease-out;
		stroke-dashoffset: -175.93;
	}
	62.5% {
		animation-timing-function: ease-in-out;
		stroke-dashoffset: 0;
	}
	75% {
		animation-timing-function: ease-in;
		stroke-dashoffset: -131.95;
	}
	87.5%,
	to {
		stroke-dashoffset: 43.98;
	}
}
@keyframes worm2 {
	from,
	35.5% {
		animation-timing-function: linear;
		stroke-dasharray: 0 40 0 44;
		visibility: hidden;
		transform: translate(0,0) rotate(0);
	}
	37.5% {
		animation-timing-function: ease-out;
		stroke-dasharray: 0 40 44 0;
		visibility: visible;
		transform: translate(0,0) rotate(0);
	}
	47.5% {
		animation-timing-function: ease-in;
		stroke-dasharray: 0 4 40 40;
		visibility: visible;
		transform: translate(0,-80px) rotate(360deg);
	}
	50% {
		animation-timing-function: linear;
		stroke-dasharray: 0 4 40 40;
		visibility: visible;
		transform: translate(0,-36px) rotate(360deg);
	}
	52.5%,
	to {
		stroke-dasharray: 0 42 0 42;
		visibility: hidden;
		transform: translate(0,12px) rotate(360deg);
	}
}
@keyframes worm3 {
	from {
		animation-timing-function: linear;
		stroke-dasharray: 0 4 40 40;
		visibility: visible;
		transform: translate(0,-36px) rotate(0);
	}
	2.5% {
		animation-timing-function: linear;
		stroke-dasharray: 0 42 0 42;
		visibility: hidden;
		transform: translate(0,12px) rotate(0);
	}
	85.5% {
		animation-timing-function: linear;
		stroke-dasharray: 0 40 0 44;
		visibility: hidden;
		transform: translate(0,0) rotate(0);
	}
	87.5% {
		animation-timing-function: ease-out;
		stroke-dasharray: 0 40 44 0;
		visibility: visible;
		transform: translate(0,0) rotate(0);
	}
	97.5% {
		animation-timing-function: ease-in;
		stroke-dasharray: 0 4 40 40;
		visibility: visible;
		transform: translate(0,-80px) rotate(-360deg);
	}
	to {
		stroke-dasharray: 0 4 40 40;
		visibility: visible;
		transform: translate(0,-36px) rotate(-360deg);
	}
}


/*--------------------------------------------------------------
    Accents
--------------------------------------------------------------*/

    .loader-inner .loader-text:after { background-color: var(--wdtPrimaryColor); }


/*--------------------------------------------------------------
    Responsive
--------------------------------------------------------------*/

/*----*****---- << Mobile (Landscape) >> ----*****----*/

/* Note: Design for a width of 480px */

@media only screen and (min-width: 480px) and (max-width: 767px) {

}
@media only screen and (max-width: 768px) {
  .loader-inner svg.loader{height: 100px;width: 100px;}
}

/* Common Styles for the devices below 479px width */

@media only screen and (max-width: 479px) {

}