header {
	box-shadow: 0 3px 3px rgba(0,0,0,.34);
	-webkit-box-shadow: 0 3px 3px rgba(0,0,0,.34);
	-moz-box-shadow: 0 3px 3px rgba(0,0,0,.34);
	position: relative;
	z-index: 10000;
}
header .container, header a.logo, header nav, header a.mobileNav {
	height: 100%;
}
header a.logo {
	float: left;
	width: 22.2%;
	min-width: 150px;
}
header nav, header a.mobileNav {
	float: right;
}
header a.mobileNav {
	display: none;
}
header nav a {
	float: left;
	font: 1.8em 'opensanscond_bold';
	color: #57585b;
	letter-spacing: 1px;
	padding: 1em 5px .4em;
	margin-right: .7em;
	position: relative;
}
header nav a:nth-last-child(2) {
	margin-right: 0;
}
header nav a:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: #00c2ff;
	transform: scale(0,1);
	-webkit-transform: scale(0,1);
	-moz-transform: scale(0,1);
	-ms-transform: scale(0,1);
	-o-transform: scale(0,1);
	transition: all .3s;
	-webkit-transition: all .3s;
	-moz-transition: all .3s;
	-o-transition: all .3s;
	transform-origin: left;
	-webkit-transform-origin: left;
	-moz-transform-origin: left;
	-ms-transform-origin: left;
	-o-transform-origin: left;
}
header nav a:hover:after, header nav a.active:after {
	transform: scale(1,1);
	-webkit-transform: scale(1,1);
	-moz-transform: scale(1,1);
	-ms-transform: scale(1,1);
	-o-transform: scale(1,1);
}

#body {
	padding: 4.8em 0 3em;
	position: relative;
	background: #fff;
	letter-spacing: 1px;
}
#body .titleContainer {
	margin-bottom: 3em;
	text-align: center;
}
#body .titleContainer h1 {
	display: inline-block;
	font: 2em 'oswald_bold';
	padding-bottom: .5em;
	min-width: 9em;
	border-bottom: 2px solid #57585b;
	text-transform: uppercase;
}
#body article {
	font: 1.8em 'opensanscond_light';
}
#body article h2 {
	font: 1em 'opensanscond_bold';
}
#body .aboutPic {
	float: left;
	width: 25%;
}
#body .aboutArticle {
	float: right;
	width: 70%;
}
#body .aboutArticle .titleContainer {
	text-align: left;
}

#body .contactBlocks .block {
	padding: 1.2% 0;
}
#body .contactBlocks .block a {
	font-size: 1.4em;
	color: #757578;
	text-decoration: none;
}
#body .contactBlocks .block a:hover {
	color: #00c2ff;
}
#body .contactBlocks .block a img {
	width: 1.2em;
	min-width: 20px;
	margin: 0 auto .8%;
}
#body .contactBlocks .block a:hover img {
	transform: translate(0,5px);
	-webkit-transform: translate(0,5px);
	-moz-transform: translate(0,5px);
	-ms-transform: translate(0,5px);
	-o-transform: translate(0,5px);
}
	
#addressMap {
	width: 100%;
	height: 30em;
}

#body menu {
	float: left;
	width: 28%;
	padding: 0 2.3%;
}
#body menu .titleContainer {
	text-align: left;
}
#body menu .titleContainer h1 {
	display: block;
	min-width: 0;
	border-color: #87b44e;
	color: #87b44e;
	padding-left: .9em;
}
#body menu a {
	font: 1.5em 'opensanscond_bold';
	color: #c3c6cd;
	padding-left: 1em;
	position: relative;
}
#body menu a:after {
	content: "+";
	position: absolute;
	right: 0;
	top: 0;
}
#body menu a:not(:last-child) {
	margin-bottom: 1em;
}
#body menu a:hover, #body menu a.active {
	color: #57585b;
}
#body menu a:hover {
	padding-left: 2em;
}
#body menu a:hover:after, #body menu a.active:after {
	content: "-";
}

