
/***************  Pre-Load Element ******************/
.lds-spinner {
	color: official;
	display: inline-block;
	position: relative;
	width: 64px;
	height: 64px;
}

.lds-spinner div {
	transform-origin: 32px 32px;
	animation: lds-spinner 1.2s linear infinite;
}

.lds-spinner div:after {
	content: " ";
	display: block;
	position: absolute;
	top: 3px;
	left: 29px;
	width: 5px;
	height: 14px;
	border-radius: 20%;
}

.lds-spinner div:nth-child(1) {
	transform: rotate(0deg);
	animation-delay: -1.1s;
}

.lds-spinner div:nth-child(2) {
	transform: rotate(30deg);
	animation-delay: -1s;
}

.lds-spinner div:nth-child(3) {
	transform: rotate(60deg);
	animation-delay: -.9s;
}

.lds-spinner div:nth-child(4) {
	transform: rotate(90deg);
	animation-delay: -.8s;
}

.lds-spinner div:nth-child(5) {
	transform: rotate(120deg);
	animation-delay: -.7s;
}

.lds-spinner div:nth-child(6) {
	transform: rotate(150deg);
	animation-delay: -.6s;
}

.lds-spinner div:nth-child(7) {
	transform: rotate(180deg);
	animation-delay: -.5s;
}

.lds-spinner div:nth-child(8) {
	transform: rotate(210deg);
	animation-delay: -.4s;
}

.lds-spinner div:nth-child(9) {
	transform: rotate(240deg);
	animation-delay: -.3s;
}

.lds-spinner div:nth-child(10) {
	transform: rotate(270deg);
	animation-delay: -.2s;
}

.lds-spinner div:nth-child(11) {
	transform: rotate(300deg);
	animation-delay: -.1s;
}

.lds-spinner div:nth-child(12) {
	transform: rotate(330deg);
	animation-delay: 0s;
}

@keyframes lds-spinner {
	0% {
		opacity: 1;
	}
	
	100% {
		opacity: 0;
	}
}

.lds-ripple {
	display: inline-block;
	position: relative;
	width: 64px;
	height: 64px;
}

.lds-ripple div {
	position: absolute;
	opacity: 1;
	border-radius: 50%;
	animation: lds-ripple 1s cubic-bezier(0, .2, .8, 1) infinite;
}

.lds-ripple div:nth-child(2) {
	animation-delay: -.5s;
}

@keyframes lds-ripple {
	0% {
		top: 28px;
		left: 28px;
		width: 0;
		height: 0;
		opacity: 1;
	}
	
	100% {
		top: -1px;
		left: -1px;
		width: 58px;
		height: 58px;
		opacity: 0;
	}
}

.lds-hourglass {
	display: inline-block;
	position: relative;
	width: 64px;
	height: 64px;
}

.lds-hourglass:after {
	content: " ";
	display: block;
	border-radius: 50%;
	width: 0;
	height: 0;
	margin: 6px;
	box-sizing: border-box;
	animation: lds-hourglass 1.2s infinite;
}

@keyframes lds-hourglass {
	0% {
		transform: rotate(0);
		animation-timing-function: cubic-bezier(.55, .055, .675, .19);
	}
	
	50% {
		transform: rotate(900deg);
		animation-timing-function: cubic-bezier(.215, .61, .355, 1);
	}
	
	100% {
		transform: rotate(1800deg);
	}
}

.lds-grid {
	display: inline-block;
	position: relative;
	width: 64px;
	height: 64px;
}

.lds-grid div {
	position: absolute;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	animation: lds-grid 1.2s linear infinite;
}

.lds-grid div:nth-child(1) {
	top: 6px;
	left: 6px;
	animation-delay: 0s;
}

.lds-grid div:nth-child(2) {
	top: 6px;
	left: 26px;
	animation-delay: -.4s;
}

.lds-grid div:nth-child(3) {
	top: 6px;
	left: 45px;
	animation-delay: -.8s;
}

.lds-grid div:nth-child(4) {
	top: 26px;
	left: 6px;
	animation-delay: -.4s;
}

.lds-grid div:nth-child(5) {
	top: 26px;
	left: 26px;
	animation-delay: -.8s;
}

.lds-grid div:nth-child(6) {
	top: 26px;
	left: 45px;
	animation-delay: -1.2s;
}

