@font-face {
	font-family: SlimJoe;
	src: url("Slim Joe.otf");
}

@font-face {
	font-family: Gothic;
	src: url("CenturyGothicRegular.ttf");
}

* {
	box-sizing: border-box;
}

html, body {
	margin: 0;
	padding: 0;
	overflow-x: hidden;
	font: 12pt Gothic;
	text-align: justify;
}

#container {
	max-width: 1000pt;
	min-height: 100vh;
	margin: 0 auto;
	padding: 0;
	position: relative;
}

#top {
	padding: 20pt 0;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: flex;
}

#lang {
	margin: 5pt 10pt 0 10pt;
	padding: 0 10pt;
	position: relative;
	cursor: pointer;
}

#langsel {
	display: none;
	position: absolute;
	z-index: 1;
	list-style-type: none;
	margin: 0 0 0 -10pt;
	padding: 0;
}

#lang:hover > #langsel {
	display: block;
}

#langsel > li {
	width: 100%;
	margin: 3pt 0;
	padding: 2pt 10pt;
}

#langsel >li:hover {
	background: whitesmoke;
}

#menu > a {
	display: hidden;
	width: 40pt;
	height: 40pt;
	margin-right: 10pt;
	background: url("pics/menu.png") center;
}

#menu {
	position: relative;
	z-index: 10;
}

#menu > div {
	position: absolute;
	top: 0;
	right: 0;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: flex;
	-webkit-flex-direction: row;
	-moz-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
}

#menu > div > a {
	display: inline-block;
	padding: 5pt 10pt;
	text-decoration: none;
	color: black;
}

#menu > div > a > span {
	position: relative;
}

#menu > div > a > span:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	bottom: 0;
	left: 0;
	visibility: hidden;
	-webkit-transform: translateY(2.5pt) rotate(-2deg) scaleX(0);
	transform: translateY(2.5pt) rotate(-2deg) scaleX(0);
	-webkit-transform-origin: bottom left;
	transform-origin: bottom left;
	-webkit-transition: all 0.6s ease-in-out 0s;
	transition: all 0.6s ease-in-out 0s;
}

#menu > div > a:hover > span:before, #menu > div > a.active > span:before {
	visibility: visible;
	-webkit-transform: translateY(2.5pt) rotate(-2deg) scaleX(1);
	transform: translateY(2.5pt) rotate(-2deg) scaleX(1);
}

#menu > div > a:hover > span:before {
	background: gray;
}

#menu > div > a.active > span:before {
	background: black;
}

@media (max-width: 720px) {

	#menu-icon {
		display: inline-block;
	}

	#menu > div, #menu:active > div {
		display: none;
		position: absolute;
		right: 10pt;
		top: 40pt;
		border: 2pt solid whitesmoke;
		background: white;
	}

	#menu > div > a {
		display: block;
		text-align: right;
	}

	#menu:hover > div {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: flex;
		-webkit-flex-direction: column;
		-moz-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-align-items: stretch;
		-moz-align-items: stretch;
		-ms-align-items: stretch;
		align-items: stretch;
	}

}

#photoview {
	width: 100%;
}

#photolist {
	position: relative;
	width: 100vw;
	overflow: hidden;
}

#photolistcontainer {
	overflow: hidden;
}

#photoliststack {
	min-width: 100%;
	white-space: nowrap;
}

.photolistitem {
	display: inline-block;
	width: auto;
	padding: 10pt;
}

#photonums {
	width: 100%;
	margin-bottom: 10pt;
}

#photonumsstack {
	white-space: nowrap;
}

#photonumsstack > div {
	display: inline-block;
	margin: 5pt;
	width: 24pt;
	height: 24pt;
	border: 1pt solid #AAA;
	color: #888;
	cursor: pointer;
	position: relative;
}

#photonumsstack > div > div {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	pointer-events: none;
}

#photonumsstack > div.active {
	border: 1pt solid black;
	color: black;
}

#photoscroll {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	white-space: nowrap;
}

#photoscroll > div {
	display: inline-block;
	width: 50%;
	height: 100%;
}

#photoleft {
	cursor: url("pics/left.png") 7 15, pointer;
}

#photoright {
	cursor: url("pics/right.png") 15 15, pointer;
}

#loading {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: white;
}

#loadinganim {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}

#loadingphoto {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: 0 auto;
	width: auto;
	padding: 10pt;
	opacity: 0.3;
}



.gallery {
	position: relative;
	width: 100%;
}

.gallery-item {
	display: inline-block;
	vertical-align: top;
	padding: 10pt;
	text-decoration: none;
	color: black;
}

.gallery-item p {
	text-align: left;
}

.gallery-photo-c {
	display: block;
	overflow: hidden;
}

.gallery-photo {
	display: block;
	background-size: cover;
	padding-bottom: 100%;
	overflow: hidden;
	-webkit-transition: -webkit-transform 1s;
	transition: transform 1s;
}

.gallery-item:hover .gallery-photo
{
	-webkit-transform: scale(1.05, 1.05);
	transform: scale(1.05, 1.05);
}

.gallery-categories .gallery-item {
	width: 24%;
}

.gallery-projects .gallery-item {
	width: 33%;
}

#references > div {
	margin-bottom: 2em;
}

@media (max-width: 1024px)
{

	.gallery-projects .gallery-item {
		width: 49%;
	}

}

@media (max-width: 640px)
{

	.gallery-categories .gallery-item {
		width: 99%;
	}

	.gallery-projects .gallery-item {
		width: 99%;
	}

}

@media (orientation: portrait)
{

	#photoview {
		height: 80vw;
	}

	#loading {
		height: 80vw;
	}

}