#body #picsContainer {
	float: right;
	width: 72%;
	min-height: 500px;
	padding: 0 2.3%;
	position: relative;
}
.loadingPortfolioIcon {
	position: absolute;
	top: 20px;
	left: 50%;
	width: 50px;
	height: 50px;
	margin-left: -25px;
	background: url(../images/loading_icon2.png);
	background-size: 100%;
}
#body #picsContainer a {
	float: left;
	padding: 1.5%;
	width: 33%;
}
#body #picsContainer .block:not(:nth-child(2n)) a:nth-child(2), #body #picsContainer .block:nth-child(2n) a:first-child, #body #picsContainer .block:nth-child(2n) a:nth-child(4) {
	width: 66%;
}
#body #picsContainer a .imgContainer {
	overflow: hidden;
	height: 100%;
	position: relative;
	text-align: center;
}
#body #picsContainer a .imgContainer .img {
	background-position: center;
	background-size: cover;
	visibility: hidden;
	opacity: 0;
	-webkit-opacity: 0;
	-moz-opacity: 0;
	transform: translate(-80%,0);
	-webkit-transform:  translate(-80%,0);
	-moz-transform:  translate(-80%,0);
	-ms-transform:  translate(-80%,0);
	-o-transform:  translate(-80%,0);
}
#body #picsContainer a .imgContainer, #body #picsContainer a .imgContainer .img {
	height: 100%;
}
#body #picsContainer a .imgContainer .img h2 {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: .5em 1em;
	background: linear-gradient(to top, rgba(0,0,0,1), rgba(0,0,0,0));
	font: 2em 'opensanscond_light';
	color: rgba(255,255,255,.95);
	text-align: center;
	transform: translate(0,100%);
	-webkit-transform: translate(0,100%);
	-moz-transform: translate(0,100%);
	-ms-transform: translate(0,100%);
	-o-transform: translate(0,100%);
	transition-delay: .25s;
	-webkit-transition-delay: .25s;
	-moz-transition-delay: .25s;
	-o-transition-delay: .25s;
}
#body #picsContainer a .imgContainer .img.active {
	visibility: visible;
	opacity: 1;
	-webkit-opacity: 1;
	-moz-opacity: 1;	
	transform: translate(0,0);
	-webkit-transform: translate(0,0);
	-moz-transform: translate(0,0);
	-ms-transform: translate(0,0);
	-o-transform: translate(0,0);
}
#body #picsContainer a .imgContainer .img.active h2 {
	transform: translate(0,0);
	-webkit-transform: translate(0,0);
	-moz-transform: translate(0,0);
	-ms-transform: translate(0,0);
	-o-transform: translate(0,0);
}
#body #picsContainer a:hover .imgContainer .img.active {
	opacity: .8;
	-webkit-opacity: .8;
	-moz-opacity: .8;
}

#portfolio_overlay {
	position: fixed;
	z-index: 100000;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(87,88,91,.9);
	text-align: center;
	overflow: hidden;
	display: none;
}
#portfolio_overlay .loadingPortfolioIcon {
	top: 50%;
	margin-top: -25px;
}
#portfolio_overlay .anim {
	position: absolute;
	top: 0;
	left: 0;
	width: 100000px;
	height: 100%;
}
#portfolio_overlay .anim ul, #portfolio_overlay .anim ul li {
	height: 100%;
}
#portfolio_overlay .anim ul {
	opacity: 0;
	-webkit-opacity: 0;
	-moz-opacity: 0;
}
#portfolio_overlay .anim ul.active {
	opacity: 1;
	-webkit-opacity: 1;
	-moz-opacity: 1;
}
#portfolio_overlay .anim ul li {
	float: left;
}
#portfolio_overlay .anim ul li img {
	width: calc(90vw);
	height: calc(90vh);
	object-fit: contain;
	object-position: center;
	margin: 0 auto;
}
#portfolio_overlay .anim ul li iframe, #portfolio_overlay .anim ul li blockquote {
	width: 80%;
	max-width: 750px;
	height: 90%;
	margin: 0 auto !important;
}
#portfolio_overlay .anim ul li h3 {
	font: 1.8em 'opensanscond_light';
	color: rgba(255,255,255,.85);
	margin: .5em auto 0;
	width: 90%;
	max-width: 800px;
}
#portfolio_overlay a.navNext, #portfolio_overlay a.navPrev {
	position: absolute;
	top: 50%;
	width: 3.8em;
	margin-top: -1.8em;	
}
#portfolio_overlay a.navNext:hover, #portfolio_overlay a.navPrev:hover {
	transform: scale(1.1,1.1);
	-webkit-transform: scale(1.1,1.1);
	-moz-transform: scale(1.1,1.1);
	-ms-transform: scale(1.1,1.1);
	-o-transform: scale(1.1,1.1);
}
#portfolio_overlay a.navNext {
	right: 2.5em;
}
#portfolio_overlay a.navPrev {
	left: 2.5em;
}
#portfolio_overlay a.close {
	position: absolute;
	top: 2.5em;
	right: 2.5em;
	width: 3.8em;
}
#portfolio_overlay .numbering {
	position: absolute;
	top: 2.5em;
	left: 2.5em;
	font: 2em 'opensanscond_light';
	color: #fff;
}
#portfolio_overlay a.close img, #portfolio_overlay a.navNext img, #portfolio_overlay a.navPrev img {
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
#portfolio_overlay a.close:hover {
	transform: rotate(180deg) scale(1.1,1.1);
	-webkit-transform: rotate(180deg) scale(1.1,1.1);
	-moz-transform: rotate(180deg) scale(1.1,1.1);
	-ms-transform: rotate(180deg) scale(1.1,1.1);
	-o-transform: rotate(180deg) scale(1.1,1.1);
}

