
#consentBox {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 400px;
    background: #fbf4ff;
    padding: 20px;
    border-radius: 15px 15px 0 15px;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
    text-align: center;
}
@media (max-width: 768px) {
    #consentBox {
        position: fixed;
        bottom: 0;
        right: 0;
        width: fit-content;
        background: #fbf4ff;
        padding: 20px;
        border-radius: 15px 15px 0 0;
        box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
        text-align: center;
    }
}

#consentBox.hide {
    opacity: 0;
    pointer-events: none;
    transform: scale(0.8);
    transition: all 0.3s ease;
}

::selection {
    color: #fff;
    background: #229a0f;
}

#consentContent p {
    color: #858585;
    margin: 10px 0 20px 0;
}

#consentContent .buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
}

.consentButton,
.rejectButton {
    padding: 12px 30px;
    border: none;
    outline: none;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.consentButton {
    background: #56a736;
    margin-right: 10px;
}

.rejectButton {
    color: #111211;
    background: transparent;
    border: 2px solid #56a736;
    text-decoration: none;
}

#consentBox img {
    max-width: 90px;
}

#consentHeader {
    font-size: 25px;
    font-weight: 600;
    margin-top: 10px;
}

/******************/

/*Barre de navigation*/

/*****************/

.navbar {
    position: fixed; /* Fixe la barre en haut de l'écran */
    top: 0;
    width: 100%; /* S'étend sur toute la largeur de l'écran */
    padding: 16px; /* Espace intérieur autour des éléments */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Légère ombre pour donner un effet de carte */
    z-index: 1000; /* Assure que la barre reste au-dessus du contenu */
    display: flex; /* Utilise Flexbox pour aligner les éléments */
    justify-content: space-between;
    align-items: center; /* Centre les éléments verticalement */
    background-color: #FFFF;
}


.navbar-logo {
 margin-left:2%;
}

/* Style du logo dans la barre de navigation */
.navbar-logo img {
    width: 150px; /* Taille fixe du logo */
    height: auto; /* Conserve les proportions de l'image */
}


/* Conteneur des liens de navigation */
.navbar-links {
    display: flex; /* Aligne les liens horizontalement */
    gap: 100px; /* Espace entre chaque lien */

}

/* Style de base pour chaque lien de navigation */
.navbar-item {
    text-decoration: none; /* Supprime le soulignement par défaut */
    color: black; /* Couleur du texte */
    font-weight: bold; /* Texte en gras */
    padding: 8px 16px; /* Ajoute de l'espace intérieur pour rendre les liens cliquables */
    transition: color 0.3s ease; /* Transition douce de la couleur au survol */
}

/* Changement de couleur au survol des liens */
.navbar-item:hover {
    color: #007BFF; /* Change la couleur au survol (bleu) */
}

/* Media Queries pour les petits écrans */
@media (max-width: 768px) {
    .navbar {
        display: none; /* Cache la barre de navigation sur les petits écrans */
    }
}

/******************/

/*Accueil + télémaintenance*/

/*****************/


.header {
    display: flex; /* Utilise Flexbox pour centrer le contenu */
    flex-direction: column; /* Organise les éléments verticalement */
    align-items: center; /* Centre horizontalement */
    max-width: 1200px; /* Largeur maximale de l'en-tête */
    margin-left:auto; /* Marges en haut et centrage horizontal */
    margin-right: auto;
    padding-top: 10%;
}

/* Style du logo de l'en-tête */
.header-logo {
    width: 500px; /* Largeur fixe pour le logo */
    height: auto; /* Conserve les proportions de l'image */
}

/* Style du slogan de l'en-tête */
.header-slogan {
    margin-top: 20px; /* Espace au-dessus du slogan */
    font-size: 24px; /* Taille de la police pour le slogan */
    color: #333; /* Couleur du texte */
}

/* Conteneur pour le bouton de télémaintenance */
.telemaintenance-container {
    max-width: 1200px; /* Largeur maximale pour le conteneur */
    margin: 6% auto; /* Marges en haut et centrage horizontal */
    display: flex; /* Active Flexbox */
    flex-direction: column; /* Colonne pour empiler les boutons */
    align-items: center; /* Centre les boutons horizontalement */
    gap: 20px; /* Espacement vertical entre les boutons */
}

