@import url(fontawesome-all.min.css);
@import url("https://fonts.googleapis.com/css?family=Roboto:400,700");

/*
	Lens by HTML5 UP
	html5up.net | @ajlkn
	Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/

/* Basic */

/*
        @-ms-viewport {
            width: device-width;
        }
    */


/* Type */


#portfolio-main a {
	-moz-transition: color 0.25s ease, border-bottom-color 0.25s ease;
	-webkit-transition: color 0.25s ease, border-bottom-color 0.25s ease;
	-ms-transition: color 0.25s ease, border-bottom-color 0.25s ease;
	transition: color 0.25s ease, border-bottom-color 0.25s ease;
	border-bottom: dotted 1px;
	color: inherit;
	text-decoration: none;
}

#portfolio-main a:hover {
	border-bottom-color: transparent;
	color: #00D3B7;
}

#portfolio-main strong, b {
	font-weight: 400;
	color: #555;
}

#portfolio-main em, #portfolio-main i {
	font-style: italic;
}

#portfolio-main p {
	margin: 0 0 1.25em 0;
}

/* Main */

#portfolio-main {
	-moz-transition: opacity 0.75s ease, right 0.75s ease, left 0.75s ease, visibility 0.75s;
	-webkit-transition: opacity 0.75s ease, right 0.75s ease, left 0.75s ease, visibility 0.75s;
	-ms-transition: opacity 0.75s ease, right 0.75s ease, left 0.75s ease, visibility 0.75s;
	transition: opacity 0.75s ease, right 0.75s ease, left 0.75s ease, visibility 0.75s;
	-webkit-overflow-scrolling: touch;
	position: fixed;
	top: 3em;
	bottom:0;
	width: 22.5em;
	/*height: 100%;*/
	background: #fff;
	outline: 0;
	overflow-x: hidden;
	overflow-y: auto;
	text-align: right;
	visibility: visible;
	z-index: 10000;
	right: 0;
}

#portfolio-main .toggle {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	position: absolute;
	top: 0;
	width: 4em;
	height: 4em;
	background-image: url("images/close-small-alt.svg");
	background-repeat: no-repeat;
	background-size: 32px 32px;
	cursor: pointer;
	display: none;
	z-index: 1;
	background-position: 0.5em 0.5em;
	left: 0;
}

body.fullscreen #portfolio-main {
	visibility: hidden;
	right: -22.5em;
}

body.is-preload-1 #portfolio-main {
	opacity: 0;
	right: -2em;
}

@media screen and (max-width: 1280px) {

	#portfolio-main {
		width: 19em;
	}

	body.fullscreen #portfolio-main {
		right: -19em;
	}

}

@media screen and (max-width: 980px) {

	#portfolio-main {
		background: rgba(255, 255, 255, 0.925);
	}

	#portfolio-main .toggle {
		display: block;
	}

}

@media screen and (max-width: 480px) {

	#portfolio-main {
		-moz-transition: opacity 0.5s ease, visibility 0.5s;
		-webkit-transition: opacity 0.5s ease, visibility 0.5s;
		-ms-transition: opacity 0.5s ease, visibility 0.5s;
		transition: opacity 0.5s ease, visibility 0.5s;
		width: 100%;
		background: #fff;
		text-align: center;
	}

	body.is-preload-1 #portfolio-main {
		left: auto !important;
		right: auto !important;
	}

	body.fullscreen #portfolio-main {
		left: auto !important;
		right: auto !important;
		opacity: 0;
	}

	#portfolio-main .toggle {
		display: none;
	}

}

/* Header */

#portfolio-header {
	padding: 1em 2.25em 1.75em 2.25em ;
}

#portfolio-header h1 {
	font-size: 2.25em;
	font-weight: 700;
}

/* Footer */
/*
#footer {
	padding: 2.25em 2.25em 1em 2.25em ;
}

#footer .copyright {
	list-style: none;
	padding: 0;
}

#footer .copyright li {
	display: inline-block;
	font-size: 0.8em;
	margin-left: 0.35em;
	padding: 0;
}

#footer .copyright li:first-child {
	margin-left: 0;
}
*/
/* Thumbnails */

#portfolio-main #thumbnails {
	display: -moz-flex;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	-moz-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 0 0.75em;
}

#portfolio-main #thumbnails article {
	position: relative;
	width: 50%;
	background: #101010;
	outline: 0;
}

#portfolio-main #thumbnails article .thumbnail {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	display: block;
	position: relative;
	border: 0;
	outline: 0;
}

