#containerbiobutton {
    display: flex;
    flex-direction: column;
    background-color: rgba(8, 8, 8, 0.8);
    backdrop-filter: blur(16px);
    box-shadow: 0 0.3em 1em rgba(0, 0, 0, 0.5);
    padding: 1em 1em; /* Espacement interne */
    max-width: 950px; /* Largeur maximale de l'encadré */
    margin: auto; /* Centre l'encadré sur la page */
    width: 90%;
    border-radius: 1em;
}

#containerbio {
    font-size: 0.9em;
    gap: 1em;
    display: flex; /* Utilise le modèle flexbox */
    flex-direction: row; /* Affichage en ligne par défaut */
}

/* Pour les écrans de largeur inférieure ou égale à 768px */
@media (max-width: 768px) {
    #containerbio {
        flex-direction: column; /* Passe en affichage colonne sur mobile */
    }
}

.photo {
    padding: 0.5em;
    max-height: 15em;
    aspect-ratio: 1/1;
}

    .photo img {
        width: 15em; /* La photo prend toute la largeur de son conteneur */
        height: auto;
        border: solid #111111;
        border-width: 0.5em;
        border-radius: 50%; /* Coins arrondis pour l'image */
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
    }

#paragraphbio {
    font-size: 1.2em;
    display: table-row;
    text-align: left;
    padding: 0 2vh;
    color: #f0f0f0;
    border-radius: 15px;
}

.button {
    outline: none;
    cursor: pointer;
    border: none;
    padding: 0.5em 0;
    margin: 1.5em auto 1em auto;
    font-family: inherit;
    font-size: inherit;
    position: relative;
    display: inline-block;
    font-weight: 700;
    font-size: 1em;
    border-radius: 3em;
    overflow: hidden;
    background: #ff2a00; /* couleur après l'animation */
    width: 10em;
    transition: color 0.4s;
}

    .button span {
        position: relative;
        z-index: 10; /* Assure que le texte est au-dessus */
        color: #FFFFFF; /* couleur texte avant le hover */
        transition: color 0.4s;
    }

.buttoncontact:hover span {
    color: #000000; /* couleur texte après le hover */
}

.button::before,
.button::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.button::before {
    content: "";
    background: #9d0000; /* couleur pour l'animation */
    width: 120%;
    left: -10%;
    transform: skew(30deg);
    transition: transform 0.4s cubic-bezier(0.3, 1, 0.8, 1);
}

.button:hover::before {
    transform: translate3d(100%, 0, 0);
}

#demoreel-player {
    margin: 0 auto; /* Centre le player horizontalement */
    overflow: hidden; /* Empêche le débordement éventuel */
    background-color: #000;
    max-width: 980px;
    width: 95%;
    height: auto;
    aspect-ratio: 16/9;
    border-radius: 1em;
}

    #demoreel-player iframe { /* propriétés héritées de #demoreel-player, peut se rétrécir sur les valeurs de tail */
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
    }

/* Conteneur du carrousel */
.carousel-container {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    height: 23.5em;
}

/* Base pour chaque service */
.service {
    display: flex;
    flex-direction: column;
    position: absolute;
    width: 15em;
    height: 21.5em;
    padding: 1em;
    color: white;
    border-radius: 1em;
    text-align: center;
    opacity: 0;
    transition: transform 0.5s ease, opacity 0.5s ease;
    cursor: pointer;
}

    /* Styles pour le service actif */
    .service.active {
        opacity: 0.9;
        transform: translateX(0) scale(1);
        z-index: 3;
        background-color: rgba(8, 8, 8, 0.8);
        backdrop-filter: blur(16px);
       /* background-image: url("/images/services/servicebg_01.gif");*/
        background-size: cover;
    }
    .service.active:hover {
        transition: transform 0.5s ease-out;
    }

    /* Services précédents et suivants */
    .service.prev-2 {
        transform: translateX(-190%) scale(0.8);
        opacity: 0.6;
        z-index: 1;
        background-color: rgba(8, 8, 8, 0.8);
        backdrop-filter: blur(16px);
        /*background-image: url("/images/services/servicebg_02.gif");*/
        background-size: cover;
    }

    .service.prev-1 {
        transform: translateX(-100%) scale(0.95);
        opacity: 0.8;
        z-index: 2;
        background-color: rgba(8, 8, 8, 0.8);
        backdrop-filter: blur(16px);
        /* background-image: url("/images/services/servicebg_03.gif");*/
        background-size: cover;
    }

    .service.next-1 {
        transform: translateX(100%) scale(0.95);
        opacity: 0.8;
        z-index: 2;
        background-color: rgba(8, 8, 8, 0.8);
        backdrop-filter: blur(16px);
        /*background-image: url("/images/services/servicebg_04.gif");*/
        background-size: cover;
    }

    .service.next-2 {
        transform: translateX(190%) scale(0.8);
        opacity: 0.6;
        z-index: 1;
        background-color: rgba(8, 8, 8, 0.8);
        backdrop-filter: blur(16px);
        /*background-image: url("/images/services/servicebg_05.gif");*/
        background-size: cover;
    }

