@font-face { 
	font-family: 'Lato';
    src: url('../fonts/Lato-Regular.ttf') format('truetype'); 
}

@font-face { 
	font-family: 'PaytoneOne';
    src: url('../fonts/PaytoneOne.ttf') format('truetype'); 
}

html {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

body {
    background: #59595b;
	font-family:calibri;
	min-width:550px; 
	overflow-x:hidden;
}

* {
    margin: 0px;
    padding: 0px;
	font-size: 19px;
}

*,
*:before,
*:after {
    box-sizing: inherit;
    -moz-box-sizing: inherit;
    -webkit-box-sizing: inherit;
}

a {
	color:#48AEAE;
	text-decoration:none;
}

#banner {
	width: 80%;
	background: #fff;
	padding-top:1px;
}

#logo {
	display:block;
    float: left;
	height:50px;
	width:220px;
	background-image: url(../images/logo_s.jpg);
	background-position:left center;
	background-repeat:no-repeat;
	margin-top:10px;
	margin-bottom:8px;
	border: 0px solid green;
}

#main {
	width:80%;
	background:#f5f5f5;
	padding: 30px 0px;
}

#footer {
	width:80%;
	background:#59595b;
	padding-top:20px;
	padding-bottom:20px;
	color:#878787;
}

#footer * {
	font-size: 14px;
}

.border_banner {
	width:10%;
	background:#fff;
}

.border_main {
	background:#f5f5f5;
}

.border_footer {
	background:#59595b;
}

input#responsive_nav,
label.responsive_nav_label {
    display: none;
}

nav {
    float: right;
    width: 72%;
	padding-top:10px;	
    background:#fff;
}
nav ul {
	float:right;
    margin: 0;
    padding: 0;
}

nav a {
    display: block;
	text-decoration: none;
	font-smoothing: antialiased;
	letter-spacing:0px;
	text-transform: uppercase;
	overflow: visible;
	line-height: 20px;
	color: #59595b;
}

nav ul li {
	position: relative;
	float: left;
	list-style: none;
	color: #555;
	transition: 0.2s;
}

nav ul li a {
    padding: 15px;
	padding-left:8px;
	padding-right:8px;
}

nav ul > li.submenu > a:after {
	position: relative;
	float: right;
	color: #555;
	content:'';
	margin-left: 15px;
	margin-top: 5px;
	border-top: 5px solid #555;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-bottom: 5px solid transparent;
}

nav ul > li.submenu > a:hover:after{
	border-top: 5px solid #49AEAE;
}

nav ul li:hover {
    background: #fff;
	color: #49AEAE;
}

nav ul ul {
	position: absolute;
	top: -9999px;
	left: -9999px;
	background: #fff;
	box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.1);
	z-index:999;
}

nav ul ul li {
    float: none;
    border-bottom: 1px solid #f0f0f0;
}

nav ul ul li a {
    padding: 10px 20px;
}

nav ul ul li a:hover {
    color:#49AEAE;
}

nav ul ul li:last-child {
    border-bottom: none;
}

nav ul li:hover > ul {
    top: 100%;
    left: 0;
}

nav ul ul li:hover > ul {
    top: 0;
    left: 200px;
}
#submenu{
	content:'';
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid #555;
	border-bottom: 5px solid transparent;
}

.menu_link {
	display:none;
}

.flip_menu_link {
	perspective: 200px;
	transition: all .5s linear;
	position: relative;
	cursor: pointer;
}

.flip_menu_link:hover .flip_menu_box, 
.flip_menu_link:focus .flip_menu_box {
	transform: translateZ(-20px) rotateX(90deg);
}

.flip_menu_box {
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	transition: all .3s ease-out;
	transform: translatez(-20px);
	transform-style: preserve-3d;
}

.front {
	transform: rotatex(0deg) translatez(20px);
	color: #59595b;
	background: #fff;
}

.back {
	transform: rotatex(-90deg) translatez(20px);
	color: #4FA8A3;
	background: #fff;
}

.front, .back {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	padding: 15px 10px;
	pointer-events: none;
	box-sizing: border-box;
}

#footer_menu a{
	color:#878787;
	text-decoration:none;
	padding: 0px;
	padding-right: 5px;
}

#footer_menu a:hover{
	color:#49AEAE;
}

.imp {
	transition: all 3s ease-out;
}

.imp h1{
	font-size:22px;
	margin-bottom:20px;
}

.imp h2{
	font-size:20px;
	margin-bottom:15px;
}