.lds-grid div:nth-child(7) {
	top: 45px;
	left: 6px;
	animation-delay: -.8s;
}

.lds-grid div:nth-child(8) {
	top: 45px;
	left: 26px;
	animation-delay: -1.2s;
}

.lds-grid div:nth-child(9) {
	top: 45px;
	left: 45px;
	animation-delay: -1.6s;
}

@keyframes lds-grid {
	0%, 100% {
		opacity: 1;
	}
	
	50% {
		opacity: .5;
	}
}

.lds-ellipsis {
	display: inline-block;
	position: relative;
	width: 64px;
	height: 64px;
}

.lds-ellipsis div {
	position: absolute;
	top: 27px;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	animation-timing-function: cubic-bezier(0, 1, 1, 0);
}

.lds-ellipsis div:nth-child(1) {
	left: 6px;
	animation: lds-ellipsis1 .6s infinite;
}

.lds-ellipsis div:nth-child(2) {
	left: 6px;
	animation: lds-ellipsis2 .6s infinite;
}

.lds-ellipsis div:nth-child(3) {
	left: 26px;
	animation: lds-ellipsis2 .6s infinite;
}

.lds-ellipsis div:nth-child(4) {
	left: 45px;
	animation: lds-ellipsis3 .6s infinite;
}

@keyframes lds-ellipsis1 {
	0% {
		transform: scale(0);
	}
	
	100% {
		transform: scale(1);
	}
}

@keyframes lds-ellipsis3 {
	0% {
		transform: scale(1);
	}
	
	100% {
		transform: scale(0);
	}
}

@keyframes lds-ellipsis2 {
	0% {
		transform: translate(0, 0);
	}
	
	100% {
		transform: translate(19px, 0);
	}
}

.lds-default {
	display: inline-block;
	position: relative;
	width: 64px;
	height: 64px;
}

.lds-default div {
	position: absolute;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	animation: lds-default 1.2s linear infinite;
}

.lds-default div:nth-child(1) {
	animation-delay: 0s;
	top: 29px;
	left: 53px;
}

.lds-default div:nth-child(2) {
	animation-delay: -.1s;
	top: 18px;
	left: 50px;
}

.lds-default div:nth-child(3) {
	animation-delay: -.2s;
	top: 9px;
	left: 41px;
}

.lds-default div:nth-child(4) {
	animation-delay: -.3s;
	top: 6px;
	left: 29px;
}

.lds-default div:nth-child(5) {
	animation-delay: -.4s;
	top: 9px;
	left: 18px;
}

.lds-default div:nth-child(6) {
	animation-delay: -.5s;
	top: 18px;
	left: 9px;
}

.lds-default div:nth-child(7) {
	animation-delay: -.6s;
	top: 29px;
	left: 6px;
}

.lds-default div:nth-child(8) {
	animation-delay: -.7s;
	top: 41px;
	left: 9px;
}

.lds-default div:nth-child(9) {
	animation-delay: -.8s;
	top: 50px;
	left: 18px;
}

.lds-default div:nth-child(10) {
	animation-delay: -.9s;
	top: 53px;
	left: 29px;
}

.lds-default div:nth-child(11) {
	animation-delay: -1s;
	top: 50px;
	left: 41px;
}

.lds-default div:nth-child(12) {
	animation-delay: -1.1s;
	top: 41px;
	left: 50px;
}

@keyframes lds-default {
	0%, 20%, 80%, 100% {
		transform: scale(1);
	}
	
	50% {
		transform: scale(1.5);
	}
}

.lds-roller {
	display: inline-block;
	position: relative;
	width: 64px;
	height: 64px;
}

.lds-roller div {
	animation: lds-roller 1.2s cubic-bezier(.5, 0, .5, 1) infinite;
	transform-origin: 32px 32px;
}

.lds-roller div:after {
	content: " ";
	display: block;
	position: absolute;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	margin: -3px 0 0 -3px;
}

.lds-roller div:nth-child(1) {
	animation-delay: -.036s;
}

.lds-roller div:nth-child(1):after {
	top: 50px;
	left: 50px;
}

.lds-roller div:nth-child(2) {
	animation-delay: -.072s;
}

.lds-roller div:nth-child(2):after {
	top: 54px;
	left: 45px;
}

.lds-roller div:nth-child(3) {
	animation-delay: -.108s;
}

.lds-roller div:nth-child(3):after {
	top: 57px;
	left: 39px;
}

