/**
 * Custom Style for Preloader
 *
 * @package StoreFlex Pro
 */

#storeflex-preloader {
	background: #fff none repeat scroll 0 0;
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 99999;
}

#storeflex-preloader .preloader-wrapper {
	left: 50%;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

/*--------------------------
	Usage: Wave
--------------------------*/
.storeflex-wave {
	margin: 40px auto;
	width: 50px;
	height: 40px;
	text-align: center;
	font-size: 10px;
}

.storeflex-wave .sf-rect {
	background-color: #04a8d0;
	height: 100%;
	width: 6px;
	display: inline-block;
	-webkit-animation: storeflex-waveStretchDelay 1.2s infinite ease-in-out;
	animation: storeflex-waveStretchDelay 1.2s infinite ease-in-out;
}

.storeflex-wave .sf-rect1 {
	-webkit-animation-delay: -1.2s;
	animation-delay: -1.2s;
}

.storeflex-wave .sf-rect2 {
	-webkit-animation-delay: -1.1s;
	animation-delay: -1.1s;
}

.storeflex-wave .sf-rect3 {
	-webkit-animation-delay: -1s;
	animation-delay: -1s;
}

.storeflex-wave .sf-rect4 {
	-webkit-animation-delay: -0.9s;
	animation-delay: -0.9s;
}

.storeflex-wave .sf-rect5 {
	-webkit-animation-delay: -0.8s;
	animation-delay: -0.8s;
}

@-webkit-keyframes storeflex-waveStretchDelay {
	0%, 40%, 100% {
		-webkit-transform: scaleY(0.4);
		transform: scaleY(0.4);
	}

	20% {
		-webkit-transform: scaleY(1);
		transform: scaleY(1);
	}

}

@keyframes storeflex-waveStretchDelay {
	0%, 40%, 100% {
		-webkit-transform: scaleY(0.4);
		transform: scaleY(0.4);
	}

	20% {
		-webkit-transform: scaleY(1);
		transform: scaleY(1);
	}

}

/*--------------------------
	Usage: Three Bounce
--------------------------*/
.storeflex-three-bounce {
	margin: 40px auto;
	width: 80px;
	text-align: center;
}

.storeflex-three-bounce .sf-child {
	width: 20px;
	height: 20px;
	background-color: #E53935;
	border-radius: 100%;
	display: inline-block;
	-webkit-animation: storeflex-three-bounce 1.4s ease-in-out 0s infinite both;
	animation: storeflex-three-bounce 1.4s ease-in-out 0s infinite both;
}

.storeflex-three-bounce .sf-bounce1 {
	-webkit-animation-delay: -0.32s;
	animation-delay: -0.32s;
}

.storeflex-three-bounce .sf-bounce2 {
	-webkit-animation-delay: -0.16s;
	animation-delay: -0.16s;
}

@-webkit-keyframes storeflex-three-bounce {
	0%, 80%, 100% {
		-webkit-transform: scale(0);
		transform: scale(0);
	}

	40% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}

}

@keyframes storeflex-three-bounce {
	0%, 80%, 100% {
		-webkit-transform: scale(0);
		transform: scale(0);
	}

	40% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}

}

/*--------------------------------
	Usage: Three Folding Cube
--------------------------------*/
.storeflex-folding-cube {
	margin: 40px auto;
	width: 40px;
	height: 40px;
	position: relative;
	-webkit-transform: rotateZ(45deg);
	transform: rotateZ(45deg);
}

.storeflex-folding-cube .sf-cube {
	float: left;
	width: 50%;
	height: 50%;
	position: relative;
	-webkit-transform: scale(1.1);
	-ms-transform: scale(1.1);
	transform: scale(1.1);
}

.storeflex-folding-cube .sf-cube:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #E53935;
	-webkit-animation: sf-foldCubeAngle 2.4s infinite linear both;
	animation: sf-foldCubeAngle 2.4s infinite linear both;
	-webkit-transform-origin: 100% 100%;
	-ms-transform-origin: 100% 100%;
	transform-origin: 100% 100%;
}

.storeflex-folding-cube .sf-cube2 {
	-webkit-transform: scale(1.1) rotateZ(90deg);
	transform: scale(1.1) rotateZ(90deg);
}

.storeflex-folding-cube .sf-cube3 {
	-webkit-transform: scale(1.1) rotateZ(180deg);
	transform: scale(1.1) rotateZ(180deg);
}