.imp h3{
	font-size:18px;
	margin-bottom:10px;
}

.imp p {
	margin: 20px 0px;
	text-align: justify;
}

.contact_menu {
	width:80%;
	height:100px;
	border:0px solid black;
	position:absolute;
	text-align:right;
	min-width:500px;
	display:none;
}

#link_mail {
	float:right;
	margin-left:10px;
}

#link_mail a{
	display:block;
	width:32px;
	height:32px;
	border:0px solid black;
	background: url(../images/icon_mail.png);
	background-repeat:no-repeat;
	background-position:center center;
}

#link_contact {
	float:right;
	margin-left:10px;
}

#link_contact a{
	display:block;
	width:32px;
	height:32px;
	border:0px solid black;
	background: url(../images/icon_contact.png);
	background-repeat:no-repeat;
	background-position:center center;
}

#home_text_field {
	color:#333;
	width:90%;
	float: left;
	text-align:justify;
	text-shadow: -0.5px -0.5px 0px #f0f0f0;
	margin-top:10px;
	border:0px solid green;
}

#home_text_field h1{
	margin-bottom:20px;
	font-size:24px;
}

#home_text_field p{
	font-size:24px;
	line-height:30px;
	letter-spacing:1px;
	margin: 27px 0px;
}


#home_text_field font{
	font-size:20px;
	margin-top:20px;
}

#home_text_field div{
	display:inline-block;
    overflow:hidden;
    white-space:nowrap;
	font-size:45px;
	color:#444;
}

#home_text_field span{
	font-size:30px;
}

#home_text_field div:first-of-type {    
    animation: showup 5s infinite;
}

#home_text_field div:last-of-type span {
	margin-left:-355px;
	animation: slidein 10s infinite;
}

@keyframes showup {
    0% {opacity:0;}
    20% {opacity:1;}
    80% {opacity:1;}
    100% {opacity:0;}
}

@keyframes slidein {
    0% { margin-left:-800px; }
    20% { margin-left:-800px; }
    35% { margin-left:0px; }
    100% { margin-left:0px; }
}

@keyframes reveal {
    0% {opacity:0;width:0px;}
    20% {opacity:1;width:0px;}
    30% {width:355px;}
    80% {opacity:1;}
    100% {opacity:0;width:355px;}
}
#home_h_field {
	width:400px;
	color:#202020;
	text-align:justify;
	text-shadow: -0.5px -0.5px 0px #111;
	margin-top:-10px;
	margin-bottom:40px;
	border: 0px solid #000;
	float:right;
	text-align:center;
}
#home_h_field h1 {
	font-family: "PaytoneOne";
    text-transform: uppercase;
    letter-spacing: 0px;
}

#home_h_field h1 span {
  display: block;
  margin: 11px 0 17px 0;
  font-size: 55px;
  line-height: 55px;
  color: #e7e7e7;
  text-shadow: 0 7.2px 4.9px #a1a1a1,0 -2px .5px #fff;
  letter-spacing: 0px;
}

#home_info_field {
	color:#666;
	width:36%;
	height:52%;
	float: right;
	text-align:justify;
	text-shadow: -0.5px -0.5px 0px #111;
	margin-top:20px;
	border: 0px solid #000;
}
.home_info {
	width:100%;
	border-bottom: 2px solid #f0f0f0;
	background: #59595b;
}

.postdate{
	width:22%;
	position:relative;
	color:#888;
	padding: 10px 15px;
	border-right: 2px solid #f0f0f0;
}

.month {
	float:left;
	width:100%;
	font-size:18px;
	line-height:18px;
}

.day {
	width:100%;
	font-size:35px;
	line-height:35px;
}

.year {
	position:absolute;
	right:-15px;
	top:20px;
	-webkit-transform: rotate(90deg); 
	-moz-transform: rotate(90deg);
	padding-left: 10px;
	letter-spacing:2px;
	font-size:18px;
}

.slider {
	width:100%;
	margin: 20px 0px;
	overflow:hidden;
	position:relative;
}

.slider input 
{
    position: absolute;
    left: -200000px;
}

.sliderElements,
.sliderElements figure,
.sliderControls 
{
    margin: 0px;
	padding:0px;
}
 
.sliderElements:after 
{
    content: ".";
    display: block;
    height: 0px;
    clear: both;
    visibility: hidden;
    font-size: 0;
    overflow: hidden;
}