/* Style du bouton de télémaintenance */
.telemaintenance-button {
    padding: 16px 32px; /* Espace intérieur pour rendre le bouton cliquable */
    font-size: 24px; /* Taille de la police pour le bouton */
    background-color: #5d87b7; /* Couleur de fond du bouton */
    color: white; /* Couleur du texte du bouton */
    border: none; /* Supprime la bordure par défaut */
    border-radius: 50px; /* Arrondit les coins du bouton */
    cursor: pointer; /* Change le curseur au survol */
    transition: background-color 0.3s; /* Transition douce pour le changement de couleur */
}

/* Changement de couleur au survol du bouton */
.telemaintenance-button:hover {
    background-color: darkblue; /* Change la couleur au survol */
}

/* Media Queries pour les petits écrans */
@media (max-width: 600px) { /* Applique les styles si la largeur de l'écran est inférieure ou égale à 600px */
    .header-logo {
        width: 250px; /* Réduit la taille du logo à 250px sur les petits écrans */
    }

    .header-slogan {
        font-size: 16px; /* Réduit la taille du texte du slogan pour qu'il s'adapte mieux */
    }

    .telemaintenance-container {
        display: none;
    }
}

.img-accueil {
    width: 100%;
    height: 1200px;
}

.img-accueil img {
    width: 100%;
    height: 100%;
}


/******************/

/*Logo + sous-titre*/

/*****************/


/* Conteneur pour la section logo et titre */
.sous-titre-container {
    max-width: 900px; /* Limite la largeur de la section */
    margin-right: auto;
    margin-left: auto;
    padding: 60px 0; /* Ajoute un espacement en haut et en bas */
    padding-top: 120px;
    display: flex;
    justify-content: center;
}

/* Conteneur pour le logo, centré grâce à Flexbox */
.logo-container {
    display: flex; /* Active Flexbox pour centrer les éléments enfants */
    justify-content: center; /* Centre horizontalement le logo */
    margin-bottom: 16px; /* Espace entre le logo et le titre */
}

/* Définition de la taille du logo */
.logo {
    width: 50px; /* Fixe la largeur du logo à 75px */
    margin-right: 10px;
    padding-bottom: 20px;
}


/* Style du titre avec soulignement */
.sous-titre {
    font-size: 48px; /* Taille de la police du titre */
    display: inline-block; /* Permet le soulignement sans occuper toute la largeur */
    padding-bottom: 12px; /* Espace entre le texte et la bordure */
    border-bottom: 3px solid darkgrey; /* Ajoute un soulignement gris foncé */
}

/******************/

/*Présentation*/

/*****************/

.presentation-container {
    display: flex;
    flex-direction: column;
    max-width: 1250px;
    margin-left: auto; /* Centre horizontalement le conteneur en utilisant des marges automatiques. */
    margin-right: auto; /* Centre horizontalement le conteneur en utilisant des marges automatiques. */
    text-align: justify;
}


.presentation-sous-titre {
    font-size: 28px;
    text-align: center;
    font-style: italic;
    margin-bottom: 10px;
    margin-left: 20px;
    margin-right: 20px;
    font-family:Verdana, Geneva, Tahoma, sans-serif;
    color: #4484a6;
}



.presentation-text {
    font-size: 20px;
    margin-top: 30px;
    margin-bottom: 10px;
    margin-left: 20px;
    margin-right: 20px;
    margin-left: auto;
    margin-right: auto;
    width: 1200px;
}

@media (max-width: 768px) {
    .contact-info {
        margin-bottom: 20px;
    }
    .presentation-text {
        font-size: 20px;
        margin-top: 30px;
        margin-bottom: 10px;
        margin-left: auto;
        margin-right: auto;
        width: 350px;
    }
}

/******************/

/*Cartes/Services*/

/*****************/

.card-all {
    display: flex; /* Utilise un layout flexible pour organiser les éléments enfants. */
    flex-direction: row; /* Aligne les éléments enfants dans une direction horizontale (en ligne). */
    justify-content: space-around; /* Distribue uniformément l'espace autour des cartes dans le conteneur. */
    flex-wrap: wrap; /* Permet aux cartes de passer à la ligne suivante si elles débordent du conteneur. */
    max-width: 1250px; /* Limite la largeur totale du conteneur à 1450px. */
    margin-left: auto; /* Centre horizontalement le conteneur en utilisant des marges automatiques. */
    margin-right: auto; /* Centre horizontalement le conteneur en utilisant des marges automatiques. */
    row-gap: 70px; /* Ajoute un espacement de 70px entre chaque ligne d'éléments. */
}