.lds-roller div:nth-child(4) {
	animation-delay: -.144s;
}

.lds-roller div:nth-child(4):after {
	top: 58px;
	left: 32px;
}

.lds-roller div:nth-child(5) {
	animation-delay: -.18s;
}

.lds-roller div:nth-child(5):after {
	top: 57px;
	left: 25px;
}

.lds-roller div:nth-child(6) {
	animation-delay: -.216s;
}

.lds-roller div:nth-child(6):after {
	top: 54px;
	left: 19px;
}

.lds-roller div:nth-child(7) {
	animation-delay: -.252s;
}

.lds-roller div:nth-child(7):after {
	top: 50px;
	left: 14px;
}

.lds-roller div:nth-child(8) {
	animation-delay: -.288s;
}

.lds-roller div:nth-child(8):after {
	top: 45px;
	left: 10px;
}

@keyframes lds-roller {
	0% {
		transform: rotate(0deg);
	}
	
	100% {
		transform: rotate(360deg);
	}
}

.lds-ring {
	display: inline-block;
	position: relative;
	width: 64px;
	height: 64px;
}

.lds-ring div {
	box-sizing: border-box;
	display: block;
	position: absolute;
	width: 51px;
	height: 51px;
	margin: 6px;
	border-radius: 50%;
	animation: lds-ring 1.2s cubic-bezier(.5, 0, .5, 1) infinite;
}

.lds-ring div:nth-child(1) {
	animation-delay: -.45s;
}

.lds-ring div:nth-child(2) {
	animation-delay: -.3s;
}

.lds-ring div:nth-child(3) {
	animation-delay: -.15s;
}

@keyframes lds-ring {
	0% {
		transform: rotate(0deg);
	}
	
	100% {
		transform: rotate(360deg);
	}
}

.lds-heart {
	display: inline-block;
	position: relative;
	width: 64px;
	height: 64px;
	transform: rotate(45deg);
	transform-origin: 32px 32px;
}

.lds-heart div {
	top: 23px;
	left: 19px;
	position: absolute;
	width: 26px;
	height: 26px;
	animation: lds-heart 1.2s infinite cubic-bezier(.215, .61, .355, 1);
}

.lds-heart div:after, .lds-heart div:before {
	content: " ";
	position: absolute;
	display: block;
	width: 26px;
	height: 26px;
}

.lds-heart div:before {
	left: -17px;
	border-radius: 50% 0 0 50%;
}

.lds-heart div:after {
	top: -17px;
	border-radius: 50% 50% 0 0;
}

@keyframes lds-heart {
	0% {
		transform: scale(.95);
	}
	
	5% {
		transform: scale(1.1);
	}
	
	39% {
		transform: scale(.85);
	}
	
	45% {
		transform: scale(1);
	}
	
	60% {
		transform: scale(.95);
	}
	
	100% {
		transform: scale(.9);
	}
}

.lds-facebook {
	display: inline-block;
	position: relative;
	width: 64px;
	height: 64px;
}

.lds-facebook div {
	display: inline-block;
	position: absolute;
	left: 6px;
	width: 13px;
	animation: lds-facebook 1.2s cubic-bezier(0, .5, .5, 1) infinite;
}

.lds-facebook div:nth-child(1) {
	left: 6px;
	animation-delay: -.24s;
}

.lds-facebook div:nth-child(2) {
	left: 26px;
	animation-delay: -.12s;
}

.lds-facebook div:nth-child(3) {
	left: 45px;
	animation-delay: 0;
}

@keyframes lds-facebook {
	0% {
		top: 6px;
		height: 51px;
	}
	
	50%, 100% {
		top: 19px;
		height: 26px;
	}
}

.lds-dual-ring {
	display: inline-block;
	width: 64px;
	height: 64px;
}

.lds-dual-ring:after {
	content: " ";
	display: block;
	width: 46px;
	height: 46px;
	margin: 1px;
	border-radius: 50%;
	animation: lds-dual-ring 1.2s linear infinite;
}

@keyframes lds-dual-ring {
	0% {
		transform: rotate(0deg);
	}
	
	100% {
		transform: rotate(360deg);
	}
}

.lds-circle {
	display: inline-block;
	width: 51px;
	height: 51px;
	margin: 6px;
	border-radius: 50%;
	animation: lds-circle 2.4s cubic-bezier(0, .2, .8, 1) infinite;
}

