/* -- LOADING ANIMATIONS -- */
/* Loader one: Pulse */
.loader.one {
	width: 100px;
	height: 100px;
}

.loader.one .circle {
	height: 100px;
	width: 100px;
	background: #E427F9;
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 50px;
	animation: pulse 2s infinite;
}

/* Delay pulse animation for circle two */
.loader.one .second.circle {
	animation-delay: 1s;
}

@keyframes pulse {
	from {
		transform: scale(1);
		opacity: 1;
	}
	to {
		transform: scale(1.5);
		opacity: 0;
	}
}

/* Loader two: Wave */
.loader.two {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	width: 110px;
}

.loader.two .dot {
	height: 30px;
	width: 30px;
	background: #FF0000;
	border-radius: 15px;
	animation: wave 2s infinite;
}

.loader.two .second.dot {
	animation-delay: 0.25s;
	background: #4DB1F7;
}

.loader.two .third.dot {
	animation-delay: 0.5s;
	background: #7DE76A;
}

@keyframes wave {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-20px);
	}
}

/* Loader three: Flip tile */
.loader.three .flip-tile {
	height: 100px;
	width: 100px;
	background: #F98527;
	animation: flip 2.6s infinite;
}

@keyframes flip {
	0% {
		transform: perspective(300px);
	}
	50% {
		transform: perspective(300px) rotateY(180deg);
	}
	100% {
		transform: perspective(300px) rotateY(180deg) rotateX(180deg);
	}
}

/* Loader four: Spin */
.loader.four {
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.loader.four .rings {
    position: relative;
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.loader.four .ring {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow: hidden;
    animation: spin 1s linear infinite, colorChange 2.2s infinite;
}

.loader.four .ring.two {
    width: 80px;
    height: 80px;
    animation: spin 2s linear infinite, colorChangeReverse 2.2s infinite;
    animation-delay: 0.2s;
}

.loader.four .ring.three {
    width: 60px;
    height: 60px;
    animation: spin 0.5s linear infinite, colorChange 2.2s infinite;
    animation-delay: 0.1s;
}

.loader.four .ring .mask {
    width: 93%;
    height: 93%;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #E5F1F7;
}

.loader.four .ring .arc-container {
    width: 80px;
    height: 100px;
    position: absolute;
    left: 10%;
    overflow: hidden;
    transform-origin: 50% 50%;
    animation: arcStretch 2s infinite;
}

.loader.four .ring .arc {
    width: 100%;
    height: 50%;
    position: absolute;
    background: #10D4C6; /* Add the blue color here */
    animation: colorChange 2.2s infinite;
}

/* Keyframe animations */
@keyframes spin {
    0% {
        transform: translate(-50%, -50%) rotate(0deg);
    }
    100% {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

@keyframes arcStretch {
    0% {
        transform: translate(-50%, -50%) scale(0.5);
    }
    100% {
        transform: translate(-50%, -50%) scale(1);
    }
}

@keyframes colorChange {
    0% {
        background: #10D4C6;
    }
    25% {
        background: #3068CD;
    }
    50% {
        background: #7910D4;
    }
    75% {
        background: #41EA97;
    }
    100% {
        background: #10D4C6;
    }
}

@keyframes colorChangeReverse {
    0% {
        background: #10D4C6;
    }
    25% {
        background: #41EA97;
    }
    50% {
        background: #7910D4;
    }
    75% {
        background: #3068CD;
    }
    100% {
        background: #10D4C6;
    }
}