/* Boutons de navigation */
.carousel-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    font-size: 24px;
    cursor: pointer;
    padding: ;
    z-index: 10;
    transition: opacity 0.3s ease;
}

    /* Position des boutons de chaque côté de la div active */
    .carousel-nav.left {
        left: -60px;
    }

    .carousel-nav.right {
        right: -60px;
    }

/* Cacher les boutons pour les éléments non actifs */
.service:not(.active) .carousel-nav {
    opacity: 0;
    pointer-events: none;
}

/* Afficher les boutons uniquement pour l'élément actif */
.service.active .carousel-nav {
    opacity: 1;
    pointer-events: auto;
}

    .service img {
        margin: 1em auto;
        max-width: 6em;
    }

    .service.active > img {
        animation: float 1.5s ease-in-out infinite;
    }

    @keyframes float{
        0% {
            transform: translate(0, 0);
        }
        50% {
            transform: translate(0, -20px);
        }
        100% {
            transform: translate(0, 0);
        }
    }

.logos {
    overflow: hidden;
    padding: 1em 0;
    margin: 0 auto 1em auto;
    background-color: rgba(8, 8, 8, 0.8);
    backdrop-filter: blur(16px);
    box-shadow: 0 0.3em 1em rgba(0, 0, 0, 0.5);
    white-space: nowrap;
    position: relative;
    transition: transform 0.3s ease-in-out;
}

    .logos:before, .logos:after {
        position: absolute;
        top: 0;
        width: 200px;
        height: 100%;
        content: "";
        z-index: 2;
    }

