.loader {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	display: inline-block;
	position: relative;
	border: 3px solid;
	border-color: #FFF #FFF transparent;
	box-sizing: border-box;
	animation: rotation 1s linear infinite;
	margin-left: 5px;
}

.loader::after {
	content: '';  
	box-sizing: border-box;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	border: 3px solid;
	border-color: transparent #43454a #43454a;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	animation: rotationBack 0.5s linear infinite;
	transform-origin: center center;
}

@media screen and (max-width: 600px) {
	.loader {
		width: 18px;
		height: 18px;
	}
	.loader::after {
		width: 8px;
		height: 8px;
	}
}

@keyframes rotation {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
} 
    
@keyframes rotationBack {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(-360deg);
	}
}

.fancyLoader {
	animation: rotate 1s infinite;
	height: 50px;
	width: 50px;
}

.fancyLoader:before, .fancyLoader:after {
	border-radius: 50%;
	content: "";
	display: block;
	height: 20px;
	width: 20px;
}

.fancyLoader:before {
	animation: ball1 1s infinite;
	background-color: #fff;
	box-shadow: 30px 0 0 #ff3d00;
	margin-bottom: 10px;
}

.fancyLoader:after {
	animation: ball2 1s infinite;
	background-color: #ff3d00;
	box-shadow: 30px 0 0 #fff;
}

@keyframes rotate {
	0% { transform: rotate(0deg) scale(0.8) }
	50% { transform: rotate(360deg) scale(1.2) }
	100% { transform: rotate(720deg) scale(0.8) }
}

@keyframes ball1 {
	0% {
		box-shadow: 30px 0 0 #ff3d00;
    }
	50% {
		box-shadow: 0 0 0 #ff3d00;
		margin-bottom: 0;
		transform: translate(15px, 15px);
	}
	100% {
		box-shadow: 30px 0 0 #ff3d00;
		margin-bottom: 10px;
	}
}

@keyframes ball2 {
	0% {
		box-shadow: 30px 0 0 #fff;
	}
	50% {
		box-shadow: 0 0 0 #fff;
		margin-top: -20px;
		transform: translate(15px, 15px);
	}
	100% {
		box-shadow: 30px 0 0 #fff;
		margin-top: 0;
	}
}
