/****************************************/
/* CLASSES
/****************************************/


/* Responsive display */
@media only screen and (max-width : 1199px) {
	.desktop-only {
		display: none !important;
	}
}
@media only screen and (min-width : 1200px) {
	.mobile-only {
		display: none !important;
	}
}
/***/



/* Backgrounds */
.cover-bg {
	background-repeat: no-repeat;
	background-position: 50% 50%;
	-webkit-background-size: cover;
	   -moz-background-size: cover;
		 -o-background-size: cover;
			background-size: cover;	
}
/***/


/* Fonts */
.strong {
	font-weight: 700;
}
/***/


/* Text */
.align-left {
	text-align: left;
}
/***/


/* Misc */
.clear {
	clear: both;
}
.clear-after:after {
	content: '';
	display: block;
	clear: both;
}
/***/



/****************************************/
/* COMMON ELEMENTS
/****************************************/

/* Buttons */
.close-btn {
	position: absolute;
	z-index: 99;
	width: 32px; 
	height: 32px;
	background: url('../img/close-btns.png') no-repeat -16px -16px;
	cursor: pointer;
}
.close-btn.blue {
	background-position: -144px -16px;
}
.close-btn.white {
	background-position: -80px -16px;
}
/***/



/* Loaders */
.loader {
	position: absolute;
	z-index: -9999;
	top: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	/*background: #252525;*/
	opacity: 0;
	-webkit-transition: opacity 0.4s ease 0s, z-index 0s ease 0.4s;
		-ms-transition: opacity 0.4s ease 0s, z-index 0s ease 0.4s;
			transition: opacity 0.4s ease 0s, z-index 0s ease 0.4s; 
}
.loader.on {
	z-index: 9999;
	opacity: 1;
	-webkit-transition: opacity 0.4s ease 0.4s;
		-ms-transition: opacity 0.4s ease 0.4s;
			transition: opacity 0.4s ease 0.4s; 
}

.loader > .spinner {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100px;
	height: 100px;
	margin: -50px auto auto -50px;
	border-top: 4px solid rgba(255, 255, 255, 0.2);
	border-right: 4px solid rgba(255, 255, 255, 0.2);
	border-bottom: 4px solid rgba(255, 255, 255, 0.2);
	border-left: 6px solid #ffffff;
	border-radius: 50%;
	text-indent: -9999em;
	-webkit-transform: translateZ(0);
		-ms-transform: translateZ(0);
			transform: translateZ(0);
	-webkit-animation: spinning 1.1s infinite linear;
			animation: spinning 1.1s infinite linear;
}
.loader > .counter {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100px;
	height: 100px;
	margin: -50px auto auto -50px;
	line-height: 100px;
	white-space: nowrap;
	text-align: center;
	color: #eee;
}
@-webkit-keyframes spinning {
	0% {
		-webkit-transform: rotate(0deg);
				transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
				transform: rotate(360deg);
	}
}
@keyframes spinning {
	0% {
		-webkit-transform: rotate(0deg);
				transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
				transform: rotate(360deg);
	}
}
#site-loader {
	position: fixed;
	background: #252525;
}
/***/



/* Video players */
.video-container {
	position: relative;
	padding-top: 56.25%;
}
.video-player,
.video-preview {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 100%;
}
.video-player {
	opacity: 0;
}
.video-player.started {
	z-index: 4;
	opacity: 1;
	-webkit-transition: z-index 0s ease 0s, opacity 2s ease;
	   -moz-transition: z-index 0s ease 0s, opacity 2s ease;
		-ms-transition: z-index 0s ease 0s, opacity 2s ease;
		 -o-transition: z-index 0s ease 0s, opacity 2s ease;
			transition: z-index 0s ease 0s, opacity 2s ease;
}
.video-play-btn {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 50px;
	height: 50px;
	margin: -25px 0 0 -25px;
	background: url('../img/play-btn.png') 50% 50% no-repeat;
	-webkit-background-size: cover;
	   -moz-background-size: cover;
		 -o-background-size: cover;
			background-size: cover;	
	cursor: pointer;
}
.video-play-arrow {
	position: absolute;
	right: 10px;
	bottom: 10px;
}
@media only screen and (min-width : 480px) {
	.video-play-btn {
		width: 100px;
		height: 100px;
		margin: -50px 0 0 -50px;
		-webkit-background-size: initial;
		   -moz-background-size: initial;
			 -o-background-size: initial;
				background-size: initial;	
	}
}
/***/



/* Swipers */
.swiper-button-prev, 
.swiper-button-next {
	position: absolute;
	z-index: 90;
	top: 50%;
	width: 64px;
	height: 64px;
	margin-top: -32px;
	text-indent: -9999px;
	left: 0;
    background-image: url('../img/gallery-btns.png');
	background-repeat: no-repeat;
}
.swiper-button-next, 
.swiper-container-rtl .swiper-button-prev {
	left: 0;
	right: auto;
	background-position: 0 -64px;
}
.swiper-button-prev, 
.swiper-container-rtl .swiper-button-next {
	left: auto;
	right: 0;
	background-position: -64px -64px;
}
/***/



/* Lightbox */
.lightbox {
	position: fixed;
	z-index: 9999;
	top: 0;
	bottom: 0;
	left: -100%;
	width: 100%;
	background: #252525;
	opacity: 0;
	-webkit-transition: opacity 0.2s ease, left 0s ease 0.2s;
		-ms-transition: opacity 0.2s ease, left 0s ease 0.2s;
			transition: opacity 0.2s ease, left 0s ease 0.2s;
}
.lightbox.on {
	left: 0;
	opacity: 1;
	-webkit-transition: left 0.8s ease;
		-ms-transition: left 0.8s ease;
			transition: left 0.8s ease;
}
.lightbox > .swiper-container {
	height: 100%;
}
.lightbox .swiper-slide {
	position: relative;
}
.lightbox .swiper-slide > img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	max-width: 90%;
	max-height: 90%;
	margin: auto;
}
.lightbox > .loader {
	background: #252525;
}
.lightbox-close {
	position: absolute;
	z-index: 99;
	top: 10px;
	right: 10px;
	background-position: -80px -16px;
} 

@media (min-width: 1200px) {
	.lightbox {
		z-index: -99;
		left: 0;
		-webkit-transition: z-index 0s ease 0.2s, opacity 0.2s ease;
			-ms-transition: z-index 0s ease 0.2s, opacity 0.2s ease;
				transition: z-index 0s ease 0.2s, opacity 0.2s ease;
	}
	.lightbox.on {
		z-index: 9999;
		opacity: 1;
		-webkit-transition: z-index 0s ease 0s, opacity 0.2s ease;
			-ms-transition: z-index 0s ease 0s, opacity 0.2s ease;
				transition: z-index 0s ease 0s, opacity 0.2s ease;
	}
}
/***/