#portfolio-main #thumbnails article .thumbnail img {
	display: block;
	width: 100%;
}

#portfolio-main #thumbnails article .thumbnail:before {
	pointer-events: none;
	-moz-transition: opacity 0.25s ease;
	-webkit-transition: opacity 0.25s ease;
	-ms-transition: opacity 0.25s ease;
	transition: opacity 0.25s ease;
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	box-shadow: inset 0 0 0 2px #00D3B7, inset 0 0 0px 3px rgba(0, 0, 0, 0.15);
	opacity: 0;
	z-index: 1;
}

#portfolio-main #thumbnails article .thumbnail:focus:before {
	opacity: 0.5;
}

#portfolio-main #thumbnails article h2, #thumbnails article p {
	display: none;
}

#portfolio-main #thumbnails article.active .thumbnail:before {
	opacity: 1;
}

@media screen and (max-width: 480px) {

	#portfolio-main #thumbnails article .thumbnail:before {
		display: none;
	}

}

/* Viewer */

@-moz-keyframes spinner {
	0% {
		-moz-transform: rotate(0deg);
		-webkit-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	100% {
		-moz-transform: rotate(360deg);
		-webkit-transform: rotate(360deg);
		-ms-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@-webkit-keyframes spinner {
	0% {
		-moz-transform: rotate(0deg);
		-webkit-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	100% {
		-moz-transform: rotate(360deg);
		-webkit-transform: rotate(360deg);
		-ms-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@-ms-keyframes spinner {
	0% {
		-moz-transform: rotate(0deg);
		-webkit-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	100% {
		-moz-transform: rotate(360deg);
		-webkit-transform: rotate(360deg);
		-ms-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@keyframes spinner {
	0% {
		-moz-transform: rotate(0deg);
		-webkit-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	100% {
		-moz-transform: rotate(360deg);
		-webkit-transform: rotate(360deg);
		-ms-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

#viewer {
	-moz-transition: opacity 0.75s ease, width 0.75s ease;
	-webkit-transition: opacity 0.75s ease, width 0.75s ease;
	-ms-transition: opacity 0.75s ease, width 0.75s ease;
	transition: opacity 0.75s ease, width 0.75s ease;
	position: absolute;
	top: 3em;
	bottom:0;
	width: calc(100% - 22.5em);
	/*height: 100%;*/

	left: 0;
}

#viewer .inner {
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
}

#viewer .inner > * {
	pointer-events: auto;
}

#viewer .inner:before {
	background-image: -moz-linear-gradient(left, rgba(16,16,16,0.2), rgba(16,16,16,0) 10em, rgba(16,16,16,0)), -moz-linear-gradient(right, rgba(16,16,16,0.2), rgba(16,16,16,0) 10em, rgba(16,16,16,0));
	background-image: -webkit-linear-gradient(left, rgba(16,16,16,0.2), rgba(16,16,16,0) 10em, rgba(16,16,16,0)), -webkit-linear-gradient(right, rgba(16,16,16,0.2), rgba(16,16,16,0) 10em, rgba(16,16,16,0));
	background-image: -ms-linear-gradient(left, rgba(16,16,16,0.2), rgba(16,16,16,0) 10em, rgba(16,16,16,0)), -ms-linear-gradient(right, rgba(16,16,16,0.2), rgba(16,16,16,0) 10em, rgba(16,16,16,0));
	background-image: linear-gradient(left, rgba(16,16,16,0.2), rgba(16,16,16,0) 10em, rgba(16,16,16,0)), linear-gradient(right, rgba(16,16,16,0.2), rgba(16,16,16,0) 10em, rgba(16,16,16,0));
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#viewer .inner .toggle {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	position: absolute;
	top: 0;
	width: 4em;
	height: 4em;
	background-image: url("images/close.svg");
	background-repeat: no-repeat;
	background-size: 40px 40px;
	cursor: pointer;
	z-index: 1;
	right: 0;
	background-position: calc(100% - 0.75em) 0.75em;
}

#viewer .inner .nav-next,
#viewer .inner .nav-previous {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	position: absolute;
	top: 50%;
	width: 6em;
	height: 6em;
	margin-top: -3em;
	background-image: url("images/arrow-right.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	cursor: pointer;
}

#viewer .inner .nav-previous {
	-moz-transform: scaleX(-1);
	-webkit-transform: scaleX(-1);
	-ms-transform: scaleX(-1);
	transform: scaleX(-1);
	left: 0;
}

#viewer .inner .nav-next {
	right: 0;
}

#viewer .slide {
	-moz-transition: opacity 0.5s ease-in-out;
	-webkit-transition: opacity 0.5s ease-in-out;
	-ms-transition: opacity 0.5s ease-in-out;
	transition: opacity 0.5s ease-in-out;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 1;
	z-index: 1;
}

#viewer .slide .caption {
	background-image: -moz-linear-gradient(bottom, rgba(16,16,16,0.75), rgba(16,16,16,0.25) 80%, rgba(16,16,16,0));
	background-image: -webkit-linear-gradient(bottom, rgba(16,16,16,0.75), rgba(16,16,16,0.25) 80%, rgba(16,16,16,0));
	background-image: -ms-linear-gradient(bottom, rgba(16,16,16,0.75), rgba(16,16,16,0.25) 80%, rgba(16,16,16,0));
	background-image: linear-gradient(bottom, rgba(16,16,16,0.75), rgba(16,16,16,0.25) 80%, rgba(16,16,16,0));
	padding: 2em 2em 0.75em 2em ;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	color: rgba(255, 255, 255, 0.9);
	z-index: 1;
}

#viewer .slide .caption h2, #viewer .slide .caption h3, #viewer .slide .caption h4, #viewer .slide .caption h5, #viewer .slide .caption h6 {
	color: #fff;
}

#viewer .slide .image {
	-moz-transition: opacity 0.5s ease-in-out;
	-webkit-transition: opacity 0.5s ease-in-out;
	-ms-transition: opacity 0.5s ease-in-out;
	transition: opacity 0.5s ease-in-out;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	opacity: 0;
}

#viewer .slide:before {
	-moz-animation: spinner 1s linear infinite;
	-webkit-animation: spinner 1s linear infinite;
	-ms-animation: spinner 1s linear infinite;
	animation: spinner 1s linear infinite;
	-moz-transition: opacity 0.5s ease-in-out;
	-webkit-transition: opacity 0.5s ease-in-out;
	-ms-transition: opacity 0.5s ease-in-out;
	transition: opacity 0.5s ease-in-out;
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 3em;
	height: 3em;
	background-image: url("images/spinner.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	margin: -1.5em 0 0 -1.5em;
	opacity: 0;
}

#viewer .slide.loading:before {
	opacity: 1;
}

#viewer .slide.active .image {
	opacity: 1;
}

