body{margin: 0; padding: 0; font-family: 'Roboto', sans-serif; background: #fff; color: #1C1C1E; font-size: 15px; overflow-x: hidden; margin: 80px 0 0;}
*{margin: 0; padding: 0; box-sizing: border-box; }


.h1,.h2,.h3,.h4,.h5,.h6,
h1,h2,h3,h4,h5,h6{line-height: 100%; display: block; font-weight: 700}

h1,.h1{font-size: 35px}
h2,.h2{font-size: 30px}
h3,.h3{font-size: 25px}
h4,.h4{font-size: 20px}
h5,.h5{font-size: 16px}
h6,.h6{font-size: 14px}


/**** Page ****/
#maxw1{max-width: 1450px; margin: 0 auto; padding: 0 15px;}
#maxw2{max-width: 1250px; margin: 0 auto; padding: 0 15px;}
#maxw3{max-width: 850px; margin: 0 auto; padding: 0 15px;}

.frame {margin: 0 auto; max-width: 100%; }
.frame:after{content: ""; display: table; clear: both; }
.bit-1 {float: left; width: 100%; }
.clear:after{content: "\00a0"; visibility: hidden; display: block; height: 0; clear: both;}


/**** Custum ****/
*:focus{outline: none;}

.fa{font-weight: 400!important}

input,
select,
textarea,
button{font-family: 'Roboto', sans-serif;}

a{text-decoration: none;}

img{max-width: 100%;}

ul li{list-style-type: none;}
input[type="button"],
input[type="submit"],
a,
button,
.knop{transition: 0.2s ease-in-out; -moz-transition: 0.2s ease-in-out; -webkit-transition: 0.2s ease-in-out; cursor: pointer;}
.transition{transition: 0.2s ease-in-out; -moz-transition: 0.2s ease-in-out; -webkit-transition: 0.2s ease-in-out;}


/**** Buttons ****/
.btn{display: inline-block; border: none; background: transparent; color: transparent; text-align: center;}
.s_btn{font-size: 13px; line-height: 16px; padding: 8px 15px; border-radius: 4px;}
.n_btn{font-size: 14px; line-height: 16px; padding: 11px 20px; border-radius: 4px;}
.l_btn{font-size: 15px; line-height: 16px; padding: 14px 25px; border-radius: 4px;}
.xl_btn{font-size: 16px; line-height: 16px; padding: 17px 30px; border-radius: 4px;}

.btn.red{background: #D30E2B; color: #fff;}
.btn.red:hover{background: #a80b22; color: #fff;}
.btn.dark{background: #1C1C1E; color: #fff;}
.btn.dark:hover{background: #1C1C1E; color: #fff;}

.btn .left{display: inline-block; margin-right: 15px;}
.btn .right{display: inline-block; margin-left: 15px;}


/**** Content container ****/
#content_container{line-height: 180%;}
#content_container > *:first-child{margin-top: 0;}
#content_container > *:last-child{margin-bottom: 0;}
#content_container  h1 + *,
#content_container  h2 + *,
#content_container  h3 + *,
#content_container  h4 + *,
#content_container  h5 + *,
#content_container  h6 + *{margin-top: 5px!important}
#content_container > ul,#content_container > ol,#content_container table,
#content_container p, p{margin: 1.12em 0;}
#content_container > ol, #content_container > ul{padding: 0 0 0 20px;}
#content_container ul li{list-style-type: disc;}
#content_container ol ul,#content_container ol ol,#content_container ul ol,#content_container ul ul{padding: 0 0 0 20px;}
#content_container a{text-decoration: underline; color: #3BAEEE}
#content_container a:hover{color: #525355;}
#content_container img{height: auto!important;}



/**** Header ****/
#header{position: fixed; left: 0; top: 0; z-index: 999; background: #fff; -webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.3); -moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.3); box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.3); height: 80px;}
.logo{float: left; font-size: 0; width: 260px; margin: 13px 0 0;}

.right_header{float: right; width: calc(100% - 260px); text-align: center;}
.rh_btns{float: right; margin: 18px 0 0;}
.rh_btns a{float: left; line-height: 36px; color: #1C1C1E; font-size: 15px; margin: 0;}
.rh_btns a i{float: left; background: #D30E2B; color: #fff; width: 44px; height: 44px; line-height: 44px; border-radius: 100%; text-align: center; margin: 0 10px 0 0;}
.rh_btns a.dark i{background: #1C1C1E;}
.rh_btns a:hover i{background: #F5F5F5!important; color: #1C1C1E!important}
/*.rh_btns a span{display: none;}*/



/**** Menu ****/
.menu{display: inline-block; padding: 0 40px}
.menu li{float: left;}
.menu li a{float: left; height: 80px; line-height: 77px; padding: 0 25px; font-size: 16px; color: #1C1C1E; border-bottom: 3px solid #fff; text-transform: uppercase;}
.menu li:hover a,
.menu li.active a{border-color: #D30E2B;}
.menu ul{display: none}

.menu_btn{display: none;}
#mobile-menu{display: none;}

.menu_overlay{display: none;}
.menu_overlay{position: fixed; top: 0; left: 0; height: 100%; background: #000; opacity: 0.3; z-index: 190}
.menu_overlay.active{display: inline-block}



/**** Slider ****/
#slider{overflow: hidden;}
.slider_item{position: relative;}
.slider_image{padding: 30% 0 0; min-height: 300px; position: relative;}
.slider_image:after{content: ''; float: left; width: 100%; height: 100%; background: #000; position: absolute; left: 0; top: 0; opacity: 0.2}
.slider_content{position: absolute; text-align: left; color: #fff; left: 0; top: calc(50% - 10px);}
.slider_content .h1{font-size: 50px; text-transform: uppercase; text-shadow: 0 0 30px #000;}
.slider_content .h3{font-size: 40px; text-shadow: 0 0 30px #000; margin: 15px 0 0; font-weight: 400;}




/**** Content ****/
#content{background: #F5F5F5; padding: 65px 0; text-align: center;}
.page_head{margin: 0 0 30px;}
.page_head h1{display: inline-block; padding: 0 10px 10px; border-bottom: 3px solid #D30E2B;}



/**** Services ****/
#services{overflow: hidden;}
.service_list{float: left; width: calc(100% + 80px); margin: 40px -40px;}
.service_item{float: left; width: calc(50% - 80px); padding: 40px 0 40px 150px; margin: 0 40px;}
.service_item:nth-child(even){float: right;}
.si_image{float: left; width: 110px; height: 110px; border-radius: 100%; background: #D30E2B; margin: 0 0 0 -150px; background-size: 80% auto!important;}
.si_content h3{float: left; margin: 0 0 15px; line-height: 24px; padding: 0 10px 10px 0; border-bottom: 3px solid #D30E2B}


/**** Impression ****/
#impression{overflow: hidden;}
.carousel_list{}
.carousel_item{float: left;}
.carousel_item img{float: left; height: 400px;}
.impression_container{position: relative; z-index: 1;}
.impression_container button{float: left; width: 60px; height: 60px; line-height: 60px; background: transparent; border: none; font-size: 0; position: absolute; left: 20px; top: 50%; margin: -30px 0 0; text-align: center; color: #fff; z-index: 3;}
.impression_container button:after{content: '\f053'; font-family: fontawesome; font-size: 50px; font-weight: bold;}
.impression_container button.slick-next{left: auto; right: 20px}
.impression_container button.slick-next:after{content: '\f054';}


/**** Route ****/
.route_container{position: relative;}
.route_container iframe{position: absolute; left: 0; top: 0; height: 100%;}
.route_container .route_spacer{padding: 25% 0 0; min-height: 300px;}
.route_container a.btn{width: 250px; text-align: center; position: absolute; left: 0; right: 0; margin: 0 auto; bottom: 30px; z-index: 2;}



/**** Footer ****/
#footer{background: #1C1C1E; color: #fff; padding: 55px 0 55px 0; font-size: 17px; border-top: 10px solid #D30E2B;}

.footer_logo{text-align: center; padding: 30px 0 30px; background: #D30E2B; margin: 0 0;}
.footer_logo img{width: 260px;}

.footer_left{float: left; width: 49%;}
.footer_left_content{float: right; width: 500px; max-width: 100%;}
.footer_right{float: right; width: 44%;}
.footer_head{margin: 0 0 30px;}
.footer_head h3{display: inline-block; border-bottom: 3px solid #D30E2B; padding: 0 10px 10px 0;}

.footer_left .form_item{float: left; width: 100%; padding: 0 0 0 180px; margin: 20px 0 0;}
.footer_left .form_label{float: left; margin: 10px 0 0 -180px; line-height: 20px;}
.footer_left input,
.footer_left textarea{float: left; width: 100%; height: 44px; padding: 0 15px; background: #fff; border: 1px solid #fff; color: #1C1C1E; border-radius: 4px; font-size: 14px;}
.footer_left textarea{height: 130px; padding: 10px 15px;}
.footer_left .wpcf7-not-valid{border-color: #D30E2B!important;}

span.wpcf7-not-valid-tip{display: none!important}
div.wpcf7-response-output{float: left; width: 100%; border: none!important; padding: 0!important; margin: 15px 0 0!important; color: green;}
div.wpcf7-validation-errors, div.wpcf7-acceptance-missing{color: #D30E2B}

.contact_list{float: left; width: 100%;}
.contact_list li{float: left; width: 100%; padding: 4px 0 4px 50px; line-height: 26px;}
.contact_list li i{float: left; margin: 0 0 0 -50px; line-height: 26px; font-size: 26px; color: #D30E2B}
.contact_list li a{color: #fff;}
.contact_list li a:hover{color: #D30E2B}
.contact_list li a i{font-size: 20px;}
.contact_list li a i.social{font-size: 26px;}


/**** Bottom ****/
#bottom{text-align: center; padding: 30px 0;}
#bottom a{color: #1C1C1E}
#bottom a:hover{color: #D30E2B}

.grecaptcha-badge{display: none!important}




/******************
MEDIAQUERIES
*****************/
@media screen and (max-width: 1250px){
	.menu li a{padding: 0 15px}
}

@media screen and (max-width: 1150px){
	
	.menu li a{padding: 0 15px}
	
	.menu_btn{display: block; float: right; margin: -3px 0 0!important; line-height: 50px;}
	.rh_btns a.menu_btn i{width: 50px; height: 50px; line-height: 50px; margin: 0; border-radius: 5px; font-size: 22px;}
	.rh_btns a.menu_btn.active i:before{content: '\f00d';}
	.menu{display: none;}
	#mobile-menu{float: left; position: fixed; display: inline-block; padding: 20px; right: 0; top: 80px; max-height: calc(100% - 80px); width: 340px; max-width: calc(100% - 20px); background: #fff; border-radius: 0 0 0 5px; display: none; z-index: 700; transition: 0.1s ease-in-out; -moz-transition: 0.1s ease-in-out; -webkit-transition: 0.1s ease-in-out; overflow: auto; -webkit-overflow-scrolling: touch;}
	#mobile-menu.active{display: block;}
	#mobile-menu > ul{float: right; width: 500px; max-width: 100%;}
	#mobile-menu > ul > li{float: left; width: 100%; margin: 0 0 15px;}
	#mobile-menu > ul > li:last-child{margin: 0;}
	#mobile-menu > ul > li > a{float: left; width: 100%; background: #F5F5F5; color: #1C1C1E; line-height: 16px; font-size: 16px; padding: 15px; position: relative; border-radius: 5px;}
	#mobile-menu > ul > li.active > a,
	#mobile-menu > ul > li > a:hover,
	#mobile-menu > ul > li.sub > a{background: #D30E2B; color: #fff;}
	#mobile-menu > ul > li.sub > a i:before{content:"\f106";}

	#mobile-menu ul ul{display: none;}
}

@media screen and (max-width: 930px){
	.service_item{width: calc(100% - 80px); padding-top: 30px; padding-bottom: 30px;}
	.si_image{margin: 0 0 0 -135px;}
	
	.footer_left{width: 100%; text-align: center;}
	.footer_left_content{float: none; display: inline-block;}
	.footer_right{width: 100%; text-align: center; margin: 0 0 65px;}
	
	.footer_left .form_item{padding: 0 0 10px;}
	.footer_left .form_label{margin: 0 0 15px; width: 100%;}
	
	.contact_list{width: 250px; max-width: 100%; float: none; display: inline-block; text-align: left;}
}

@media screen and (max-width: 767px){
	body{margin: 60px 0 0; font-size: 14px;}
	
	h1,.h1{font-size: 26px}
	h2,.h2{font-size: 23px}
	h3,.h3{font-size: 20px}
	h4,.h4{font-size: 17px}
	h5,.h5{font-size: 15px}
	h6,.h6{font-size: 13px}
	
	#header{height: 60px;}
	.logo{width: 154px; margin: 14px 0 0;}
	.right_header{width: auto;}
	.rh_btns{margin: 8px 0 0;}
	
	#mobile-menu{top: 60px; max-height: calc(100% - 60px);}
	
	.slider_content{text-align: center; top: calc(50% - 40px)}
	.slider_content .h1{font-size: 40px;}
	.slider_content .h3{font-size: 30px;}
}

@media screen and (max-width: 550px){
	.service_item{padding-left: 90px}
	.si_image{width: 70px; height: 70px; margin: 0 0 0 -90px;}
}

@media screen and (max-width: 450px){
	#header #maxw1{padding: 0 10px}
	
	.rh_btns{margin: 12px 0 0;}
	.menu_btn{margin: 0!important;}
	.rh_btns a i{width: 36px; height: 36px; line-height: 36px; margin-right: 5px;}
	.rh_btns a.menu_btn i{width: 36px; height: 36px; line-height: 36px; margin: 0;}
	
	.service_item{padding-left: 75px}
	.si_image{width: 55px; height: 55px; margin: 0 0 0 -75px;}
	
}