.storeflex-folding-cube .sf-cube4 {
	-webkit-transform: scale(1.1) rotateZ(270deg);
	transform: scale(1.1) rotateZ(270deg);
}

.storeflex-folding-cube .sf-cube2:before {
	-webkit-animation-delay: 0.3s;
	animation-delay: 0.3s;
}

.storeflex-folding-cube .sf-cube3:before {
	-webkit-animation-delay: 0.6s;
	animation-delay: 0.6s;
}

.storeflex-folding-cube .sf-cube4:before {
	-webkit-animation-delay: 0.9s;
	animation-delay: 0.9s;
}

@-webkit-keyframes sf-foldCubeAngle {
	0%, 10% {
		-webkit-transform: perspective(140px) rotateX(-180deg);
		transform: perspective(140px) rotateX(-180deg);
		opacity: 0;
	}

	25%, 75% {
		-webkit-transform: perspective(140px) rotateX(0deg);
		transform: perspective(140px) rotateX(0deg);
		opacity: 1;
	}

	90%, 100% {
		-webkit-transform: perspective(140px) rotateY(180deg);
		transform: perspective(140px) rotateY(180deg);
		opacity: 0;
	}

}

@keyframes sf-foldCubeAngle {
	0%, 10% {
		-webkit-transform: perspective(140px) rotateX(-180deg);
		transform: perspective(140px) rotateX(-180deg);
		opacity: 0;
	}

	25%, 75% {
		-webkit-transform: perspective(140px) rotateX(0deg);
		transform: perspective(140px) rotateX(0deg);
		opacity: 1;
	}

	90%, 100% {
		-webkit-transform: perspective(140px) rotateY(180deg);
		transform: perspective(140px) rotateY(180deg);
		opacity: 0;
	}

}


/*--------------------------
	Usage: Spinner
--------------------------*/
@keyframes storeflex-spinner {
	0% {
		opacity: 1
	}

	100% {
		opacity: 0
	}

}

.storeflex-spinner div {
	left: 0;
	top: 0;
	position: absolute;
	animation: storeflex-spinner linear 1s infinite;
	background: #333333;
	width: 7px;
	height: 16px;
	border-radius: 6px / 12px;
	transform-origin: 3px 30px;
}

.storeflex-spinner div:nth-child(1) {
	transform: rotate(0deg);
	animation-delay: -0.9166666666666666s;
	background-color: #333333;
}

.storeflex-spinner div:nth-child(2) {
	transform: rotate(30deg);
	animation-delay: -0.8333333333333334s;
	background-color: #333333;
}

.storeflex-spinner div:nth-child(3) {
	transform: rotate(60deg);
	animation-delay: -0.75s;
	background-color: #333333;
}

.storeflex-spinner div:nth-child(4) {
	transform: rotate(90deg);
	animation-delay: -0.6666666666666666s;
	background-color: #333333;
}

.storeflex-spinner div:nth-child(5) {
	transform: rotate(120deg);
	animation-delay: -0.5833333333333334s;
	background-color: #333333;
}

.storeflex-spinner div:nth-child(6) {
	transform: rotate(150deg);
	animation-delay: -0.5s;
	background-color: #333333;
}

.storeflex-spinner div:nth-child(7) {
	transform: rotate(180deg);
	animation-delay: -0.4166666666666667s;
	background-color: #333333;
}

.storeflex-spinner div:nth-child(8) {
	transform: rotate(210deg);
	animation-delay: -0.3333333333333333s;
	background-color: #333333;
}

.storeflex-spinner div:nth-child(9) {
	transform: rotate(240deg);
	animation-delay: -0.25s;
	background-color: #333333;
}

.storeflex-spinner div:nth-child(10) {
	transform: rotate(270deg);
	animation-delay: -0.16666666666666666s;
	background-color: #333333;
}

.storeflex-spinner div:nth-child(11) {
	transform: rotate(300deg);
	animation-delay: -0.08333333333333333s;
	background-color: #333333;
}

.storeflex-spinner div:nth-child(12) {
	transform: rotate(330deg);
	animation-delay: 0s;
	background-color: #333333;
}

/*--------------------------
	Usage: Rolling
--------------------------*/
@keyframes storeflex-rolling {
	0% {
		transform: translate(-50%, -50%) rotate(0deg);
	}

	100% {
		transform: translate(-50%, -50%) rotate(360deg);
	}

}

.storeflex-rolling div {
	position: absolute;
	width: 60px;
	height: 60px;
	border: 10px solid #333;
	border-top-color: transparent !important;
	border-radius: 50%;
}

