/* normal */

:root{
	--text_clr: #000;
	--clr1: #000;
	--clr2: #414141;
	--clr3: #d6d6d6;	
	--clr4: #789a2b;
	--border_clr : #cccccc;
	--box_clr : #eaeaea;
	--border_radius: 4px;
	--light_text: #b4b4b4;
	--awesome100 : 100 100% "Font Awesome 6 Pro";
	--awesome300 : 300 100% "Font Awesome 6 Pro";
	--awesome400 : 400 100% "Font Awesome 6 Pro";
	--awesome900 : 900 100% "Font Awesome 6 Pro";
	--light_weight: 300;
	--normal_weight : 400;
	--medium_weight : 600;
	--bold_weight : 700;
	
}

* {
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	
}
html,
body {
	font-family: "Inter", sans-serif;
	font-size: 20px;
	color: var(--text_clr);
	font-weight: var(--normal_weight);
	line-height:1.75;
	word-break: break-word;
	scroll-behavior:smooth;
	cursor: url(img/mouse_icon.png), auto;
}

body {
	background: #fff;
}
img {
	border: 0px;
	display: block;
	max-width: 100%;
	height:auto;
}
a{color:inherit; text-decoration: none; transition-duration:0.2s; cursor: url(img/mouse_icon.png), auto;}

input,
select,
textarea,
button{ -webkit-appearance: none;-moz-appearance:none; appearance:none; outline: none; font:inherit}
input[type="checkbox"]{-webkit-appearance: unset;-moz-appearance:unset; appearance:unset;}
button{cursor: url(img/mouse_icon.png), auto;}

ul {
	list-style: disc;
}
h1,.h1,
h2,.h2,
h3,.h3,
h4,.h4,
h5,.h5,
h6,.h6 {
	font-weight: var(--bold_weight); line-height:1.3;
}

h1, .h1{font-size:2.5rem;}
h2, .h2{font-size:1.3rem;}
h3, .h3{font-size:1.2rem;}
h4, .h4{font-size:1.1rem;}
h5, .h5{font-size:1.05rem;}
h6, .h6{font-size:1rem;}


.page_title{margin-bottom:2rem}
p{margin-bottom:1em}


.maxw1{max-width:1440px; margin:0 auto; padding: 0 20px}

.clear{clear:both;}
.flexbox{display:flex; flex-wrap:wrap}
.flexbox.space_between{justify-content: space-between;} 
.flexbox.justify_center{justify-content: center;} 
.flexbox.align_right{justify-content: flex-end;}
.flexbox.align_center{align-items: center;}
.flexbox.align_bottom{align-items: flex-end;}
.flexbox.align_top{align-items: flex-start;}

.grid{display:grid; gap: 25px;}
.grid.cols2{grid-template-columns: repeat(2, 1fr);}
.grid.cols3{grid-template-columns: repeat(3, 1fr);}
.grid.cols4{grid-template-columns: repeat(4, 1fr);}
.grid.cols5{grid-template-columns: repeat(5, 1fr);}
.grid.cols6{grid-template-columns: repeat(6, 1fr);}

.grid .col2{grid-column:span 2}
.grid .col3{grid-column:span 3}
.grid .col4{grid-column:span 4}
.grid .col5{grid-column:span 5}
.grid .col6{grid-column:span 6}

.grid.align_top{align-items: start}
.grid.align_center{align-items: center}
.grid.align_bottom{align-items: end}

.center_text{text-align:center;}
.center_text ul, .center_text ol{text-align:left;}

.btn_bar{display:flex; flex-wrap:wrap; gap:15px 50px; margin-top:3em; align-items: center;}
.btn{display:inline-flex; gap:20px; line-height:1; border:none}
.btn:hover{transform:translatey(-2px)}

.btn.l_btn{font-size:1.2rem; font-weight:var(--bold_weight); padding: 20px 30px ; border-radius:var(--border_radius)}
.btn.n_btn{font-size:1rem; font-weight:var(--normal_weight); padding: 15px 25px; border-radius:var(--border_radius)}

.btn.round_btn{display:inline-flex; align-items: center; justify-content: center; width:54px; height:54px; font-size:20px; border-radius:100%}

.btn .icon_right{display:inline-block;}