body.fullscreen #viewer {
	width: 100%;
}

body.fullscreen #viewer .inner .toggle {
	background-image: url("images/open.svg");
}

body.is-preload-1 #viewer {
	opacity: 0;
}

body.is-preload-2 #viewer .slide {
	opacity: 0;
}

@media screen and (max-width: 1280px) {

	#viewer {
		width: calc(100% - 19em);
	}

}

@media screen and (max-width: 980px) {

	#viewer {
		width: 100%;
	}

	#viewer .inner .toggle {
		-moz-transition: opacity 0.75s ease;
		-webkit-transition: opacity 0.75s ease;
		-ms-transition: opacity 0.75s ease;
		transition: opacity 0.75s ease;
		background-image: url("images/open.svg");
		opacity: 0;
		right: 0;
	}

	body.fullscreen #viewer .inner .toggle {
		opacity: 1;
	}

}

@media screen and (max-width: 736px) {

	#viewer .inner .toggle {
		background-size: 32px 32px;
	}

	#viewer .inner .nav-next,
	#viewer .inner .nav-previous {
		background-image: url("images/arrow-small-right.svg");
		background-size: 32px 32px;
	}

	body.fullscreen #viewer .inner .toggle {
		background-image: url("images/open-small.svg");
	}

}

@media screen and (max-width: 480px) {

	#viewer {
		-moz-transition: opacity 0.5s ease;
		-webkit-transition: opacity 0.5s ease;
		-ms-transition: opacity 0.5s ease;
		transition: opacity 0.5s ease;
		-moz-transition-delay: 0s;
		-webkit-transition-delay: 0s;
		-ms-transition-delay: 0s;
		transition-delay: 0s;
		opacity: 0;
	}

	#viewer .inner .toggle {
		background-image: url("images/close-small.svg") !important;
		background-size: 32px 32px;
	}

	body.fullscreen #viewer {
		-moz-transition-delay: 0.5s;
		-webkit-transition-delay: 0.5s;
		-ms-transition-delay: 0.5s;
		transition-delay: 0.5s;
		opacity: 1;
	}

}