.card {
    perspective: 1000px; /* Applique une perspective 3D aux éléments enfants pour donner un effet de profondeur lors des transformations. */
}

.card-inner {
    position: relative; /* Définit la position comme relative pour permettre à ses enfants (front et back) d'être positionnés par rapport à lui. */
    width: 350px; /* Définit la largeur de la carte. */
    height: 450px; /* Définit la hauteur de la carte. */
    text-align: center; /* Centre le texte horizontalement à l'intérieur de la carte. */
    transition: transform 0.8s; /* Applique une transition fluide de 0,8 seconde pour la transformation de la carte (effet de retournement). */
    transform-style: preserve-3d; /* Indique que les enfants doivent être rendus en 3D pendant la transformation. */
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.1); /* Applique une légère ombre portée à la carte pour créer un effet de profondeur. */
}

.card:hover .card-inner {
    transform: rotateY(-180deg); /* Fait pivoter l'élément `.card-inner` de 180 degrés sur l'axe Y au survol. */
    transition-delay: 0s;
}

.card-front, .card-back {
    display: flex;
    flex-direction: column;
    position: absolute; /* Les positionne par rapport à leur parent `.card-inner` pour permettre le chevauchement. */
    width: 100%; /* Définit la largeur des faces avant et arrière pour qu'elles remplissent complètement la carte. */
    height: 100%; /* Définit la hauteur des faces avant et arrière pour qu'elles remplissent complètement la carte. */
    backface-visibility: hidden; /* Cache la face arrière lorsque celle-ci est tournée, pour éviter qu'elle ne soit visible par transparence. */
    align-content: space-around;
}


.card-back p {
    margin-top: 30px;
    text-align: left;
    margin-left: 20px;
    margin-right: 10px;
}

.card-back h3{
    text-align: left;
    margin-left: 20px;
    margin-right: 10px;
}



.card-image {
    display: flex;
    width: 100%; /* Définit la largeur de l'image à 398px, adaptée à la largeur de la carte. */
    height: 50%;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
}

.card-image img{
    width: 250px; /* Définit la largeur de l'image à 250px, adaptée à la largeur de la carte. */
}

.card-image-max-height img {
    width: 190px;
}

.card-front {
    background-color: #fafafa;
}

.card-back {
    background-color: #DFEEF5; /* Applique un fond gris clair à la face arrière de la carte. */
    transform: rotateY(180deg); /* Fait tourner la face arrière de 180 degrés, elle est donc invisible jusqu'à ce que la carte soit retournée. */
    display: flex; /* Utilise Flexbox pour centrer les éléments à l'intérieur de la face arrière. */
    flex-direction: column;
    justify-content: center; /* Centre horizontalement les éléments à l'intérieur de la face arrière. */
    align-items: center; /* Centre verticalement les éléments à l'intérieur de la face arrière. */
    padding: 20px; /* Ajoute un espacement interne de 20px autour du contenu de la face arrière. */
}

.card-back p {
    font-size: 16px;
}


/*********************/
/*Partenaires */
/*********************/

.partenaires {
    display: flex; /* Utilise un layout flexible pour organiser les éléments enfants. */
    flex-direction: row; /* Aligne les éléments enfants dans une direction horizontale (en ligne). */
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap; /* Permet aux cartes de passer à la ligne suivante si elles débordent du conteneur. */
    max-width: 1250px; /* Limite la largeur totale du conteneur à 1450px. */
    margin-left: auto; /* Centre horizontalement le conteneur en utilisant des marges automatiques. */
    margin-right: auto; /* Centre horizontalement le conteneur en utilisant des marges automatiques. */
    row-gap: 60px; /* Ajoute un espacement de 70px entre chaque ligne d'éléments. */
}

.partenaires img {
    width: 350px;
}



/*********************/
/*Contact */
/*********************/

/* Conteneur principal de la section contact */
.contact-container {
    text-align: left; /* Aligne le texte à gauche */
    height: 300px;
}

