/*
Theme Name: Fittich Child
Author: 
Description: Your description goes here
Version: 1.0
Template: hello-elementor

This is the child theme for Hello Elementor theme, generated with Generate Child Theme plugin by catchthemes.

(optional values you can add: Theme URI, Author URI, License, License URI, Tags, Text Domain)
*/


/*-------------------------------------------------------------- 
# Root css 
--------------------------------------------------------------*/
 :root{
    --black: #171717;
    --grey: #F6F6F6;
    --red: #067240;
    --bdr_clr: #17171726;
    --white: #FFFFFF;
     --text:#515151;
     --transition: all 0.5s ease-in-out;
}
 body::-webkit-scrollbar {
     width: 6px;
}
 body::-webkit-scrollbar-track {
     background:var(--black);
     border-radius: 8px;
}
 body::-webkit-scrollbar-thumb {
     background:var(--red);
     border-radius: 8px;
}
 a{
     transition: all 0.5s;
}
/*-------------------------------------------------------------- 
# Header css 
--------------------------------------------------------------*/
div#wpadminbar ~  div[data-elementor-type="header"]{
    top: 32px;
}
div[data-elementor-type="header"] {
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0);
    position: fixed !important;
    top: 0px;
    z-index: 99;
    width: 100%;
    left: 0px;
    transition: all 0.4s;
}
div[data-elementor-type="header"].sticky{
    background-color: rgba(0,0,0,0.75);
    border-color: rgba(0,0,0,0.75) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}
body{
    overflow-x: hidden !important;
    overflow-y: auto !important;
}
/*--------------------------------------------------------------
 # Home css
--------------------------------------------------------------*/
.hero_slider .swiper-container {
     width: 100%;
     height: 100vh;
     position: relative;
}
.hero_slider .swiper-slide {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.hero_slider .swiper-slide {
    display: grid;
    width: 100% !important;
    align-items: center;
    padding: 60px 15px;
    color: var(--white);
}
.hero_slider .swiper-slide h1{
    color: var(--white);
    margin:0px;
    width: 100%;
    font-weight:600;
    font-size: 70px;
    line-height: 76px;
    max-width: 780px;
    margin-bottom: 24px;
}
.hero_slider .swiper-slide p{
    font-size: 18px;
    line-height: 26px;
}
.slider_content{
     width: 100%;
     margin: 0px auto;
     z-index: 2;
}
.hero_slider .swiper-pagination,.slider_content{
     max-width: var(--content-width);
}
.hero_slider .swiper-pagination {
    position: absolute;
    bottom: 0px;
    width: 100%;
    justify-content: left;
    grid-gap: 10px 32px;
    z-index: 10;
    display: flex;
    padding: 60px 0px;
    left: 50%;
    margin: 0px auto;
    width: 100%;
    transform: translateX(-50%);
    z-index: 2;
    display: none;
}
 .hero_slider .custom-bullet {
     cursor: pointer;
     padding-bottom: 0px;
     width: 240px;
     text-align: left;
}
 .hero_slider .custom-bullet h4{
    font-size: 18px;
    color: rgba(255,255,255,0.5);
    transition: all 0.3s;
    font-weight: 500;
}
 .hero_slider .custom-bullet.active h4{
     opacity: 1;
     color: var(--white);
}
 .hero_slider .progress-bar {
     width:100% !important;
     height: 2px;
     margin-top: 5px;
     border-radius: 2px;
     position: relative;
     background: rgba(255,255,255,0.5);
     opacity: 0;
     transition: all 0.3s;
}
 .hero_slider .custom-bullet.active .progress-bar{
     opacity: 1;
}
 .hero_slider .progress-bar span{
     position: absolute;
     left: 0px;
     width: 0%;
     height: 2px;
     display: block;
     background-color:var(--white);
     transition: width 3s linear;
}
 .hero_slider .custom-bullet.active .progress-bar span{
     width: 100%;
}
 .hero_slider{
     overflow: hidden;
}
.hero_sec::after{
    content: "";
    display: block;
    position: absolute;
    top: 0px;
    width: 100%;
    height: 100%;
    background-color:rgba(0,0,0,0.1);
    /* background-image: url(images/hero_banner.png);
    background-repeat:no-repeat;
    background-position:center;
    background-size:cover; */
}
.hero_slider .swiper-slide di{
    z-index: 1;
}
.red_btn a  span.elementor-button-icon,.white_btn a  span.elementor-button-icon {
    height: 44px;
    width: 44px;
    display: flex;
    align-items: center;
    background-color:var(--black);
    justify-content: center;
}
.red_btn a,.white_btn a {
    padding: 4px !important;
}
.red_btn a span.elementor-button-text,.white_btn a span.elementor-button-text {
    padding: 10px 16px;
}
img.img_layer {
    position: absolute;
    right: 0px;
    bottom: 0px;
    opacity: 1;
    z-index: -2;
    opacity: 0.75;
}
.imgslider {
    max-width:calc(100% - 220px) !important;
    width:100% !important;
}
.white_arrow a span.elementor-button-icon{
    background: var(--white) !important;
}
.white_btn a  span.elementor-button-icon {
    background: var(--red) !important;
}
.red_btn a:hover span.elementor-button-icon{
    background: var(--white) !important;
}
.red_btn a:hover span.elementor-button-icon{
    background: var(--white) !important;
}
.red_btn a svg,.white_btn a svg{
    transition: all 0.4s;
    transform: rotate(0deg);
}
.white_arrow a svg path,.red_btn a:hover span.elementor-button-icon svg path{
    fill: var(--red);
}
.white_btn a span.elementor-button-icon svg path{
     fill: var(--white);
}
.red_btn a:hover svg,.white_btn a:hover svg{
    transform: rotate(45deg);
}
.gallery_grid figure.gallery-item img {
    width: 100%;
    height: 230px;
    display: block;
    object-fit: cover;
}
a.solution_item {
    text-decoration: none;
    background-color: var(--white);
    display: block;
    width: 100%;
}
a.solution_item .solution_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.5s;
    transform: scale(1);
}
a.solution_item .solution_img {
    width: 100%;
    height: 260px;
    overflow: hidden;
}
a.solution_item:hover .solution_img img {
    transform: scale(1.05);
}
a.solution_item .solution_content {
    padding: 24px 24px 65px 24px;
    min-height: 283px;
    flex-flow: wrap;
    position: relative;
}
a.solution_item .solution_content h3 {
    font-size: 22px;
    font-weight: 500;
    line-height: 28px;
    color: var(--black);
    margin: 0px 0px;
}
a.solution_item .solution_content p {
    color: var(--text);
    font-size: 16px;
    font-weight: 300;
    margin: 8px 0px 0px;
}
.solution_bottom {
    border-top: 1px solid #17171726;
    margin-top: 16px;
    color: var(--red);
    font-size: 16px;
    line-height: 22px;
    font-weight: 500;
    width: 100%;
    position: absolute;
    bottom: 0px;
    padding: 16px 0px;
    width: calc(100% - 48px);
    left: 24px;
}
.solution_bottom span{
    display: flex;
    align-items: center;
    grid-gap: 12px;
}
.solution_bottom svg {
    transition: all 0.4s;
    transform: translateX(0);
}
a.solution_item:hover .solution_bottom svg {
    transform: translateX(5px);
}
.owl-nav {
    margin: 0px;
    position: absolute;
    top: 50%;
    left: 0px;
    display: flex;
    justify-content: space-between;
    transform: translateY(-50%);
    width: 100%;
}

