body{
    font-family: 'Montserrat';
    margin: 0px;
    overflow-x: hidden;
}
main{overflow-x: hidden !important;}
h1,h2,h3,p{font-family: 'Montserrat';}
/* color */
.blanc{
    color:#fff !important;
}
.fcolor{
    color:#CE0000;
}
.scolor{
    color:#4C4C4C;
}
/*  */
.uppercase{
    text-transform: uppercase;
}
/* font weight */
.fmed{
    font-weight: 500;
}
.fsemi{
    font-weight: 600;
}
.fbold{
    font-weight: 700;
}
.febold{
    font-weight: 900;
}

p{
    margin: 0px;
}
/* fontsize */
.fs-55{
    font-size: calc(30px + (55 - 30) * ((100vw - 300px) / (1920 - 300)));;
}

.fs30 {
    font-size:calc(20px + (30 - 20) * ((100vw - 300px) / (1920 - 300)));
}
.fs20 {
    font-size:calc(16px + (20 - 16) * ((100vw - 300px) / (1920 - 300)));
}
/* header */
.container{
    max-width: 1200px;
}
/* banner */
    p.p-icone.icone-clock {
        margin: 0px;
    }

    .band_header.container-fluid {
        padding: 17px;
        border-bottom: 1px solid #D0D9DB;
        background: #21303F;
        color: #fff;
    }

    a.p-icone, p.p-icone {
        text-decoration: unset;
        display: flex;
        gap: 8px;
        width: max-content;
        color: #fff;
        align-items: center;
    }

    a.p-icone:hover{
        color: #ffffffab;
    }

    .f-start,.f-end {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 20px;
    }

    .f-end {justify-content: flex-end;}
/* end banner */
.scrolling{
    height:400px;
    overflow-y:scroll;
}

.scrolling::-webkit-scrollbar {
  width: 7px;
}

/* Track */
.scrolling::-webkit-scrollbar-track {
  background: #f1f1f1; 
}
 
/* Handle */
.scrolling::-webkit-scrollbar-thumb {
  background: #ce0000; 
}
/* second header */

/* second header */
.second-header.container {padding: 17px;}
.second-header .row {align-items: center;}

/* General menu styling */
ul.ul-menu {
    list-style: none;
    padding: 0px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
    margin: 0px;
}