/* Conteneur Flexbox pour organiser les éléments dans la section contact */
.contact-content {
    display: flex; /* Active Flexbox pour aligner les blocs horizontalement */
    flex-wrap: wrap; /* Permet aux éléments de passer à la ligne si l'espace est insuffisant */
    max-width: 1100px; /* Limite la largeur de la section */
    margin-left: auto; /* Centre horizontalement l'élément */
    margin-right: auto; /* Centre horizontalement l'élément */
    justify-content: center; /* Sépare les éléments avec un espace égal entre eux */
}

/* Bloc d'information de contact */
.contact-info {
    margin-right: 15px;
    margin-bottom: 20px;
}

/* Style du titre avec un soulignement */
.contact-border {
    font-size: 24px; /* Taille du texte */
    display: inline-block; /* Pour afficher le soulignement uniquement sous le texte */
    padding-bottom: 16px; /* Espace entre le texte et la bordure */
    border-bottom: 3px solid darkgrey; /* Ajoute une bordure en bas */
}

/* Style des titres (h3) dans la section de contact */
.contact-info h3 {
    margin-top: 24px; /* Espacement au-dessus des titres */
}

/* Style des paragraphes dans la section de contact */
.contact-info p {
    margin: 8px 0; /* Espace entre les paragraphes */
}

/* Style des icônes dans la section de contact */
.contact-info i {
    color: #5d87b7; 
    margin-right: 8px; /* Espace entre l'icône et le texte */
}

/* Conteneur pour la carte Google Maps */
.contact-map {
    flex: 1; /* Prend tout l'espace disponible dans la zone Flexbox */
    min-width: 400px; /* Largeur minimale pour la carte */
    height: 300px;
}

/* Style de l'iframe pour la carte Google Maps */
.contact-map iframe {
    width: 100%; /* La carte prend toute la largeur de son conteneur */
    height: 100%; /* La carte prend toute la hauteur de son conteneur */
    border: 0; /* Supprime la bordure autour de l'iframe */
}


/*********************/
/*Footer */
/*********************/

.footer {
    background-color: #DFEEF5; /* Couleur de fond du footer */
    padding: 20px 0; /* Espacement intérieur */
    text-align: center; /* Centre le texte */
    margin-top: 40px; /* Espacement au-dessus du footer */
}

/* Style du contenu du footer */
.footer-content {
    max-width: 1200px; /* Largeur maximale pour le contenu */
    margin: 0 auto; /* Centre horizontalement */
}

/* Style du lien dans le footer */
.footer-link {
    display: inline-block; /* Permet un espacement autour du lien */
    margin-top: 10px; /* Espace au-dessus du lien */
    color: blue; /* Couleur du lien */
    text-decoration: none; /* Supprime le soulignement */
}

/* Changement de couleur au survol du lien */
.footer-link:hover {
    text-decoration: underline; /* Souligne le lien au survol */
}

/*********************/
/*MacOS */
/*********************/

.mac-img-200{
    display: block;
    margin: 0 auto;
    width: 200px;
}
.mac-img-250{
    display: block;
    margin: 0 auto;
    width: 250px;
}
.mac-img-300{
    display: block;
    margin: 0 auto;
    width: 300px;
}
.mac-img-350{
    display: block;
    margin: 0 auto;
    width: 350px;
}
.mac-img-600{
    display: block;
    margin: 0 auto;
    width: 600px;
}

@media (max-width: 768px) {
    #monterey .logo{
        width: 50px;
        margin-right: 10px;
        display: inline;
        padding-bottom: 0px;
    }
    .sous-titre-container{
        max-width: 900px; /* Limite la largeur de la section */
        margin-right: auto;
        margin-left: auto;
        padding: 60px 0; /* Ajoute un espacement en haut et en bas */
        padding-top: 70px;
        display: flex;
        justify-content: center;
    }
    .sous-titre{
        font-size: 36px; /* Taille de la police du titre */
        display: inline-block; /* Permet le soulignement sans occuper toute la largeur */
        padding-bottom: 12px; /* Espace entre le texte et la bordure */
        border-bottom: 3px solid darkgrey; /* Ajoute un soulignement gris foncé */
    }
    #monterey img {
        display: block;
        margin: 0 auto;
        width: 400px;
    }
    .mac-img-600{
        display: block;
        margin: 0 auto;
        width: 400px;
    }
}