.owl-nav button {
    background-color: transparent !important;
    margin: 0px !important;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.owl-nav button.owl-prev {
    right: -50px;
}
.owl-nav button.owl-next {
    left: -50px;
}
.owl-dots {
    margin-top: 24px;
}
.owl-dots span {
    width: 8px !important;
    height: 8px !important;
    margin: 0px !important;
    background-color: var(--black) !important;
    opacity: 0.5;
    transition: all 0.4s;
}
.owl-dots {
    display: flex;
    grid-gap: 8px;
    justify-content: center;
    flex-flow: wrap;
}
.owl-dots button.active span {
    opacity: 1;
}
.owl-dots button {
    outline: unset !important;
    border: unset !important;
}
.testimonial_item {
    border: 1px solid #17171726;
    padding: 24px;
}
.testimonial_content p {
    font-size: 15px;
    line-height: 24px;
    color: var(--text);
    margin:16px 0px 0px;
}
.testimonial_content {
    border-bottom: 1px solid #17171726;
    padding-bottom: 24px;
    margin-bottom: 24px;
}
.testimonial_bottom h3 {
    margin: 0px 0px 0px 0px;
    color: var(--black);
    font-size: 22px;
    line-height: 26px;
    font-weight: 600;
}
.testimonial_bottom p {
    margin: 4px 0px 0px 0px;
    font-size: 15px;
    font-weight: 400;
    line-height: 24px;
    color: var(--text);
}
.footer_img figure.swiper-slide-inner {
    border-left:1px solid #3A3A3A;
    padding: 0px 10px;
    display: flex;
    justify-content: center;
    height: 72px;
    object-fit: contain;
}
.red_btn.black_arrow a:hover span.elementor-button-icon {
    background-color: var(--black) !important;
}
.red_btn.black_arrow a:hover span.elementor-button-icon svg path{
    fill: var(--white) !important;
}
a.project_item {
    display: block;
    width: 100%;
    background-color: var(--white);
}
a.project_item .project_img,a.project_item .project_img img {
    width: 100%;
    display: block;
    object-fit: cover;
    height: 350px;
    transition: all 0.4s;
    transform: scale(1);
    overflow: hidden;
}
a.project_item:hover .project_img img {
    transform: scale(1.05);
}
.project_content {
    padding: 24px;
    display: flex;
    align-items: center;
    grid-gap: 20px;
    justify-content: space-between;
}
.project_content h3 {
    font-size: 22px;
    line-height: 28px;
    color: var(--black);
    margin: 0px 0px 8px;
}
.project_content p {
    font-size: 16px;
    color: var(--text);
    font-weight: 300;
    margin: 0px;
}
.prjtect_right svg {
    transition: all 0.4s;
    transform: rotate(0deg);
}
a.project_item:hover .prjtect_right svg {
     transform: rotate(45deg);
}
.project_slider button {
    position: unset !important;
    transform: unset !important;
}
.project_slider .owl-nav {
    max-width: fit-content;
    grid-gap: 20px;
    position: absolute;
    bottom: 30px !important;
    height: fit-content;
    top: unset;
    margin: 0px !important;
    left: -32%;
    transform: translateX(-50%);
}
.project_slider button.owl-prev{
    order:2;
}
.project_left {
    transform: translateX(-50%) !important;
    margin-left: 21.5% !important;
}
.solutions_list {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    grid-gap: 32px;
}
.solutions_list a.solution_item .solution_content {
    padding: 24px 24px 65px 24px;
    min-height: 185px;
    flex-flow: wrap;
    position: relative;
}
.solutions_list a.solution_item {
    border: 1px solid #17171726;
}
.footer_logo img,.header_sec .elementor-widget-theme-site-logo img{
    filter:brightness(0) invert(1);
}
.single div[data-elementor-type="header"] {
    position: sticky !important;
    border-bottom:1px solid #17171726 !important;
    background-color: var(--white) !important;
}
.single div[data-elementor-type="header"] .header_left img {
    filter: unset !important;
}
.single div[data-elementor-type="header"] .header_middle nav > ul > li > a,.single div[data-elementor-type="header"] .header_right nav > ul > li > a {
    color: var(--black) !important;
}
.single div[data-elementor-type="header"] span.sub-arrow svg {
    filter: brightness(0) !important;
}
.single div[data-elementor-type="header"] .red_btn.black_arrow a span.elementor-button-icon{
     background-color: var(--white) !important;
}
.single div[data-elementor-type="header"] .red_btn.black_arrow a span.elementor-button-icon svg path{
    fill: var(--red) !important;
}
.header_right * {
    font-family: "Archivo", Sans-serif !important;
}
.single div[data-elementor-type="header"] .red_btn.black_arrow a:hover{
    background-color: var(--black) !important;
    color: var(--white) !important;
}
div[data-elementor-type="header"] .header_middle nav > ul > li > a{
    position:relative;
}
div[data-elementor-type="header"] .header_middle nav > ul > li > a::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -20px;
    left: 0px;
    width: 100%;
    height: 2px;
    background-color: var(--red) !important;
    transition:all 0.3;
    transform:scaleX(0);
}
div[data-elementor-type="header"] .header_middle nav > ul > li.current_page_item > a::after{
    transform:scaleX(1);
}
.gallery_imggrid figure.gallery-item:nth-child(4) {
    width: 100% !important;
    max-width: 100% !important;
}
.faq_sec details:nth-child(1) summary.e-n-accordion-item-title {
    padding-top: 0px;
    border-top: unset !important;
}
.faq_sec span.e-n-accordion-item-title-icon {
    min-width: 32px;
    height: 32px;
    border: 1px solid #17171726;
    padding: 4px;
    display: flex;
    justify-content: center;
    border-radius: 50%;
    background-color: var(--white);
    transition: all 0.4s;
}
.faq_sec summary[aria-expanded="true"] span.e-n-accordion-item-title-icon {
    background-color: var(--red);
    border-color:var(--red);
}
.faq_sec summary[aria-expanded="true"] span.e-n-accordion-item-title-icon svg{
    filter:brightness(0) invert(1);
}
.single_right ul {
    padding: 0px 0px;
    margin: 0px;
    list-style: none;
    display: grid;
    grid-gap: 8px;
}
.single_right ul li {
    position: relative;
    padding-left: 28px;
}
.single_right ul li::before {
    content: "";
    width: 16px;
    height: 16px;
    display: block;
    position: absolute;
    left: 0px;
    top: 4px;
    background-image:url(images/icon.svg);
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
}
nav.breadcrumbs {
    display: flex;
    font-size: 16px;
    color: #C5C2C0 !important;
    grid-gap: 10px;
}
nav.breadcrumbs * {
    color: #C5C2C0 !important;
}
.partner_grid {
    display: grid;
    grid-gap: 20px;
    grid-template-columns: repeat(3,1fr);
}
.partner_grid .partner_box {
    border: 1px solid #17171726;
    padding: 24px;
}
.partner_grid .partner_box .partner_img {
    border-bottom: 1px solid #17171726;
    padding-bottom: 24px;
    margin-bottom: 24px;
}
.partner_grid .partner_box .partner_img img {
    display: block;
    height: 64px;
    object-fit: contain;
    object-position: left;
}
.partner_grid .partner_box h3 {
    margin: 0px 0px 16px;
    font-size: 22px;
    font-weight: 500;
    color: var(--black);
    line-height: 28px;
}
.partner_grid .partner_box p {
    margin: 0px;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    color: var(--text);
}
/*--------------------------------------------------------------
 # Single Project css
--------------------------------------------------------------*/
.project_grid {
    display: grid;
    grid-template-columns: auto 465px;
    grid-gap: 60px;
}
.project_img img {
    height: 100% !important;
    object-fit: cover;
}
.project_img {
     height: 480px;
    object-fit:cover;
}
.project_img_tab a {
    width: 130px;
    height: 86px;
    display: block;
    overflow: hidden;
}
.project_img_tab a  img{
     width: 100%;
     height:100% !important;
     transition: all 0.4s;
     object-fit: cover;
}
.project_head h1 {
    margin: 0px;
    font-size: 40px;
    line-height: 46px;
    color: var(--black);
}
.project_middle {
    display: grid;
    grid-template-columns: auto auto auto;
    border: 1px solid #17171726;
    border-left: unset;
    border-right: unset;
    padding: 24px 0px;
    margin: 24px 0px;
}
.project_middle .project_field h4 {
    font-size: 15px;
    line-height: 22px;
    margin: 0px;
    color: var(--text);
}
.project_middle .project_field p {
    color: var(--black);
    font-size: 18px;
    font-weight: 500;
    margin: 0px;
}
.project_field {
    display: grid;
    grid-gap: 6px;
}
.project_field:nth-child(1),.project_field:nth-child(2) {
    padding-right: 16px;
}
.project_field:nth-child(3),.project_field:nth-child(2) {
    padding-left: 16px;
}
.project_field:nth-child(1),.project_field:nth-child(2) {
    border-right: 1px solid #17171726;
}
.project_bottom h3 {
    font-size: 18px;
    line-height: 26px;
    color: var(--black);
    margin: 0px 0px 16px;
    font-weight: 500;
}
.project_bottom p {
    font-size: 16px;
    color: var(--text);
    font-weight: 400;
    margin:0px;
}
.gallery_imggrid figure.gallery-item:nth-child(1) ,.gallery_imggrid figure img{
    width: 100% !important;
    max-width: 100% !important;
}
/*--------------------------------------------------------------
 # Our References css
--------------------------------------------------------------*/
.project_inngrid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    max-width: var(--content-width);
    margin: 0px auto;
    padding: 60px 15px 0px;
}
.project_inngrid a.project_item {
    display: block;
    text-decoration: none;
    box-sizing: border-box;
}
.project_inngrid a.project_item .project_img,.project_inngrid a.project_item .project_img img {
    height: 332px;
}
.project_inngrid .project_content {
    padding: 0;
    padding-top: 16px;
}
.project_tab {
    background-color: var(--red);
}
ul.project_list {
    display: flex;
    justify-content: left;
    list-style: none;
    max-width: var(--content-width);
    margin: 0px auto;
    padding: 0px 15px;
    flex-flow: wrap;
}
ul.project_list li {
    cursor: pointer;
    padding: 14px 27px;
    font-size: 16px;
    line-height: 24px;
    color: var(--white);
    transition: all 0.4s;
}
ul.project_list li.active {
    background-color: var(--black);
}
/*--------------------------------------------------------------
 # Who We Are css
--------------------------------------------------------------*/
.trade_box .elementor-image-box-content {
    padding: 0px 20px;
}
.trade_box .elementor-image-box-content h3 {
    margin-top: 0px;
}
.number_box h3 {
    margin-top: 0px;
}
.number_grid {
    counter-reset: box;
}
.number_box {
    position: relative;
    transition: all 0.4s;
}
.number_box::before {
    counter-increment: box;
    content: counter(box) ".";
    position: absolute;
    top: -30px;
    left: 22px;
    color: #A2A2A2;
    font-size: 50px;
    line-height: 55px;
    background-color: var(--white);
    transition: all 0.4s;
}
.number_box .elementor-widget-container{
    padding-top: 40px !important;
    transition: all 0.4s;
}
.number_box:hover::before{
   color: var(--red);
}
.address_box figure.elementor-image-box-img a {
    width: 52px;
    height: 52px;
    background-color: var(--red) !important;
    display: flex;
    align-items: center;
    justify-content: center;
}
.address_box figure.elementor-image-box-img {
    width: 52px !important;
}
.address_box .elementor-image-box-wrapper h3 {
    margin-top: 0px;
}
.address_box {
    position: relative;
}
.address_box > a {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    display: block;
    height: 100%;
}
.address_box:hover * {
    color: var(--red) !important;
}
.address_box * {
    transition: all 0.4s;
}
.address_box:hover figure.elementor-image-box-img a {
    background-color: var(--black) !important;
}
.form_box p {
    margin: 0px;
}
.form_box br {
    display: none;
}
.form_box label {
    font-size: 16px;
    line-height: 22px;
    color: var(--black);
    font-weight: 600;
    font-family: 'Archivo';
    margin-bottom: 6px;
}
.form_grid {
    display: grid !important;
    grid-gap: 16px;
    grid-template-columns: repeat(2,1fr);
}
.form_grid .form_box:nth-child(1), .form_grid .form_box:nth-child(4),.form_grid .form_box:nth-child(5),.form_grid .form_box:nth-child(6) {
    grid-column: span 2;
}
input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {
    border: 1px solid #17171726 !important;
    outline: unset !important;
    min-height: 46px;
}
.form_grid .form_box [type=submit] {
    background-color: var(--red);
    color: var(--white);
    display: flex;
    align-items: center;
    grid-gap: 24px;
    padding: 4px 4px 4px 24px !important;
    min-height: 44px;
    border-radius: unset !important;
    border: unset !important;
    outline: unset !important;
    transition: all 0.4s;
}
.form_grid .form_box [type=submit] span.icon {
    width: 40px;
    height: 40px;
    background-color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    transition:all 0.4s;
}
.form_grid .form_box [type=submit]:hover{
    background-color: var(--black);
}
.form_grid .form_box [type=submit] span.icon svg{
    transform:rotate(0deg);
    transition:all 0.4s;
} 
.form_grid .form_box [type=submit]:hover span.icon svg{
    transform:rotate(45deg);
} 
.wpcf7-response-output {
    margin: 20px 0px 0px !important;
}
.language_list  .gt_float_switcher {
    border-radius: 50px !important;
}
.language_list .gt-current-lang {
    padding: 8px 0px 0px 0px !important;
    border-radius: 50px !important;
    position: relative;
}
.language_list * ,.gt_float_switcher .gt_options *{
    color: var(--white) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    background-color: unset !important;
    box-shadow: unset !important;
    font-weight: 500 !important;
    font-family: 'Archivo';
}
.language_list .gt-current-lang img ,.gt_float_switcher .gt_options img{
    width: 20px !important;
    height: 20px !important;
    object-fit: cover !important;
    border-radius: 50%;
}
.gt_float_switcher .gt_options {
    position: absolute !important;
    width: 100% !important;
    min-width: 130px !important;
    background-color: unset !important;
    border-radius: 0px;
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
    top: 36px;
    border: 1px solid rgb(255 255 255 / 20%);
    padding: 0px 0px !important;
}
.gt_float_switcher .gt_options a{
    display: grid !important;
    grid-template-columns: 27px 55px;
    background-color:transparent !important;
    justify-content: left;
    border-bottom: 1px solid rgba(255,255,255,0.2);
    padding: 10px 10px !important;
}
.gt_float_switcher .gt_options a:hover{
    color:var(--red) !important;
}
.gt_float_switcher .gt_options *{
    font-size: 16px !important;
}
.gt_float_switcher  * {
    background-color: unset !important;
}
.gt_float_switcher .gt-selected .gt-current-lang span.gt_float_switcher-arrow {
    filter: brightness(0) invert(1);
}
.solution_text nav.breadcrumbs::after {
   content: " • \00A0 \00A0 Solution";
}
.shap_img {
    opacity: 1;
	filter:brightness(0);
}
.scroll-indicator {
    display: none;
}
.solution_bottom svg path,.prjtect_right svg path,.form_box svg path{
    fill: var(--red) !important;
}
.footer_img img {
  filter: grayscale(100%);
}
.single-solutions .language_list *,.single-solutions .gt_float_switcher .gt_options * {
    color: var(--black) !important;
}
.gt_float_switcher .gt_options {
    border: 1px solid rgb(0 0 0 / 20%);
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 10px;
}
.gt_float_switcher .gt_options a {
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.single-solutions .gt_float_switcher .gt-selected .gt-current-lang span.gt_float_switcher-arrow {
    filter: brightness(0);
}
.solutions_list a.solution_item,.solution_item  {
    position: relative;
}
.solutions_list a.solution_item::after,.solution_item::after {
    content: "";
    width: 80px;
    height: 80px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 0px;
    top: 0px;
    background-image: url(images/solution_icon.png);
}
.shap_img{
	/* opacity:0.5; */
}
.banner_sec::after {
    content: "";
    display: block;
    width: 100%;
    background-color: rgba(0,0,0,0.2);
    position: absolute;
    top: 0px;
    left: 0px;
    height: 100%;
}
.banner_sec * {
    z-index: 2;
}
ul.project_list > li {
    order: 1;
}
ul.project_list > li[data-filter="commercial-office-public-buildings"] {
    order: 2;
}
ul.project_list > li[data-filter="industrial-logistics-infrastructure"] {
    order: 3;
}
ul.project_list > li[data-filter="residential"] {
    order: 5;
}
ul.project_list > li[data-filter="retail-hospitality"] {
    order: 4;
}
.image_grid figure .gallery-icon{
    background-color: #f6f6f6;
    height: 150px;
    width: 100%;
    display: flex;
    align-items: center;
}
.image_grid figure .gallery-icon img {
    max-width: 46%;
    border-radius: 12px !important;
    object-fit: contain;
    height: 100%;
}
.image_grid figure {
    position: relative;
}
.image_grid figure figcaption {
    position: absolute !important;
    top: 3%;
    left: 50%;
    transform: translateX(-50%);
    background-color: #333;
    color: #fff;
    padding: 5px 12px;
    border-radius: 8px;
    font-size: 10px;
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
    pointer-events: none;
    text-transform:capitalize;
    font-style:unset;
    word-break: break-word;
     max-width: 100px;
}
.image_grid figure:nth-child(4) figcaption{
     max-width: 110px;
}
.image_grid figure:nth-child(10) figcaption{
     max-width: 142px;
}
.image_grid figure:nth-child(12) figcaption{
     max-width: 100%;
}
.image_grid figure figcaption::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #333 transparent transparent transparent;
}
.image_grid figure:hover figcaption {
    opacity: 1;
    visibility: visible;
    top: 0%;
}
.image_grid figure.gallery-item:nth-child(2) .gallery-icon img,.image_grid figure.gallery-item:nth-child(5) .gallery-icon img,.image_grid figure.gallery-item:nth-child(8) .gallery-icon img,.image_grid figure.gallery-item:nth-child(11) .gallery-icon img{
   max-width: 100% !important;
   border-radius:unset !important;
   width: 100% !important;
   object-fit: cover;
}
.image_grid figure.gallery-item:nth-child(2) .gallery-icon,.image_grid figure.gallery-item:nth-child(5) .gallery-icon,.image_grid figure.gallery-item:nth-child(8) .gallery-icon,.image_grid figure.gallery-item:nth-child(11) .gallery-icon{
    background-color:unset !important;
}
.red_btn.black_arrow {
    max-width: fit-content !important;
    width: 100% !important;
}
.language_menu {
    position: relative;
}
.language_menu .sub-menu {
    background: var(--white);
    min-width: 220px;
    padding: 10px 0;
    border-radius: 10px;
    border: 1px solid #eee;
    box-shadow: 0 8px 25px rgba(0,0,0,0.12);
    overflow: hidden;
    top: 100% !important;
    margin-top: 10px !important;
}
.language_menu .sub-menu li {
    list-style: none;
    margin: 0;
    padding: 0;
}
.language_menu .sub-menu li a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 10px !important;
    color: var(--black) !important;
    font-size: 14px;
    text-decoration: none;
    transition: all .3s ease;
    width: 100% !important;
    min-width: 100% !important;
    border: unset !important;
    min-width: 175px !important;
}
.language_menu .sub-menu li a img {
    width: 18px;
    height: auto;
    border-radius: 2px;
}
.language_menu .sub-menu li a:hover {
    background: #f5f7fa;
    color: var(--green) !important;
}
.language_menu .wpml-ls-display {
    color: #888;
    font-size: 13px;
}
.language_menu .sub-menu .current-menu-item a,
.language_menu .sub-menu .wpml-ls-current-language a {
    background: #f1f9f4;
    color: var(--green) !important;
}
/*--------------------------------------------------------------
 # Responsive css
--------------------------------------------------------------*/
@media(min-width: 1680px){
    .e-con {
        --container-max-width: 1320px !important;
    }
}
@media(max-width: 1680px){
    .project_left {
        margin-left: 17.5% !important;
    }
    .project_slider .owl-nav {
        left: -35%;
    }
}
@media(max-width: 1500px){
     .e-con {
        --container-max-width: 96% !important;
    }
   .owl-nav button.owl-prev {
        right: -35px;
    }
    .owl-nav button.owl-next {
        left: -35px;
    }
    .project_left {
        margin-left: 155px !important;
    }
    .project_slider .owl-nav {
        left: -375px;
    }
}
@media(max-width: 1280px){
 .hero_slider .swiper-slide h1 {
        font-size: 60px;
        line-height: 66px;
    }
    .project_grid {
        display: grid;
        grid-template-columns: 55% auto;
        grid-gap: 40px;
    }
    .project_head h1 {
        font-size: 35px;
        line-height: normal;
    }
    .project_img {
        height: 370px;
    }
    .project_img_tab a {
        width: 105px;
        height: 70px;
    }
    .project_middle {
        padding: 20px 0px;
        margin: 20px 0px;
    }
    .project_inngrid a.project_item .project_img, .project_inngrid a.project_item .project_img img {
        height: 260px;
    }
}
@media(min-width: 1025px){
	.banner_video video {
		object-fit: cover !important;
		height: 800px !important;
		object-position: bottom !important;
	}
}
@media(max-width: 1024px){
     .e-con {
        --container-max-width: 100% !important;
    }
   .owl-nav button.owl-prev {
        right: -10px;
    }
    .owl-nav button.owl-next {
        left: -10px;
    }
    .hero_slider .swiper-slide h1 {
        font-size: 60px;
        line-height: 66px;
    }
     .hero_slider .swiper-slide h1 {
        font-size: 50px;
        line-height: 56px;
    }
    .project_left {
        margin-left: 0px !important;
        transform: translateX(0px) !important;
    }
    .project_slider .owl-nav {
        left: -275px;
    }
    .project_content h3 {
        font-size: 20px;
        line-height: 26px;
    }
    .project_content {
        padding: 20px;
        grid-gap: 12px;
    }
    .solutions_list {
        grid-gap: 24px;
    }
	.image_grid figure .gallery-icon {
		height: 120px;
		width: 100% !important;
	}
}
@media(max-width: 991px){
     .hero_slider .swiper-slide h1 {
        font-size: 40px;
        line-height: 46px;
    }
    .hero_slider .swiper-pagination{
        display: none;
    }
    img.img_layer {
        width: 60%;
    }
    .about_right .gallery {
        margin: 0px !important;
        display: grid;
        grid-template-columns: repeat(6,1fr);
        grid-gap: 10px;
    }
    .about_right .gallery figure {
        padding: 0px !important;
        max-width: 100% !important;
    }
    .header_menu{
        transform: translateX(0%);
        transition: all 0.6s;
    }
    .header_menu.show{
        transform: translateX(0%);
    }
    div[data-elementor-type="header"] nav > ul > li:last-child > a{
        border-bottom: unset;
    }
    .header_menu .elementor-widget-container + nav{
        display: none !important;
    }
    .header_menu .elementor-menu-toggle + nav > ul {
        display: block !important;
        width: 100% !important;
        margin-top: 0px;
    }
    .header_menu .elementor-menu-toggle + nav > ul * {
        text-align: left !important;
    }
    .header_menu .elementor-menu-toggle + nav > ul > li > a{
        padding: 15px 0px !important;
        width: 100% !important;
        margin: 0px !important;
        justify-content: space-between;
        background-color:transparent !important;
        color:var(--balck) !important;
        border-bottom:1px solid rgba(0,0,0,0.1);
        font-size:16px !important;
    }
     .header_menu .elementor-menu-toggle + nav > ul > li.current_page_item a{
         color:var(--red) !important;
    }
     .header_menu .elementor-menu-toggle + nav {
        opacity: 1 !important;
        display: block !important;
        max-height: unset !important;
        position: fixed !important;
        max-width: 100% !important;
        top: -22px;
        padding: 50px 15px 10px 15px !important;
        height: 100vh !important;
        right: 0px !important;
        background-color: var(--white) !important;
        z-index: 99 !important;
        width: 100% !important;
        left: 0px;
        transform: translateX(100%) !important;
        min-width: 230px !important;
        margin: 0px;
        transition:all 0.6s;
    }
    .elementor-menu-toggle.elementor-active +   nav{
        transform: translateX(-178px) !important;
    }
    .elementor-menu-toggle {
        margin-left: auto !important;
        margin-right: 0px !important;
        z-index: 100;
    }
    .project_slider .owl-nav {
        margin-top: 24px !important;
        position: unset !important;
        transform: unset !important;
    }
    a.project_item .project_img, a.project_item .project_img img {
        height: 300px;
    }
    .solutions_list,.partner_grid {
        grid-template-columns: repeat(2, 1fr);
    }   
    .elementor-nav-menu--dropdown-mobile_extra .elementor-widget-container + nav {
        display: none !important;
    }
}
@media(max-width: 800px){
    .project_grid {
        grid-template-columns:repeat(1,1fr);
    }
    .project_gridleft {
        order: 2;
    }
}
@media(max-width: 767px){
     .hero_slider .swiper-slide h1 {
        font-size: 30px;
        line-height: 36px;
    }
    .swiper-slide.swiper-slide-active figure.swiper-slide-inner {
        border-left:1px solid transparent;
    }
    .hero_slider .swiper-container {
         height: 600px;
    }
    a.project_item .project_img, a.project_item .project_img img {
        height: 250px;
    }
    .project_slider .owl-nav {
            margin-top: 15px !important;
        }
    .project_content h3 {
        font-size: 18px;
        line-height: 24px;
    }
    .prjtect_right {
        display: none;
    }
    .imgslider {
        width: 100% !important;
        max-width: 100% !important;
    }
    .solutions_list {
        grid-gap: 20px;
    }
    .solutions_list a.solution_item .solution_content {
        padding: 24px 15px 65px 15px;
    }
    .solution_bottom {
        padding: 12px 0px;
        width: calc(100% - 30px);
        left: 15px;
    }
    a.solution_item .solution_img {
        height: 220px;
    }
    .gallery_imggrid figure.gallery-item {
        width: 50% !important;
    }
    .gallery_imggrid figure.gallery-item img {
        max-height: 150px;
        object-fit: cover;
    }
    .partner_grid {
        grid-template-columns: repeat(1, 1fr);
    }
    .partner_grid .partner_box {
        padding:20px 15px;
    }
    .partner_grid .partner_box .partner_img img {
        height: 44px;
    }
    .partner_grid .partner_box .partner_img {
        padding-bottom: 20px;
        margin-bottom: 20px;
    }
    .project_head h1 {
        font-size: 28px;
    }
    .project_inngrid {
        grid-template-columns: repeat(1, 1fr);
        padding: 40px 15px 0px;
    }
    .project_inngrid a.project_item {
        padding: 20px 0px !important;
        border-right: unset !important;
    }
    .project_inngrid a.project_item:nth-child(1){
        padding-top:0px !important;
    }
    .project_inngrid a.project_item:nth-last-child(1){
        padding-bottom:0px !important;
    }
    .project_inngrid a.project_item .project_img, .project_inngrid a.project_item .project_img img {
        height: 190px;
    }
    ul.project_list li {
        padding: 8px 20px;
        font-size: 15px;
        line-height: 22px;
    }
    .contact_grid  .elementor-image-box-wrapper {
        display: flex;
        grid-gap: 16px;
    }
	.solutions_list a.solution_item::after,.solution_item::after {
		width: 60px;
		height: 60px;
	}
	.image_grid figure.gallery-item:nth-child(2), .image_grid figure.gallery-item:nth-child(5), .image_grid figure.gallery-item:nth-child(8), .image_grid figure.gallery-item:nth-child(11) {
		display:none !important;
	}
	.about_right .gallery {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media(max-width:680px){
    .solutions_list {
        grid-template-columns: repeat(1, 1fr);
    }
    .faq_sec span.e-n-accordion-item-title-icon {
        min-width: 28px;
        height: 28px;
    }
	.gallery_grid figure.gallery-item img {
		height: 150px;
	}
}