﻿/*@font-face {
    font-family:'patuaone-regular';
    src:url('../font/PatuaOne-Regular.ttf') format('truetype');
    font-weight:normal;
    font-style:normal;
}*/

@font-face {
	font-family: 'patuaone-regular';
	src: url('../font/Raleway-Bold.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}


@font-face {
	font-family: 'roboto-regular';
	src: url('../font/Roboto-Regular.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'roboto-bold';
	src: url('../font/Roboto-Bold.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}

/* script cookie banner */
#script_cookie_banner {
	background-color: #000;
	color: #FFF;
	position: fixed;
	z-index: 15;
	bottom: 0;
	text-align: center;
	width: 100%;
	padding: 10px;
}

	#script_cookie_banner a,
	#script_cookie_banner .button {
		display: inline-block;
		color: inherit;
		text-decoration: none;
		margin: 0 20px;
		/**/
		background-position: 0 5px;
		background-repeat: no-repeat;
	}

	#script_cookie_banner a {
		opacity: 0.4;
		-webkit-transition: opacity 250ms ease;
		transition: opacity 250ms ease;
	}

		#script_cookie_banner a:hover {
			opacity: 1.0;
		}

	#script_cookie_banner .button {
		cursor: pointer;
	}


/* GENERAL */
html, body,
address, article, footer, header, h1, h2, h3, h4, h5, h6, hgroup, nav, section,
dd, div, dl, dt, figcaption, figure, hr, li, main, ol, p, pre, ul,
area, audio, map, track, video,
embed, object, param, source,
caption, col, colgroup, table, tbody, td, tfoot, th, thead, tr,
button, datalist, fieldset, form, input, keygen, label, legend, meter, optgroup, option, output, progress, select,
details, dialog, menu, menuitem, summary,
content, shadow, template {
	border: 0;
	margin: 0;
	padding: 0;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}

html {
	overflow-y: scroll;
	overflow-x: hidden;
	min-width: 320px;
	font-family: regular,Arial,Verdana;
	/**/
	font-size: 17px;
	line-height: 23px;
}

div, a {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

a {
	text-decoration: none;
	color: inherit;
	/**/
	-webkit-transition: color 250ms ease;
	transition: color 250ms ease;
}

	a:focus,
	input:focus {
		outline-style: none;
	}

	a:hover {
		color: var(--yankees-blue);
	}

.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.hidden {
	display: none;
}

/* PROPORTIONS */
.box-prop {
	display: block;
	width: 100%;
	height: auto;
	position: relative;
	overflow: hidden;
}

	.box-prop.square {
		padding-top: 100%;
	}

	.box-prop.ratio-4-3 {
		padding-top: 75%;
	}

	.box-prop.ratio-16-9 {
		padding-top: 56.25%;
	}

	/**/
	.box-prop .inner-prop {
		display: block;
		max-width: 100%;
		max-height: 100%;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
	}

/*
	https://coolors.co/fff100-0657e6-000000-0d1b2a-1b263b
	http://preview.themeforest.net/item/zemen-business-consulting-and-professional-services-html-template/full_screen_preview/22872043
*/
:root {
	--white: #FFF;
	--black: #000;
	--yellow: #FFF100;
	--blue-electric: #0657E6;
	--blue-dark: #0D1B2A;
	--yankees-blue: #1c126e;
	--gray: #666;
}

/* H1 */
h1 {
	font-size: 1.5em;
	margin-bottom: 15px;
}

/* H2 */
h2 {
	background-color: var(--yellow);
	display: inline-block;
	padding: 6px 20px;
	font-variant: small-caps;
	margin-bottom: 10px;
}

/* BODY */
body {
	font-family: 'roboto-regular';
}

h1, h2, h3, h4, h5, h6 {
	font-family: patuaone-regular;
}

/* COMMON */
.center {
	max-width: 1024px;
	margin: 0 auto;
}

@media all and (max-width:1024px) {

	.center.padding {
		padding: 0 15px;
	}
}

/* HEADER */
#header-spacer {
	display: none;
}

