*
{
	margin:0;
	padding:0;
}
body{
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 100vh;
	background: #5a9995;
}
.loader{
	position: relative;
	width:500px;
	height:500px;
	transform-style: preserve-3d;
	transform: perspective(500px) rotateX(60deg);
}

.loader span{
	position: absolute;
	display: block;
	border: 5px solid  aqua;
	box-sizing: 0 5px 0 #ccc,
	           inset 0 5px 0 #ccc;
    box-sizing: border-box;
    border-radius: 50%;
    animation: animate 3s ease-in-out infinite;
}

@keyframes animate {
	0%,100%{
		transform: translateZ(-100px);
	}
	50%{
		transform: translateZ(100px);
	}
}
.loader span:nth-child(1)
{
	top: 0px;
	bottom: 0px;
	left: 0px;
	right:0px;
	animation-delay: 0s;
	filter: hue-rotate(20deg);
}
.loader span:nth-child(2)
{
	top: 0px;
	bottom: 10px;
	left: 10px;
	right:10px;
	animation-delay: 0.1s;
	filter: hue-rotate(40deg);
}
.loader span:nth-child(3)
{
	top: 0px;
	bottom: 20px;
	left: 20px;
	right:20px;
	animation-delay: 0.2s;
	filter: hue-rotate(60deg);
}
.loader span:nth-child(4)
{
	top: 30px;
	bottom: 30px;
	left: 30px;
	right:30px;
	animation-delay: 0.3s;
	filter: hue-rotate(80deg);
}
.loader span:nth-child(5)
{
	top: 40px;
	bottom: 40px;
	left: 40px;
	right:40px;
	animation-delay: 0.4s;
	filter: hue-rotate(100deg);
}
.loader span:nth-child(6)
{
	top: 50px;
	bottom: 50px;
	left: 50px;
	right:50px;
	animation-delay: 0.5s;
	filter: hue-rotate(120deg);
}
.loader span:nth-child(7)
{
	top: 60px;
	bottom: 60px;
	left: 60px;
	right:60px;
	animation-delay: 0.6s;
	filter: hue-rotate(140deg);
}
.loader span:nth-child(8)
{
	top: 70px;
	bottom: 70px;
	left: 70px;
	right:70px;
	animation-delay: 0.7s;
	filter: hue-rotate(160deg);
}
.loader span:nth-child(9)
{
	top: 80px;
	bottom: 80px;
	left: 80px;
	right:80px;
	animation-delay: 0.9s;
	filter: hue-rotate(180deg);
}
.loader span:nth-child(10)
{
	top: 90px;
	bottom: 90px;
	left: 90px;
	right:90px;
	animation-delay: 1s;
	filter: hue-rotate(200deg);
}
.loader span:nth-child(11)
{
	top: 100px;
	bottom: 100px;
	left: 100px;
	right:100px;
	animation-delay: 1.1s;
	filter: hue-rotate(220deg);
}
.loader span:nth-child(12)
{
	top: 110px;
	bottom: 110px;
	left: 110px;
	right:110px;
	animation-delay: 1.2s;
	filter: hue-rotate(240deg);
}
.loader span:nth-child(13)
{
	top: 120px;
	bottom: 120px;
	left: 120px;
	right:120px;
	animation-delay: 1.3s;
	filter: hue-rotate(260deg);
}
.loader span:nth-child(14)
{
	top: 130px;
	bottom: 130px;
	left: 130px;
	right:130px;
	animation-delay: 1.4s;
	filter: hue-rotate(280deg);
}
.loader span:nth-child(15)
{
	top: 140px;
	bottom: 140px;
	left: 140px;
	right:140px;
	animation-delay: 1.5s;
	filter: hue-rotate(300deg);
}