#quotes .quote {
	font: .9em 'opensanscond_bold';
	display: none;
}
#quotes .quote .clientName {
	font-family: 'opensanscond_light';
	margin-top: 5px;
}
#quotes .quote .clientName .date {
	font-style: italic;
	font-size: .9em;
}

#body .clientsCategory {
	margin-top: 4em;
}
#body .clientsCategory .titleContainer {
	margin-bottom: 1em;
}
#body .clientsCategory .titleContainer h1 {
	font-size: 1.5em;
	border-color: #87b44e;
	color: #87b44e;
}
#body .clientsCategory .clientsLogos {
	text-align: center;
}
#body .clientsCategory .clientsLogos a {
	display: inline-block;
	width: 12.5%;
	border-right: 1px solid #fff;
	background-position: center;
	background-size: 170%;
	position: relative;
	cursor: default;
}
/*#body .clientsCategory .clientsLogos a:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,.95);
	transform: scale(0,0);
	-webkit-transform: scale(0,0);
	-moz-transform: scale(0,0);
	-ms-transform: scale(0,0);
	-o-transform: scale(0,0);
	transition: all .3s;
	-webkit-transition: all .3s;
	-moz-transition: all .3s;
	-o-transition: all .3s;
}
#body .clientsCategory .clientsLogos a:hover:before {
	transform: scale(1,1);
	-webkit-transform: scale(1,1);
	-moz-transform: scale(1,1);
	-ms-transform: scale(1,1);
	-o-transform: scale(1,1);
}*/
#body .clientsCategory .clientsLogos a .table {
	position: relative;
	text-align: center;
}
#body .clientsCategory .clientsLogos a h2 {
	font: 2em 'oswald_bold';
	color: #57585b;
	visibility: hidden;
	opacity: 0;
	-webkit-opacity: 0;
	-moz-opacity: 0;
	transform: translate(0,50%);
	-webkit-transform: translate(0,50%);
	-moz-transform: translate(0,50%);
	-ms-transform: translate(0,50%);
	-o-transform: translate(0,50%);
	transition: all .3s .2s;
	-webkit-transition: all .3s .2s;
	-moz-transition: all .3s .2s;
	-o-transition: all .3s .2s;
}
#body .clientsCategory .clientsLogos a:hover h2 {
	visibility: visible;
	opacity: 1;
	-webkit-opacity: 1;
	-moz-opacity: 1;
	transform: translate(0,0);
	-webkit-transform: translate(0,0);
	-moz-transform: translate(0,0);
	-ms-transform: translate(0,0);
	-o-transform: translate(0,0);
}

@media screen and (max-width:970px) {
	header a.mobileNav {
		display: block;
	}
	header nav {
		background: #fff;
		float: none;
		position: absolute;
		top: 100%;
		left: 0;
		width: 110%;
		box-shadow: 0 3px 3px rgba(0,0,0,.34);
		-webkit-box-shadow: 0 3px 3px rgba(0,0,0,.34);
		-moz-box-shadow: 0 3px 3px rgba(0,0,0,.34);
		transform: translate(105%,0);
		-webkit-transform: translate(105%,0);
		-moz-transform: translate(105%,0);
		-ms-transform: translate(105%,0);
		-o-transform: translate(105%,0);
		transition: transform 1s;
		-webkit-transition: transform 1s;
		-moz-transition: transform 1s;
		-o-transition: transform 1s;
	}
	header nav.active {
		transform: translate(-5%,0);
		-webkit-transform: translate(-5%,0);
		-moz-transform: translate(-5%,0);
		-ms-transform: translate(-5%,0);
		-o-transform: translate(-5%,0);
	}
	header nav, header nav a {
		height: auto;
	}
	header nav a {
		float: none;
		margin-right: 0;
		text-align: center;
		padding: .5em 0;
		border-bottom: 1px solid #57585b;
	}
	header nav a:nth-last-child(2) {
		border-bottom: none;
	}
	header nav a:hover:after, header nav a.active:after {
		display: none;
	}
	header nav a.active {
		color: #00c2ff;
	}
}

@media screen and (max-width:768px) {
	#body menu, #body #picsContainer {
		float: none;
		width: auto;
	}
	#body menu {
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 20px;
		widows: 90%;
		max-width: 450px;
	}
	#body menu .titleContainer h1 {
		padding-left: 0;
		text-align: center;
	}
}

@media screen and (max-width:640px) {
	#body .aboutPic, #body .aboutArticle {
		float: none;
		width: auto;
	}
	#body .aboutPic {
		max-width: 450px;
		margin: 0 auto 20px;
	}
	#body .aboutArticle, #body .aboutArticle .titleContainer {
		text-align: center;
	}
	#body .clientsCategory .clientsLogos a {
		width: 33%;
	}
}

@media screen and (max-width:425px) {
	#body .contactBlocks .block {
		padding: 3% 0;
	}
	#body .clientsCategory .clientsLogos a {
		width: 50%;
	}
}