/* normal */

:root{
	--text_clr: #333333;
	--clr1: #00243a;
	--clr2: #2378ab;
	--border_clr : #cccccc;
	--box_clr : #f2f2f2;
	--s_border_radius: 6px;
	--border_radius: 12px;
	--light_text: #ccc;
	--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";
	--normal_weight : 400;	
	--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: "cairo", sans-serif;
	font-size: 20px;
	color: var(--text_clr);
	font-weight: var(--normal_weight);
	line-height:1.5;
	word-break: break-word;
	scroll-behavior:smooth;
	
}

body {
	background: #fff;
}
img {
	border: 0px;
	display: block;
	max-width: 100%;
	height:auto;
}
a{color:inherit; text-decoration: none; transition-duration:0.2s;}

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:pointer}

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; color:var(--clr1)
}

h1, .h1{font-size:2.2rem; margin-bottom:1.5rem}
h2, .h2{font-size:1.2rem; margin-bottom:0.5em}
h3, .h3{font-size:1.15rem; margin-bottom:0.5em}
h4, .h4{font-size:1.1rem; margin-bottom:0.5em}
h5, .h5{font-size:1.05rem; margin-bottom:0.5em}
h6, .h6{font-size:1rem; margin-bottom:0.5em}

p{margin-bottom:1em}


.maxw1{max-width:1600px; margin:0 auto; padding: 0 1rem}
.maxw2{max-width:1300px; margin:0 auto; padding: 0 1rem}
.maxw3{max-width:1000px; margin:0 auto; padding: 0 1rem} 

.hidden{display:none!important;}
.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: 40px;}
.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;}

.alert { display: flex; flex-direction: row; background: #fafafa; color: #1b1c20; padding: 5px 10px; border-radius: 8px; align-content: center; justify-content: flex-start; align-items: center; }
.alert.warning { background: var(--clr1); color: #ffffff; }
.alert .fa { margin-right: 10px; }

.btn_bar{display:flex; flex-wrap:wrap; gap:5px 10px; margin-top:1em;}
.btn_bar.center_btns{justify-content: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:1rem 2rem  ; border-radius:var(--border_radius)}
.btn.n_btn{font-size:1rem; font-weight:var(--bold_weight); padding: 0.8rem 1.5rem ; border-radius:var(--border_radius)}
.btn.s_btn{font-size:0.8rem; font-weight:var(--bold_weight); padding: 0.6rem 1.2rem ; border-radius:var(--border_radius)}
.btn.sqr_btn{display:inline-flex; align-items: center; justify-content: center; width:2rem; height:2rem; font-size:0.8rem; border-radius:var(--s_border_radius)}


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


.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}

.gt_float_switcher {
	box-shadow: unset!important;
}

.gt_float_switcher .gt_options {
	position: absolute!important;
	display: block;
    width: 150px!important;
    max-width: 150px!important;
    background: white;
	border-radius: 10px;
}

.gt_float_switcher img {
	display: none!important
}

.gt_float_switcher .gt-selected .gt-current-lang {
    padding: 0px!important;
    color: #333;
    font-weight: bold;
    margin-top: 7px!important;
}

.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)}