.sliderElements 
{
    list-style: none;
    position: relative;
    left: 0;
    width: 500%;
    margin-bottom: 0px;
    -webkit-transition: left .8s ease-in-out;
    -moz-transition: left .8s ease-in-out;
    -o-transition: left .8s ease-in-out;
    transition: left .8s ease-in-out;
}
 
.sliderElements > li 
{
    float: left;
    width: 20%;
    position: relative;
}
 
#slide02:checked ~ .sliderElements 
{
    left: -100%;
}
 
#slide03:checked ~ .sliderElements 
{
    left: -200%;
}
 
#slide04:checked ~ .sliderElements 
{
    left: -300%;
}
  
#slide05:checked ~ .sliderElements 
{
    left: -400%;
}

.sliderElements figcaption 
{
    position: absolute;
    display: block;
    color: #efefef;
    background: rgba(9,9,1,.60);
    left: 1px;
    top: 15px;
    padding: 10px;
	z-index:1;
}
 
.sliderElements figcaption h2
{
    color: #efefef;
}

.sliderControls
{
	width:100%;
	height:40px;
	vertical-align:center;
    text-align: center;
	border: 0px solid #555;
	padding-top:10px;
	
}
 
.sliderControls li 
{
    display: inline-block;
}

.sliderControls label 
{
	font-size:16px;
    width: 23px;
    height: 23px;
    text-align: center;
	vertical-align:center;
    border-radius: 50%;
    display: block;
    cursor: pointer;
    background: #e7e7e7;
    color: rgba(0,0,0,0);
	-webkit-transition-duration: 0.8s;
    -moz-transition-duration: 0.8s;
    -o-transition-duration: 0.8s;
    transition-duration: 0.8s;
	border: 0px solid #59595b;
}

.sliderControls label:hover,
#slide01:checked ~ .sliderControls label[for="slide01"],
#slide02:checked ~ .sliderControls label[for="slide02"],
#slide03:checked ~ .sliderControls label[for="slide03"],
#slide04:checked ~ .sliderControls label[for="slide04"], 
#slide05:checked ~ .sliderControls label[for="slide05"]
{
    background: #4da6a4;
    color: #ddd;
	-webkit-transform:rotate(360deg);
    -moz-transform:rotate(360deg); 
    -o-transform:rotate(360deg);
	border-color: #4da6a4;
}

.slider_button {
    color: rgba(89,89,91,.85) !important;
	width:50px;
	height:85%;
	font-size:50px;
	border:0px solid transparent;
	background:rgba(89,89,91,.0);
	cursor:pointer;
    position: absolute;
	z-index:4;
    top: 0%;
    border: none;
    outline:none;
}	

.slider_button_right {
    position: absolute;
    top: 0%;
	right:0%;
	z-index:4;
}

.sliderImage
{
	width:100%;
}

svg {
	border:0px solid red;
	max-width:450px;
}

svg text{
	color:#222;
	font-size:7px;
	text-shadow: 0px -2px 0px #222;
}

.project_box {
	border:0px solid black;
	width:100%;
	min-height:600px;
	position:relative;
}
.project_loader {
	border:0 solid red;
	width:100%;
	height:100%;
	position:absolute;
	display:block;
	background:#f5f5f5;
}
.project_loader_content {
	border:0px solid green;
	margin-top:150px;
	color:#888;
	text-shadow: 0px -.2px 0px #fff, 0px .2px 0px #999;
}
.project_loader_bar {
  height: 4px;
  width: 350px;
  position: relative;
  overflow: hidden;
  background-color: #ddd;
  margin-bottom:10px;
}
.project_loader_bar:before{
  display: block;
  position: absolute;
  content: "";
  left: -200px;
  width: 200px;
  height: 4px;
  background-color: #48AEAE;
  animation: loading 3s linear infinite;
}

@keyframes loading {
    from {left: -200px; width: 30%;}
    50% {width: 30%;}
    70% {width: 70%;}
    80% { left: 50%;}
    95% {left: 120%;}
    to {left: 100%;}
}

.project_content {
    -moz-column-count: 4;
    -webkit-column-count: 4;
    column-count: 4;
	
	-moz-column-gap: 20px;
	-webkit-column-gap: 20px;
	column-gap: 20px;

    -moz-column-fill: initial;
    -webkit-column-fill: initial;
    column-fill: initial;	
	
}
.project_content:after {
  content: "";
  display: block;
  clear: both;
  visibility: hidden;
  height: 0;
  line-height: 0;
}
.project_content .item {
	width:100%;
	padding:0px;
	margin-bottom: 20px;
	position:relative;
	overflow:hidden;
	border:0px solid red;
}


