/* supprimer titre des images des carousels */
.sppb-carousel-caption {
    display: none !important;
}
/* FORMULAIRE */
button.rsform-submit-button.rsform-thankyou-button.btn.btn-primary {
    background-color: #d8c409 !important;
    border: none !important;
}
/* SMARTPHONE */

@media (max-width: 600px) {
.container, .container-sm {
        padding-top: 80px;
}
.logo-image-phone {
        padding-left: 15px !important;
    }
#sp-header {
    top: 0 !important;
    left: 0px !important;
}
  nav.sp-megamenu-wrapper.d-flex {
    margin-top: -80px;
}
.burger-icon {
    border: 1px solid #d8c409 !important;
    margin-right:20px;
   /* margin-top: -158px;*/
}
.burger-icon>span {
    background-color: #d8c409 !important;
}
}
/* Pied de page */
#sp-footer ul.menu li {
    display: block; !important;
}
#sp-footer, #sp-bottom{
    background: #757A89 !important;
}
#sp-footer a, #sp-bottom a {
    color: #d8c409 !important;
}

/*HEADER */
#sp-header .row {
    margin-top: -10px !important;
}
div#sp-top1, div#sp-top2, div#sp-top3 {
    padding-top: 10px;
}
/*ANCRES*/
.anchor {height:0; font-size:0; visibility:hidden; display:block; position:relative; top:-100px;}

/*barre du haut */

section#sp-section-1 {
    background-color: #000000;
}
.sp-contact-info li, .sp-contact-info li a {
font-size: 16px !important;
color:#8f929b;
}
.sp-contact-info li a:hover {
color: #d8c409 !important
}

ul.social-icons a {
color: #8f929b;
font-size: 25px !important;
}
ul.social-icons a:hover {
    color: #d8c409 !important;
}
/*----*/
.page-header{
display:none !important;}
h1 {
font-family: "baileywick-jf-gothic", sans-serif;
font-weight: 400;
font-style: normal;
color: #d8c409;
}
h2{
font-family: "open-sans", sans-serif;
font-weight: 400;
font-style: normal;
}
p{
font-family: "open-sans", sans-serif;
font-weight: 400;
font-style: normal;
font-size : 20px !important;
line-height: 16px !important;
}
/* Bandeau logos Home page */
.sppb-carousel-extended-team-content.sppb-carousel-layout1{
    display: none;
}
/* Testimonial home page */
.sppb-addon-testimonial-pro-client-name{
font-family: "open-sans", sans-serif;
font-weight: 700;
font-style: normal;
font-size : 20px !important;
}
.sppb-addon-testimonial-pro-client-designation{
font-family: "open-sans", sans-serif;
font-weight: 100 !important;
font-style: normal;
font-size : 20px !important;
display : inline-block;
}
#sppb-carousel2 .sppb-carousel-inner{
border:none !important;
}
.sppb-carousel-inner {
    border: none !important;
}
/*MENU */
.sp-megamenu-parent>li>a, .sp-megamenu-parent>li>span {
    font-family: "baileywick-jf-gothic", sans-serif;
    font-weight: 400 !important;
    font-style: normal;
    text-transform: uppercase;
    display: inline-block;
    padding: 0 25px;
    line-height: 50px;
    font-size: 20px;
    margin: 0;
    font-weight: 500;
    border-right: dotted #000000 2px;
}
#sp-header {
    height: 60px;
    width: 100%;
    position: fixed;
    z-index: 99;
    animation: spFadeIn 0.5s;
    top: 50px;
}
.sp-megamenu-parent>li:before {
    background-color: #d8c409 !important;
    bottom: 12px !important;}
.logo-image {
    padding-left: 40px;
}
.sp-megamenu-parent {
    padding-right: 120px;
}
/* Supression du picto horloge */
.fa-clock, .fa-clock-four {
    --fa: "";
    display: none;
}

/* Sections plein ecran (hauteur uniquement, largeur non modifiee) : Industrie / Institutions / Medical */
/* Pages "Home" (UK/en-GB) et "Accueil" (FR) */