.storeflex-rolling div {
	animation: storeflex-rolling 1s linear infinite;
}

/*--------------------------
	Usage: Reload
--------------------------*/
@keyframes storeflex-reload {
	0% {
		transform: rotate(0)
	}

	100% {
		transform: rotate(360deg);
	}

}

.storeflex-reload {
	transform: scale(0.7);
	position: absolute;
	left: -35px;
	top: -35px;
}

.storeflex-reload>div {
	animation: storeflex-reload 1s infinite linear;
	transform-origin: 50px 50px;
}

.storeflex-reload>div div {
	position: absolute;
}

.storeflex-reload>div div:nth-child(1), .storeflex-reload>div div:nth-child(2) {
	width: 82px;
	height: 82px;
	border: 12px solid;
	border-radius: 50%;
	border-color: transparent #333333 #333333 #333333;
	border-top-color: transparent !important;
	box-sizing: border-box;
	position: absolute;
	transform: rotate(45deg);
	transform-origin: 50px 50px;
}

.storeflex-reload>div div:nth-child(1) {
	transform: rotate(45deg) translate(9px, 9px);
}

.storeflex-reload>div div:nth-child(2) {
	transform: rotate(0deg) translate(9px, 9px);
}

.storeflex-reload>div div:nth-child(3) {
	width: 0;
	height: 0;
	border: 12px solid;
	border-color: transparent transparent transparent #333333;
	border-left-color: #333333;
	transform: translate(50px, 3px);
}

/*--------------------------
	Usage: Ripple
--------------------------*/
@keyframes storeflex-ripple {
	0% {
		top: 48px;
		left: 48px;
		width: 0;
		height: 0;
		opacity: 1;
	}

	100% {
		top: 9px;
		left: 9px;
		width: 78px;
		height: 78px;
		opacity: 0;
	}

}

.storeflex-ripple {
	transform: scale(0.7);
}

.storeflex-ripple div {
	position: absolute;
	border-width: 3px;
	border-style: solid;
	opacity: 1;
	border-radius: 50%;
	animation: storeflex-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}

.storeflex-ripple div:nth-child(1) {
	border-color: #333333;
	animation-delay: 0s;
}

.storeflex-ripple div:nth-child(2) {
	border-color: #212121;
	animation-delay: -0.5s;
}

/*--------------------------
	Usage: Cube
--------------------------*/
@keyframes storeflex-cube {
	0% {
		transform: scale(1.1500000000000001)
	}

	100% {
		transform: scale(1)
	}

}

.storeflex-cube {
	position: absolute;
	left: -26px;
	top: -26px;
	transform: scale(0.8);
}

.storeflex-cube div {
	position: absolute;
	width: 30px;
	height: 30px;
	top: 0;
	left: 0;
	background-color: #333333;
	animation: storeflex-cube 1s cubic-bezier(0, 0.5, 0.5, 1) infinite;
	animation-delay: -0.3s;
}

.storeflex-cube div:nth-child(2) {
	top: 0;
	left: 35px;
	background-color: #333333;
	animation-delay: -0.2s;
	opacity: 0.9;
}

.storeflex-cube div:nth-child(3) {
	top: 34px;
	left: 0;
	background-color: #333333;
	animation-delay: 0s;
}

.storeflex-cube div:nth-child(4) {
	top: 34px;
	left: 35px;
	background-color: #333333;
	animation-delay: -0.1s;
	opacity: 0.9;
}

/*--------------------------
	Usage: Block
--------------------------*/
@keyframes storeflex-block {
	0% {
		background-color: #212121;
	}

	12.5% {
		background-color: #212121;
	}

	12.625% {
		background-color: #212121;
		opacity:0.8;
	}

	100% {
		background-color: #212121;
		opacity:0.8;
	}

}

.preloader-background .storeflex-block {
	position: absolute;
	transform: scale(0.5);
	left: -50px;
	top: -50px;
}

.preloader-background .storeflex-block div {
	position: absolute;
	width: 40px;
	height: 40px;
	background-color: #333333;
	animation: storeflex-block 1s linear infinite;
}

/*--------------------------
	Usage: Dual Ball
--------------------------*/
@keyframes storeflex-dual-ball-o {
	0% {
		opacity: 1;
		transform: translate(0 0)
	}

	49.99% {
		opacity: 1;
		transform: translate(40px, 0)
	}

	50% {
		opacity: 0;
		transform: translate(40px, 0)
	}

	100% {
		opacity: 0;
		transform: translate(0, 0)
	}

}