@media (max-width: 600px) {
    .logos:before, .logos:after {
        position: absolute;
        top: 0;
        width: 20%;
        height: 100%;
        content: "";
        z-index: 2;
    }
}

    .logos:before {
        left: 0;
        background: linear-gradient(to left, rgba(8, 8, 8, 0), #111111);
    }

    .logos:after {
        right: 0;
        background: linear-gradient(to right, rgba(8, 8, 8, 0), #111111);
    }

    .logos:hover .logos-slide {
        animation-play-state: paused;
        transform: scale(1.025);
    }

    @keyframes slide {
        from {
            transform: translateX(0)
        }

        to {
            transform: translateX(-100%)
        }
    }

    .logos-slide {
        display: inline-block;
        animation: 80s slide infinite linear;
    }

        .logos-slide img {
            height: 50px;
            margin: 0 40px;
        }

    .projectcategory {
        margin: 2em 0 0 0;
        text-align: center;
    }

        .projectcategory h2 {
            font-size: 2em;
            margin-bottom: 1em;
        }

    .portfoliovideogamecontainer {
        display: flex;
        align-items: center;
        justify-content: center;
        max-width: 1000px;
        margin: 0 auto 1em auto;
        gap: 2em;
        text-align: left;
        background-color: rgba(8, 8, 8, 0.8);
        backdrop-filter: blur(16px);
        box-shadow: 0 0.3em 1em rgba(0, 0, 0, 0.5);
        padding: 1.5em;
        border-radius: 8px;
    }

    .game-video {
        flex: 1;
        max-width: 350px; /* Taille similaire à l'image */
        display: flex;
        justify-content: center;
    }

        .game-video iframe {
            width: 100%;
            height: 200px; /* Ajuste la hauteur pour une taille équilibrée */
            border-radius: 4px;
        }

    .game-image {
        flex: 1;
        max-width: 350px; /* Agrandissement de l'image */
        height: auto;
        border-radius: 8px;
    }

    .game-info {
        flex: 1;
        color: #ffffff; /* Texte en blanc */
    }

    .portfoliovideogamecontainer h3 {
        margin: 0 0 0.3em 0; /* Réduction des espaces autour du titre */
    }

        .portfoliovideogamecontainer h3 a {
            text-decoration: underline;
            color: #ffffff; /* Titre en blanc */
            font-size: 1.3em; /* Réduction de la taille du titre */
        }

            .portfoliovideogamecontainer h3 a:hover {
                color: #FF0000;
            }

    .description {
        margin: 0.5em 0 1em;
        color: #ffffff; /* Texte descriptif en blanc */
    }

    .tools {
        display: flex;
        justify-content: center; /* Centre les logos */
        gap: 1em;
        margin-top: 0.5em;
        flex-wrap: wrap; /* Permet le retour à la ligne si nécessaire */
    }

        .tools img {
            width: 40px;
            height: auto;
        }

    /* Media query pour les petits écrans (téléphones) */
    @media (max-width: 600px) {
        .portfoliovideogamecontainer {
            flex-direction: column; /* Empile l'image et le texte */
            align-items: center;
            text-align: center;
        }

        .game-image {
            max-width: 100%; /* L'image prend toute la largeur disponible */
        }

        .game-info {
            margin-top: 1em; /* Ajoute un espace entre l'image et le texte */
        }
    }

    .video-row {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 3em;
        margin: 0 0 2em 0;
    }

    .portfoliovideocontainer {
        flex: 1 1 40%; /* 45% pour deux vidéos côte à côte, s'ajuste si l'écran est plus petit */
        max-width: 600px; /* Limite la taille des vidéos */
        background-color: #000;
        padding: 0.5em;
        border-radius: 8px;
    }

        .portfoliovideocontainer iframe {
            width: 100%;
            height: 315px; /* Hauteur fixe pour un format standard */
            border: 0px;
        }

    /* Media query pour les écrans plus petits */
    @media (max-width: 768px) {
        .portfoliovideocontainer {
            flex: 1 1 100%; /* Les vidéos passent en pleine largeur */
            max-width: none; /* Suppression de la limite de largeur */
        }
    }

    .podcast-container {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        background-color: rgba(8, 8, 8, 0.8);
        backdrop-filter: blur(16px);
        box-shadow: 0 0.3em 1em rgba(0, 0, 0, 0.5);
        padding: 1.5em;
        border-radius: 8px;
        text-decoration: none; /* Enlève le soulignement du lien */
        color: white;
        gap: 2em;
        max-width: 800px;
        margin: 2em auto; /* Centrage horizontal avec espace */
    }

        .podcast-container img.podcast-image {
            max-width: 150px; /* Limite la taille de l'image */
            height: auto;
            border-radius: 8px;
            margin: 0 0 0 4em;
        }

    .podcast-info {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        margin-left: 25%; /* Décale le texte pour qu'il commence à la moitié du conteneur */
        text-align: left; /* Pour garder l'alignement du texte à gauche */
    }

        .podcast-info h3 {
            text-decoration: underline;
            color: #ffffff; /* Titre en blanc */
            font-size: 1.3em; /* Réduction de la taille du titre */
        }

        .podcast-info ul {
            list-style-type: disc;
            margin-left: 20px;
            font-size: 1em;
        }

        .podcast-info li {
            margin-bottom: 0.5em;
        }

    /* Media query pour les petits écrans (téléphones) */
    @media (max-width: 600px) {
        .podcast-container {
            flex-direction: column; /* Empile les éléments en mode colonne sur les petits écrans */
            align-items: center;
            text-align: center;
        }

            .podcast-container img.podcast-image {
                max-width: 100%; /* L'image prend toute la largeur disponible */
            }

        .podcast-info {
            margin-left: 0; /* Enlève le décalage à gauche sur les petits écrans */
            text-align: center; /* Centre le texte sur les petits écrans */
        }
    }

    .contact {
        padding: 0.2em 0 0 0;
        background-color: #111111;
    }

    .social-media-links {
        display: none; /* Masque les images par défaut */
    }

    /* Styles pour les écrans de 1129px ou moins */
    @media (max-width: 1129px) {
        .social-media-links {
            display: flex;
            gap: 1em;
            justify-content: center; /* Centre les images horizontalement */
            align-items: center; /* Centre les images verticalement */
            padding: 1em 0; /* Ajoute un espace de 2em en haut et en bas */
        }

            .social-media-links img {
                width: 2em;
            }
    }

    #contactformcontainer {
        width: 100%;
        max-width: 500px;
        padding: 20px;
        margin: 10em auto;
        background-color: #fff;
        border-radius: 8px;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    }

    form {
        display: flex;
        flex-direction: column;
    }

    label {
        margin-bottom: 5px;
        font-weight: bold;
    }

    input, textarea {
        margin-bottom: 15px;
        padding: 10px;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-size: 16px;
    }

    footer {
        background-color: #111;
        color: #f0f0f0;
        text-align: center;
        padding: 1.3em;
    }