header {
	-webkit-transition: background-color 250ms ease;
	transition: background-color 250ms ease;
	/**/
	padding-top: 30px;
	margin-bottom: 30px;
}

	header .center {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	header .header-links {
		list-style: none;
		position: absolute;
		margin: -18px 0 0 410px;
	}

	header #logo {
		display: block;
		max-width: 400px;
	}

		header #logo img {
			width: 100%;
		}

	header #hamburger {
		display: none;
		width: 27px;
		height: 25px;
		margin: 0 15px 15px 15px;
		padding-top: 2px;
		padding-left: 3px;
		border-radius: 2px;
	}

		header #hamburger div {
			width: 21px;
			height: 3px;
			margin: 3px 0;
			background-color: var(--blue-dark);
			border-radius: 2px;
		}

	header nav {
		width: 100%;
		/*margin-top:9px;*/
		margin-top: 24px;
	}

		header nav ul {
			width: 100%;
			list-style: none;
			display: flex;
			font-weight: bold;
			text-transform: uppercase;
		}

			header nav ul li {
				flex-grow: 1;
				margin-left: 1px;
				border-left: solid 2px var(--yankees-blue);
			}

				header nav ul li:first-child {
					border-left: none;
				}

				header nav ul li a {
					display: block;
					text-align: center;
					padding: 4px 0 0 0;
					border-bottom: solid 4px transparent;
					-webkit-transition: border-color 250ms ease;
					transition: border-color 250ms ease;
				}

					header nav ul li a:hover {
						border-bottom-color: var(--yellow);
					}

					header nav ul li a.selected {
						background-color: var(--yellow);
					}

	header.open #hamburger {
		background-color: var(--black);
	}

		header.open #hamburger div {
			background-color: var(--yellow);
		}

/* MENU GOES MOBILE */
@media all and (max-width:768px) {

	#header-spacer {
		display: block;
		height: 70px; /* 55 + 15 */
	}

	header {
		padding-top: 15px;
		background-color: var(--yellow);
		max-height: 40px;
		overflow: hidden;
		position: fixed;
		z-index: 9;
		top: 0;
		width: 100%;
		/**/
		-webkit-transition: max-height 250ms ease;
		transition: max-height 250ms ease;
		/**/
		-webkit-box-shadow: 0 0 8px rgba(0,0,0,.15);
		box-shadow: 0 0 8px rgba(0,0,0,.15);
	}

		header #logo img {
			width: 220px;
			margin-top: 4px;
		}

		header .header-links {
			position: fixed;
			margin-top: -10px;
			margin-left: 260px;
		}

			header .header-links li {
				width: 50px;
				height: 50px;
			}

				header .header-links li a {
					display: block;
				}

					header .header-links li a img {
						width: 100%;
						height: auto;
					}

		header #hamburger {
			display: block;
		}

		header nav {
			margin-top: 0;
		}

			header nav ul {
				flex-direction: column;
			}

				header nav ul li {
					border-left: 0;
				}


		/* MENU OPEN */
		header.open {
			max-height: 400px;
		}
}

@media all and (max-width:480px) {

	header #logo {
		max-width: calc(100% - 57px);
	}
}

/* MAIN */
main {
	min-height: calc(100vh - 320px);
}

	main .spacer {
		height: 4em;
	}

	main .top-bar {
		border-top: solid 1px var(--yankees-blue);
		border-bottom: solid 1px var(--yankees-blue);
		padding-top: 1em;
		background-color: #F0F0F0;
		margin-bottom: 1em;
		-webkit-box-shadow: 0 0 8px rgba(0,0,0,.15);
		box-shadow: 0 0 8px rgba(0,0,0,.15);
	}

		main .top-bar h1 {
			color: var(--yankees-blue);
		}

	main .cont {
		margin: 2em 0;
	}