.project_content .item:after {
  content: "";
  display: block;
  padding-bottom: 100%;
}

.project_content .item .content {
	position:absolute;
	width:100%;
	height:100%;
	background: #59595b;
	overflow:hidden;
	text-align:center;
}

.project_content .item .content img {
	-moz-transition: all .5s ease-in-out;
	-webkit-transition: all .5s ease-in-out;
	transition: all .5s ease-in-out;
	width: 100%;
}

.project_content .item .content h1 {
    letter-spacing: 0px;
	margin: 15% 10%;
	vertical-align:center;
}

.project_content .item .content h1 span {
	display: block;
	font-size: 19px;
	text-transform: uppercase;
	line-height: 18px;
	color: #eee;
	letter-spacing: 0px;
}

#results {
	height:100px;
	width:400px;
	border:1px solid 48aeae;
	margin: 40px 20px;
	font-size:10px;
	display:none;
	overflow-y:hidden;
}
.contact_box {
	width:100%;
	border: 1px solid transparent;
	margin: 0px 0px;
	
}

.contact_info_box {
	background: #fff;
	padding: 20px;
	border-bottom:20px solid #f5f5f5;
	border-left:20px solid #f5f5f5;
	color:#777;
	font-size:19px;
	
}
.contact_info_box a {
	font-size:19px;
}

.contact_info_highlight {
	background: #48AEAE;
	color:#eee;
}
.contact_border {
	background: #f5f5f5;
	border-bottom:20px solid #f5f5f5;
}

.contact_content {
	width:100%;
	background: #fff;
	color:#777;
	padding:3%;
	float:right;
}
.contact_content h1 {
	font-size: 24px;
	margin-bottom:20px;
}
.contact_content p {
	font-size: 18px;
}
.inp_box {
	width:100%;
	margin: 20px 0px;
	border:0px solid red;
}
.inp_label {
	font-size:18px;
}
.inp_field {
	width:100%;
	padding-right:10px;
}
.inp_field input{
	width:100%;
	height:35px;
	border:3px solid #e5e5e5;
	background: #eee;
	margin:5px 0px;
	padding-left:10px;
}

.inp_field input:focus{
	border:3px solid #48AEAE;
}
.inp_field textarea{
	width:100%;
	margin-bottom:20px;
	margin-top:10px;
	border:3px solid #e5e5e5;
	background: #eee;
	padding:10px;
}
.inp_field textarea:focus{
	border:3px solid #48AEAE;
}
.inp_check img{
	border:3px solid #e5e5e5;
	margin-top:5px;
	height:35px;
}
.captcha_img{
	float:right;
	height:35px;
	margin: 0px 10px;
	margin-top:5px;
	border:3px solid #e5e5e5;
}
.send_button{
	margin:20px 10px;
	height:35px;
	float:right;
	border:3px solid #e5e5e5;
	padding: 0px 20px;
	color:#eee;
	font-size:16px;
	cursor:pointer;
	background: #48AEAE;
	width:220px;
}
.send_button:hover{
	color:#777;
	background: #eee;
}

