/* ############ icomoon icon fonts CSS ############ */

@font-face {
	font-family: 'icomoon';
	src: url('icomoon.eot?-qkv88o');
	src: url('icomoon.eot?#iefix-qkv88o') format('embedded-opentype'),
		url('icomoon.ttf?-qkv88o') format('truetype'),
		url('icomoon.woff?-qkv88o') format('woff'),
		url('icomoon.svg?-qkv88o#icomoon') format('svg');
	font-weight: normal;
	font-style: normal;
}

[class^="icon-"],
[class*=" icon-"] {
	font-family: 'icomoon';
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.icon-spinner:before {
	content: "\e600";
}

.icon-cancel-circle:before {
	content: "\e604";
}

.icon-cross:before {
	content: "\e601";
}

.icon-arrow-left:before {
	content: "\e602";
}

.icon-arrow-right:before {
	content: "\e603";
}

/* ############ Start of responsive gallery CSS ############ */


div.rthumbnail {
	/* style for thumbsnail DIVs that appear initially on the page */
	display: inline-block;
	margin: 0;
	padding: 0;
}

div.rthumbnail div.rcaption {
	display: none;
}

div.responsivegallery {
	/* style for responsive gallery UI */
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	position: fixed;
	display: none;
	z-index: 1000;
}

div.responsivegallery:before {
	/* gallery overlay */
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	cursor: zoom-out;
	top: 0;
	left: 0;
	background: black;
	opacity: 0.8;
	z-index: -1;
}

div.responsivegallery div.galleryinner {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	margin: auto;
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
}

div.responsivegallery div.galleryinner:before {
	/* technique to vertical align elements */
	content: '';
	display: inline-block;
	height: 100%;
	vertical-align: middle;
}

div.responsivegallery div.figurearea {
	position: relative;
	max-width: 100%;
	vertical-align: middle;
	display: inline-block;
	z-index: 1000;
}

div.responsivegallery div.figurearea.isvideo {
	width: 90%;
}

/* video container CSS */

.jkvideocontainer * {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
}


.jkvideowrapper {
	position: relative;
	padding-bottom: 56.25%;
	/* 16:9 ratio. See https://css-tricks.com/NetMag/FluidWidthVideo/Article-FluidWidthVideo.php */
	height: 0;
}


.jkvideowrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
}

/* figure CSS */

div.responsivegallery figure {
	margin: 0;
	padding: 0;
	max-width: 100%;
	display: block;
	box-shadow: 0 0 15px rgba(0, 0, 0, .6);
	opacity: 0;
	-webkit-transition: opacity 0.5s;
	-moz-transition: opacity 0.5s;
	transition: opacity 0.5s;
	margin: 0 auto;
}

div.responsivegallery figure img {
	max-width: 100%;
	width:1200px;
	height: auto;
	border: 0;
	line-height: 0;
	display: block;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	user-select: none;
}

/* Caption CSS */

div.responsivegallery div.figurearea .thecaption {
	text-align: left;
	position: absolute;
	bottom: 0;
	font-size: 1.1em;
	padding: 5px;
	width: 100%;
	height: 50px;
	white-space: normal;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

div.responsivegallery div.figurearea.isvideo .thecaption {
	position: relative;
}

div.responsivegallery div.figurearea .thecaption:before {
	/* caption overlay */
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	display: block;
	background: white;
	top: 0;
	left: 0;
	opacity: 0.8;
}

div.responsivegallery div.figurearea .thecaption div.captioninner {
	position: relative;
	padding: 0px;
	height: 40px;
	color: black;
	overflow: hidden;
}

div.responsivegallery div.figurearea .thecaption div.captioninner span.counter {
	float: right;
	font-size: 0.9em;
	font-weight: bold;
	display: block;
	height: 100%;
	line-height: 100%;
	background: #2D2D2D;
	color: white;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	top: 0;
	line-height: 40px;
	text-align: center;
	box-shadow: 0 0 3px gray;
}

div.responsivegallery div.close i {
	float: right;
	width: 24px;
	height: 24px;
	background-position: -640px 0;
	position: absolute;
	top: 6px;
	right: 10px;
	cursor: pointer;
	transition: .2s;
	opacity: .3;
}

div.responsivegallery div.close {
	position: absolute;
	right: 60px;
    top: 55px;
	padding: 0px;
	width: 55px;
	height: 55px;
	border-radius: 55px;
	color: white;
	z-index: 1000;
	opacity: .3;
	cursor: pointer;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}

div.responsivegallery div.close:hover {
	opacity: 1;
}

div.responsivegallery div.close span.icon-cross {
	position: relative;
	display: inline-block;
	width: 30px;
	height: 30px;
	overflow: hidden;
}

div.responsivegallery div.close span.icon-cross:hover::before {
	background: #fff;
	transform: rotate(40deg);
}

div.responsivegallery div.close span.icon-cross:hover::after {
	background: #fff;
	transform: rotate(-40deg);
}

div.responsivegallery div.close span.icon-cross::before,
div.responsivegallery div.close span.icon-cross::after {
	content: '';
	position: absolute;
	height: 1px;
	width: 100%;
	top: 50%;
	left: 0;
	/* margin-top: -1px; */
	background: #fff;
	transition: all .3s;
}

div.responsivegallery div.close span.icon-cross::before {
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}

div.responsivegallery div.close span.icon-cross::after {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

div.responsivegallery div.close span.icon-cross::before,
div.responsivegallery div.close span.icon-cross::after {
	height: 1px;
}

div.responsivegallery div.rightnav {
	right: 5px;
	left: auto;
}

div.responsivegallery div.loadingdiv,
div.responsivegallery div.errordiv {
	width: 100px;
	height: 100px;
	border-radius: 10px;
	position: absolute;
	display: none;
	top: 50%;
	left: 50%;
	margin-top: -50px;
	margin-left: -50px;
	opacity: 0.6;
	text-align: center;
	z-index: 1000;
	background: black;
}

div.responsivegallery div.loadingdiv span,
div.responsivegallery div.errordiv span {
	vertical-align: middle;
	color: red;
	font-size: 3em;
	line-height: 90px;
}

div.responsivegallery div.loadingdiv span {
	/* rotating loading DIV */
	-webkit-animation: rotate 2s linear infinite;
	animation: rotate 2s linear infinite;
	font-size: 3.5em;
	color: white;
	display: inline-block;
}

@-webkit-keyframes rotate {
	0% {
		-webkit-transform: rotate(0deg);
	}

	100% {
		-webkit-transform: rotate(360deg);
	}
}

@keyframes rotate {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}


div.responsivegallery div.leftnav:hover,
div.responsivegallery div.rightnav:hover {
	background: white;
	color: black;
}


@media screen and (max-width: 480px) {

	/* CSS when screen width is 480px or less */
	div.responsivegallery div.leftnav,
	div.responsivegallery div.rightnav {
		width: 40px;
		height: 40px;
		color: black;
		border-radius: 40px;
		text-align: center;
		line-height: 45px;
		margin-top: -20px;
		font-size: 40px;
	}
}