/* FOOTER */
footer {
	background-color: var(--yankees-blue);
	color: var(--white);
	padding: 4em 0;
	font-size: 0.75em;
	line-height: 1.35em;
	margin-top: 2em;
}

	footer .center {
		display: flex;
		justify-content: space-between;
	}

	footer b {
		font-family: roboto-bold;
		font-size: 1.15em;
	}

	footer .footer-links {
		list-style: none;
		margin-bottom: 30px;
		display: flex;
	}

		footer .footer-links li {
			padding: 0 20px;
			align-content: center;
		}

	footer .social-networks div {
		margin-left: 10px;
	}

	footer .social-networks ul {
		list-style: none;
		display: flex;
	}

		footer .social-networks ul li a {
			display: block;
			padding: 10px;
		}

			footer .social-networks ul li a img {
				-webkit-filter: invert(100%);
				filter: invert(100%);
				-webkit-opacity: 0.75;
				opacity: 0.75;
				-webkit-transition: opacity 250ms ease;
				transition: opacity 250ms ease;
			}

			footer .social-networks ul li a:hover img {
				-webkit-opacity: 1.0;
				opacity: 1.0;
			}

@media all and (max-width:640px) {
	footer .center {
		flex-direction: column;
	}

		footer .center > div {
			margin-bottom: 30px;
		}

	footer .footer-links {
		flex-direction: column;
	}

		footer .footer-links li {
			padding: 10px 0;
		}

	footer .social-networks div {
		margin-left: 0;
	}

	footer .social-networks ul li:first-child a {
		padding-left: 0;
	}
}