/* Le carousel remplit 100% de l'espace vertical restant entre le titre et la legende (pas de valeur fixe) */
:is(#section-id-72af8b5d-3fd0-4763-b848-81ca5b17886c,
    #section-id-b1e90cc4-0efd-4301-a7c8-b067cbd4a988,
    #section-id-b3e4f323-768e-4b17-b065-0dd25b0ea41e,
    #section-id-fb4a6236-d0cc-446f-aab9-43e08b973647,
    #section-id-0a1b5d42-2e96-4cd2-8dea-5d784a02a330,
    #section-id-2639e011-885a-41ef-9690-19a0d896657e) {
    height: 100vh !important;
    height: 100dvh !important;
    box-sizing: border-box;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column;

    /* Chaine flex complete : chaque niveau doit relayer l'espace disponible au suivant */
    & .sppb-container-inner,
    & .sppb-row,
    & .sppb-row-column,
    & .sppb-column,
    & .sppb-column-addons {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        min-height: 0;
    }

    /* Titre et legende : taille naturelle */
    & .addon-root-text-block {
        flex: 0 0 auto;
    }

    /* Le bloc carousel (desktop CarouselCK ou mobile SP Page Builder) prend l'espace restant, reduit de 10% */
    /* margin/padding a 0 pour supprimer l'espace par defaut entre le carousel et la legende */
    & .addon-root-module,
    & .addon-root-carousel {
        flex: 1 1 0;
        min-height: 0;
        max-height: calc(90% - 110px);
        overflow: hidden;
        display: flex;
        flex-direction: column;
        margin: 0 !important;
        padding: 0 !important;
    }
    & .addon-root-module .clearfix,
    & .addon-root-carousel .clearfix,
    & .addon-root-module .sppb-addon,
    & .addon-root-carousel .sppb-addon,
    & .addon-root-module .sppb-addon-content,
    & .addon-root-carousel .sppb-addon-content {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        min-height: 0;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Carousel desktop (CarouselCK) : remplit 100% de l'espace qui lui est alloue */
    & .carouselck_wrap,
    & .carouselck_images,
    & .carouselck_link {
        height: 100% !important;
        flex: 1 1 auto;
        min-height: 0 !important;
        overflow: hidden !important;
    }
    & .carouselck_wrap img {
        height: 100% !important;
        width: 100%;
        object-fit: cover !important;
    }

    /* Carousel mobile (SP Page Builder) : meme logique */
    & .sppb-carousel,
    & .sppb-carousel-inner,
    & .sppb-item {
        height: 100% !important;
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden !important;
    }
    & .sppb-item > img {
        height: 100% !important;
        width: 100%;
        object-fit: cover !important;
    }
}

/* Version responsive mobile (<=575px) : carousel SP Page Builder natif (CarouselCK desktop est masque en dessous de 576px) */
@media (max-width: 575px) {
    :is(#section-id-72af8b5d-3fd0-4763-b848-81ca5b17886c,
        #section-id-b1e90cc4-0efd-4301-a7c8-b067cbd4a988,
        #section-id-b3e4f323-768e-4b17-b065-0dd25b0ea41e,
        #section-id-fb4a6236-d0cc-446f-aab9-43e08b973647,
        #section-id-0a1b5d42-2e96-4cd2-8dea-5d784a02a330,
        #section-id-2639e011-885a-41ef-9690-19a0d896657e) {
        /* Decale le point de defilement (scroll) vers le bas : l'ancre determine ou la page */
        /* atterrit au clic sur le menu, pas la marge de la section (sans effet, cf. test precedent) */
        & .anchor {
            top: -250px !important;
        }

        /* Renfort explicite de toute la chaine (hypothese : sppb-container-inner ne recoit pas */
        /* toute la hauteur disponible sur mobile) */
        & .sppb-container-inner,
        & .sppb-row,
        & .sppb-row-column,
        & .sppb-col-md-12,
        & .sppb-column,
        & .sppb-column-addons {
            height: 100% !important;
            flex: 1 1 auto !important;
            display: flex !important;
            flex-direction: column !important;
            min-height: 0 !important;
        }

        & .addon-root-module,
        & .addon-root-carousel {
            max-height: calc(99% - 5px);
            min-height: 280px;
        }

        /* Legende reduite, texte reste centre (peut passer sur 2 lignes si besoin) */
        & .addon-root-text-block p {
            font-size: 12px !important;
            line-height: 14px !important;
            white-space: normal;
            text-align: center !important;
            width: 100%;
        }
    }

    /* Legendes FR : texte plus long qu'en anglais, le nowrap le fait deborder et casse le centrage. */
    /* On autorise le retour a la ligne pour ces 3 sections, en gardant le centrage. */
    :is(#section-id-fb4a6236-d0cc-446f-aab9-43e08b973647,
        #section-id-0a1b5d42-2e96-4cd2-8dea-5d784a02a330,
        #section-id-2639e011-885a-41ef-9690-19a0d896657e) {
        & .addon-root-text-block p {
            font-size: 12px !important;
            white-space: normal !important;
            text-align: center !important;
            width: 100%;
        }
    }
}


/* Images laterales du carousel (gauche/droite) : image centrale non touchee */
/* index="0" = image de gauche, index="2" = image de droite (attributs stables du plugin CarouselCK) */
/* la classe .carouselckcurrentimg identifie l'image centrale, volontairement ignoree ici */
:is(#section-id-72af8b5d-3fd0-4763-b848-81ca5b17886c,
    #section-id-b1e90cc4-0efd-4301-a7c8-b067cbd4a988,
    #section-id-b3e4f323-768e-4b17-b065-0dd25b0ea41e,
    #section-id-fb4a6236-d0cc-446f-aab9-43e08b973647,
    #section-id-0a1b5d42-2e96-4cd2-8dea-5d784a02a330,
    #section-id-2639e011-885a-41ef-9690-19a0d896657e) {
    & .carouselck_images img[index="0"],
    & .carouselck_images img[index="2"] {
        opacity: 0.3 !important;
        top: 50% !important;
        transform: translateY(-50%) scale(0.8) !important;
    }
    /* image de gauche : ecartee de 70px vers la gauche (30px + 40px supplementaires) */
    & .carouselck_images img[index="0"] {
        margin-left: -70px !important;
    }
    /* image de droite : ecartee de 70px vers la droite (30px + 40px supplementaires) */
    & .carouselck_images img[index="2"] {
        margin-left: 70px !important;
    }

    /* Image centrale : suppression du filet gris (box-shadow impose par le plugin CarouselCK) */
    & .carouselck_images img.carouselckcurrentimg {
        box-shadow: none !important;
    }
}


/* Fond des carousels = couleur de fond de la section (= fond derriere la legende) */
/* Industrie / Industry : bleu rgb(73,134,242) */
:is(#section-id-72af8b5d-3fd0-4763-b848-81ca5b17886c,
    #section-id-fb4a6236-d0cc-446f-aab9-43e08b973647) {
    & .carouselck_wrap,
    & .carouselck_images,
    & .carouselck_link,
    & .sppb-carousel,
    & .sppb-carousel-inner {
        background-color: rgb(73, 134, 242) !important;
    }
}

/* Institutions / Institutional : vert rgb(74,206,25) */
:is(#section-id-b1e90cc4-0efd-4301-a7c8-b067cbd4a988,
    #section-id-0a1b5d42-2e96-4cd2-8dea-5d784a02a330) {
    & .carouselck_wrap,
    & .carouselck_images,
    & .carouselck_link,
    & .sppb-carousel,
    & .sppb-carousel-inner {
        background-color: rgb(74, 206, 25) !important;
    }
}

/* Medical : bleu-vert rgb(11,151,176) */
:is(#section-id-b3e4f323-768e-4b17-b065-0dd25b0ea41e,
    #section-id-2639e011-885a-41ef-9690-19a0d896657e) {
    & .carouselck_wrap,
    & .carouselck_images,
    & .carouselck_link,
    & .sppb-carousel,
    & .sppb-carousel-inner {
        background-color: rgb(11, 151, 176) !important;
    }
}