@keyframes lds-circle {
	0%, 100% {
		animation-timing-function: cubic-bezier(.5, 0, 1, .5);
	}
	
	0% {
		transform: rotateY(0deg);
	}
	
	50% {
		transform: rotateY(1800deg);
		animation-timing-function: cubic-bezier(0, .5, .5, 1);
	}
	
	100% {
		transform: rotateY(3600deg);
	}
}

.double-bounce1, .double-bounce2 {
	width: 100px;
	height: 100px;
	border-radius: 50%;
	opacity: .6;
	position: absolute;
	-webkit-animation: sk-bounce 2s infinite ease-in-out;
	animation: sk-bounce 2s infinite ease-in-out;
}

.double-bounce2 {
	-webkit-animation-delay: -1s;
	animation-delay: -1s;
}

@-webkit-keyframes sk-bounce {
	0%, 100% {
		-webkit-transform: scale(0);
	}
	
	50% {
		-webkit-transform: scale(1);
	}
}

@keyframes sk-bounce {
	0%, 100% {
		transform: scale(0);
		-webkit-transform: scale(0);
	}
	
	50% {
		transform: scale(1);
		-webkit-transform: scale(1);
	}
}

.dh-spinner {
	height: 300px;
	width: 300px;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

[id^="preloader"] {
	position: fixed;
	z-index: 1000002;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden !important;
}

#preloader {
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
}

#preloader1, #preloader3 {
	left: 0px;
	top: 0px;
}

#preloader2, #preloader4 {
	right: 0px;
	bottom: 0px;
}

[id^="preloader"].hidden {
	max-height: 0px !important;
	max-width: 0px !important;
	opacity: 0;
}

[id^="preloader"].in {
	opacity: 1 !important;
}

#preloader.slide-down.out, #preloader.slide-up.in {
	bottom: 0 !important;
	top: unset !important;
}

#preloader.slide-right.out, #preloader.slide-left.in {
	top: 0;
	right: 0 !important;
	left: unset !important;
}

#preloader.slide-right.in, #preloader.slide-left.out {
	top: 0;
	left: 0 !important;
	right: unset !important;
}

#preloader.slide-left, #preloader.slide-right {
	height: 100vh !important;
}

#preloader.fade-out.out {
	top: 0 !important;
	opacity: 0;
}

#preloader.fade-in.in {
	top: 0 !important;
	opacity: 1;
}

#preloader1.horizontal-split, #preloader1.vertical-split, #preloader3.horizontal-split, #preloader3.vertical-split {
	top: 0;
	left: 0;
}

#preloader2.horizontal-split, #preloader4.horizontal-split {
	top: 0;
	right: 0;
}

#preloader2.vertical-split, #preloader4.vertical-split {
	bottom: 0;
	right: 0;
}

#preloader1.vertical-split .dh-spinner, #preloader3.vertical-split .dh-spinner {
	align-self: flex-end;
	-webkit-transform: translateY(50%);
	-moz-transform: translateY(50%);
	-ms-transform: translateY(50%);
	-o-transform: translateY(50%);
	transform: translateY(50%);
}

#preloader2.vertical-split .dh-spinner, #preloader4.vertical-split .dh-spinner {
	align-self: flex-start;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
}

#preloader1.horizontal-split, #preloader3.horizontal-split {
	justify-content: flex-end;
}

#preloader1.horizontal-split .dh-spinner, #preloader3.horizontal-split .dh-spinner {
	-webkit-transform: translateX(50%);
	-moz-transform: translateX(50%);
	-ms-transform: translateX(50%);
	-o-transform: translateX(50%);
	transform: translateX(50%);
}

#preloader2.horizontal-split, #preloader4.horizontal-split {
	justify-content: flex-start;
}

#preloader2.horizontal-split .dh-spinner, #preloader4.horizontal-split .dh-spinner {
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
}

.vertical-split.in {
	height: 50vh !important;
	max-height: 50vh !important;
}

.vertical-split.out {
	height: 50vh;
	max-height: 50vh !important;
}

#preloader1.vertical-split:before, #preloader3.vertical-split:before {
	top: 0;
	left: 0;
}

#preloader2.vertical-split:before, #preloader4.vertical-split:before {
	top: 50%;
	left: 0;
}

#preloader1.horizontal-split:before, #preloader3.horizontal-split:before {
	top: 0;
	left: 0;
}