#contact_send_info{
	display:none;
	width:100%;
	height:95%;
	position:absolute;
	background:#fff;
	text-align:center;
	padding-top:25%;
}
#info{
	font-size :24px;
	color:#333;
	margin-bottom:30px;
}
#msg{
	font-size :18px;
	color:#777;
}
@media screen and (-webkit-min-device-pixel-ratio: 2) {

	#logo {
	    background: url(../images/logo_hd.jpg);
		background-size: 220px 49px;
	}
	
	label.responsive_nav_label {
		background-image: url(../images/menue_mobi_hd.jpg);
		background-size: 45px 29px;
	}
		
	input#responsive_nav[type=checkbox]:checked  + label{
		background-image: url(../images/menue_mobi_hd_h.jpg);
		background-size: 45px 29px;
	}
}

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

	* {
	    font-size: 16px;
	}
		
	#home_text_field{
		width:90%;
	}
	#home_text_field p{
		font-size:20px;
		line-height:24px;
	}

	#home_text_field font{
		font-size:20px;
	}

	#home_text_field div{
		font-size:41px;
	}

	#home_text_field span{
		font-size:26px;
	}
	
	#home_h_field {
		width:350px;
	}
}

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

	* {
	    font-size: 14px;
	}
	
	nav ul li a {
		padding: 15px;
		padding-left:6px;
		padding-right:6px;
	}
	
	#banner{
		width:86%;
	}
	
	.border_banner{
		width:7%;
	}
	
	.contact_menu {
		width:86%;
	}
		
	#home_text_field p{
		font-size:18px;
		line-height:20px;
	}

	#home_text_field font{
		font-size:18px;
	}

	#home_text_field div{
		font-size:37px;
	}

	#home_text_field span{
		font-size:22px;
	}
	
	#home_h_field h1 span {
	font-size: 47px;
	line-height: 53px;
	text-shadow: 0 6.2px 3.9px #a1a1a1,0 -1.8px .4px #fff;
	letter-spacing: 0px;
	}
	
	#home_h_field {
		width:300px;
	}
	
	#home_text_field {
		width:92%;
	}
}

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

	* {
	    font-size: 14px;
	}
	#banner {
		width:90%;
	}
	#logo {
		float:left;
		width:220px;
		margin:0px;
		margin-top:10px;
		margin-bottom:10px;
	}
	
	label.responsive_nav_label {
		width:55px;
		height:70px;
		float:right;
		position: relative;
	    display: block;
	    background: #fff;
	    cursor: pointer;
		background-image: url(../images/menue_mobi_s.jpg);
		background-position:right center;
		background-repeat: no-repeat;
	}
  
	label.responsive_nav_label span {
	    margin-right: 0px;
		text-transform: none;
		font-size:19px;
	}
	
	
	nav a{	    
		width:100%;
	}
	
	nav {
	    position: absolute;
	    top: -9999px;
	    padding: 0px;
		float:right;
		
	}
	
	nav ul {
		float:left;
		width:100%;
		padding-top:20px;
		padding-bottom:20px;
	}
	input#responsive_nav[type=checkbox]:checked ~ nav {
	    position: relative;
	    top: 0px;
		width:100%;
	}
	
	input#responsive_nav[type=checkbox]:checked  + label{
		background-image: url(../images/menue_mobi_s_h.jpg);
	}
	
	
	nav a:after {
	    display: none;
	}

	nav li {
	    float: none !important;
	    width: 100% !important;
	    border-bottom: none !important; 
		
	}
	  
	nav li a {
	    margin-bottom: 10px !important;
	    padding: 10px 10px !important; 
	    background: #f0f0f0;
		width:100%;
		background-image: url(../images/plus_s.png);
		background-position:right center;
		background-repeat: no-repeat;
	}
	
	nav ul li:hover {
	    background: none;
	}
	  
	nav ul li a:hover {
		color:#555;
	    background: #49AEAE;
		background-image: url(../images/plus_s.png);
		background-position:right center;
		background-repeat: no-repeat;
	}
	  
	nav ul ul {
	    position: relative !important;
	    width: 100%;
	    left: 0 !important;
	    top: 0 !important;
	    background: none !important;
	    box-shadow: none;
	}
	  
	nav ul ul li {
	    padding-left: 0px;
	}
	
	nav ul ul li a:hover{
	    color:#555;
	}
	.menu_link {
		display:block;
	}
	
	.flip_menu_link {
		display:none;
	}
		
	.border_banner {
		width:5%;
	}
		
	.border_main {
		width:5%;
	}
		
	.border_footer {
		width:5%;
	}
	
	#footer *{
		font-size:8px;
	}
	.contact_menu {
		width:90%;
	}
		
	#home_text_field p{
		font-size:15px;
		line-height:18px;
	}

	#home_text_field font{
		font-size:15px;
	}

	#home_text_field div{
		font-size:33px;
	}

	#home_text_field {
		padding-right:20px;
		width:98%
	}
	
	#home_text_field span{
		font-size:18px;
	}
	#home_h_field h1 span {
	font-size: 40px;
	line-height: 40px;
	text-shadow: 0 6.2px 3.9px #a1a1a1,0 -1.8px .4px #fff;
	letter-spacing: 0px;
	}
	
	#home_h_field {
		width:230px;
	}
	
	.sliderControls label {
		width: 18px;
		height: 18px;
	}
	
	.slider_button {
		height:80%;
	}
	
	.sliderElements figcaption 
	{
		top:10px;
	}
	.sliderElements figcaption h2
	{
		font-size: 12px;
	}
	
	.project_content {
		-moz-column-count: 2;
		-webkit-column-count: 2;
		column-count: 2;
	}
}