@font-face {
    font-family: 'Playfair Regular';
    src: url('../fonts/PlayfairDisplay-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Playfair Extrabold';
    src: url('../fonts/PlayfairDisplay-ExtraBold.ttf') format('truetype');
}


@font-face {
    font-family: 'Playfair Extrabold Italic';
    src: url('../fonts/PlayfairDisplay-ExtraBoldItalic.ttf') format('truetype');
}

@font-face {
    font-family: 'Playfair Black';
    src: url('../fonts/PlayfairDisplay-Black.ttf') format('truetype');
}

@font-face {
    font-family: 'Lato Light';
    src: url('../fonts/Lato-Light.ttf') format('truetype');
}

@font-face {
    font-family: 'Lato Regular';
    src: url('../fonts/Lato-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Lato Black';
    src: url('../fonts/Lato-Black.ttf') format('truetype');
}



:root {

    --root-darkgrey-color: 53, 53, 52;
    --root-red-color: 145, 0, 44;
    --root-white-color: 249, 249, 249;


    --primary-color: rgba(var(--root-darkgrey-color), 1);
    --secondary-color: rgba(var(--root-white-color), 1);
    --accentuated-color: rgba(var(--root-red-color), 1); /* Couleur accentuée */
    --accentuated-color-light: rgba(var(--root-red-color), 0.8); /* Couleur legere pour les tabs des services avec hover */

    --background-menu-color: rgb(var(--root-white-color), 0.95); /* Couleur de fond du menu */

    --grey-color: rgba(209, 213, 219, 1); /* Couleur grise pour les bordures */
    --secondary-grey-color: rgba(142, 142, 142, 1); /* Couleur grise pour les textes secondaires */
    

    /*--kpi-color-gradient: linear-gradient(180deg, rgba(160,160,160,1) 0%, rgba(60,60,60,1) 100%);*/
    --kpi-color-gradient: linear-gradient(180deg, rgba(var(--root-red-color), 0.7) 0%, rgba(var(--root-red-color), 1) 100%);



    --gradient-services-image: linear-gradient(rgba(249, 249, 249, 1) 10%, rgba(216, 216, 216, 0) 80%); /* Dégradé pour les images des services */

    --reconnaisance-container-background-opacity: 0.9; /* Opacité du fond de la section reconnaissance */


    --team-background-radial-color: radial-gradient(circle at top, rgba(var(--root-darkgrey-color), 0.5) 30%, rgba(var(--root-darkgrey-color), 1) 100%); /* Dégradé pour les images des membres de l'équipe */
    --team-background-radial-color-hover: radial-gradient(circle at top, rgba(var(--root-red-color), 0.8) 10%, rgba(var(--root-red-color), 1) 100%); /* Dégradé pour les images des membres de l'équipe au survol */

    --popup-background-color: rgba(249, 249, 249, 0.95); /* Couleur de fond des popups */
    --popup-shadow-color: rgba(0, 0, 0, 0.1); /* Couleur de l'ombre des popups */


    --background-menuMobile-color: rgba(249, 249, 249, 0.95); /* Couleur de fond du menu */
    --shadow-menuMobile-color: rgba(0, 0, 0, 0.1); /* Couleur de l'ombre du menu */

    --text-font: 'Lato Light', sans-serif;  
    --text-font-size: clamp(0.5rem, 1vw + 1rem, 1.4rem);

    --title-font: 'Playfair Extrabold Italic', serif;
    --title-font-size: clamp(1.2rem, 2vw + 1rem, 2.2rem);
    --title-background-text-color: rgba(53, 53, 52, 0.05);
    --title-background-font-size: clamp(4rem, 3vw + 1rem, 5rem);
    --title-foreground-font-size: clamp(1rem, 2vw + 1rem, 2rem);
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Lato Light', sans-serif;
    margin: 0;
    padding: 0;
    background-color: var(--secondary-color);
    /*background-image: url('../ressources/texture2.webp'); /* Chemin vers votre fichier .webp */
    background-repeat: repeat;
    /* Rend l'image répétable */
    background-size: auto;
    /* Taille de l'image de fond */
    background-attachment: fixed;
    /* Rend l'arrière-plan fixe */
    animation: fadeIn 2s ease-in-out 1;
    /* Animation de 2 secondes, jouée une seule fois */
    animation-fill-mode: forwards;
    /* Conserve le dernier état de l'animation */
}


/* ---- HEADER---- */
header {
    position: relative;
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

select {
    /* Size */
    font-family: "SF Pro Regular", sans-serif;
    font-size: 16px;
 
    width: 100%;
    max-width: 200px;
    height: 35px;

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

    background-color: transparent;
    border: 1px solid #374151;
    border-radius: 10px;
    color: #374151;
    outline: none;
    /* Supprime la mise en évidence de l'élément lorsqu'il est en focus */
    cursor: pointer;
    margin-bottom: 20px;

    /* Position */
    padding: 1px 30px 1px 10px !important;
    margin-bottom: 0px !important;

    /* Design */
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;


    background-image: url('../ressources/dropdownSelectIcon.svg');
    background-repeat: no-repeat;
    background-size: 15px 15px;
    background-position-x: 95%;
    background-position-y: 10px;
}

.cover-background {
    position: fixed;
    inset: 0;
    width: 120%;
    height: 120%;
    opacity: 0.6;
    object-fit: cover;
    z-index: -1;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 0.95;
        /* Correspond à l'opacité définie pour le logo */
    }
}

.logo {
    position: fixed;
    margin-bottom: 150px;
    width: 100%;
    opacity: 1;
    max-width: 350px;
    /* Ajuster selon la taille souhaitée */
    z-index: 10;
}


.catchprase {
    display: grid;
    margin-top: 300px;

}

.scroll-icon {
    position: fixed;
    top: 90%;
    margin: 2em;
    width: 20px;
    height: 40px;
    border: 2px solid var(--primary-color);
    border-radius: 2em;
}

.scroll-icon .wheel {
    position: absolute;
    left: 50%;
    top: 15%;
    width: 8px;
    height: 8px;
    background-color: var(--primary-color);
    transform: translate(-50%, 0);
    border-radius: .6em;
    animation: wheel 1s ease-in-out infinite;
}

@keyframes wheel {
    0% {
        transform: translate(-50%, 0);
        opacity: 0;
    }

    20%,
    70% {
        opacity: 1;
    }

    90%,
    100% {
        transform: translate(-50%, 150%);
        opacity: 0;
    }
}

/* ---- END HEADER---- */



/* ----MENU---- */

.menu-container {
    position: fixed;
    top: 0;
    width: 100%;
    /* Assurez-vous que le menu couvre toute la largeur */
    height: 100px;
    z-index: 10;
    /* S'assure que le menu reste au-dessus des autres contenus */

    background-color: var(--background-menu-color);
    background-repeat: repeat;
    /* Rend l'image répétable */
    background-size: auto;
    /* Taille de l'image de fond */
    background-attachment: fixed;
    /* Rend l'arrière-plan fixe */
    border-bottom: 1px solid var(--primary-color);
}

.menu {
    width: 100%;
    max-width: 1200px;
    margin: auto;
    padding: 20px 0px 20px 0px;

    display: flex;
    justify-content: space-between;
    align-items: center;
}

.menu-items {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.menu-item {
    margin: 0 10px;
    text-decoration: none;
    color: var(--primary-color);

}


.logo-small {
    width: 100%;
    max-width: 60px;
    /* Ajuster selon la taille souhaitée */
    margin-left: 20px;
    z-index: 10;
}

.logo-small svg path {
    fill: var(--accentuated-color);
}


.language-selector {
    margin-left: 80px;
    margin-right: 20px;
    position: relative;
}

.circle-button {
    background-color: transparent;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform 0.3s ease;
}

.language-selector-button {
    border: 2px solid var(--accentuated-color);
}

.item {
    border: none;
}

.language-selector-button img,
.item img {
    width: 30px;
    height: 30px;
}

.language-selector-items {
    display: none;
    flex-direction: column;
    align-items: center;
    position: absolute;
    top: 50px;
    /* Ajustez cette valeur pour aligner correctement */
    left: 50%;
    transform: translateX(-50%);
    background-color: white;
    border: 2px solid var(--accentuated-color);
    border-radius: 25px;
    z-index: 1;
}

.language-selector-items.show {
    display: flex;
}


/* ----END MENU---- */


/* ----MAIN---- */

main {
    position: relative;
    top: -40vh;
    margin-bottom: -40vh;
}

/* Elements */
.divider-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

.vertical-divider {
    width: 2px;
    /* Largeur du trait */
    height: 200px;
    /* Hauteur du trait */
    background-color: var(--accentuated-color);
    /* Couleur du trait */
}

.horizontal-divider {
    width: 100%;
    /* Largeur du trait */
    height: 1px;
    /* Hauteur du trait */
    background-color: var(--primary-color);
    /* Couleur du trait */
}


.title {
    position: relative;
    width: fit-content;
    margin-bottom: 100px;
}

.left {
    margin-right: auto;
}

.right {
    margin-left: auto;
}

.left .title-foreground-text {
    position: absolute;
    /* Permet de superposer les textes */
    bottom: 10px;
    left: 5px;
}

.right .title-foreground-text {
    position: absolute;
    /* Permet de superposer les textes */
    bottom: 10px;
    right: 5px;
}

.title-background-text {
    font-family: 'Playfair Black', serif;
    font-size: var(--title-background-font-size);
    /* La taille du texte varie en fonction du viewport */
    color: var(--title-background-text-color);
    z-index: -1;
    white-space: nowrap;
    /* Empêche le texte d'aller à la ligne */
}

.title-foreground-text {
    font-family: 'Playfair Extrabold', serif;
    font-size: var(--title-foreground-font-size);
    /* La taille du texte varie en fonction du viewport */
    color: var(--primary-color);
    z-index: 1;
    white-space: nowrap;
    /* Empêche le texte d'aller à la ligne */
}


/* INTRO CONTAINER */
/* Styles par défaut (sans JavaScript) */
.intro-container {
    position: relative;
    display: grid;
    grid-template-columns: 70% 10% 20%;
    max-width: 1200px;
    width: 100%;
    margin: auto;
    margin-bottom: 150px;
}

.intro-title {
    grid-column: 1/2;
    align-self: start;
    /* Aligner au début de la grille */
    height: auto;
    text-align: left;
    margin-top: 0;
    font-family: var(--title-font);
    font-size: var(--title-font-size);
    color: var(--primary-color);
}

.forty {
    font-size: 3em;
    text-shadow: 18px -8px 0px var(--title-background-text-color);
}

.intro-text {
    grid-column: 1/2;
    height: auto;
    text-align: left;
    font-size: var(--text-font-size);
    font-family: var(--text-font);
    color: var(--primary-color);
    text-align: justify;
}

.intro-image {
    grid-column: 3/4;
    grid-row: 1/3;
    width: 100%;
    height: 100%;
    border-radius: 20px;
    align-self: center;
    background-image: url('../ressources/story-image.webp');
    background-position: center;      /* centre l'image */
    background-size: cover;   
    /*background-size: 150%;*/ /* Anciennement V2 - ajuste la taille de l'image */
    background-repeat: no-repeat;
}


/* STORY CONTAINER */

.story-container {
    position: relative;
    max-width: 1000px;
    width: 100%;
    margin: auto;
    margin-top: 100px;
    margin-bottom: 100px;
    padding: 20px 0px 20px 0px;
}


.story-text {
    font-size: var(--text-font-size);
    font-family: var(--text-font);
    color: var(--primary-color);
    text-align: justify;
}


/* KPI CONTAINER */
.kpi-container {
    position: relative;
    max-width: 1000px;
    width: 100%;
    margin: auto;
    padding: 20px 0px 20px 0px;
}


.kpi {
    display: flex;
    justify-content: space-between;
    align-items: center;
}


.kpi-number {
    font-family: 'Lato Black', sans-serif;
    font-size: 4rem;

    background: var(--kpi-color-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}


.kpi-text {
    font-family: 'Lato Regular', sans-serif;
    font-size: 1.8rem;
    background: var(--primary-color);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

sup {
    font-size: 0.8em;
    /* Ajuste la taille du texte de l'exposant */
    vertical-align: super;
    /* Aligne verticalement le texte en tant qu'exposant */

    background: var(--kpi-color-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}



.values-container {
    position: relative;
    width: 100%;
    max-width: 1200px;
    /* Largeur maximale de 1200px */
    height: 100vw;
    /* Hauteur égale à la largeur pour maintenir le ratio 1:1 */
    max-height: 1200px;
    /* Hauteur maximale de 1200px */
    background-image: url('../ressources/circle-background.svg');
    /* Chemin vers votre fichier .webp */
    background-size: cover;
    /* L'image de fond couvre toute la div */
    background-position: center;
    /* Centre l'image de fond */
    margin: auto;
    display: flex;
    /* Utilise Flexbox */
    align-items: center;
    /* Centre verticalement */
    justify-content: center;
    /* Centre horizontalement */
    margin-top: 100px;
}

.values-text-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    max-width: 1000px;
}

.expertise {
    position: relative;
    top: -100px;
    grid-column: 1/2;
    font-size: var(--text-font-size);
    font-family: var(--text-font);
    color: var(--primary-color);
    text-align: justify;
    margin: 20px;

}

.expertise-title {
    width: 100%;
    margin-left: auto;
    margin-bottom: 100px;
}

.expertise-title img {
    width: 50%;
    max-width: 600px;
}

.philosophy-title {
    margin-right: auto;
    margin-bottom: 100px;
}

.philosophy-title img {
    width: 50%;
    max-width: 600px;
}


.philosophy {
    position: relative;
    bottom: -100px;
    grid-column: 2/3;
    font-size: var(--text-font-size);
    font-family: var(--text-font);
    color: var(--primary-color);
    text-align: justify;
    margin: 20px;
}


/* RECONNAISSANCE CONTAINER */
.reconaissance-container-background {
    position: relative;
    width: 100vw;
    height: auto;
    background-color: var(--accentuated-color);
    opacity: var(--reconnaisance-container-background-opacity);
    margin: 0;
    /* Réinitialise les marges */
    margin-top: 200px;
}


.reconnaissance-title {
    font-family: 'Playfair Black', serif;
    margin: 0;
    /* Réinitialise les marges */
    padding: 0;
    /* Réinitialise les paddings */
    width: 100vw;
    /* Prend toute la largeur de la fenêtre */
    position: relative;
    font-size: 10vw;
    /* Ajuste la taille de la police selon la largeur de la fenêtre */
    text-align: center;
    /* Centre le texte horizontalement */
    overflow: hidden;
    /* Évite tout débordement */
    color: var(--secondary-color);
    opacity: 0.15;
    text-transform: uppercase;

}

.reconnaissance-container {
    max-width: 1200px;
    width: 100%;
    height: 100%;
    margin: auto;
    margin-bottom: 100px;
}

.reconnaissance-title-over {
    font-family: 'Playfair Extrabold', serif;
    font-size: 2vw;
    position: absolute;
    top: 100px;

    color: var(--secondary-color);
    opacity: 1;

}

.logo-reco-container {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    margin-top: 50px;
    margin-bottom: 50px;
}

.logo-reco {
    width: 100%;
    max-width: 250px;
    /* Ajuster selon la taille souhaitée */
}



/* SERVICES CONTAINER */
.services-container {
    position: relative;
    max-width: 1200px;
    width: 100%;
    margin: auto;
    margin-top: 100px;
    margin-bottom: 200px;
}

.services-title {
    width: 100%;
    max-width: 300px;
    margin-left: auto;
    margin-bottom: 20px;
}

.service-number {
    font-family: 'Lato Light', sans-serif;
    font-size: 16px;
    color: var(--primary-color);
}

.service-title {
    font-family: 'Lato Regular', sans-serif;
    font-size: 18px;
    color: var(--primary-color);
}

/* Style the tab */
.services-menu {
    display: flex;
    justify-content: space-between;
    align-items: center;
    overflow: hidden;
}

/* Style the buttons inside the tab */
.services-menu button {
    background-color: inherit;
    width: 100%;
    border: none;
    outline: none;
    cursor: pointer;

    text-align: left;
    border-bottom: 1px solid var(--grey-color);
}

/* Change background color of buttons on hover */
.services-menu button:hover {
    border-bottom: 2px solid var(--accentuated-color-light);
}

.services-menu button:hover .service-number {
    color: var(--accentuated-color);
}

/* Create an active/current tablink class */
.services-menu button.active {
    border-bottom: 2px solid var(--accentuated-color);
}

.services-menu button.active .service-number {
    color: var(--accentuated-color);
}

/* Style the tab content */
.service-content {
    display: none;
    padding: 6px 12px;
    border-top: none;
    font-size: var(--text-font-size);
    text-align: justify;
}


.image-service-container {
    margin-top: 200px;
    width: 100%;
    /* Ajustez la largeur selon vos besoins */
    max-width: 1200px;
    /* Largeur maximale de 1200px */
    height: 600px;
    /* Hauteur de 200px */
    background:
        var(--gradient-services-image),
        url("../ressources/services-image1.webp");
    background-size: cover, cover;
    /* S'assure que l'image couvre toute la div */
    border-radius: 0px 0px 20px 20px;
}

/* TEAM CONTAINER */

.team-container {
    position: relative;
    max-width: 1000px;
    width: 100%;
    margin: auto;
    margin-top: 200px;
    margin-bottom: 200px;
}

.team-title {
    width: 100%;
    max-width: 200px;
    margin-left: auto;
    margin-bottom: 20px;
}

.team-members {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /* 3 colonnes égales */
    gap: 20px;
    margin-bottom: 50px;
}

.team-member {
    text-align: center;
}


.team-member-image-container {
    position: relative;
    width: 100%; /* ajustez selon vos besoins */
    max-width:190px;
    border-radius: 50%;
    margin: auto;
}

.team-member:hover .team-member-image-container {
    transform: scale(1.1);
    /* Agrandir l'image de 10% */
    transition: transform 0.3s ease;
    /* Ajouter une transition pour un effet plus fluide */
}

.team-member-image-background {
    position: relative;
    width: 100%; /* ajustez selon vos besoins */
    height: 100%; /* ajustez selon vos besoins */
    background: var(--team-background-radial-color); /* dégradé */
    clip-path: url(#clip-shape); /* Utilisation du masque */
    transition: opacity 0.3s ease-in-out;
}

.team-member-image-background-onBox {
    position: relative;
    width: 100%; /* ajustez selon vos besoins */
    height: 100%; /* ajustez selon vos besoins */
    background: var(--team-background-radial-color-hover); /* dégradé */
    clip-path: url(#clip-shape-onBox); /* Utilisation du masque */
    transition: opacity 0.3s ease-in-out;
}

.team-member:hover .team-member-image-background{
    background: var(--team-background-radial-color-hover); /* dégradé */
}




.team-member-photo {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover;
    border-radius: 50%; /* Masque circulaire */
}



.team-member-name {
    font-family: 'Playfair Regular', serif;
    font-size: 1.4rem;
    color: var(--primary-color);
}

.team-member-role {
    position: relative;
    top: -10px;
    font-family: 'Lato Light', sans-serif;
    font-size: 1rem;
    color: var(--secondary-grey-color);
}

.team-member-role2 {
    position: relative;
    top: -20px;
    font-family: 'Lato Light', sans-serif;
    font-size: 1rem;
    color: var(--secondary-grey-color);
}

.team-member-detail {
    display: none;
}

.team-member-linkedin {
    display: none;
}

.team-member-details-container {
    width: 100%;
    max-width: 400px;
    height: 300px;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9999;
}


.teamBox {
    /* Grid */
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;

    /* Size */
    width: 40%;
    max-height: 80%;


    /* Position */
    position: fixed;
    padding: 80px 25px 25px 25px;
    top: 50%;
    /* à 50%/50% du parent référent */
    left: 50%;
    /* à 50%/50% du parent référent */
    transform: translate(-50%, -50%);
    /* décalage de 50% de sa propre taille */

    /* Background */
    background-color: var(--popup-background-color);


    /* Design */
    border-radius: 15px;
    box-shadow: 0px 0px 25px 8px var(--popup-shadow-color);
    -moz-box-shadow: 0px 0px 25px 8px var(--popup-shadow-color);
    -webkit-box-shadow: 0px 0px 25px 8px var(--popup-shadow-color);
    -o-box-shadow: 0px 0px 25px 8px var(--popup-shadow-color);

    /* Affichage */
    overflow: auto;
    z-index: 100;
    display: none;
}

.closeTeamButton {
    position: absolute;
    width: 30px;
    height: 30px;
    top: 10px;
    right: 10px;
    border: none;
    background-image: url('../ressources/close-icon.svg');
    background-size: contain;
    background-color: transparent;
    background-repeat: no-repeat;
    /* Empêcher la répétition de l'image de fond */
    background-position: center;
    /* Centrer l'image de fond */
    overflow: hidden;
    /* Empêcher le débordement */
    cursor: pointer;
}

.closeTeamButton:hover {
    background-image: url('../ressources/close-icon-hover.svg');
}



.teamBoxName {
    font-family: 'Playfair Regular', serif;
    font-size: 1.4rem;
    color: var(--primary-color);
    margin: auto;
    margin-bottom: 10px;
}

.teamBoxRole {
    font-family: 'Lato Light', sans-serif;
    font-size: 1rem;
    margin: auto;
    margin-bottom: 10px;
    color: var(--secondary-grey-color);
}

.teamBoxLinkedin {
    margin: auto;
}
.teamBoxLinkedin-image {
    width: 100%;
    max-width: 30px;
}

.teamBoxDetail {
    font-family: 'Lato Light', sans-serif;
    font-size: 1rem;
    color: var(--primary-color);
}


/* CONTACT CONTAINER */

.contact-container {
    width: 100%;
    max-width: 1000px;
    margin: auto;
    margin-top: 200px;
    margin-bottom: 200px;
}

.contact-title {
    margin-bottom: 50px;
}

.contactIntroText {
    font-size: clamp(0.5rem, 1vw + 1rem, 1.2rem);
}

.half-inputs {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.half-input-left {
    width: 48%;
    margin-right: auto;
    margin-bottom: 15px;
}

.half-input-right {
    width: 48%;
    margin-left: auto;
    margin-bottom: 15px;
}

.full-input {
    width: 100%;
    margin-bottom: 15px;
}

label {
    display: block;
    margin-bottom: 5px;
    color: var(--primary-color);
}

input,
textarea {
    width: 100%;
    padding: 10px;
    border-radius: 10px;
    border: 1px solid var(--grey-color);
    font-size: 1rem;
    color: var(--primary-color);
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 15px;

}

#message {
    height: 200px;
    resize: vertical;
}

#message::placeholder {
    color: var(--grey-color);
}

input:focus,
textarea:focus {
    border-color: var(--accentuated-color);
    outline: none;
}

input::placeholder {
    color: var(--grey-color);
    /* Remplacez 'gray' par la couleur de votre choix */
    opacity: 1;
    /* Assure que l'opacité est à 100% pour la couleur */
}

.button-form {
    background-color: var(--accentuated-color);
    width: 100%;
    height: 50px;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    font-size: 1rem;
    opacity: 0.8;
}

.button-form:hover {
    opacity: 1;
}

.form-result {
    margin-top: 10px;
    min-height: 20px;
    font-size: 0.95rem;
    color: var(--primary-color);
}

.form-result.success {
    color: var(--primary-color);
}

.form-result.error {
    color: var(--accentuated-color);
}


/* ----END MAIN---- */


/* ----FOOTER---- */

footer {
    background-color: var(--primary-color);
    color: var(--secondary-color);
    margin: 0;
    padding: 1em;
    font-size: 0.9em;
    line-height: 0.6;
}


.footer-infos {
    display: grid;
    grid-template-columns: 1fr 1fr;
    max-width: 1000px;
    width: 100%;
    margin: auto;
}

.footer-adress {
    grid-column: 1/2;
    text-align: left;
}

.footer-postalcase {
    padding-top:10px;
}

.footer-title {
    font-weight: bold;
}


.footer-contact {
    grid-column: 2/2;
    text-align: right;
}

.footer-logo {
    fill: var(--secondary-color);
    width: 60px;
    margin: auto;
}

.footer-legal {
    text-align: center;
}

.footer-phone {
    color: var(--secondary-color);
    text-decoration: none;
}

.footer-fax {
    color: var(--secondary-color);
    text-decoration: none;
}

.footer-mail {
    color: var(--secondary-color);
    text-decoration: none;
}

.phone-white { 
    position: relative;
    
}

a.ninefortyonelink {
  color: rgba(107, 107, 107, 1);
  text-decoration: none;
}

a.ninefortyonelink:hover,
a.ninefortyonelink:focus {
  text-decoration: none;
  color: rgba(107, 107, 107, 0.8); /* optionnel : légère variation au survol */
}

a.adresslink {
  all: unset;                /* remet à zéro tous les styles du lien */
  cursor: pointer;           /* rétablit le curseur main */
  text-decoration: none;
}

a.adresslink:hover,
a.adresslink:focus {
  text-decoration: none;
}



/* ----END FOOTER---- */


@media (max-width: 900px) { /* from 0 to 640px */
    

    :root {
        --title-font: 'Playfair Extrabold Italic', serif;
        --text-font: 'Lato Light', sans-serif;
        --title-font-size: clamp(1.2rem, 2vw + 1rem, 2.2rem);
        --text-font-size: clamp(0.5rem, 1vw + 1rem, 1.4rem);

        --title-background-font-size: clamp(2rem, 3vw + 1rem, 4rem);
        --title-foreground-font-size: clamp(0.8rem, 2vw + 1rem, 1.6rem);
    }


    .logotype {
        max-width: 50px;
        /* Ajuster selon la taille souhaitée */
        margin-bottom: 80px;
    }

 .logo {
    position: fixed;              /* conserve le fixed */
    left: 50%;                    /* centre horizontalement */
    transform: translateX(-50%);  /* centre exact */
    width: calc(100% - 40%);     /* laisse 20px de marge de chaque côté */
    max-width: 350px;             /* taille maxi du logo sur mobile */
    margin: 0;                    /* annule autres margins */
    z-index: 10;
  }

    .logo-small {
        max-width: 40px;
        /* Ajuster selon la taille souhaitée */
    }


    .scroll-icon {
        display: none;
    }

    .menu-burger {
        display: block;
        margin-left: 0px;
        margin-right: 20px;
        position: relative;
    }

    #menu-contact {
        display:none;
    }

    .language-selector {
        display: block;
        margin-left: 80px;
        margin-right: 20px;
        position: relative;
    }

    .circle-button {
        background-color: transparent;
        border-radius: 50%;
        width: 35px;
        height: 35px;
        cursor: pointer;
        display: flex;
        justify-content: center;
        align-items: center;
        transition: transform 0.3s ease;
    }

    .menu-container {
        height: 80px;
    }


    .menu-burger-button {
        border: 2px solid var(--accentuated-color);
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .menu-btn {
        position: absolute;
        width: 18px;
    }

    .menu-btn:before,
    .menu-btn:after {
        background-color: var(--primary-color);
        content: '';
        display: block;
        height: 2px;
        transition: all 200ms ease-in-out;
    }

    .menu-btn:before {
        box-shadow: 0 6px 0 var(--primary-color);
        margin-bottom: 10px;
    }

    .menu-btn.clicked:before {
        box-shadow: 0 0 0 var(--secondary-color);
        transform: translateY(6px) rotate(45deg);
    }

    .menu-btn.clicked:after {
        transform: translateY(-6px) rotate(-45deg);
    }






    .menu-items-burger {
        display: none;
    }


    .menu-items-burger.show {
        display: flex;
        flex-direction: column;
        align-items: center;

        width: 100%;
        position: absolute;
        top: 80px;
        left: 0;
        border-bottom: 1px solid var(--primary-color);
    }

    .menu-container.burgershow {
        border-bottom: 0px solid var(--primary-color);
    }

    .menu-item {
        display: flex;
        justify-content: left;
        align-items: center;

        width: 100%;
        height: 50px;
        background-color: var(--background-menu-color);
        padding-left: 30px;

    }

    .menu-item:hover {
        width: 100%;
        height: 50px;
        background-color: var(--accentuated-color);
        padding-left: 50px;
    }

    .menu-mobile {
        display: block;
        position: fixed;
        bottom: 20px;
        width: 90%;
        height: 50px;
        margin-left: 5%;
        margin-right: 5%;

        /* Background */
        background-color: var(--background-menuMobile-color);
        box-shadow: 0px 0px 0px 2px var(--shadow-menuMobile-color);
        -moz-box-shadow: 0px 0px 0px 2px var(--shadow-menuMobile-color);
        -webkit-box-shadow: 0px 0px 15px var(--shadow-menuMobile-color);
        -o-box-shadow: 0px 0px 0px 2px var(--shadow-menuMobile-color);

        /* Design */
        border-radius: 50px;
        border: 1px solid var(--shadow-menuMobile-color);

        z-index: 100;
    }

    .menu-mobile.active {
        border-radius: 0px 0px 25px 25px;
        border-top: 0px;
    }

    .menu-mobile-container {
        display: flex;
        justify-content: space-evenly;
        align-items: center;
        height: 100%;
    }

    .menu-mobile-popup {
        display: none;
        position: fixed;
        bottom: 70px;
        width: 90%;

        margin-left: 5%;
        margin-right: 5%;

        /* Background */
        background-color: var(--background-menuMobile-color);

        /* Design */
        border-radius: 25px 25px 0px 0px;
        border-top: 1px solid var(--shadow-menuMobile-color);
        border-left: 1px solid var(--shadow-menuMobile-color);
        border-right: 1px solid var(--shadow-menuMobile-color);


        z-index: 101;
    }

    .menu-mobile-popup.show {
        display: block;

    }

    .menu-mobile-icon {
        width: 100%;
        max-width: 30px;
        /* Ajuster selon la taille souhaitée */
        height: 30px;
        border: none;
        background-color: transparent;
        background-size: contain;
        /* Assurer que l'image de fond s'adapte à la taille de l'élément */
        background-repeat: no-repeat;
        /* Empêcher la répétition de l'image de fond */
        background-position: center;
        /* Centrer l'image de fond */
        overflow: hidden;
        /* Empêcher le débordement */
    }

    
    .menu-mobile-icon.phone-icon {
        background-image: url('../ressources/phone-icon.svg');
    }

    .menu-mobile-icon.phone-icon.active {
        background-image: url('../ressources/phone-icon-active.svg');
    }

    .menu-mobile-icon.mail-icon {
        background-image: url('../ressources/mail-icon.svg');
    }

    .menu-mobile-icon.mail-icon.active {
        background-image: url('../ressources/mail-icon-active.svg');
    }

    .menu-mobile-icon.map-icon {
        background-image: url('../ressources/map-icon.svg');
    }

    .menu-mobile-icon.map-icon.active {
        background-image: url('../ressources/map-icon-active.svg');
    }

    a {
        text-decoration: none;
    }

    .phone {
        display: flex;
        justify-content: center;
        align-items: center;

        width: calc(100% - 40px);
        height: auto;
        margin: 20px 20px 20px 20px;
        border: none;
        border-radius: 50px;
        background-color: var(--accentuated-color);

        color: var(--secondary-color);
        font-size: 16px;

        padding-top: 10px;
        padding-bottom: 10px;
    }

    .mail {
        display: flex;
        justify-content: center;
        align-items: center;

        width: calc(100% - 40px);
        height: auto;
        margin: 20px 20px 20px 20px;
        border: none;
        border-radius: 50px;
        background-color: var(--accentuated-color);

        color: var(--secondary-color);
        font-size: 16px;

        padding-top: 10px;
        padding-bottom: 10px;
    }

    .map {
        display: flex;
        justify-content: center;
        align-items: center;

        width: calc(100% - 40px);
        height: auto;
        margin: 20px 20px 20px 20px;
        border: 1px solid var(--accentuated-color);
        border-radius: 50px;
        background-color: var(--accentuated-color);

        color: var(--secondary-color);
        font-size: 16px;
        font-family: var(--text-font);

        padding-top: 10px;
        padding-bottom: 10px;
        cursor: pointer;
    }


    .googlemap {
        border: none;
        border-radius: 25px 25px 0px 0px;
    }


    .phone:hover {
        background-color: var(--accentuated-color);
    }

    .openhours {
        justify-content: center;
        text-align: justify;
        line-height: 0.6;
        width: calc(100% - 40px);
        height: auto;
        margin: 20px 20px 20px 20px;
        color: var(--primary-color);
        font-size: 14px;
        font-family: var(--text-font);
    }



    .intro-container {
        display: grid;
        grid-template-columns: 100%;
        max-width: 500px;

        width: calc(100% - 40px);
        margin: auto;
        margin-bottom: 100px;
    }

    .intro-title {
        grid-column: 1/1;
    }

    .intro-text {
        grid-column: 1/1;
    }

    .intro-image {
        display: none;

    }

    .reconaissance-container-background {
        margin-top: 100px;
    }

    .reconnaissance-title-over {
        display: none;
    }

    .logo-reco-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-top: 20px;
        margin-bottom: 20px;
    }

    .logo-reco {
        width: 100%;
        max-width: 250px;
        /* Ajuster selon la taille souhaitée */
    }

    .team-container {
        margin-top: 100px;
        margin-bottom: 100px;
        width: calc(100% - 40px);
        margin: auto;
    }


    .team-members {
        display: flex;
        justify-content: space-between;
        overflow-x: auto;
        white-space: nowrap;
        position: static;
    }


    .team-member:hover .team-member-image-container {
        transform: scale(1);
        /* Agrandir l'image de 10% */
        transition: transform 0.3s ease;
        /* Ajouter une transition pour un effet plus fluide */
    }

    .team-member-image-container {
        max-width: 100px;
    }


    .teamBox {
        /* Grid */
        grid-template-columns: 1fr;
        grid-template-rows: 1fr;

        /* Size */
        width: 80%;
        max-height: 80%;


        /* Position */
        position: fixed;
        padding: 80px 25px 25px 25px;
        top: 50%;
        /* à 50%/50% du parent référent */
        left: 50%;
        /* à 50%/50% du parent référent */
        transform: translate(-50%, -50%);
        /* décalage de 50% de sa propre taille */

        /* Background */
        background-color: var(--popup-background-color);


        /* Design */
        border-radius: 15px;
        box-shadow: 0px 0px 25px 8px var(--popup-shadow-color);
        -moz-box-shadow: 0px 0px 25px 8px var(--popup-shadow-color);
        -webkit-box-shadow: 0px 0px 25px 8px var(--popup-shadow-color);
        -o-box-shadow: 0px 0px 25px 8px var(--popup-shadow-color);

        /* Affichage */
        overflow: auto;
        z-index: 100;
        display: none;
    }

    .services-container {
        margin-bottom: 100px;
    }

    .services-container .title {
        margin-right: 20px;
    }

    .services-tablinks {
        display: flex;
        align-items: center;
    }

    .service-number {
        font-size: 16px;
        margin-left: 10px;
    }

    .service-title {
        font-size: 18px;
        margin-left: 20px;
    }

    /* Style the tab */
    .services-menu {
        flex-direction: column;
    }

    /* Style the buttons inside the tab */
    .services-menu button {
        border-top: 1px solid var(--grey-color);
    }


    /* Style the tab content */
    .service-content h3 {
        font-size: 18px;
    }

    .service-content p {
        font-size: 14px;
    }

    .image-service-container {
        width: calc(100% - 40px);
        margin: auto;
    }



    .story-container {
        max-width: 500px;
        width: calc(100% - 40px);
        margin: auto;
        margin-top: 100px;
    }


    .kpi-container {
        display: none;
    }

    .values-container {
        display: none;
    }

    .reconnaissance-container {
        max-width: 500px;
    }


    .team-container {
        max-width: 500px;
    }

    .contact-container {
        max-width: 500px;
    }

    .contact-container {
        display: none;
    }

    .team-members {
        grid-template-columns: repeat(2, 1fr);
        /* 2 colonnes égales */
    }

    #divider3 {
        display: none;
    }

    .footer-container {
        margin-bottom: 90px;
    }

      /* Améliore l'espacement des lignes dans le footer mobile */
   .footer-title {
    line-height: 1.45;
    margin-bottom: 0.2rem;
  }



}


@media (min-width: 900px) and (max-width: 1024px) { /* from 641 to 1024 */
    :root {
        --title-font-size: clamp(1rem, 2vw + 1rem, 2rem);
        --text-font-size: clamp(0.3rem, 1vw + 1rem, 1.1rem);

        --title-background-font-size: clamp(2rem, 3vw + 1rem, 4rem);
        --title-foreground-font-size: clamp(0.8rem, 2vw + 1rem, 1.6rem);
    }

    .menu {
        max-width: 800px;
    }

    .menu-burger {
        display: none;
    }

    .menu-mobile {
        display: none!important;
    }

    #menu-mobile-popup {
        display: none;
    }

    .intro-container {
        max-width: 800px;
        width: calc(100% - 40px);
        margin: auto;
        margin-bottom: 100px;
    }

    .kpi-container {
        max-width: 800px;
        width: calc(100% - 40px);
        margin: auto;

    }

    .services-container {
        max-width: 800px;
        width: calc(100% - 40px);
        margin: auto;
        margin-bottom: 100px;
    }

    .story-container {
        max-width: 700px;
    }


    .reconnaissance-container {
        max-width: 700px;
    }

    .logo-reco {
        width: 100%;
        max-width: 140px;
        /* Ajuster selon la taille souhaitée */
    }



    /* TEAM CONTAINER */

    .team-container {
        max-width: 700px;
    }

    .contact-container {
        max-width: 700px;
    }
}


@media (min-width: 1024px) and (max-width: 1280px) {
    .menu {
        max-width: 800px;
    }

    .menu-burger {
        display: none;
    }

    .menu-mobile {
        display: none!important;
    }

    #menu-mobile-popup {
        display: none;
    }

    .intro-container {
        max-width: 800px;
    }

    .story-container {
        max-width: 800px;
    }


    /* KPI CONTAINER */
    .kpi-container {
        max-width: 800px;
    }

    .values-container {
        max-width: 800px;
    }

    .reconnaissance-container {
        max-width: 800px;
    }

    .logo-reco {
        width: 100%;
        max-width: 180px;
        /* Ajuster selon la taille souhaitée */
    }

    /* SERVICES CONTAINER */
    .services-container {
        max-width: 800px;
    }

    .image-service-container {
        max-width: 800px;
    }

    /* TEAM CONTAINER */

    .team-container {
        max-width: 800px;
    }

    .contact-container {
        max-width: 800px;
    }
}


@media (min-width: 1280px) {
    .menu-burger {
        display: none;
    }

    .menu-mobile {
        display: none!important;
    }


    #menu-mobile-popup {
        display: none;
    }

}