@keyframes storeflex-duall-ball-1 {
	0% {
		transform: translate(0, 0)
	}

	50% {
		transform: translate(40px, 0)
	}

	100% {
		transform: translate(0, 0)
	}

}

.storeflex-dual-ball {
	transform: scale(0.6);
	position: absolute;
	left: -30px;
	top: -30px;
}

.storeflex-dual-ball div {
	position: absolute;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	top: 30px;
	left: 10px;
}

.storeflex-dual-ball div:nth-child(1) {
	background-color: #333333;
	animation: storeflex-dual-ball-1 1s linear infinite;
	animation-delay: -0.5s;
	opacity: 0.5;
}

.storeflex-dual-ball div:nth-child(2) {
	background-color: #333333;
	animation: storeflex-dual-ball-1 1s linear infinite;
	animation-delay: 0s;
	opacity: 0.5;
}

.storeflex-dual-ball div:nth-child(3) {
	background-color: #333333;
	animation: storeflex-dual-ball-o 1s linear infinite;
	animation-delay: -0.5s;
	opacity: 0.8;
}

/*--------------------------
	Usage: Disk
--------------------------*/
@keyframes storeflex-disk {
	0% {
		transform: rotate(0deg)
	}

	100% {
		transform: rotate(360deg)
	}

}

.storeflex-disk {
	position: absolute;
	left: -35px;
	top: -35px;
	transform: scale(0.7);
}

.storeflex-disk>div>div {
	position: absolute;
	border-radius: 50%;
}

.storeflex-disk>div>div:nth-child(1) {
	top: 15px;
	left: 15px;
	width: 70px;
	height: 70px;
	background-color: #333333;
}

.storeflex-disk>div>div:nth-child(2) {
	top: 19.900000000000002px;
	left: 39.5px;
	width: 21px;
	height: 21px;
	background: #ffffff;
	animation: storeflex-disk 1s linear infinite;
	transform-origin: 10.5px 30.099999999999998px;
}

/*--------------------------
	Usage: Ball
--------------------------*/
@keyframes storeflex-ball {
	0%, 100% {
		animation-timing-function: cubic-bezier(0.45, 0, 0.9, 0.55)
	}

	0% {
		transform: translate(0, 0)
	}

	50% {
		transform: translate(0, 50px);
		animation-timing-function: cubic-bezier(0, 0.45, 0.55, 0.9);
	}

	100% {
		transform: translate(0, 0);
	}

}

#preloader-background .storeflex-ball {
	left: -50px;
	position: absolute;
	top: -50px;
}

.storeflex-ball div {
	position: absolute;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background-color: #333333;
	left: -15px;
	top: -25px;
	animation: storeflex-ball 1s linear infinite;
}

/*--------------------------
	Usage: Radio
--------------------------*/
@keyframes storeflex-radio {
	0% {
		opacity: 0
	}

	20% {
		opacity: 1
	}

	100% {
		opacity: 1
	}

}

.storeflex-radio {
	left: -30px;
	position: absolute;
	top: -40px;
	transform: scale(0.7);
}

.storeflex-radio div {
	position: absolute;
	animation: storeflex-radio 1s linear infinite;
	box-sizing: border-box !important;
}

.storeflex-radio div:nth-child(1) {
	width: 22px;
	height: 22px;
	left: 17px;
	top: 64px;
	border-radius: 50%;
	background-color: #212121;
}

.storeflex-radio div:nth-child(2) {
	width: 33px;
	height: 33px;
	left: 28px;
	top: 42px;
	border-radius: 0 33px 0 0;
	border: 10px solid #212121;
	background: none;
	animation-delay: 0.1s;
	border-bottom: 0;
	border-left: 0;
	opacity: 0.8;
}

.storeflex-radio div:nth-child(3) {
	width: 55px;
	height: 55px;
	left: 28px;
	top: 20px;
	border-radius: 0 55px 0 0;
	border: 10px solid #212121;
	background: none;
	animation-delay: 0.2s;
	border-bottom: 0;
	border-left: 0;
	opacity: 0.5;
}

/*--------------------------
	Usage: Bean Eater
--------------------------*/
@keyframes storeflex-bean-eater-1 {
	0% {
		transform: rotate(0deg)
	}

	50% {
		transform: rotate(-45deg)
	}

	100% {
		transform: rotate(0deg)
	}

}