ul.ul-menu a {
    color: #000;
    font-size:16px;
    text-decoration:unset;
    position:relative;
}
ul.ul-menu a:hover {color:#CE0000}


/* Menu icon (burger) styling */
.menu-icon {
    display: none;
    cursor: pointer;
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 20px;
}
.menu-icon span {
    background-color: #333;
    height: 3px;
    width: 100%;
    display: block;
}





/* banner  */
.banner_h1 {
    height: 86vh;
    display: flex;
    align-items: center;
    background-image: url('/assets/images/img_banner.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position:right center;
    justify-content: center;
}

.content_h1 {
    max-width: 750px;
    margin: auto;
    text-align: center;
}

p.p_banner {
    font-weight: 500;
    margin-bottom:0px
}



/* qui sommes nous */
img.img_aboutus {
    width: 100%;
    object-fit: cover;
    object-position: center;
}

.fluid-aboutus {
    padding: 80px 20px;
    background: #1D232C;
}
.fluid-aboutus div{
    position:relative;
}

.title_aboutus {
    padding: 60px 20px;
}

/* accordion */

.accordion {
    background-color: white;
    border-radius: 0px;
}

.accordion-item {
    border-bottom: 1px solid #ddd;
}

.accordion-header {
    padding: 15px;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    background-color: #F0ECEC;
    transition: background-color 0.3s ease;
    position:relative;
    color: #28525A;
    font-size: 26px;
}

.accordion-header:hover {
    background-color: #e0e0e0;
}
.accordion-header:before {
    content:"";
    background:url('/assets/images/accordion.svg');
    background-size: contain;
    height:30px;
    width:30px;
    position:absolute;
    top:0px;
    bottom:0px;
    right: 5px;
    margin:auto;
    transform: rotate(180deg);
    transition: all 0.2s;
}
.accordion-header.active:before,.accordion-header:hover:before{
    transform: rotate(0deg);
}
.accordion-panel {
    display: none;
    padding: 15px 15px !important;
    font-size: 16px;
    line-height: 1.6;
    background: #E6E6E6;
}

.accordion-panel p {
    margin: 0;
    padding: 0 0 10px;
}

.accordion-panel:last-child {
    padding-bottom: 0;
}

.img_aboutus {
    background: url(/assets/images/aboutus.jpg);
    background-size: cover;
    background-position: center;
    height: 550px;
    background-repeat: no-repeat;
}

.title_aboutus{
    position:relative
}

.aboutus {
    padding: 0px 30px 0px 20px ;
    overflow: hidden;
    position: relative;
}
.aboutus:before{
    content:"";
    background: #F9F7F7;
    background-position:center;
    background-size:contain;
    position:absolute;
    height: 60%;
    width:100%;
    left:0px;
    top:0px;
    z-index: 0;
    right: 0px;
    margin: auto;
}

/* chiffres cles */
.chiffres-cles {
    margin-top: 80px;
    padding: 0px 20px;
}

p{margin:0px}
h2{color: #1D232C;}
hr.hr_titles {
    width: 100px;
    margin: 10px auto 30px;
    height: 3px !important;
    background:  #CE0000;
    opacity: 1 !important;
}
hr.hr_titles.left {
    margin: 10px 0px 30px;
}

/* services */

.services.container-fluid {
    margin-top: 80px;
    padding: 80px 40px;
    background: #1d232c;
}

.div_services {
    min-height: 550px;
    padding: 20px;
    background: url(/assets/images/commercials.jpg);
    display: flex;
    background-size: cover;
    background-position: center;
    align-items: flex-end;
    overflow: hidden;
}
.div_services.exterieurs{background: url(/assets/images/exterieurs.jpg);background-size: cover;background-position: center;}
.div_services.visiteurs{background: url(/assets/images/visiteurs.jpg);background-size: cover;background-position: center;}
.div_services.industrielle{background: url(/assets/images/industrielle.jpg);background-size: cover;background-position: center;}
.service_content {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #DDDDDD;
    padding: 0px 20px 30px;
    gap: 15px;
    transform: translateY(46px);
    transition:all 0.2s ease-out;
    width: 100%;
}
.service_content .readmore{
    opacity:0;
    transition:all 0.2s ease-out;
}

.div_services:hover  .service_content {
    transform: translateY(0px);
}
.div_services:hover .service_content .readmore{
    opacity:1;
}

img.img_services {
    padding: 20px;
    margin-top: -50px;
    background: #fff;
    border: 1px solid #28525a69;
}

button.readmore {
    border: 0px;
    padding: 0px;
    background: transparent;
    color: #181818;
    font-size: 17px;
    font-weight: 600;
    font-family: 'Montserrat';
}

.services .row {
    margin-top: 60px;
    gap: 1%;
}
.container-fluid .row{
    max-width:1200px;
    margin:0px auto
}
.services .col-md-3 {
    width: 32.25%;
    padding-bottom: 0px !important;
}

.engagement {
    margin-top: 80px;
}

.engagement_div {
    background: url('/assets/images/engagements.jpg');
    background-position: center;
    background-size: cover;
    min-height: 360px;
}
.engagement .row {
    display: flex;
    align-items: flex-end;
}
.row_engagement {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    background: #F1F1F1;
    padding: 30px 20px;
    border: 1px solid #4c4c4c4a;
    flex-direction: column;
}

.row_engagement.bgblue{
    background: #1D232C;
}
.mt-15{
    margin-top: 15px !important;
}
.engagements_clicks .col-md-6 {
    padding: 0px 7px;
}

.engagement.row {
    display: flex;
    align-items: stretch;
}

.engagement > .col-md-6:nth-child(2){
    padding-left:30px !important
}
.reference{
    margin-top:80px;padding: 80px 20px;background: #1d232c;
}

.row-references{
    gap:1%;
}
.row-references .col-md-3 {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 30px 20px;
    border: 1px solid;
    width: 24.25%;
    background: #E4E8EE;
    border:1px solid #4c4c4c1f
}
img.references_img.text-center {
    height: 100px;
    object-fit: contain;
    object-position: center;
    object-fit: none;
    width: 100%;
}

.contact.container-fluid {
    /* margin-top: 80px; */
    padding: 79px 20px;
    background: #F3F3F3 !important;
}

.bg_blue {
    background: #222A35;
    padding: 40px !important;
}

.div_infos {
    border: 2px solid #ffffff61;
    border-radius: 8px;
    background: #ffffff45;
    padding: 15px 15px;
    backdrop-filter: blur(10px);
    margin-bottom:20px;
}

.div_infos.col-md-6{
    width: calc(50% - 10px);
}
.div_infos:nth-child(2){
    margin-right:20px;
}

/* contact formulaire  */
/* formulaire */

.col-md-6.col_contact {
    padding-right: 15px;
}
.div_form{
    position:relative;
}


.div_form:before {
    content: "";
    position:absolute;
    height: 100%;
    width: 100%;
    background: #ffffffa1;
    left:0px;
    right:0px;
    z-index:-1;
    opacity:0;
    transition:all 0.2s;
}
.div_form:after {
    content: "";
    position:absolute;
    height: 50px;
    width: 50px;
    background: transparent;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    bottom:0px;
    top:0px;
    left:0px;
    right:0px;
    margin:auto;
    z-index: -1;
    animation: spin 1s linear infinite;
    transition:all 0.2s;
    opacity: 0;
    border: 4px solid #4d4d4d91;
    border-top: 4px solid #28525a;
    border-radius: 50px;
}

.div_form.spinned:before {
    z-index:1;
    opacity:1;
}
.div_form.spinned:after{
    z-index:5;
    opacity:1;
}

.autre_div.autres_domaines {
    margin-bottom:0px !Important
}

.autre_div{
    display:none ;   
}

.autre_div.selected{
   display:flex ;  
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.div_flex_profil{
    margin-bottom:15px;
}
.mw_600{
    max-width: 600px;
    margin-left:auto;
    margin-right:auto;
}

    /* content form */
    .mw_700 {
        max-width: 700px;
        margin-inline: auto;
    }

    .p_form{
        font-size: 16px;
    }


    /* formulaire */
    .div_form {
        padding: 30px;
        background: #fff;
        /* border: 1px solid rgb(19 34 70 / 19%); */
        /* border-radius: 20px; */
    }
    .div_form_content{
        position: relative;

    }

    input.input_form.form-control-error, select.select.form-control-error {
        -webkit-box-shadow: 0px 0px 20px #dc354580;
                box-shadow: 0px 0px 20px #dc354580;
    }


    .error-message {
        color: red;
        font-size: 0.9em;
        display: none;
        margin-top: 5px;
    }


    .div_form_content:before{
        content: "";
        background: url(/assets/images/shape_form.png);
        height: 589px;
        width: 100%;
        position: absolute;
        right: 0%;
        left: 0%;
        bottom: 0%;
        background-size: cover;
        background-position: center top;
        z-index: -1;
    }

    .full_input {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 15px;
        margin-bottom: 10px;
    }

    .div_form label {
        font-size: 18px;
        color: #535252;
        font-weight: 500;
        margin-left:5px;
        
    }

    input.input_form, textarea{
        padding: 15px 12px;
        background: transparent;
        border: 1px solid #EFF0F6 !important;
        border-radius: 0px;
        font-size: 17px;
        color: #6F6C90;
        -webkit-box-shadow:0px 0px 10px  #6f6c9024;
        box-shadow:0px 0px 10px  #6f6c9024;
        -webkit-transition: all 0.2s;
        -o-transition: all 0.2s;
        transition: all 0.2s;
    }
    textarea{
        min-height:120px !important
    }
  
    .form-control:focus  , select.select:focus {
        border-color: #EFF0F6 !important;
        -webkit-box-shadow: 0 0 15px .25rem rgb(52 96 174 / 20%) !important;
                box-shadow: 0 0 15px .25rem rgb(52 96 174 / 20%) !important;
    }
    button.btn-form {
        display: flex;
        align-items: center;
        justify-content: center;
        width: max-content;
        padding: 10px 30px;
        font-size: 16px;
        font-weight: 600;
        text-transform: uppercase;
        border-radius: 0px;
        -webkit-transition: all 0.4s;
        -o-transition: all 0.4s;
        transition: all 0.4s;
    }
    .btn-primary {
        color: #fff;
        background-color: #28525A !important;
        border-color: #28525A !important;
    }
    .btn-primary:hover {
        color: #000 !important;
        background-color: #fdf5ef !important;
        border-color: #fdf5ef !important;
    }
    .icone_input{
        position:relative;
    }
   
    .icone_input:before{
        content:"";
        background:url(/assets/images/personne.png)  center no-repeat;
        background-size: contain;
        height:25px;
        width:25px;
        position:absolute;
        top:0px;
        bottom:0px;
        right:20px;
        margin:auto
    }
    .icone_input.input_mail:before{
        background:url(/assets/images/mail.png) center no-repeat ;
        background-size: contain;
    }
    .icone_input.input_telephone:before{
        background:url(/assets/images/mobile.png) center no-repeat ;
        background-size: contain;
    }
    .icone_input.input_select:before, .sd-multiSelect .ms-choice:after{
        background:url(/assets/images/Down_Arrow.png) center no-repeat ;
        background-size: contain;
    }
    .icone_input.input_last:before{
        background:unset;
    }
.icone_input.input_poste:before {
    background: url(/assets/images/job.png) center no-repeat;
    background-size: contain;
}

.icone_input.input_ville:before {
    background: url(/assets/images/city.png) center no-repeat;
    background-size: contain;
}
.input_icones {
    padding-right: 50px !important;
}
.input_none.icone_input:before{
    display: none;
}
.div_infos a {
    font-size: 18px;
    text-decoration: unset;
    display:flex;
    gap:12px;
 
}
img.img_last {
    width: 100%;
    /* height: 300px; */
    object-fit: cover;
    object-position: top center;
}
.img_bg_las{
    min-height: 300px;
    background: url(/assets/images/last.jpg);
    background-size:cover ;
}

/* footer */

.container.footer_div {
    padding: 20px;
}

ul.menu_footer {
    list-style: none;
    padding: 0px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 20px;
    flex-wrap: wrap;
    font-size: 15px;
}
ul.menu_footer li{
    position:relative;
}
ul.menu_footer li:before{
    content:"";
    background:#D1CFCF;
    height:70%;
    width:2px;
    position:absolute;
    top:0px;
    bottom:0px;
    right:-10px;
    margin:auto
}
ul.menu_footer li:last-child:before,.menu-icon{
    display:none;
}

.footer_div * {margin:0px}
.menu_mobile{display: none;}

/* popup sevices */
.pop_up_services  ul {
    list-style: none;
    padding: 0px;
}

.pop_up_services  ul li:not(.pop_up_services  ul li:last-child) {
    padding:0px 0px 20px;
    margin-bottom:20px;
    border-bottom:2px solid #DEDFE1;
    
}

.icones_pop {
    display: flex;
    gap: 15px;
    align-items: center;
    margin-bottom: 0px;
    background: #E9EAEB;
    padding: 20px;
}
.pop_up_services .row {
    padding: 20px 20px 20px 40px;
}
.icones_pop h3{
    margin:0px;
}
.pop_up_services,.pop_up_engagements {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    background: #00000036;
    justify-content: center;
    z-index:100;
    transform:scale(0);
    transition:all 0.3s ease-in;
}
.pop_up_services.show_pop,.pop_up_engagements.show_pop{
    transform:scale(1);
}
.pop_up_services > div,.pop_up_engagements > div {
    display:none
}
.pop_up_services > div.show_div, .pop_up_engagements > div.show_div {
    display:block
}

.pop_updiv {
    background: #fff;
    max-width: 900px;
    margin: auto;
    position: relative;
}
button.close_services,.close_engagment {position: absolute;top: 20px;right: 20px;background: transparent;border: unset;font-weight: 700;font-size: 18px;}


.pop_updiv  h4 {
    font-size: 18px;
}

/* engagements */
.pop_updiv_engagement.show_div {
    max-width: 900px;
    margin: auto;
    background: #fff;
    position: relative;
}
.pop_up_engagements .row_content {
    padding: 25px;
}

.pop_up_engagements .row_content h3{
    font-size:20px
}
@media screen and (max-width:1300px){
    .row_engagement  h4 {
        font-size: 20px;
    }
}

@media screen and (max-width:1200px){
    .band_header .container, .second-header.container {
        width: 100% !important;
        max-width: 100% !important;
    }
}
@media screen and (max-width:1100px){
    
    .second-header .ul-menu{
        display: none;
    }
    .menu_mobile {
        position:fixed;
        height:100vh;
        width:100%;
        left: 0px;
        background: #00000059;
        top: 0px;
        display: flex;
        justify-content: flex-end;
        z-index: 100;
        transform:translateX(120%) ;
        transition:all 0.3s ;
    }
    .menu_mobile.active_menu{transform:translateX(0%) ;}
    .menu_mobile ul#ul-menu {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        height:100%;
        background:#fff;
        padding:20px;
        width: 250px;
        justify-content: flex-start;
    }
    button.close_menu{
        position: absolute;
        left: 20px;
        top: 8px;
        border: 0px;
        background: #212529;
        color: #fff;
        border-radius: 50px;
        height: 30px;
        font-size: 12px;
        width: 30px;
    }

    header .col-md-9 {
        display: flex;
        justify-content: flex-end;
    }
    .menu-icon {
        display:flex;
        cursor: pointer;
        flex-direction: column;
        justify-content: space-between;
        width: 30px;
        height: 20px;
    }
    .menu-icon span {
        background-color: #333;
        height: 3px;
        width: 100%;
        display: block;
    }

    .container {
        max-width: 100% !important;
    }
    .services .col-md-3 {
        width: 49.25%;
        margin-block: 5px;
    }
    .service_content {
        transform: translateY(0px);
    }
    .div_services .service_content .readmore {
        opacity: 1;
    }
    .div_services {
        min-height: 450px;
    }
    .engagement > .col-md-6{display: none;}
    .engagement > .col-md-6:nth-child(2) {
        padding-left: 20px !important;
        display: block;
        width: 100%;
    }
    .engagement.row {
        max-width: 100%;
        padding: 15px;
    }
    .row-references .col-md-3 {
        width: 49.25%;
        margin-block: 5px;
    }
    .div_infos:nth-child(2) {
        margin-right: 0px;
    }
    .div_infos.col-md-6 {
        width: 100%;
    }
    .pop_updiv .col-md-6 {
        padding: 0px;
        margin-top: 10px;
    }
}

@media screen and (max-width:900px){
    .pop_updiv  .row .col-md-6:nth-child(1) {
        display: none;
    }
    .icones_pop {
        align-items: flex-start;
        margin-bottom: 20px;
        flex-direction: column;
    }
    .col-md-6.contact_formulaire {
        width: 100%;
        padding: 0px 0px 20px !important;
    }
    
    .col-md-6.bg_blue {
        width: 100%;
    }
    
    .img_bg_las {
        display: none;
    }
    .band_header.container-fluid {
        display: none;
    }
}

@media screen and (max-width:700px){
    .img_aboutus {
    margin-top:20px !important;
        background-size: cover;
        height: 450px;
    }
    .band_header.container-fluid {
        display: none;
    }
    .second-header .row >div {
        width: 50% !important;
    }

    .content_h1 {
        padding: 20px;
    }
    .banner_h1.container-fluid {
	background-image: url('/assets/images/banner_mobile.jpg');
        background-size: cover;
        padding: 15px;
        min-height: 44vh;
        height: auto;
    }

    .banner_h1 .container {
        padding: 0px !important;
    }
    .title_aboutus {
        padding: 20px;
    }
    .aboutus {
        margin-top: 40px;
    }
    .chiffres-cles.container {
        margin-top: 40px;
        max-width: 90% !important;
        padding: 40px 10px;
    }
    
    .services.container-fluid {
        margin-top: 40px;
        padding: 40px 20px;
    }
    .services .col-md-3 {
        width: 100%;
    }
    
    .engagement > .col-md-6:nth-child(2) {
        padding-left: 15px !important;
    }
    
    .row_engagement {
        width: 100%;
    }
    
    .row_engagement {
        align-items: flex-start;
        padding: 20px;
        flex-wrap: wrap;
        flex-direction: column;
    }
    
    .col-md-6.mt-15 {
        margin-top: 0px !important;
        display: flex;
    }
    
    .row.row-references {
        padding: 0px 10px;
    }
    
    .reference.container {
        margin-top: 40px;
    }
    
    .row-references .col-md-3 {
        width: 100%;
        margin-block: 5px;
    }
    .contact.container-fluid {
        margin-top: 40px;
        padding: 40px 10px;
        background: #FDF5EF;
    }
    .div_form,.col-md-6.bg_blue {
        padding: 20px;
    }
    ul.menu_footer li:before{
        display:none;
    }
    ul.menu_footer {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;
        flex-wrap: wrap;
        flex-direction: column;
    }

    .row_engagement {
        margin-bottom: 10px;
    }
    .engagement.row {
        max-width: 100% !important;
        padding: 15px;
    }
	.div_infos a {
    		flex-wrap: wrap;
	}
footer p.fbold {text-align:center;margin-top:15px}
}

footer {
    background: #222A35;
    color: #fff;
}

/* updattes */
.full_input.form-group.col-md-6 {
    padding: 0px;
}

.full_input.form-group.col-md-6:nth-child(1) {
    padding-right:10px
}

.full_input.form-group.col-md-6:nth-child(2) {
    padding-left:10px
}

@media screen and (max-width:800px){
    .full_input.form-group.col-md-6 {
        padding: 0px !important;
    }
}
@media screen and (max-width:600px){
 .fluid-aboutus {padding: 20px 20px;}
}
.col-md-6.bg_blue {
    padding: 30px 20px 15px !important;
}
.menu_footer a {
    color: #fff !important;
    text-decoration: unset !important;
}
.menu_footer a:hover {
    opacity:0.7;
}


.success-message.redalert {
    background: #5CB85C;
    margin-top: 10px;
    text-align: center;
    padding: 15px;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
}

/* edit 9-oct-2024 */ 

/*

.img_aboutus{
    position:relative
}
.img_aboutus:before {
    content:"";
    background:url('/assets/images/img_iso.png');
    background-size:contain;
    width:100%;
    max-width:392px;
    height:132px;
    position:absolute;
    right: 0px;
    bottom:-65px;
    background-repeat: no-repeat;
}

@media screen and (max-width:800px){
    .img_aboutus:before {
         max-width: 300px;
    }
}
@media screen and (max-width:700px){
    .img_aboutus{margin-bottom:80px}
    .img_aboutus:before {
         right: 0px;
         bottom:-80px;
         max-width: 392px;
        background-position:center bottom
    }
}

*/
/*end edit*/