#preloader1 + #preloader:not(.in):not(.out), #preloader2 + #preloader:not(.in):not(.out), #preloader3 + #preloader:not(.in):not(.out), #preloader4 + #preloader:not(.in):not(.out) {
	max-width: 0;
	max-height: 0;
}

#preloader1 + #preloader.slide-left, #preloader2 + #preloader.slide-left, #preloader1 + #preloader.slide-right, #preloader2 + #preloader.slide-right, #preloader3 + #preloader.slide-left, #preloader4 + #preloader.slide-left, #preloader3 + #preloader.slide-right, #preloader4 + #preloader.slide-right {
	max-width: 0;
	width: 0;
}

#preloader1 + #preloader.slide-up, #preloader2 + #preloader.slide-up, #preloader1 + #preloader.slide-down, #preloader2 + #preloader.slide-down, #preloader3 + #preloader.slide-up, #preloader4 + #preloader.slide-up, #preloader3 + #preloader.slide-down, #preloader4 + #preloader.slide-down {
	max-height: 0;
	height: 0;
}

@media only screen and (min-width:981px) {
	#preloader.slide-up, #preloader.slide-down, #preloader.fade-in, #preloader.fade-out {
		width: calc(100vw - ( 100vw - 100% )) !important;
	}
	
	#preloader1.horizontal-split, #preloader3.horizontal-split {
		right: unset !important;
		left: 0 !important;
		height: 100vh;
		width: calc(50vw - ( 50vw - 50% ));
	}
	
	#preloader2.horizontal-split, #preloader4.horizontal-split {
		left: unset !important;
		right: 0 !important;
		height: 100vh;
		width: calc(50vw - ( 50vw - 50% ));
	}
	
	#preloader1.vertical-split, #preloader3.vertical-split {
		bottom: unset !important;
		top: 0 !important;
		width: calc(100vw - ( 100vw - 100% ));
		height: 100vh;
		max-height: 50vh;
	}
	
	#preloader2.vertical-split, #preloader4.vertical-split {
		top: unset !important;
		bottom: 0 !important;
		width: calc(100vw - ( 100vw - 100% ));
		height: 100vh;
		max-height: 50vh;
	}
	
	.horizontal-split.in {
		width: calc(50vw - ( 50vw - 50% )) !important;
		max-width: calc(50vw - ( 50vw - 50% )) !important;
	}
	
	.horizontal-split.out {
		width: calc(50vw - ( 50vw - 50% ));
		max-width: calc(50vw - ( 50vw - 50% )) !important;
	}
	
	.vertical-split:before, .horizontal-split:before {
		content: "";
		background: inherit;
		position: absolute;
		height: 100vh;
		width: calc(100vw - ( 100vw - 100% ));
	}
	
	#preloader2.horizontal-split:before, #preloader4.horizontal-split:before {
		top: 50%;
		left: calc(50vw - ( 50vw - 50% ));
	}
}

@media only screen and (max-width:980px) {
	#preloader.slide-up, #preloader.slide-down, #preloader.fade-in, #preloader.fade-out {
		width: 100vw !important;
	}
	
	#preloader1.horizontal-split, #preloader3.horizontal-split {
		right: unset !important;
		left: 0 !important;
		height: 100vh;
		width: 50vw !important;
	}
	
	#preloader2.horizontal-split, #preloader4.horizontal-split {
		top: 0;
		left: unset !important;
		right: 0 !important;
		height: 100vh;
		width: 50vw !important;
	}
	
	#preloader1.vertical-split, #preloader3.vertical-split {
		bottom: unset !important;
		top: 0 !important;
		width: 100vw !important;
		height: 100vh;
		max-height: 50vh;
	}
	
	#preloader2.vertical-split, #preloader4.vertical-split {
		top: unset;
		bottom: 0 !important;
		width: 100vw;
		height: 100vh;
		max-height: 50vh;
		z-index: 1000001;
	}
	
	.horizontal-split.in, .horizontal-split.out {
		width: 50vw !important;
		max-width: 50vw !important;
	}
	
	.vertical-split:before, .horizontal-split:before {
		content: "";
		background: inherit;
		position: absolute;
		height: 100vh;
		width: 100vw !important;
	}
	
	#preloader2.horizontal-split:before, #preloader4.horizontal-split:before {
		top: 50%;
		left: 50vw !important;
	}
}