@keyframes storeflex-bean-eater-2 {
	0% {
		transform: rotate(180deg)
	}

	50% {
		transform: rotate(225deg)
	}

	100% {
		transform: rotate(180deg)
	}

}

.storeflex-bean-eater {
	position: absolute;
	left: -25px;
	top: -40px;
	transform: scale(0.8);
}

.storeflex-bean-eater>div:nth-child(2) {
	transform: translate(-15px, 0);
}

.storeflex-bean-eater>div:nth-child(2) div {
	position: absolute;
	top: 20px;
	left: 20px;
	width: 60px;
	height: 30px;
	border-radius: 60px 60px 0 0;
	background-color: #212121;
	animation: storeflex-bean-eater-1 1s linear infinite;
	transform-origin: 30px 30px
}

.storeflex-bean-eater>div:nth-child(2) div:nth-child(2) {
	animation: storeflex-bean-eater-2 1s linear infinite
}

.storeflex-bean-eater>div:nth-child(2) div:nth-child(3) {
	transform: rotate(-90deg);
	animation: none;
}

@keyframes storeflex-bean-eater-3 {
	0% {
		transform: translate(95px, 0);
		opacity: 0
	}

	20% {
		opacity: 1
	}

	100% {
		transform: translate(35px, 0);
		opacity: 1
	}

}

.storeflex-bean-eater>div:nth-child(1) {
	display: block;
}

.storeflex-bean-eater>div:nth-child(1) div {
	position: absolute;
	top: 46px;
	left: -4px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #666666;
	animation: storeflex-bean-eater-3 1s linear infinite
}

.storeflex-bean-eater>div:nth-child(1) div:nth-child(1) {
	animation-delay: -0.67s
}

.storeflex-bean-eater>div:nth-child(1) div:nth-child(2) {
	animation-delay: -0.33s
}

.storeflex-bean-eater>div:nth-child(1) div:nth-child(3) {
	animation-delay: 0s
}

/*--------------------------
	Usage: Double Ring
--------------------------*/
@keyframes storeflex-double-ring {
	0% {
		transform: rotate(0)
	}

	100% {
		transform: rotate(360deg)
	}

}

.storeflex-double-ring {
	transform: scale(0.7);
	position: absolute;
	left: -35px;
	top: -35px;
}

.storeflex-double-ring div {
	box-sizing: border-box !important
}

.storeflex-double-ring>div {
	position: absolute;
	width: 72px;
	height: 72px;
	top: 14px;
	left: 14px;
	border-radius: 50%;
	border: 8px solid;
	border-color: #212121 transparent #212121 transparent;
	animation: storeflex-double-ring 1s linear infinite;
}

.storeflex-double-ring>div:nth-child(2), .storeflex-double-ring>div:nth-child(4) {
	width: 54px;
	height: 54px;
	top: 23px;
	left: 23px;
	animation: storeflex-double-ring 1s linear infinite reverse;
}

.storeflex-double-ring>div:nth-child(2) {
	border-color: transparent #666666 transparent #666666;
}

.storeflex-double-ring>div:nth-child(3) {
	border-color: transparent
}

.storeflex-double-ring>div:nth-child(3) div {
	position: absolute;
	width: 100%;
	height: 100%;
	transform: rotate(45deg);
}

.storeflex-double-ring>div:nth-child(3) div:before, .storeflex-double-ring>div:nth-child(3) div:after {
	content: "";
	display: block;
	position: absolute;
	width: 8px;
	height: 8px;
	top: -8px;
	left: 24px;
	background-color: #212121;
	border-radius: 50%;
	box-shadow: 0 64px 0 0 #212121;
}

.storeflex-double-ring>div:nth-child(3) div:after {
	left: -8px;
	top: 24px;
	box-shadow: 64px 0 0 0 #212121;
}

.storeflex-double-ring>div:nth-child(4) {
	border-color: transparent;
}

.storeflex-double-ring>div:nth-child(4) div {
	position: absolute;
	width: 100%;
	height: 100%;
	transform: rotate(45deg);
}

.storeflex-double-ring>div:nth-child(4) div:before, .storeflex-double-ring>div:nth-child(4) div:after {
	content: "";
	display: block;
	position: absolute;
	width: 8px;
	height: 8px;
	top: -8px;
	left: 15px;
	background-color: #666666;
	border-radius: 50%;
	box-shadow: 0 46px 0 0 #666666;
}

.storeflex-double-ring>div:nth-child(4) div:after {
	left: -8px;
	top: 15px;
	box-shadow: 46px 0 0 0 #666666;
}