/* THUMBS */
.thumbs {
	margin-top: 15px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

	.thumbs .thumb {
		margin-bottom: 30px;
		padding: 15px;
		width: calc((100% - 60px) / 3);
		-webkit-box-shadow: 0 0 8px rgba(0,0,0,.15);
		box-shadow: 0 0 8px rgba(0,0,0,.15);
	}

		.thumbs .thumb.dummy {
			-webkit-box-shadow: none;
			box-shadow: none;
		}

		.thumbs .thumb .box-prop {
			background-size: cover;
			background-position: center center;
		}

			.thumbs .thumb .box-prop .inner-prop {
				/*background-color:var(--yankees-blue);*/
				/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#1c126e+0,1c126e+100&0+33,1+67,1+100 */
				/*background: -moz-linear-gradient(top, rgba(28,18,110,0) 0%, rgba(28,18,110,0) 33%, rgba(28,18,110,1) 67%, rgba(28,18,110,1) 100%);
background: -webkit-linear-gradient(top, rgba(28,18,110,0) 0%,rgba(28,18,110,0) 33%,rgba(28,18,110,1) 67%,rgba(28,18,110,1) 100%);
background: linear-gradient(to bottom, rgba(28,18,110,0) 0%,rgba(28,18,110,0) 33%,rgba(28,18,110,1) 67%,rgba(28,18,110,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#001c126e', endColorstr='#1c126e',GradientType=0 );*/


				text-shadow: 1px 1px 1px #1c126e;
				color: var(--yellow);
				padding: 15px 30px;
				display: flex;
				align-items: flex-end;
				/**/
				-webkit-transition: opacity 500ms ease;
				transition: opacity 500ms ease;
				-webkit-opacity: 1.0;
				opacity: 1.0;
				font-weight: bold;
			}

/*.thumbs .thumb:hover .box-prop .inner-prop {
	-webkit-opacity:0.0;
	opacity:0.0;
}*/


/* INVERSE */
/*.thumbs.inverse .thumb .box-prop .inner-prop {
	-webkit-opacity:0.8;
	opacity:0.8;
}

.thumbs.inverse .thumb:hover .box-prop .inner-prop {
	-webkit-opacity:0.2;
	opacity:0.2;
}*/

/**/
@media all and (max-width:768px) {

	.thumbs .thumb {
		width: calc((100% - 30px) / 2);
	}
}

@media all and (max-width:640px) {

	.thumbs .thumb {
		width: 100%;
	}
}


/* GALLERY - PRODUCTION */
.photo-navigation {
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}

	.photo-navigation a {
		background-color: var(--yankees-blue);
		color: var(--yellow);
		font-weight: bold;
		padding: 10px 20px;
		-webkit-transition: color 250ms ease, background-color 250ms ease;
		transition: color 250ms ease, background-color 250ms ease;
	}

		.photo-navigation a.enabled:hover {
			color: var(--yankees-blue);
			background-color: var(--yellow);
		}

		.photo-navigation a:last-child {
			text-align: right;
		}

		.photo-navigation a.disabled {
			-webkit-opacity: 0.3;
			opacity: 0.3;
			cursor: default;
			-webkit-filter: saturate(50%);
			filter: saturate(50%);
		}

@media all and (max-width:480px) {

	.photo-navigation a {
		text-align: center;
		/*width:40px;*/
	}

		.photo-navigation a span {
			display: none;
		}
}



.image-big {
	padding: 15px;
	-webkit-box-shadow: 0 0 8px rgba(0,0,0,.15);
	box-shadow: 0 0 8px rgba(0,0,0,.15);
	/**/
	width: calc(100% - 30px);
}

/* PROJECT */
.project-images {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

	.project-images img {
		margin-bottom: 20px;
		padding: 15px;
		-webkit-box-shadow: 0 0 8px rgba(0,0,0,.15);
		box-shadow: 0 0 8px rgba(0,0,0,.15);
		width: 100%;
		box-sizing: border-box;
	}

		.project-images img.vertical {
			height: auto;
			width: calc((100% - 20px) / 2);
		}

@media all and (max-width:768px) {

	.project-images img.vertical {
		width: 100%;
	}
}


/* NEWS - ROOT */
.news-root .news {
	margin-bottom: 20px;
	display: block;
}

	.news-root .news:hover {
		color: var(--yankees-blue);
	}

	.news-root .news .date {
		color: var(--gray);
		font-size: 0.75em;
	}

	.news-root .news:hover .name {
		text-decoration: underline;
	}

/* NEWS - SINGLE */
.news-single .date {
	color: var(--gray);
}

.news-single .cont {
	margin-top: 1em;
}

.news-single img {
	padding: 15px;
	-webkit-box-shadow: 0 0 8px rgba(0,0,0,.15);
	box-shadow: 0 0 8px rgba(0,0,0,.15);
	/**/
	max-width: calc(100% - 30px);
}

/* DOWNLOADS */
.downloads-root .downloads-item {
	display: flex;
	margin-bottom: 20px;
	cursor: pointer;
}

	.downloads-root .downloads-item .arrow img {
		width: 30px;
		margin-top: 5px;
		margin-right: 15px;
	}

	.downloads-root .downloads-item:hover .arrow img {
		filter: hue-rotate(190deg);
	}

	.downloads-root .downloads-item .name {
		font-family: roboto-bold;
	}

	.downloads-root .downloads-item .file {
		color: var(--gray);
		font-size: 0.75em;
	}

	.downloads-root .downloads-item .info {
		font-size: 0.75em;
		margin-top: 10px;
		cursor: default;
	}

/* PARTNERS */
.partner {
	margin-bottom: 2em;
}

	.partner img {
		max-width: 250px;
	}

	.partner .name {
		margin-bottom: 10px;
	}

/* CONTACTS */
.map {
	-webkit-box-shadow: 0 0 8px rgba(0,0,0,.15);
	box-shadow: 0 0 8px rgba(0,0,0,.15);
}

	.map iframe {
		margin: 15px;
		width: calc(100% - 30px);
		height: calc(50vw - 30px);
		box-sizing: border-box;
	}