.btn.clr1_white{color:#fff; background:var(--clr1);}
.btn.clr2_white{color:#fff; background:var(--clr2);}
.btn.clr3_white{color:#fff; background:var(--clr3);}
.btn.link_btn span{text-decoration:underline}



.table_wrap{overflow-x:auto; word-break: auto-phrase;}
.table_wrap table{border-collapse: collapse;}
.table_wrap table td{border:1px solid var(--border_clr); padding:5px 10px; vertical-align:top; min-width: 200px}

.content_container ul, .content_container ol{margin-left:30px; margin-bottom:1em;}
.content_container b, .content_container strong{font-weight:var(--bold_weight)}
.content_container a{color:var(--clr2); font-weight:var(--normal_weight)}


.swiper-horizontal{width:100%; overflow:hidden;}
.swiper-slide {  height: auto; }
.swiper-slide > * {  flex: 1;}

.swiper-wrapper {
	transition-timing-function: linear !important;
}

.top_bar{background:var(--box_clr); padding:12px 0}
.top_bar .grid{grid-template-columns:1fr 250px}
.top_bar .usps{ font-size:0.75rem;   overflow:hidden;}
.top_bar .usps .swiper-wrapper{display:flex;  gap:0 35px}
.top_bar .usps .usp{width:auto; position:relative;}
.top_bar .usps .usp:before{content:"\f00c"; font:var(--awesome300); color:var(--clr4); display:inline-block; margin-right:10px;}




.top_bar .top_link{font-size:0.9rem; text-align:right; font-weight:var(--medium_weight); }
.top_bar .top_link a{position:relative; padding-right:20px}
.top_bar .top_link a:hover{color:var(--clr2)}
.top_bar .top_link .number{background:var(--clr4); color:#fff; border-radius:100%; width:18px; height:18px; display:flex; align-items: center; justify-content: center; font-size:10px; position:absolute; right:0px; top:0 }

.header{padding: 35px 0;     z-index: 9999;    background: #fff url(img/pattern.png);}
.header .grid{grid-template-columns:420px 1fr}
.header .logo img{margin-left:-23px;}
.header .contact_btns{gap:35px; }
.header .contact_btns a:hover {transform:translatey(-2px)}
.header .contact_btns a .icon{width:100%; margin-bottom:15px}
.header .contact_btns a .icon img{width:55px}
.header .contact_btns a .label{width:100%; text-align: center; font-size:0.75rem}
.header .menu_btn{display:none}

header.sticky{position: fixed; background:#fff;   top: 0;    width: 100%;    z-index:999; display: block;}
header.sticky .top_bar{display:none}
header.sticky .header{padding:15px 0}
header.sticky .header .grid{grid-template-columns:250px 1fr}
header.sticky .header .contact_btns a .icon img {    width: 35px;}
header.sticky .header .contact_btns a .label{display:none}

.menu_bar{background:var(--clr1); color:#fff; font-weight:var(--medium_weight); font-size:0.9rem}
.menu_bar .top{display:none}
.menu_bar ul li{display:inline-block; }
.menu_bar ul li a{display:block; padding: 20px 30px; line-height:1 }
.menu_bar ul li a:hover{background:var(--clr2)}
.menu_bar ul li.menu-item-has-children > a:after{content:"\f107"; font:var(--awesome400); display:inline-block; margin-left:10px; font-size:90%}
.menu_bar ul ul{display:none; position:absolute; background:var(--clr1); color:#fff; }
.menu_bar ul li:hover ul{display:block;}
.menu_bar ul ul li{display:block;}
.menu_bar ul ul ul{display:none}
.menu_bar .extra_link{display:none}

.hero{position:relative}
.hero .slider{position:absolute; width:100%; height:100%; left:0; top:0}
.hero .video_bg{position:absolute; top:0; left:0; width:100%; height:100%; overflow:hidden;}
.hero .video_bg video{position:absolute; top:0; left:0; width:100%; height:100%;     object-fit: cover;}
.hero .video_bg img{width:100%; height:100%; object-fit:cover}
.hero .hero_content{padding: 12dvw 0 7dvw; position:relative; z-index:1; background:rgba(0,0,0,0.3); color:#fff;}
.hero .hero_content .slogan{font-size:2.5rem; font-weight:var(--bold_weight); line-height:1.3}
.hero .hero_content .slogan a{text-decoration:underline}
.hero .hero_content .slogan a:hover{opacity:0.7}

/*
.tracks_bg{background:url(img/tracks_bg.png) no-repeat; }
*/

.tracks_bg{background:url(img/pattern.png)}
.home_content{padding: 6rem 0}
.home_content .grid{grid-template-columns:50% 1fr; gap: 2rem 70px}
.home_content .left{padding-top:1rem}
.home_content .pre_title{color:var(--light_text)}
.home_content .right img{border-radius:var(--border_radius); width:100%}

.latest_projects{padding-bottom:3em}
.latest_projects .title_bar{grid-template-columns:1fr 230px; margin-bottom:1.5rem}
.latest_projects .title_bar .all{text-align:right;}
.latest_projects .project_item{position:relative; border-radius:var(--border_radius); overflow:hidden; height:400px}
.latest_projects .image{position:absolute; width:100%; height:100%; left:0; top:0; transition-duration:0.2s}
.latest_projects .image img{position:relative;object-fit:cover;width:100%; height:100%}
.latest_projects .short_info{background:linear-gradient(0deg , rgba(0,0, 0,0.5), transparent); position:relative; z-index:1; color:#fff; padding: 30px 25px 30px; height:100%;     display: grid;    align-items: end;    align-content: end;}
.latest_projects .short_info .grid{grid-template-columns:1fr 30px; gap:15px}
.latest_projects .short_info .project_title{font-weight:var(--bold_weight)}

.latest_projects .project_item:hover .image{filter: brightness(0.8);}

.partner_block{padding: 6em 0; background:url(img/tracks_bg.png) no-repeat right top var(--box_clr); }
.partner_block .title_bar{grid-template-columns:1fr 150px; margin-bottom:2rem}
.partner_block .title_bar .arrows{text-align:right; font-size:1.2rem}
.partner_block .title_bar .arrows i{cursor:pointer; display:inline-block; padding: 10px}
.partner_block .partner_slider {padding: 0 20px}
.partner_block .partner_slider .partner{background:#fff; border-radius:var(--border_radius); overflow:hidden; padding: 30px;  width:300px;  max-width:calc(100dvw - 20px); display: flex;    align-items: center;    justify-content: center;    align-content: center;
}

/*
.dirt_bg{background:url(img/dirt_bg.png) no-repeat right bottom/100%;}
*/




.why{padding: 6em 0; }
.why .title_bar{margin-bottom:1.5rem}
.why .usp{background:var(--clr3); border-radius:var(--border_radius); padding: 30px 20px; text-align:center;}
.why .usp.green{background:var(--clr4); color:#fff;}
.why .usp .icon{font-size:3rem; color:var(--clr2); margin-bottom:20px;}
.why .usp.green .icon{color:#fff}
.why .usp .label{line-height:1.3}

.contact_block{padding-bottom:6em}
.contact_block .grid{grid-template-columns:285px 1fr; gap:0; border-radius:var(--border_radius); overflow:hidden;}
.contact_block .image img{height:100%; width:100%; object-fit:cover}
.contact_block .right{background:var(--clr2); color:#fff; padding: 30px 80px 30px 80px;     align-items: center;  align-content: center; position:relative}
.contact_block .right .title{font-size:1.8rem; font-weight:var(--bold_weight); margin-bottom:1.5rem}
.contact_block .right .contact_btns{gap:20px 40px; justify-content: space-between;}
.contact_block .right .contact_btns a{display:flex; align-items:center; flex-wrap:wrap; gap: 20px}
.contact_block .right .contact_btns a .icon{width:60px; height:60px; border:1px solid #fff; border-radius:100%; font-size:1.2rem; display:flex; align-items:center; justify-content:center}
.contact_block .right:after{content:""; width:50px; height:40px; position:absolute; right:40px; top:40px; background:url(img/icon_white.png) no-repeat center/contain}



.contact_block .right .contact_btns a:hover{transform:translatey(-2px)}

.footer{background:url(img/tracks_bg_footer.png) no-repeat var(--clr1); color:#fff; padding-top:6rem}
.footer .col{grid-template-rows:subgrid; grid-row:span 2; display:grid; gap:30px}
.footer .col .title{font-weight:600; font-size:1.8rem; display: grid;    align-content: center;}
.footer .col a i{color:var(--clr2); width:35px; display:inline-block}
.footer .col ul{list-style:none}
.footer .col ul li{margin-left:35px;}
.footer .col ul li a:before{content:"\f178"; font:var(--awesome900); width:35px; margin-left:-35px; display:inline-block; color:var(--clr2)}
.footer .col .certs{width: 300px; max-width:100%}
.footer .col .certs .flexbox{gap:20px}
.footer .col .certs .cert{width:80px; height:80px; background:#fff; display:flex;   align-items: center;    justify-content: center;    align-content: center; padding:10px}
.footer .col a:hover{opacity:0.7}

.footer .bottom{margin-top:3rem; padding: 1rem 0; border-top:1px solid rgba(255,255,255,0.25); color:rgba(255,255,255,0.35); font-size:0.9rem}
.footer .bottom a:hover{color:#fff;}

.wpcf7 .form_item{margin-bottom: 20px; display:flex; flex-wrap:wrap}
.wpcf7 .label{width: 180px; }
.wpcf7 .form_field{width: calc(100% - 180px); }
.wpcf7 input, .wpcf7 textarea,  .wpcf7 select{width:100%; padding:5px 15px; border: 1px solid var(--border_clr) ; border-radius:var(--border_radius); font:inherit }
.wpcf7 textarea{height:200px}

.wpcf7 select{background:url(img/angle-down.png) no-repeat calc(100% - 10px) 50% #fff;}

span.wpcf7-list-item {display: inline-block;margin: 0px 0 0;}
span.checkbox{margin-top:10px; display: block;}
.wpcf7 .wpcf7-list-item {display: inline-block; margin-right:35px; width: 100%;}
.wpcf7-list-item-label {margin-left: 30px;display: inline-block; vertical-align: top;}
.wpcf7-checkbox {padding: 5px 0px; display:inline-block}
.wpcf7-checkbox label {position: relative;cursor: pointer;}
.wpcf7-checkbox input[type=checkbox] {position: absolute;visibility: hidden;height: 1em;width: 1em;top: 0.25em;left: 0px;}
.wpcf7-checkbox input[type=checkbox] + span:before {display: block;position: absolute;content: '';border-radius: 0;height: 1em;width: 1em;top: 0.25em;left: 0px;border: 1px solid var(--border_clr); background:#fff}
.wpcf7-checkbox input[type=checkbox] + span:after {display: flex;        justify-content: center; align-items: center;position: absolute;content: "\f00d";font:var(--awesome900); height: calc(1em - 3px);    width: calc(1em - 3px);color:var(--clr1);top: calc(0.25em + 2px);    left: 2px;visibility: hidden;font-size: 1em;text-align: center; }
.wpcf7-checkbox input[type=checkbox]:checked + span:before {background: transparent;}
.wpcf7-checkbox input[type=checkbox]:checked + span:after {visibility: visible;}

.wpcf7-radio label {position: relative;cursor: pointer;}
.wpcf7-radio input[type=radio] {position: absolute;visibility: hidden;width: 1em;height: 1em;top: 0;left: 0;}
.wpcf7-radio input[type=radio] + span:before {display: block;position: absolute;content: '';border-radius: 100%;height: 1em;width: 1em;top: 0.25em;left: 0px;border: 1px solid var(--border_clr); background:#fff}
.wpcf7-radio input[type=radio] + span:after {display: block;position: absolute;content: "";font:var(--awesome900); height: calc(1em - 3px);    width: calc(1em - 3px);    color: var(--clr1);    background: var(--clr1);
    border-radius: 100%;    top: calc(0.25em + 2px);    left: 2px;visibility: hidden;text-align: center;}
.wpcf7-radio input[type=radio]:checked + span:before {background: transparent;}
.wpcf7-radio input[type=radio]:checked + span:after {visibility: visible;}

@media only screen and (max-width: 1440px) {
	.header .logo img {    margin-left: 0px;}
}
@media only screen and (max-width: 1150px) {
	.top_bar .usps .swiper-wrapper{gap:0}
	
	.latest_projects .project_item{grid-column:span 2}
	.latest_projects .short_info {padding: 50% 25px 30px;}
	
	.why .grid.cols5{grid-template-columns:1fr}
	.why .usp{display:flex; flex-wrap:wrap; align-items:center; gap:25px; padding: 20px}
	.why .usp .icon{margin-bottom:0; line-height:1; width:60px}
	.why .usp .label{width:calc(100% - 85px); text-align:left;}
}
@media only screen and (max-width: 1040px) {
	.header .grid {    grid-template-columns: 300px 1fr;}
	.header .contact_btns a .icon{margin-bottom:10px}
	.header .contact_btns a .icon img{width:40px}
	.footer .col .certs{width: auto; }
	
}
@media only screen and (max-width: 960px) {
	body, html{font-size:18px}
	
	
	.header .menu_btn{display:block}
	.menu_bar{position:fixed; top:0; right:0; width:0;  max-width:100dvw; overflow:hidden; height:100dvh;  background:transparent; z-index:99999999; transition-duration:0.2s}
	.menu_bar.active{display:block;  width:100dvw;}
	.menu_bar .inner{padding:15px; width:400px; max-width:100dvw; background:var(--clr1); height:100dvh; overflow-y:auto; position:absolute; top:0; right:0}
	.menu_bar .maxw1{padding:0}
	.menu_bar .close_btn{font-size:1.5rem; width:35px; height:35px; border:1px solid #fff; border-radius:var(--border_radius); display:inline-flex; align-items:center; justify-content:center;}
	.menu_bar .top{display:block; text-align:right;}
	.menu_bar .extra_link{display:block}
	.menu_bar .extra_link a{position:relative; padding: 10px 20px 10px 10px}
	.menu_bar .extra_link a:hover{color:var(--clr2)}
	.menu_bar .extra_link .number{background:var(--clr4); color:#fff; border-radius:100%; width:18px; height:18px; display:flex; align-items: center; justify-content: center; font-size:10px; position:absolute; right:0px; top:0 }
	.menu_bar ul li{display:block; margin-bottom:10px}
	.menu_bar ul li a{padding: 10px 10px;}
	.menu_bar ul li.menu-item-has-children > a:after{display:none}
	.menu_bar ul li a i.fa-angle-right{position:absolute; right:15px; line-height:inherit}
	.menu_bar ul ul{position:absolute; width:100%;left:100%; height:100dvh; overflow-y:auto; top:0; transition-duration:0.2s; background:var(--clr1);  color:#fff; z-index:9; padding:15px;}
	.menu_bar ul ul.active{left:0;}
	.menu_bar .submenu-title{display:flex; gap:20px; line-height:35px; padding:10px 15px;}
	.menu_bar .submenu-title .title{font-weight:var(--bold_weight); border-left:1px solid var(--box_clr); padding-left:20px;}
	.menu_bar .submenu-title .back i{display:inline-block; margin-right:5px;}
	
	
	.partner_block .partner_slider .partner{width:250px}
	
	.footer .grid.cols3{grid-template-columns: repeat(2 , 1fr);}
	.footer .grid .col:nth-of-type(3){grid-column:span 2}
}

@media only screen and (max-width: 760px) {
	
	.header {    padding: 20px 0;}
	.header .grid {    grid-template-columns: 250px 1fr;}
	.header .contact_btns a .icon{margin-bottom:0px}
	.header .contact_btns a .label{display:none}
	
	.home_content{padding: 4rem 0}
	.home_content .grid { grid-template-columns: 1fr;}
	.home_content .left {    padding-top: 0;}
		
	.latest_projects .title_bar {grid-template-columns: 1fr;}
	.partner_block .title_bar {grid-template-columns: 1fr;}
	.partner_block {padding: 4em 0;}
	
	.why {    padding: 4em 0;}
	.contact_block {    padding-bottom: 4em;}
	
	.contact_block .grid {  grid-template-columns:  1fr;}
	.contact_block .image img {   max-height: 400px;    object-position: top;}
	
}

@media only screen and (max-width:650px) {
	.top_bar .grid{grid-template-columns:  1fr;}
	.top_bar .top_link{display:none}
	.header .grid {    grid-template-columns: 200px 1fr;}
	.header .contact_btns {    gap: 15px;}
	
	.latest_projects .project_item{grid-column:span 4}
	.latest_projects .project_item:nth-of-type(n + 3){display:none}
	
	.footer .grid.cols3{grid-template-columns: repeat(1 , 1fr);}
	.footer .grid .col:nth-of-type(3){grid-column:span 1}
	
	.contact_block .right{ padding: 30px 20px}
}

@media only screen and (max-width:570px) {
	h1, .h1{font-size:2rem}
	.hero .hero_content {padding: 100px 0 60px;}
	.hero .hero_content .slogan {    font-size: 2rem;}
	
	.header .grid {    grid-template-columns: 170px 1fr;}
	.header .contact_btns a .icon img {        width: 35px;    }
	
	.home_content {    padding: 3rem 0;    }
	.partner_block {padding: 3em 0;}
	
	.why {    padding: 3em 0;}
	.contact_block {    padding-bottom: 3em;}
}


@media only screen and (max-width:450px) {
	body, html{font-size:17px}
	.maxw1{padding: 0 10px}
	
	.header .contact_btns a .icon img {        width: 30px;    }
	.contact_block .right:after {  right: 20px; top: 20px; width:35px; height:35px}
	.contact_block .right .contact_btns a .icon {    width: 45px;    height: 45px;}
	.why .usp .icon { font-size: 2.5rem; width:55px}
	.partner_block .partner_slider {padding: 0 10px}
}

@media only screen and (max-width:385px) {
	.header .grid {    grid-template-columns: 1fr; gap:15px}
	.header .logo{ text-align:center}
	.header .logo img{display:inline-block; width:200px;}
	.header .contact_btns{justify-content:center}
	.header .contact_btns a .icon img {        width: 35px;    }
}

@media print {
   
	html, body {  
			page-break-after: avoid;
            page-break-before: avoid; 
			border: 1px solid white;
            height: 99%;}
   
	div{display:block; width:100%}
   
  
}