.search_popup{position:fixed; display:none; top:0; left:0; height:100%; width:100%; z-index:999999}
.search_popup.open{display:block;}
.search_popup .overlay{width:100%; height:100%; background:rgba(0,0,0,0.6); position:absolute; top:0; left:0;}
.search_popup .form_block{position:absolute; background:#fff; padding:2rem; max-width:calc(100% - 40px); border-radius:20px; top:100px; left:50%; transform:translatex(-50%) }
.search_popup .form_block .close_search{float:right; margin-top:3px; font-size:125%;  color:var(--clr2); cursor:pointer}
.search_form{border-radius:10px; padding:5px 15px; border: 1px solid var(--border_clr);  width: 400px; max-width:100%; margin-top:10px; margin-bottom:25px;}
.search_form input{font:inherit; border:none;  width:calc(100% - 30px)}
.search_form button{border:none; background:transparent; font:inherit; color:var(--clr2)}


#frame.no_scroll{overflow:hidden;}

.mob_menu{position:fixed; top:100px; right:0; z-index:999; width:0; overflow:hidden; transition-duration:0.2s}
.mob_menu.active{width:100dvw; }
.mob_menu .inner{background:var(--clr1); color:#fff; padding: 2rem 1rem; width:100dvw; height:100%; position:relative; overflow-y:auto}
.mob_menu .inner ul{list-style:none; position:relative; width:50%; font-size:1.5rem; padding-right:1rem}
.mob_menu .inner ul a{display:grid; grid-template-columns:1fr 1rem;}
.mob_menu .inner ul a:hover{color:var(--clr2)}
.mob_menu .inner ul a i{line-height:inherit; font-size:80%; display: flex; align-items: center;    width: 2rem;    justify-content: center;}
.mob_menu .inner ul li{margin:0.5rem 0}
.mob_menu .inner ul ul{position:absolute; left:100%; top:0; width:100%; display:none; border-left:1px solid #fff; padding-left:1rem; font-size:85%}
.mob_menu .inner ul li.sub > a{color:var(--clr2)}
.mob_menu .inner ul li.sub ul{display:block}
.mob_menu .inner ul ul ul{display:none}

#header{position:fixed;z-index:999; top:0; left:0; width:100%; background:#fff}
.header{padding: 25px 0; }
.sticky .header{padding:10px 0; box-shadow: 0 0 1rem color-mix(var(--clr1) 20%, transparent);}
.header .logo{width:250px;}
.header .menu_bar {color:var(--clr1); font-weight:var(--bold_weight); gap:1rem}
.header .menu_bar nav ul{display:flex; list-style:none; gap:20px}
.header .menu_bar nav ul li a:hover{color:var(--clr2)}
.header .menu_bar nav ul li a{position:relative; padding: 0.5rem 0.5rem; display:block}
.header .menu_bar nav ul li.menu-item-has-children > a:before{content:"\f063"; font:var(--awesome400); display:inline-block; width:1rem;}
.header .menu_bar nav > ul > li > a:after{content:""; height:2px; width:0; background:var(--clr2); position:absolute; bottom:0; left:50%; transform:translatex(-50%); transition-duration:0.2s}
.header .menu_bar nav > ul > li > a:hover:after{width:calc(100% - 1rem);}
.header .menu_bar nav ul ul{position:absolute; background:#fff; display:none; z-index:9999; padding:var(--border_radius) 0; border-radius:0 0 var(--border_radius) var(--border_radius); border-bottom:5px solid var(--clr2)}
.header .menu_bar nav ul li:hover > ul{display:block}
.header .menu_bar nav ul ul li a{padding:0.5rem 1rem 0.5rem 2rem; border-left:3px solid transparent}  
.header .menu_bar nav ul ul li a:before{content:"\f178"; font:var(--awesome400); display:inline-block; width:1.5rem; margin-left:-1.5rem; transition-duration:0.2s}
.header .menu_bar nav ul ul li a:hover{ border-left:3px solid var(--clr2)}
.header .menu_bar nav ul ul li a:hover:before{transform:translatex(2px)}

.header .menu_bar .search_btn:hover{color:var(--clr2)}
.header .menu_bar .lang_switch{position:relative; cursor:pointer; width: 65px; height: auto; display: inline-block;}
.header .menu_bar .lang_switch .current_lang{padding: 0 15px}
.header .menu_bar .lang_switch:hover .lang_list{display:block}
.header .menu_bar .lang_switch .lang_list{display:none; position:absolute; top:100%; left:0; background:#fff; z-index:99; padding: 0 15px}
.header .menu_bar .lang_switch .lang_list ul{list-style:none}
.header .menu_bar .lang_switch .lang_list ul li a:hover{color:var(--clr2)}

.menu_bar .shop_btn{position: relative;}

.menu_bar .shop_btn .number {    position: absolute;    background: var(--clr2);    display: inline-block;    width: 16px;    height: 16px;	font-weight: normal;    border-radius: 100%;    font-size: 10px;    line-height: 16px;
    text-align: center;    top: 0px;    right: -10px;	color: white;}


.header .menu_bar .menu_btn{display:none; height:1.2rem; width:1.3rem; }
.header .menu_bar .menu_btn .bars {position:relative;   height: 100%;}
.header .menu_bar .menu_btn .bar{height:3px; width:100%; position:absolute; background:var(--clr1); transition-duration:0.2s }
.header .menu_bar .menu_btn .bar.top_bar{top:0}
.header .menu_bar .menu_btn .bar.middle_bar_1{top:50%; transform:translatey(-50%)}
.header .menu_bar .menu_btn .bar.middle_bar_2{top:50%; transform:translatey(-50%)}
.header .menu_bar .menu_btn .bar.bottom_bar{bottom:0}
.header .menu_bar .menu_btn.active .bar.top_bar{opacity:0}
.header .menu_bar .menu_btn.active .bar.middle_bar_1{ transform: translatey(-50%) rotate(45deg) scalex(1.41);}
.header .menu_bar .menu_btn.active .bar.middle_bar_2{ transform: translatey(-50%) rotate(-45deg) scalex(1.41);}
.header .menu_bar .menu_btn.active .bar.bottom_bar{opacity:0}
   
.swiper-wrapper {  display: flex;}
.swiper-slide {  height: auto;  display: flex;}
.swiper-slide > * {  flex: 1;}

.breadcrumbs_container{margin-bottom:3rem}
.breadcrumbs{text-align:right; font-size:0.8rem; color:var(--light_text); padding:0.25rem 0}
.breadcrumbs i{font-size:0.8em; padding:0 0.3rem}

.content_block{margin-bottom:4rem}
.content_block.padd_top{padding-top:2rem}

.content_block.grey_bg{background:var(--box_clr); padding: 3rem 0}
.content_block.no_mrg_btm:not(:first-of-type) {
    margin-bottom: 0;
    padding-bottom: 0 !important;
}
/*.content_block.no_mrg_btm.grey_bg{padding-bottom:1px}*/

.border{border-bottom:1px solid var(--clr1)}

.hero{background:var(--clr1); color:#fff}
.hero .grid{grid-template-columns: 1fr 1fr}
.hero .left{    padding: 9rem 3rem 7rem calc(50dvw - 780px);}
.hero .left .slogan{font-size:2.8rem; font-weight:var(--bold_weight); line-height:1.2; color:#fff; margin-bottom:0}
.hero .right{position:relative}
.hero .right img{position:absolute; width:100%; height:100%; object-fit:cover}

.prices .price {text-align:center; padding:1rem; border: 1px solid var(--border_clr);    border-radius: var(--border_radius);}
.prices .price .amount{    font-size: 1.5rem; font-weight:var(--bold_weight)}

.img_text_block{ }
.img_text_block .right{display:grid; align-items: stretch; position:relative;}
.img_text_block .right img{object-fit:cover; border-radius:var(--border_radius); height:100%; width:100%; position:absolute; max-width:400px}
.img_text_block.img_left .right{grid-area: 1 / 1 / 2/ 2} 

.img_text_block .left .short_info{margin-bottom:1.5rem}
.img_text_block .left .short_info .flexbox{}
.img_text_block .left .short_info .item{    border-left: 1px solid var(--clr1); padding: 0 1.5rem; font-size:1.5rem; line-height:1.3em; font-weight:var(--bold_weight); text-align:center;}
.img_text_block .left .short_info .item:first-of-type{border-left:none}

.expertises{overflow:hidden;}
.expertises .wrap{width:calc(100% + 2rem); margin: 0 -3rem; padding:0 3rem; overflow:hidden; position:relative;}
.exp_slider{padding: 1rem 0}
.exp_slider .exp_item{border-radius:var(--border_radius); overflow:hidden; box-shadow:0 0 1rem color-mix(var(--text_clr) 20% , transparent); display:flex;}
.exp_slider .exp_item .inner {display: grid;height: 100%;width:100%;align-content: start;grid-template-rows: auto auto auto 1fr auto;}
.exp_slider .exp_item .img{aspect-ratio:4 / 3}
.exp_slider .exp_item .img img{object-fit:cover; aspect-ratio:4 / 3}
.exp_slider .exp_item .text{padding: 1rem;display: grid;grid-template-rows: subgrid;grid-row: span 4;}
.exp_slider .exp_item .text .title{font-weight:var(--bold_weight); color:var(--clr1); font-size:1.5rem}
.exp_slider .exp_item .text .subtitle{font-weight:var(--bold_weight); color:var(--clr1); margin-bottom:0.8rem; }
.exp_slider .exp_item .text .short_text{margin-bottom:1rem}
.exp_slider .nav_arrow{position:absolute; height:100%; top:0; width:calc(2rem);  font-size:2rem; z-index:9; background:#fff;     padding-bottom: 3rem; display: grid;    align-items: center;}
.exp_slider .nav_arrow.arrow-prev{left: 0rem; justify-content:start }
.exp_slider .nav_arrow.arrow-next{right:0rem; justify-content:end}


.latest_projects{overflow:hidden;}
.latest_projects .wrap{width:calc(100% + 6rem); margin: 0 -3rem; padding:0 3rem; overflow:hidden; position:relative}
.project_slider{padding: 1rem 0}
.projects .project_item{border-radius:var(--border_radius); overflow:hidden; box-shadow:0 0 1rem color-mix(var(--text_clr) 20% , transparent)}
.projects .project_item:hover{box-shadow:0 0 1rem color-mix(var(--text_clr) 30% , transparent)}
.projects .project_item .img{position:relative;  aspect-ratio:4 / 3; overflow:hidden;}
.projects .project_item .img img{object-fit:cover; position:relative; top:0; left:0; height:100%; width:100%; transition-duration:0.2s}
.projects .project_item:hover .img img{transform:scale(1.05)}
.projects .project_item .img .overlay{position:absolute; top:0; left:0; height:100%; width:100%; background:linear-gradient(0deg, color-mix(var(--clr1) 50% , transparent) , transparent); padding: 1rem; display: grid;    align-items: end; transition-duration:0.2s}
.projects .project_item .img .overlay .title{color:#fff; font-weight:var(--bold_weight); font-size:1.2rem; line-height:1.3; }
.projects .project_item .client .grid{grid-template-columns:1.5rem 1fr; gap:1rem; padding: 0.5rem 1rem; align-items:center;}
.projects .project_item .client .client_logo{ aspect-ratio:1 / 1;   display:grid;align-items:center; justify-content:center }
.projects .project_item .client .client_logo img{filter: grayscale(1);}
.projects .project_item .client span{display:inline-block}
.projects .project_item .more{background:var(--box_clr); display:grid;align-items:center; grid-template-columns:1.5rem 1fr; gap:1rem; padding: 0.5rem 1rem; }

.project_slider{}
.project_slider .nav_arrow{position:absolute; height:100%; top:0; width:calc(2rem);  font-size:2rem; z-index:9; background:#fff;     padding-bottom: 3rem; display: grid;    align-items: center;}
.project_slider .nav_arrow.arrow-prev{left: 0rem; justify-content:start }
.project_slider .nav_arrow.arrow-next{right:0rem; justify-content:end}

.swiper-pagination-bullets{display:flex; justify-content:center; gap:0.3rem; margin-top:2rem}
.swiper-pagination-bullets .swiper-pagination-bullet {       background: var(--box_clr); opacity:1; width:0.65rem; height:0.65rem}
.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active { background: var(--clr1); opacity:1}

.archive_projects{}
.archive_projects .grid{padding-top:2rem}

.gallery_block{padding: 3rem 0; background:var(--box_clr) }
.gallery_block img{object-fit:cover; aspect-ratio:1 / 1}

.choices {background:var(--box_clr); padding: 3rem 0}

.choices .col{position:relative; border-radius:var(--border_radius); overflow:hidden}
.choices .col .img{position:absolute; right:0; top:0; width:70%; height:100%; }
.choices .col .img img{position:absolute; right:0; top:0; width:100%; height:100%; object-fit:cover}
.choices .col .overlay{position:relative;  background: linear-gradient(90deg, #fff 50%, color-mix(#fff 30%, transparent)); padding: 3rem 2rem; height:100%}
.choices .col .inner{max-width:500px}
.choices .col .h1{margin-bottom:0.5rem}
.choices .col .subtitle{font-weight:var(--bold_weight)}
.choices .col .choices_list{display:grid; gap:1rem; }
.choices .col .choices_list .choice{background:#fff; padding: 1rem; border-radius:var(--border_radius); gap:1rem; box-shadow:0 0 1rem color-mix(var(--text_clr) 20% , transparent)}
.choices .col .choices_list .choice .grid{grid-template-columns:2.5rem 1fr; gap:1rem; }
.choices .col .choices_list a.choice .grid{grid-template-columns:2.5rem 1fr 1rem; gap:1rem; }
.choices .col .choices_list .choice .icon{border-radius:100%; overflow:hidden; border:1px solid var(--clr1); background:var(--clr1); color:#fff; display:flex; align-items:center; justify-content:center; aspect-ratio:1 / 1}
.choices .col .choices_list .choice .icon img{width:100%; height:100%; object-fit:cover}
.choices .col .choices_list .choice .title{font-weight:var(--bold_weight); line-height:1.3}
.choices .col .choices_list .choice .short_text{font-size:0.8rem; }
.choices .col .choices_list a.choice .arrow{display:flex; align-items:center;}


.references{overflow:hidden;}
.references .ref_slider{overflow:hidden;  }
.references .ref_slider .ref{padding: 0 1rem;}
.references .ref_slider .ref img{aspect-ratio:2 / 1; object-fit:contain ; position:relative }
.references .ref_slider .pagination{display:flex; justify-content:center; gap:0.5rem; margin-top:2rem}

.contact_details .col{background:var(--box_clr); padding: 2rem 1.5rem; border-radius:var(--border_radius)}
.contact_details .col .logo img{width:250px; max-width:100%; margin-bottom:1.5rem}
.contact_details .col:nth-of-type(2){grid-column:span 2}
.contact_details .col .contact_list .item{display:grid; grid-template-columns:18rem 1fr; gap:1rem; padding: 0.5rem 0; border-bottom:1px solid var(--border_clr)}
.contact_details .col .contact_list .item .label{font-weight:var(--bold_weight)}
.contact_details .col.address a i{color:var(--clr2); width:1.5rem; display:inline-block;}

.contact_details .col.col_contact{grid-column:span 3}
.contact_details .col.col_contact .h2{margin-bottom:1rem;}

.faq .faq_item{margin-bottom:1rem}
.faq .faq_item .faq_que{padding-right:1em; position:relative; cursor:pointer}
.faq .faq_item .faq_que:after{content:"\f107"; transition-duration:0.2s; font:var(--awesome900); position:absolute; right:0; top:0; line-height:inherit}
.faq .faq_item.active .faq_que:after{transform:rotate(180deg)}
.faq .faq_item .faq_ans{display:none}
.faq .faq_item.active .faq_ans{display:block}

.timeline_block{position:relative; }
.timeline_block .timeline{ padding: 1rem 0 3rem}
.timeline_block .timeline:before{content:""; position:absolute;  width:2px; height:100%; background:var(--clr1); left:calc(50% - 2px); top:0;}
.timeline_block .timeline .timeline_item{position:relative; }
.timeline_block .timeline .timeline_item:nth-of-type(2n - 1){ padding-right:calc(50% + 3rem); text-align:right}
.timeline_block .timeline .timeline_item:nth-of-type(2n){padding-left:calc(50% + 3rem); }
.timeline_block .timeline .timeline_item .inner{box-shadow:0 0 1rem color-mix(var(--text_clr) 20% , transparent);background:#fff; border-radius:var(--border_radius);    padding: calc(2 * var(--border_radius)); position:relative}
/*.timeline_block .timeline .timeline_item:nth-of-type(2n - 1) .inner:before{content:""; width:1.25rem; height:1.25rem; border-radius:100%; border:2px solid var(--clr2); background:#fff; position:absolute; right:-3rem; top:calc(1.5rem); transform:translate(50% , -50%); z-index:9}*/
.timeline_block .timeline .timeline_item:nth-of-type(2n - 1) .inner:after{content:""; height:2px; width:calc(3rem); right:-3rem; top:calc(1.5rem - 1px); position:absolute; background: var(--clr1);}

/*.timeline_block .timeline .timeline_item:nth-of-type(2n) .inner:before{content:""; width:1.25rem; height:1.25rem; border-radius:100%; border:2px solid var(--clr2); background:#fff; position:absolute; left:-3rem; top:calc(1.5rem); transform:translate(-50% , -50%); z-index:9}*/
.timeline_block .timeline .timeline_item:nth-of-type(2n) .inner:after{content:""; height:2px; width:calc(3rem); left:-3rem; top:calc(1.5rem - 1px); position:absolute; background: var(--clr1);}
.timeline_block .timeline .timeline_item .year {
    font-weight: var(--bold_weight);
    font-size: 1rem;
    background: var(--clr2);
    padding: 0.25rem 1.5rem;
    color: #fff;
    display: inline-block;
    border-radius: 100px;
    margin-bottom: 1rem;
}
 
.footer{background:var(--clr1); color:#fff; padding: 3rem 0 0}
.footer .title{font-weight:var(--bold_weight); font-size:1.5rem; margin-bottom:1rem}

.footer .col_content.address a i{display:inline-block; width:1.5rem}
.footer .col_content.address a:hover{color:var(--clr2)}
.footer .col_content ul li{list-style:none}
.footer .col_content ul li a{margin-left:1.5rem; display:block;}
.footer .col_content ul li a:before{content:"\f105"; font:var(--awesome400); width:1.5rem; margin-left:-1.5rem; display:inline-block}
.footer .col_content ul li a:hover{color:var(--clr2)}
.footer .soc_btns{display:grid; gap:10px}
.footer .soc_btns a{display: flex;    flex-wrap: wrap;    gap: 1rem;    align-items: center;}
.footer .soc_btns .soc_btn{width:3rem; height:3rem; border-radius:100%; border:1px solid #fff; display:inline-flex; align-items:center; justify-content:center;}
.footer .soc_btns .soc_btn:hover{ border:1px solid var(--clr2); color:var(--clr2)}

.footer .certificates{display:grid; gap:1.25rem; font-size:0.8rem;}
.footer .certificates .cert{display: grid;    gap: 15px;    grid-template-columns: 80px 1fr;    align-items: center;}
.footer .certificates img{display:block; padding: 10px;    background: #fff;    border-radius: 0.25rem;}

.footer .bottom{border-top:1px solid color-mix(#fff 15% , transparent); padding: 1rem 0; margin-top:4rem; color:color-mix(#fff 40% , transparent)}
.footer .bottom a:hover{color:#fff}

.wpcf7 .form_item{margin-bottom: 20px; display:grid; grid-template-columns:9rem 1fr; gap:0.25rem 1rem; flex-wrap:wrap}

.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;}

.search_list_archive .search_item{display:block; padding: 20px 0; border-bottom:1px solid var(--border_clr)}
.search_list_archive .search_item .label {
	background: var(--clr2);
    color: white;
    padding: 0.2rem 1rem;
    border-radius: 100px;
    font-size: 13px;
    vertical-align: middle;
    margin-left: 10px;
}

.search_list_archive .search_item .more{color:var(--clr1);}



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;}


.category_list .list_item{border-radius:var(--border_radius); overflow:hidden; box-shadow:0 0 1rem color-mix(var(--text_clr) 20% , transparent); display:grid; grid-template-rows:subgrid; grid-row:span 2; gap:0; }
.category_list .list_item:hover{box-shadow:0 0 1rem color-mix(var(--text_clr) 30% , transparent)}
.category_list .list_item .image{aspect-ratio:3 / 2;}
.category_list .list_item .image img{aspect-ratio:3 / 2; object-fit:cover ; position:relative; width:100%}
.category_list .list_item .text_bar{padding: 1rem; background:var(--clr1); color:#fff;}
.category_list .list_item .text_bar .h4{color:#fff; margin-bottom:0}

.product_list .product_item{border-radius:var(--border_radius); overflow:hidden; box-shadow:0 0 1rem color-mix(var(--text_clr) 20% , transparent); display:grid; grid-template-rows:subgrid; grid-row:span 2; gap:0; }
.product_list .product_item:hover{box-shadow:0 0 1rem color-mix(var(--text_clr) 30% , transparent)}
.product_list .product_item .image{aspect-ratio:1 / 1;}
.product_list .product_item .image img{aspect-ratio:1 / 1; object-fit:cover ; position:relative; width:100%}
.product_list .product_item .text_bar{padding: 1rem; display:grid; gap:1rem; background:var(--clr1); color:#fff;}
.product_list .product_item .text_bar .h3{color:#fff}

.product_list .product_item .price{color:#fff; font-size:1.3rem; font-weight:var(--bold_weight)}

.product .images{  margin-bottom:1rem;    width:100%; }
.product .images .grid{gap:1rem}
.product .image{  padding:1rem;  border:1px solid var(--border_clr);  display:block; border-radius: var(--border_radius)}
.product .image:first-of-type{grid-column:span 4; max-height: 540px;}
.product .image:first-of-type .inner{max-height: 100%; width: 100%;}
.product .image .inner{object-fit:cover; aspect-ratio:1 / 1}
.product .product-stock-indicator{display:flex; align-items:center; gap:0.75rem; margin-bottom:1rem; font-weight:var(--bold_weight)}
.product .product-stock-indicator .stock-icon{width:0.875rem; height:0.875rem; border-radius:50%; background:currentColor; flex:0 0 auto}
.product .product-stock-indicator.out-of-stock{color:#d63638}
.product .product-stock-indicator.low-stock{color:#dd8d00}
.product .product-stock-indicator.in-stock{color:#2d8a3f}

.product .block{ background: var(--box_clr);   padding: 1rem;  margin-bottom: 30px; border-radius:var(--border_radius)}
.product .block .price {padding-bottom: 10px;}
.product  .kenmerken {padding: 0!important; background: white!important}
.product .block .h3{}
.product .block li{  list-style:none;  padding: 0.5rem 0; border-bottom:1px solid var(--border_clr); display:grid; grid-template-columns:6rem 1fr; gap:1rem}
.product .block li:last-of-type{border-bottom:none}
.product .block li .label{font-weight:var(--bold_weight)}

.product .block.kenmerken li{    grid-template-columns: 1fr 1fr;}

.product .block.downloads a{  padding-right: 0px;  display:block;}
.product .block.downloads a:hover{  color:var(--clr2)}
.product .block.downloads a:before{  content:"\f019";  font-weight:900;  font-family:"Font Awesome 6 Pro";  float:right;  line-height:inherit}

.product .block input{  border:1px solid var(--border_clr); border-radius:var(--border_radius); font:inherit; padding:0.5rem 1rem; width: calc(100% - 190px); }

.product .block.period .grid{}

.product .block.price .flexbox{align-items: stretch; gap:20px}
.product .block.price .qty_label{    display: flex;
align-items: center;}
.product .block.price .qty_block input{height:100%; width:5rem; text-align:center;}

.fancybox-caption__body{font-size:1rem}

#btn-add-product-to-cart { cursor: pointer; }
#btn-add-product-to-cart:disabled, #btn-add-product-to-cart.disabled { cursor: not-allowed; opacity: 0.5; }
#btn-add-product-to-cart i.fa { margin-right: 5px; }

#buy_popup .qty_info { display: flex; flex-direction: column; align-content: center; justify-content: center; }

.nav_arrow {cursor: pointer}

.xdsoft_datetimepicker {
  transform: scale(1.25);
  transform-origin: top left;
}
.xdsoft_datetimepicker .xdsoft_datepicker { width: auto; }
.xdsoft_time_variant { margin-top: 0 !important; }
.xdsoft_datetimepicker .xdsoft_calendar td {background: #8bc34a47}
.xdsoft_other_month{opacity: 0!important;}

@media only screen and (max-width: 1750px) {
	.latest_projects .wrap {    width: calc(100% + 2rem);    margin: 0 -1rem;    padding: 0 1rem;}
	.project_slider .nav_arrow{background:transparent; padding: 0 5px 3rem  }
	.project_slider .nav_arrow i{ display:grid; align-items:center; justify-content:center; border-radius:100%; background:#fff; width:1.5rem; height:1.5rem; font-size:1rem; box-shadow:0 0 1rem color-mix(var(--text_clr) 20% , transparent)}
	
	.expertises .wrap {    width: calc(100% + 2rem);    margin: 0 -1rem;    padding: 0 1rem;}
	.exp_slider .nav_arrow{background:transparent; padding: 0 5px 3rem  }
	.exp_slider .nav_arrow i{ display:grid; align-items:center; justify-content:center; border-radius:100%; background:#fff; width:1.5rem; height:1.5rem; font-size:1rem; box-shadow:0 0 1rem color-mix(var(--text_clr) 20% , transparent)}
}

@media only screen and (max-width: 1600px) {
	.header .logo {    width: 180px;}
	.header .menu_bar nav ul {  gap: 10px;}
	.hero .left{    padding: 9rem 3rem 7rem 1rem;}
}

@media only screen and (max-width: 1450px) {
	.header .menu_bar nav ul {
        gap: 0px;
    }
}

@media only screen and (max-width: 1320px) {
	.header .menu_bar nav{display:none}
	.header .menu_bar .menu_btn{display:block}
	.archive_projects .grid{grid-template-columns:repeat(3 , 1fr)}
	.category_list .grid{grid-template-columns:repeat(3 , 1fr)}
	.product_list .grid{grid-template-columns:repeat(3 , 1fr)}
}

@media only screen and (max-width: 1250px) {
	
	.hero .grid {    grid-template-columns: 1fr 1fr;}
	.hero .left {    padding: 6rem 1rem 4rem;}
	.hero .left .slogan {font-size: 2.5rem;}
	
	.footer .grid{grid-template-columns:repeat(2 , 1fr)}
}

@media only screen and (max-width: 1050px) {
	.hero .left .slogan {font-size: 2rem;}
	.choices .col .overlay{padding: 2rem 1rem; height:100%;  background: linear-gradient(90deg, #fff 50%, color-mix(#fff 50%, transparent));}
	.contact_details .grid{grid-template-columns:  1fr;}
	.contact_details .col:nth-of-type(2){grid-column:span 1}
	.contact_details .col{padding: 2rem 1rem;}
	.contact_details .col.col_contact{grid-column:span 1}
}

@media only screen and (max-width: 960px) {
	.grid{gap:25px}
	.choices .grid{    grid-template-columns:  1fr;}
	.archive_projects .grid{grid-template-columns:repeat(2 , 1fr)}
	.category_list .grid{grid-template-columns:repeat(2 , 1fr)}
	.product_list .grid{grid-template-columns:repeat(2 , 1fr)}
	
	.product .maxw1 > .grid{grid-template-columns:  1fr;}
	
	.img_text_block.img_left .right{grid-area: auto} 
	.img_text_block .grid.cols3{grid-template-columns:repeat(1 , 1fr)}
	.img_text_block .grid .col2{grid-column:span 1}
	.img_text_block .right img{aspect-ratio:1 / 1; position:relative}
}

@media only screen and (max-width: 860px) {
	h1, .h1 {font-size: 2rem;}
	body, html{font-size:18px}
	.hero .left .slogan {font-size: 1.8rem;}
	
	
	.prices .grid.cols4{grid-template-columns:repeat(2 , 1fr)}
}


@media only screen and (max-width: 650px) {
	.hero .grid{grid-template-columns:repeat(1 , 1fr); gap:0}
	.hero .left { padding: 2rem 1rem 2rem;}
	.hero .right{aspect-ratio:7 / 3; grid-row:1}
	.contact_details .col .contact_list .item {  grid-template-columns: 10rem 1fr;}
	.timeline_block .timeline {    position: relative;}
	.timeline_block .timeline:before{left:-2px;}
	.timeline_block .timeline .timeline_item{margin-bottom:1rem}
	.timeline_block .timeline .timeline_item:nth-of-type(2n - 1){ padding-left: 3rem; text-align:left; padding-right:0}
	.timeline_block .timeline .timeline_item:nth-of-type(2n){padding-left:3rem; }
	.timeline_block .timeline .timeline_item:nth-of-type(2n - 1) .inner:before{right:auto; left:-3rem;     transform: translate(-50%, -50%);}
	.timeline_block .timeline .timeline_item:nth-of-type(2n - 1) .inner:after{right:auto; left:-3rem; }

	
}

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

	.mob_menu .inner ul {width:100%; padding-right:0}
	.mob_menu .inner ul a i{transform: rotate(90deg); transition-duration:0.2s}
	.mob_menu .inner ul li.sub a i{transform: rotate(270deg);}
	.mob_menu .inner ul ul{position:relative; left:0;}

	.header .menu_bar .lang_switch .current_lang {    padding: 0 0 0 15px;}
	
	.content_block{margin-bottom:3rem}
	
	.footer .grid{grid-template-columns:repeat(1 , 1fr)}
	
	.swiper-pagination-bullets{ justify-content:center; gap:0.2rem; }
	.swiper-pagination-bullets .swiper-pagination-bullet {    width:0.5rem; height:0.5rem}
	
	.archive_projects .grid{grid-template-columns:repeat(1 , 1fr)}
	.category_list .grid{grid-template-columns:repeat(1 , 1fr)}
	.product_list .grid{grid-template-columns:repeat(1 , 1fr)}
	.wpcf7 .form_item{grid-template-columns:1fr;}
}

@media only screen and (max-width: 450px) {
	
	.header {padding: 15px 0;}
	.header .menu_bar .menu_btn { height: 1rem;    width: 1rem;}
	.header .logo {width: 130px;}
	.hero .left .slogan {        font-size: 1.6rem;    }
	
	.block.period .grid.cols2{grid-template-columns:repeat(1 , 1fr)}
	
	.contact_details .col .contact_list .item {  grid-template-columns: 1fr; gap:0}
	
	.timeline_block .timeline .timeline_item:nth-of-type(2n - 1){ padding-left: 2rem;}
	.timeline_block .timeline .timeline_item:nth-of-type(2n){padding-left:2rem; }
	.timeline_block .timeline .timeline_item:nth-of-type(2n - 1) .inner:before{ left:-2rem;   }
	.timeline_block .timeline .timeline_item:nth-of-type(2n - 1) .inner:after{ left:-2rem; width:2rem }
	.timeline_block .timeline .timeline_item:nth-of-type(2n) .inner:before{ left:-2rem;    }
	.timeline_block .timeline .timeline_item:nth-of-type(2n) .inner:after{ left:-2rem; width:2rem }
		.prices .grid.cols4{grid-template-columns:repeat(1 , 1fr)}
}
@media only screen and (max-width: 380px) {
	body, html{font-size:16px}
}

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


html.translating body {
  visibility: hidden;
}

/* GTranslate smooth loading overlay */
.gt-translation-loader {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}

.gt-translation-loader.gt-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.gt-loader-content {
  font-family: inherit;
  font-size: 15px;
  color: #333;
  display: flex;
  align-items: center;
  gap: 10px;
}

.gt-loader-spinner {
  width: 18px;
  height: 18px;
  border: 2px solid #ddd;
  border-top-color: #333;
  border-radius: 50%;
  animation: gt-spin 0.8s linear infinite;
}

@keyframes gt-spin {
  to {
    transform: rotate(360deg);
  }
}

/* Optional: fade page in slightly smoother */
html.gt-translating body {
  opacity: 0;
}

html.gt-ready body {
  opacity: 1;
  transition: opacity 0.3s ease;
}

.product-swiper {
  position: relative;
  width: 100%;
  height: 575px; /* 540px image + space for dots */
  overflow: hidden;
  padding-bottom: 35px;
}

.product-swiper .swiper-wrapper,
.product-swiper .swiper-slide {
  height: 540px;
}

.product-swiper .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-swiper .inner {
  width: 100%;
  height: 540px;
  max-height: 539px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

/* Tablet */
@media (max-width: 991px) {
  .product-swiper {
    height: 495px;
  }

  .product-swiper .swiper-wrapper,
  .product-swiper .swiper-slide,
  .product-swiper .inner {
    height: 460px;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .product-swiper {
    height: 395px;
  }

  .product-swiper .swiper-wrapper,
  .product-swiper .swiper-slide,
  .product-swiper .inner {
    height: 360px;
  }
}

/* Small mobile */
@media (max-width: 480px) {
  .product-swiper {
    height: 315px;
  }

  .product-swiper .swiper-wrapper,
  .product-swiper .swiper-slide,
  .product-swiper .inner {
    height: 280px;
  }
}

/* Arrows */
.product-swiper .swiper-button-prev,
.product-swiper .swiper-button-next {
  color: #2378ab;
}

/* Optional: make arrow icons slightly smaller */
.product-swiper .swiper-button-prev::after,
.product-swiper .swiper-button-next::after {
  font-size: 28px;
}

/* Dots */
.product-swiper .swiper-pagination {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 68px;
  width: 100%;
  text-align: center;
  z-index: 10;
}

.product-swiper .swiper-pagination-bullet {
  width: 9px;
  height: 9px;
  background: #2378ab;
  opacity: 0.25;
}

.product-swiper .swiper-pagination-bullet-active {
  opacity: 1;
  background: #2378ab;
}

.discount_form_block{
  padding-bottom: 1.5rem;
}
.discount_form_block h3{
  margin-bottom: 1rem;
}
.discount_form_item{
  align-items: center;
  max-width: 42rem;
  margin-bottom: 0;
}
.discount_form_controls{
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.discount_form_controls input{
  max-width: 14rem;
}
.discount_form_controls .btn{
  min-height: 2rem;
  padding: 0.5rem 1rem;
  border-radius: var(--s_border_radius);
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 730px){
   .discount_form_item{
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
}

@media screen and (max-width: 550px){
  .discount_form_controls{
    align-items: stretch;
    flex-direction: column;
  }
  .discount_form_controls input,
  .discount_form_controls .btn{
    width: 100%;
    max-width: none;
  }
}