/* Custom Loader.CSS */
.loader-container{
	position: absolute;
	top:50%;
	left: 50%;
}

// Double Bounce 
.double-bounce {
	width: 40px;
	height: 40px;
	position: relative;
	margin: 40px auto; 
	.child {
		width: 100%;
		height: 100%;
		border-radius: 50%;
		background-color: #333;
		opacity: 0.6;
		position: absolute;
		top: 0;
		left: 0;
		animation: doubleBounce 2s infinite ease-in-out;
	}
	.double-bounce2 {
		animation-delay: -1.0s; 
	}
}

@-webkit-keyframes doubleBounce {
	0%, 100% {
		transform: scale(0); }
	50% {
		transform: scale(1); } }

@keyframes doubleBounce {
	0%, 100% {
		transform: scale(0); }
	50% {
		transform: scale(1); } }

// Chasing Dots
.chasing-dots {
	// margin: 40px auto;
	width: 40px;
	height: 40px;
	position: relative;
	text-align: center;
	animation: chasingDotsRotate 2s infinite linear; 
	.child {
		width: 60%;
		height: 60%;
		display: inline-block;
		position: absolute;
		top: 0;
		background-color: #333;
		border-radius: 100%;
		animation: chasingDotsBounce 2s infinite ease-in-out; 
	}
	.dot2 {
		top: auto;
		bottom: 0;
		animation-delay: -1s; 
	}
}

@-webkit-keyframes chasingDotsRotate {
	100% {
		transform: rotate(360deg); } }

@keyframes chasingDotsRotate {
	100% {
		transform: rotate(360deg); } }

@-webkit-keyframes chasingDotsBounce {
	0%, 100% {
		transform: scale(0); }
	50% {
		transform: scale(1); } }

@keyframes chasingDotsBounce {
	0%, 100% {
		transform: scale(0); }
	50% {
		transform: scale(1); } }

// Cube Grid
/*
 * Spinner positions
 * 1 2 3
 * 4 5 6
 * 7 8 9
 */
.cube-grid {
	width: 40px;
	height: 40px;
	margin: 40px auto;
	.cube {
		width: 33.33%;
		height: 33.33%;
		background-color: #333;
		float: left;
		animation: cubeGridScaleDelay 1.3s infinite ease-in-out; 
	}
	.cube1 {
		animation-delay: 0.2s; }
	.cube2 {
		animation-delay: 0.3s; }
	.cube3 {
		animation-delay: 0.4s; }
	.cube4 {
		animation-delay: 0.1s; }
	.cube5 {
		animation-delay: 0.2s; }
	.cube6 {
		animation-delay: 0.3s; }
	.cube7 {
		animation-delay: 0.0s; }
	.cube8 {
		animation-delay: 0.1s; }
	.cube9 {
		animation-delay: 0.2s; }
}

@-webkit-keyframes cubeGridScaleDelay {
	0%, 70%, 100% {
		transform: scale3D(1, 1, 1); }
	35% {
		transform: scale3D(0, 0, 1); } }

@keyframes cubeGridScaleDelay {
	0%, 70%, 100% {
		transform: scale3D(1, 1, 1); }
	35% {
		transform: scale3D(0, 0, 1); } }

// Fading Circle
.fading-circle {
	margin: 40px auto;
	width: 40px;
	height: 40px;
	position: relative; 
	.circle {
		width: 100%;
		height: 100%;
		position: absolute;
		left: 0;
		top: 0; 
		&:before {
			content: '';
			display: block;
			margin: 0 auto;
			width: 15%;
			height: 15%;
			background-color: #333;
			border-radius: 100%;
			animation: circleFadeDelay 1.2s infinite ease-in-out both; }
	}
	.circle2 {
		transform: rotate(30deg); 
		&:before {
			animation-delay: -1.1s; }
	}
	.circle3 {
		transform: rotate(60deg); 
		&:before {
			animation-delay: -1s; }
	}
	.circle4 {
		transform: rotate(90deg); 
		&:before {
			animation-delay: -0.9s; }
	}
	.circle5 {
		transform: rotate(120deg); 
		&:before {
			animation-delay: -0.8s; }
	}
	.circle6 {
		transform: rotate(150deg); 
		&:before {
			animation-delay: -0.7s; }
	}
	.circle7 {
		transform: rotate(180deg); 
		&:before {
			animation-delay: -0.6s; }
	}
	.circle8 {
		transform: rotate(210deg); 
		&:before {
			animation-delay: -0.5s; }
	}
	.circle9 {
		transform: rotate(240deg); 
		&:before {
			animation-delay: -0.4s; }
	}
	.circle10 {
		transform: rotate(270deg);
		&:before {
				animation-delay: -0.3s; }
	}
	.circle11 {
		transform: rotate(300deg); 
		&:before {
				animation-delay: -0.2s; }
	}
	.circle12 {
		transform: rotate(330deg);
		&:before {
				animation-delay: -0.1s; }
	}
}

@-webkit-keyframes circleFadeDelay {
	0%, 39%, 100% {
		opacity: 0; }
	40% {
		opacity: 1; } }

@keyframes circleFadeDelay {
	0%, 39%, 100% {
		opacity: 0; }
	40% {
		opacity: 1; } }

// Folding Cube
.folding-cube {
	// margin: 40px auto;
	width: 40px;
	height: 40px;
	position: relative;
	transform: rotateZ(45deg); 
	.cube {
		float: left;
		width: 50%;
		height: 50%;
		position: relative;
		transform: scale(1.1); 
		&:before {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background-color: #333;
			animation: foldCubeAngle 2.4s infinite linear both;
			transform-origin: 100% 100%; 
		}
	}
	.cube2 {
		transform: scale(1.1) rotateZ(90deg); 
		&:before {
			animation-delay: 0.3s; }
	}
	.cube3 {
		transform: scale(1.1) rotateZ(180deg); 
		&:before {
			animation-delay: 0.6s; }
	}
	.cube4 {
		transform: scale(1.1) rotateZ(270deg); 
		&:before {
			animation-delay: 0.9s; }
	}
}
@-webkit-keyframes foldCubeAngle {
	0%, 10% {
		transform: perspective(140px) rotateX(-180deg);
		opacity: 0; }
	25%, 75% {
		transform: perspective(140px) rotateX(0deg);
		opacity: 1; }
	90%, 100% {
		transform: perspective(140px) rotateY(180deg);
		opacity: 0; } }

@keyframes foldCubeAngle {
	0%, 10% {
		transform: perspective(140px) rotateX(-180deg);
		opacity: 0; }
	25%, 75% {
		transform: perspective(140px) rotateX(0deg);
		opacity: 1; }
	90%, 100% {
		transform: perspective(140px) rotateY(180deg);
		opacity: 0; } }