:root {
    --video-aspect-ratio: 16/9; /* Ratio d'aspect standard de la vidéo */
}

html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    overflow-x: hidden;
    scroll-behavior: smooth !important;
    transition: all 0.3s;
}

body {
    scroll-snap-type: y mandatory;
    scroll-behavior: smooth;
    font-family: "Varela Round", serif;
    font-weight: 400;
    font-style: normal;
}

body::-webkit-scrollbar {
    width: 1vmin;
}

body::-webkit-scrollbar-track {
    background: #212126; 
}   

body::-webkit-scrollbar-thumb {
    background-color: white;    /* color of the scroll thumb */
    border-radius: 20px;       /* roundness of the scroll thumb */
    border: 0.4vmin solid #212126;  /* creates padding around scroll thumb */
}

body *::selection {
    background-color: rgba(255,255,255,0.2);
}

@font-face {
    font-family: sofiapro;
    src: url("sofiapro-light.otf");
}

.scroll-btn > *, a span, a img, br, hr{
    user-select: none;
}

.content .content-area {
    flex-shrink: 1;
    flex-grow: 0;
    flex-basis: 100%;
}


.d {
    flex-basis: 25%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.d .contact_container a {
    height: 5dvh;
    background-color: transparent;
    display: flex;
    justify-content: flex-start;
    flex-direction: row;
    align-items: center;
    border-radius: 0.8dvh;
    transition: 0.15s ease-in-out;
    text-decoration: none !important;
    padding-left: 1dvh;
    padding-right: 1dvh;
    flex-wrap: wrap;
}

.d .contact_container a img {
    filter: invert(1);
    transition: 0.15s ease-in-out;
}

.d .contact_container a:hover {
    background-color: white;
}

.d .contact_container a:hover img {
    filter: invert(0);
}

.d .contact_container a span {
    color: white;
    font-weight: bold;
    transition: 0.15s ease-in-out;
}

.d .contact_container a:hover span {
    color: black;
}

.video-background {
    background-color: #212126;
}

@media screen and (orientation: landscape) {

    .video-background {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        overflow: hidden;
        z-index: -1;
        background-image: url("../assets/img/video-background.jpg");
        background-position: center;
        background-size: cover;
    }
    
    .video-background iframe, .video-background video, .video-background object, .video-background embed {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 100vw;
        height: 56.25vw; /* 100/56.25 = 1.778 (16:9 aspect ratio) */
        min-height: 100vh;
        min-width: 177.78vh; /* 16/9 = 1.778 */
        transform: translate(-50%, -50%);
    }
    
    /* Afficher uniquement la vidéo paysage et masquer la vidéo portrait */
    .portrait-video {
        display: none !important;
    }
    
    .landscape-video {
        display: block;
    }

    /* Suppression du padding-bottom qui causait des problèmes */

    @media (max-aspect-ratio: 1.7779) {
        .video-background iframe {
            position: absolute;
            top: 50%;
            left: 50%;
            min-height: 100dvh;
            transform: translate(-50%, -50%);
        }   
    }

    .content {
        position: relative;
        z-index: 1;
        color: white;
        text-align: center;
        padding-left: 2vmax;
        padding-right: 2vmax;
        display: flex;
    }
    
    .overlay{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.2);
    }
    
    
    .scroll-down img {
        display: block;
        width: 30px;
        height: 30px;
    }
    
    #section-1 .scroll-down {
        margin-top: 0;
    }
    
    .section {
        scroll-snap-align: start;
        width: 100dvw;
        height: 100dvh;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        position: relative;
    }
    
    .a {
        flex-basis: 25%;
    }
    
    .b {
        flex-basis: 25%;
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-content: center;
    }
    
    .c {
        flex-basis: 25%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    
    .content {
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    
    /*.b h1{
        font-family: "outfit", sans-serif;
        font-size: 4em;
        margin-bottom: 0;
        margin-top: auto;
    }
    
    .b span{
        font-family: "Roboto-Thin", sans-serif;
        font-weight: 100;
        font-size: 2.5em;
        margin-bottom: auto;
    }*/

    .b .title-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: fit-content;
        margin-top: auto;
        margin-bottom: auto;
    }
    
    .b .title {
        font-family: 'outfit', sans-serif;
        font-size: 8dvh; /* Ajustable selon le design */
        margin: 0;
        white-space: nowrap;
    }
    
    .b .subtitle {
        font-family: 'Roboto-Thin', sans-serif;
        font-size: 5dvh !important; /* Ajuste la taille selon la longueur */
        margin: 0;
        white-space: nowrap;
        padding: 0 !important;
    }

    .location_container {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        margin-bottom: auto;
        margin-top: auto;
        max-width: 20dvw;
        align-self: center;
    }
    
    .location_container img {
        width: 3.5dvh;
        height: 3.5dvh;
        filter: invert(100%);
    }

    .location_container span {
        font-size: 2.2dvh;
        margin-left: 0.8dvh;
        line-height: 2.2dvh;
        font-weight: bold;
    }

    .d .else_container {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
    }

    .d .contact_container {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;    
        min-height: 20dvh;
        margin-bottom: auto;
    }

    .d .phone_container a, .d .mail_container a {
        border: 2px solid white;
        backdrop-filter: blur(7px);
    }

    .d .contact_container a {
        margin-left: 1dvh;
        margin-right: 1dvh;
    }

    .d .contact_container a img {
        width: 3dvh;
        height: 3dvh;
    }

    .d .contact_container a span {
        font-size: 1.7dvh;
        margin-left: 0.8dvh;
    }

    .scroll-down {
        margin-top: auto;
        padding: 2vmin;
        display: flex;
        justify-content: center;
        flex-direction: column;
        align-items: center;
        /*min-height: 15dvh;*/
        flex-basis: 10%;
    }
    
    .scroll-btn {
        display: inline-block;
        border-radius: 1dvh;
        border: 2px solid white;
        color: white;
        height: auto;
        min-width: 15dvw;
        padding: 4vmin;
        transition: 0.15s ease-in-out;
        background-color: transparent;
        font-family: "Varela Round", sans-serif;
        font-weight:  bold;
        font-size: 1.5vmin;
        letter-spacing: 0.1em;
        text-decoration: none;
        line-height: auto; /* Permet de centrer verticalement le texte dans le rectangle */ 
        overflow: hidden; 
        text-transform: uppercase;
        backdrop-filter: blur(7px);
    }
    
    .content .content-area {
        align-self: stretch;
        max-height: 100%;
        display: flex;
        padding: 1dvh;
        flex-shrink: 1;
        flex-grow: 0;
    }
    
    .scroll-btn:hover
    {
        background-color: white;
        color: #282828         !important;
    }
    
    .scroll-btn .down_arrow {
        display: inline-block;
        vertical-align: middle;
        margin-left: 10px;
        width: 1em;
        height: 1em;
        filter: invert(100%);
        transition: all 0.15s ease-in-out;
    }
    
    .scroll-btn:hover .down_arrow {
        filter: invert(0%);
    }   
    
    .section h2 {
        text-transform: uppercase;
        margin-bottom: auto;
        padding-top: 1.5vmin;
        padding-bottom: 1.5vmin;
        font-size: 3vmin;
        line-height: 3vmin;
        margin-block-end: 0 !important;
    }
    
    #section-1 {
        scroll-snap-align: start;
    }
    
    #section-2 {
        background-color: #212126;
    }
    
    .no-snap {
        scroll-snap-type: none !important; /* Désactive temporairement le snap */
    }

    #section-2 .content {
        align-items: center !important;
    }

    #section-2 h2 {
        font-size: 2dvh;
        margin-bottom: 2dvh;
    }

    .presentation-container {
        background-color: transparent;
        height: 20dvh;
        max-width: 80%;
        min-width: 80%;
        margin-bottom: auto;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: center;
    }

    .timeline-container {
        flex-basis: 35%;
        max-width: 80%;
        min-width: 80%;
        max-height: 35%;
        background-color: transparent;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: stretch;
        overflow: hidden;
    }

    .footer {
        flex-basis: 10%;
        height: 10dvh;
        min-width: 100vw;
        display: flex;
        flex-direction: column;
        margin-top: auto;
        background-color: #1A1A1A;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-around;
    }

    .presentation {
        background-color: #28282E;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: stretch;
        flex-basis: 85%;
        min-width: 100%;
        max-width: 100%;
        min-height: 17dvh;
        max-height: 17dvh;
        border-radius: 0.5dvh;
        border: 2px solid #1A1A1A;
        overflow: hidden;
    }

    .portrait-photo-container {
        height: 17dvh;
        width: 17dvh;
        background-color: transparent;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .presentation-content {
        width: calc(100% - 17dvh - 1.7dvh);
        height: 100%;
        background-color: transparent;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
    }

    .presentation-content p {
        max-height: 80%;
        overflow-x: hidden;
        overflow-y: auto;
        /*line-height: 1.4rem;
        font-size: 1rem;*/
        line-height: 3vmin;
        font-size: 1.5vmin;
        text-align: justify;
        padding-right: 1.7dvh;
    }

    .presentation-content p::-webkit-scrollbar {
        width: 1dvh;
        
    }
    
    .presentation-content p::-webkit-scrollbar-track {
        background: #1A1A1A; 
        border-radius: 1dvh;
    }   
    
    .presentation-content p::-webkit-scrollbar-thumb {
        background-color: white;    /* color of the scroll thumb */
        border-radius: 20px;       /* roundness of the scroll thumb */
        border: 0.4vmin solid #1A1A1A;  /* creates padding around scroll thumb */
    }

    .portrait-photo-container > div {
        background-image: url("../img/tristan.webp");
        height: 80%;
        width: 80%;
        min-width: 80%;
        border-radius: 100%;
        background-size: cover;
    }

    .timer-container {
        flex-basis: 10%;
        max-height: 10%;
        background-color: transparent;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: stretch;
    }

    .graduation-container {
        display: flex;
        flex-basis: 60%;
        max-height: 60%;
        background-color: transparent;
        justify-content: flex-start;
        align-items: stretch;
    }

    .graduation-block {
        flex-basis: 5%;
        background-color: transparent;
        height: 100%;
        display: flex;
        flex-direction: row;
        justify-content: space-around;
    }
    
    .huge-graduation, .graduation-block:last-of-type > div:last-child {
        width: 2px;
        height: 100%;
        background-color: #a0a0a0;
        border-radius: 0% 0% 100% 100%;
    }

    .big-graduation {
        width: 1px;
        height: 83%;
        background-color: #7c7c7c;
    }

    .small-graduation {
        width: 1px;
        height: 33.33%;
        background-color: #7c7c7c;
    }

    .medium-graduation {
        width: 1px;
        height: 66.66%;
        background-color: #7c7c7c;
    }

    .duration-container {
        display: flex;
        background-color: transparent;
        align-items: stretch;
        height: 40%;
    }

    .duration {
        flex-basis: 33.33%;
        height: 80%;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        background-color: transparent;
    }

    .duration span {
        text-align: center;
        font-size: 1.3vmin;
        margin-top: auto;
    }

    .clips-container {
        display: flex;
        flex-basis: 85%;
        max-height: 85%;
        justify-content: space-between;
        align-items: stretch;
        margin-top: auto;
    }

    .clips-container > span {
        align-self: center;
        font-size: 5dvh;
        color: #7c7c7c;
        user-select: none;
    }

    .clip {
        flex-basis: 29.5%;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        border-radius: 1dvh;
        overflow: hidden;
        border: 2px solid #1A1A1A;
    }

    .clip:nth-of-type(1) {
        background-color: #b85555;
    }

    .clip:nth-of-type(1) *::selection {
        background-color: #994747;
    }

    .clip:nth-of-type(2) {
        background-color: #448F64;
    }

    .clip:nth-of-type(2) *::selection {
        background-color: #32684a;
    }

    .clip:nth-of-type(3) {
        background-color: #4376A1;
    }

    .clip:nth-of-type(3) *::selection {
        background-color: #376285;
    }

    .clip h3 {
        padding-left: 10%;
        padding-right: 10%;
        margin-inline-start: 0 !important;
        margin-inline-end: 0 !important;
        margin-bottom: auto;
        margin-top: 1.5dvh;
    }

    .clip span {
        padding-left: 10%;
        padding-right: 10%;
        margin-top: auto;
        font-size: 0.75em;
        margin-bottom: 1.5dvh;
    }

    .footer p {
        color: grey;
        font-size: 0.7em;
        line-height: 1.8em;
        padding-left: 5%;
        padding-right: 5%;
    }

    .footer a {
        color: grey;
        text-decoration: none;
        transition: all 0.3s ease;
    }

    .footer a:hover {
        color: white;
    }

    .brands-container {
        display: flex;
        width: 80%;
        flex-basis: 3dvh;
        max-height: 3dvh;
        margin-top: auto;
        overflow: hidden;
        align-items: stretch;
        justify-content: center;
    }

    .brand {
        flex-basis: 10%;
        margin-left: 1dvw;
        margin-right: 1dvw;
        
    }

    .brand > a img {
        height: 100%;
        filter: invert(50%) sepia(0%) saturate(1352%) hue-rotate(0deg) brightness(100%) contrast(119%);
        user-select: none;
        transition: all 0.3s ease;
    }

    .brand > a img:hover {
        filter: invert(50%) sepia(0%) saturate(1352%) hue-rotate(0deg) brightness(200%) contrast(119%);
    }

    .bullet-points {
        flex-basis: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-self: center;
        width: 80%;
        overflow-y: auto;
        height: 80%;
    }

    .bullet-points p {
        text-align: center;
        margin-top: 1dvh;
        margin-bottom: 1dvh;
        font-size: 1.8dvh;
    }

    .clip hr {
        width: 80%;
    }

    .bullet-points::-webkit-scrollbar {
        width: 0.4em;
        
    }
    
    .clip:nth-of-type(1) .bullet-points::-webkit-scrollbar-track {
        background: #b85555; 
        border-radius: 1dvh;
    }   
    
    .clip:nth-of-type(1) .bullet-points::-webkit-scrollbar-thumb {
        background-color: #994747;    /* color of the scroll thumb */
        border-radius: 20px;       /* roundness of the scroll thumb */
        border: 0.4vmin solid #b85555;  /* creates padding around scroll thumb */
    }

    .clip:nth-of-type(2) .bullet-points::-webkit-scrollbar-track {
        background: #448F64; 
        border-radius: 1dvh;
    }   
    
    .clip:nth-of-type(2) .bullet-points::-webkit-scrollbar-thumb {
        background-color: #32684a;    /* color of the scroll thumb */
        border-radius: 20px;       /* roundness of the scroll thumb */
        border: 0.4vmin solid #448F64;  /* creates padding around scroll thumb */
    }

    .clip:nth-of-type(3) .bullet-points::-webkit-scrollbar-track {
        background: #4376A1; 
        border-radius: 1dvh;
    }   
    
    .clip:nth-of-type(3) .bullet-points::-webkit-scrollbar-thumb {
        background-color: #376285;    /* color of the scroll thumb */
        border-radius: 20px;       /* roundness of the scroll thumb */
        border: 0.4vmin solid #4376A1;  /* creates padding around scroll thumb */
    }

}

@media screen and (orientation: portrait) {

    /* Afficher uniquement la vidéo portrait et masquer la vidéo paysage */
    .landscape-video {
        display: none !important;
    }
    
    .portrait-video {
        display: block;
    }
      @supports not ((hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) and (font: -apple-system-body)) {
        /* Pour les non iOS */
        .video-background {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            overflow: hidden;
            z-index: -1;
            background-image: url("../assets/img/video-background.jpg");
            background-position: center;
            background-size: cover;
        }

        .video-background iframe, .video-background video, .video-background object, .video-background embed {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 100vw; /* Utilise la largeur complète de la fenêtre */
            height: 177.78vw; /* Format vertical 9:16 = 1.778 */
            min-height: 100vh;
            min-width: 56.25vh; /* Pour garantir la couverture sur les écrans plus larges */
            transform: translate(-50%, -50%);
        }
    }    @supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) and (font: -apple-system-body) {
        .video-background {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            overflow: hidden;
            z-index: -1;
            background-image: url("../assets/img/video-background.jpg");
            background-position: center;
            background-size: cover;
        }

        .video-background iframe, .video-background video, .video-background object, .video-background embed {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 100vw; /* Utilise la largeur complète de la fenêtre */
            height: 177.78vw; /* Format vertical 9:16 = 1.778 */
            min-height: 100vh;
            min-width: 56.25vh; /* Pour garantir la couverture sur les écrans plus larges */
            transform: translate(-50%, -50%);
        }


        /*@media (min-aspect-ratio: 0.5625) {
            .video-background video {
                position: absolute;
                top: 50%;
                left: 50%;
                width: 100dvw;
                aspect-ratio: 0.5625;
                transform: translate(-50%, -50%);
                
            }   
        }
    
        @media (max-aspect-ratio: 0.56249) {
            .video-background video {
                position: absolute;
                top: 50%;
                left: 50%;
                height: 100dvh;
                aspect-ratio: 0.5625;
                transform: translate(-50%, -50%);
            }   
        } */
    }

    /*@supports (-webkit-touch-callout: none) {
        
    }*/
    
    .content {
        position: relative;
        z-index: 1;
        color: white;
        text-align: center;
        padding-left: 2dvh;
        padding-right: 2dvh;
        display: flex;
    }
    
    
    .scroll-down img {
        display: block;
        width: 30px;
        height: 30px;
    }
    
    #section-1 .scroll-down {
        margin-top: 0;
    }
    
    .section {
        scroll-snap-align: start;
        width: 100dvw;
        height: 100dvh;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        position: relative;
    }
    
    .a {
        flex-basis: 10%;
    }
    
    .b {
        flex-basis: 20%;
        display: flex;
        flex-direction: row;
        align-content: space-around;
        margin-top: auto;
        justify-content: center;
    }
    
    .c {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        flex-basis: 20%;
        margin-top: auto;
    }
    
    .content {
        height: 100dvh;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    
    /*.b h1{
        font-family: "outfit", sans-serif;
        font-size: 4dvh;
        margin-bottom: 0;
        margin-top: auto;
    }
    
    .b span{
        font-family: "Roboto-Thin", sans-serif;
        font-weight: 100;
        font-size: 2.5dvh;
        margin-bottom: auto;
    }*/

    .b .title-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: fit-content;
        justify-content: center;
        margin-top: auto;
        margin-bottom: auto;
    }
    
    .b .title {
        font-family: 'outfit', sans-serif;
        font-size: 5dvh; /* Ajustable selon le design */
        margin: 0;
        white-space: nowrap;
    }
    
    .b .subtitle {
        font-family: 'Roboto-Thin', sans-serif;
        font-size: 3.125dvh !important; /* Ajuste la taille selon la longueur */
        margin: 0;
        white-space: nowrap;
        padding: 0 !important;
    }

    .location_container {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        margin-top: auto;   
    }
    
    .location_container img {
        width: 3.5dvh;
        height: 3.5dvh;
        filter: invert(100%);
    }

    .location_container span {
        font-size: 2.2dvh;
        margin-left: 0.8dvh;
        line-height: 2.2dvh;
        font-weight: bold;
    }

    .d {
        margin-top: auto;
    }

    .d .else_container {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        margin-top: auto;
        padding-bottom: 2dvh;
        padding-top: 2dvh;
    }


    .d .contact_container {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: center;    
        min-height: 25dvh;
        max-height: 50dvh;
        margin-top: auto;
    }

    .d .phone_container a, .d .mail_container a {
        border: 2px solid white;
        backdrop-filter: blur(7px);
        padding-top: 0.1dvh;
        padding-bottom: 0.1dvh;
    }

    .d .contact_container a {
        margin-top: 2dvw;
        margin-bottom: 2dvw;
    }

    .d .phone_container a img, .d .mail_container a img {
        width: 2.5dvh;
        height: 2.5dvh;
    }

    .d .else_container a img {
        width: 100%;
        height: 100%;
    }

    .d .contact_container a span {
        font-size: 1.5dvh;
        margin-left: 0.8dvh;
    }

    .d .contact_container a span {
        display: none;
    }

    .d .phone_container a span, .d .mail_container a span {
        display: block;
    }

    .d .else_container a {
        margin-left: 1.5dvw;
        margin-right: 1.5dvw;
        width: 4dvh;
        height: 4dvh;
    }

    .scroll-down {
        margin-top: auto;
        padding: 2dvw;
        display: flex;
        justify-content: center;
        flex-direction: column;
        align-items: center;
        min-height: 15dvh;
    }
    
    .scroll-btn {
        display: inline-block;
        border-radius: 1dvh;
        border: 2px solid white;
        color: white;
        height: auto;
        min-width: 15dvh;
        padding: 3dvh 2dvh 3dvh 2dvh;
        transition: 0.15s ease-in-out;
        background-color: transparent;
        font-family: "Roboto", sans-serif;
        font-weight:  bold;
        font-size: 1.5dvh;
        letter-spacing: 0.1em;
        text-decoration: none;
        line-height: 2.5dvh; /* Permet de centrer verticalement le texte dans le rectangle */ 
        overflow: hidden; 
        text-transform: uppercase;
        backdrop-filter: blur(7px);
    }
    
    .content .content-area {
        align-self: stretch;
        max-height: 100%;
        display: flex;
        padding-left: 1dvw;
        padding-right: 1dvw;
        flex-shrink: 1;
        flex-grow: 0;
    }
    
    .scroll-btn:hover
    {
        background-color: white;
        color: #282828         !important;
    }
    
    .scroll-btn .down_arrow {
        display: inline-block;
        vertical-align: middle;
        margin-left: 10px;
        width: 1em;
        height: 1em;
        filter: invert(100%);
        transition: all 0.15s ease-in-out;
    }
    
    .scroll-btn:hover .down_arrow {
        filter: invert(0%);
    }
    
    .section h2 {
        text-transform: uppercase;
        margin-bottom: auto;
        padding-top: 1.5dvh;
        padding-bottom: 1.5dvh;
        font-size: 2.5dvh;
        max-width: 80dvw;
        align-self: center;
    }
    
    #section-1 {
        scroll-snap-align: start;
    }
    
    #section-2 {
        background-color: #212126;
    }
    
    .no-snap {
        scroll-snap-type: none !important; /* Désactive temporairement le snap */
    }
    
    #section-2 .content {
        align-items: center !important;
    }

    #section-2 h2 {
        font-size: 2dvh;
        margin-bottom: auto;
        width: 80%;
        margin-block-start: 0 !important;
    }

    .presentation-container {
        background-color: transparent;
        max-height: 40dvh;
        max-width: 80%;
        min-width: 80%;
        
        margin-bottom: auto;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: stretch;
    }

    .timeline-container {
        flex-basis: 50%;
        max-width: 80%;
        min-width: 80%;
        max-height: 100%;
        background-color: transparent;
        display: flex;
        flex-direction: column;
        justify-content: center !important;
        align-items: stretch;
        overflow: hidden;
        margin-bottom: auto;
        margin-block-end: 2dvh;
    }

    .footer {
        flex-basis: 10%;
        min-width: 100vw;
        display: flex;
        flex-direction: column;
        margin-top: auto;
        background-color: #1A1A1A;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-around;
    }

    .presentation {
        background-color: #28282E;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: stretch;
        flex-basis: 85%;
        min-width: 100%;
        max-width: 100%;
        min-height: 17dvh;
        max-height: 100%;
        border-radius: 0.5dvh;
        border: 2px solid #1A1A1A;
        overflow: hidden;
        padding-top: 1dvh;
        padding-bottom: 1dvh;
    }

    .portrait-photo-container {
        height: 15dvh;
        width: 15dvh;
        background-color: transparent;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        align-self: center;
        margin-top: auto;
    }

    .presentation-content {
        width: calc(90% - 1.7dvw);
        height:calc(100% - 15dvh);
        background-color: transparent;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        margin-left: auto;
        margin-right: auto;
    }

    .presentation-content p {
        max-height: 100%;
        overflow-x: hidden;
        overflow-y: auto;
        /*line-height: 1.4rem;
        font-size: 1rem;*/
        line-height: calc(100% + 0.1vmax);
        font-size: calc(100% - 0.5vmax);
        text-align: center;
        padding-right: 1.7dvw;
    }

    .presentation-content p::-webkit-scrollbar {
        width: 0.5dvh;
        
    }
    
    .presentation-content p::-webkit-scrollbar-track {
        background: #1A1A1A; 
        border-radius: 0.5dvh;
    }   
    
    .presentation-content p::-webkit-scrollbar-thumb {
        background-color: white;    /* color of the scroll thumb */
        border-radius: 20px;       /* roundness of the scroll thumb */
        border: 0.2vmin solid #1A1A1A;  /* creates padding around scroll thumb */
    }

    .portrait-photo-container > div {
        background-image: url("../img/tristan.webp");
        height: 95%;
        width: 95%;
        min-width: 80%;
        min-height: 80%;
        border-radius: 100%;
        background-size: cover;
    }

    .timer-container {
        display: none;
    }

    .graduation-container {
        display: flex;
        flex-basis: 60%;
        max-height: 60%;
        background-color: transparent;
        justify-content: flex-start;
        align-items: stretch;
        display: none;
    }
    

    .duration {
        flex-basis: 33.33%;
        height: 80%;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        background-color: transparent;
    }

    .duration span {
        text-align: center;
        font-size: 1.3vmin;
        margin-top: auto;
    }

    .clips-container {
        display: flex;
        flex-basis: 100%;
        max-height: 100%;
        flex-direction: column;
        justify-content: space-between;
        align-items: stretch;
        margin-bottom: auto;
    }

    .clips-container > span {
        display: none;
    }

    .clip {
        flex-basis: 29.5%;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        border-radius: 1dvh;
        border: 2px solid #1A1A1A; 
        overflow: hidden;
        transition: all 0.5s ease;
    }

    .bullet-points, .clip > hr {
        opacity: 0;
        transition: all 0.5s ease;
    }

    .bullet-points > * {
        opacity: 0;
        height: 0;
        margin-inline-start: 0;
        margin-inline-end: 0;
        margin-block-start: 0;
        margin-block-end: 0;
        margin-top: 0;
        margin-bottom: 0;
        transition: all 0.1s ease;
    }

    .clip:nth-of-type(1) {
        background-color: #b85555;
    }

    .clip:nth-of-type(1) *::selection {
        background-color: #994747;
    }

    .clip:nth-of-type(2) {
        background-color: #448F64;
    }

    .clip:nth-of-type(2) *::selection {
        background-color: #32684a;
    }

    .clip:nth-of-type(3) {
        background-color: #4376A1;
    }

    .clip:nth-of-type(3) *::selection {
        background-color: #376285;
    }

    .clip h3 {
        padding-left: 10%;
        padding-right: 10%;
        transition: all 0.5s ease;
    }

    .normal h3, .normal span {
        margin-block-start: 0 !important;
        margin-block-end: 0 !important;
    }

    .clip span {
        font-size: 0.75em;
        transition: all 0.5s ease;
    }

    .footer p {
        color: grey;
        font-size: 0.5em;
        line-height: 1.2em;
        padding-left: 5%;
        padding-right: 5%;
    }

    .footer a {
        color: grey;
        text-decoration: none;
        transition: all 0.3s ease;
    }

    .footer a:hover {
        color: white;
    }

    .brands-container {
        display: flex;
        width: 80%;
        flex-basis: 5dvw;
        max-height: 5dvw;
        margin-bottom: 2dvh;
        margin-top: auto;
        overflow: hidden;
        align-items: stretch;
        justify-content: center;
    }

    .brand {
        flex-basis: 10%;
        margin-left: 1.5dvw;
        margin-right: 1.5dvw;
        
    }

    .brand > a img {
        height: 100%;
        filter: invert(50%) sepia(0%) saturate(1352%) hue-rotate(0deg) brightness(100%) contrast(119%);
        user-select: none;
        transition: all 0.3s ease;
    }

    .brand > a img:hover {
        filter: invert(50%) sepia(0%) saturate(1352%) hue-rotate(0deg) brightness(200%) contrast(119%);
    }

    .bullet-points {
        flex-basis: 100%;
        height: 0%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-self: center;
        max-width: 80%;
    }

    .bullet-points p {
        text-align: center;
        align-self: center;
        font-size: 1.5dvh;
    }

    .clip hr {
        display: none;
        transition: all 0.5s ease;
    }

    .silent > * {
        height: 0;
        margin-inline-start: 0;
        margin-inline-end: 0;
        margin-block-start: 0;
        margin-block-end: 0;
        flex-basis: 0;
    }

    .normal .bullet-points {
        flex-basis: 0%;
    }

    .active {
        flex-basis: 100%;
        opacity: 1;
    }

    .active .bullet-points, .active .bullet-points > * {
        opacity: 1;
        display: flex;
        height: 100%;
    }

    .silent {
        opacity: 1;
    }

    .silent > h3 {
        opacity: 1 !important;
        height: 100%;
    }

    .silent > span {
        opacity: 0;
        
    }

    .active span {
        margin-bottom: 2dvh;
        margin-top: 2dvh;
    }

}

/* Section Photo Styles */
#section-3 {
    background-color: #212126;
}

/* Carrousel JavaScript Styles */
.carousel-container {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.carousel-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0;
    transition: opacity 0.8s ease-in-out;
    will-change: opacity;
}

.carousel-slide.active {
    opacity: 1;
}

/* En mode portrait, forcer le carrousel en arrière-plan */
@media screen and (orientation: portrait) {
    #section-3 .carousel-slide {
        z-index: -1 !important;
    }
    
    #section-3 .carousel-slide.active {
        z-index: -1 !important;
    }
}

@media screen and (orientation: landscape) {
    #section-3 {
        background-image: url('../img/background.webp');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        background-attachment: fixed;
    }

    .photo-section-container {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
        width: 90%;
        gap: 4dvw;
    }

    .photo-section-container > div {
        height: 80dvh;
    }

    .photo-placeholder {
        position: relative;
        overflow: hidden;
        aspect-ratio: calc(2/3);    
        border-radius: 1dvh;
        flex-shrink: 0;
        box-shadow: 0 0 34px 0 rgba(255,255,255,0.10);
    }

    .photo-content {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
    }

    .photo-content h2 {
        margin-top: auto;
        margin-bottom: auto;
        align-self: center;
    }

    .photo-text {
        flex: 0.5;
        display: flex;
        align-items: center;
        width: 90%;
    }

    .photo-text p {
        font-size: 1.8vmin;
        line-height: 3.2vmin;
        text-align: justify;
        color: white;
        margin: 0;
    }

    .photo-button-container {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        margin-bottom: auto;
    }

    .photo-btn {
        display: inline-block;
        border-radius: 1dvh;
        border: 2px solid white;
        color: white;
        height: auto;
        min-width: 15dvw;
        padding: 4vmin;
        transition: 0.15s ease-in-out;
        background-color: transparent;
        font-family: "Varela Round", sans-serif;
        font-weight: bold;
        font-size: 1.5vmin;
        letter-spacing: 0.1em;
        text-decoration: none;
        line-height: auto;
        overflow: hidden;
        text-transform: uppercase;
        backdrop-filter: blur(7px);
        text-align: center;
    }

    .photo-btn:hover {
        background-color: white;
        color: #282828 !important;
    }
    
    /* Masquer l'overlay en mode paysage */
    .carousel-overlay {
        display: none;
    }
}

@media screen and (orientation: portrait) {
    /* Carrousel en arrière-plan plein écran */
    #section-3 {
        position: relative;
        overflow: hidden;
        height: 100dvh;
    }
    
    #section-3 .photo-placeholder {
        position: absolute;
        top: 0;
        left: 0;
        width: 100dvw;
        height: 100dvh;
        z-index: -1;
    }
    
    #section-3 .carousel-container {
        width: 100dvw;
        height: 100dvh;
        z-index: -1;
    }
    
    #section-3 .carousel-slide {
        background-size: cover;
        background-position: center;
        background-attachment: fixed;
        z-index: -1;
    }
    
    /* Overlay noir transparent (div HTML) */
    #section-3 .carousel-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100dvw;
        height: 100dvh;
        background-color: rgba(0, 0, 0, 0.35);
        z-index: 0;
        pointer-events: none;
    }
    
    /* Contenu superposé avec overlay */
    #section-3 .content {
        position: relative;
        z-index: 10;
        background-color: rgba(33, 33, 38, 0.8);
        backdrop-filter: blur(10px);
        height: 100dvh;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        padding: 0dvh 4dvh 0dvh 4dvh;
    }
    
    .photo-section-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        height: 90%;
        text-align: center;
    }

    .photo-content {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        height: 100%;
        text-align: center;
        padding: 4dvh 0dvh 4dvh 0dvh;
    }

    .photo-content h2 {
        margin: 0;
        font-size: 4dvh;
        color: white;
        align-self: center;
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        flex-basis: 20%;
    }

    .photo-text {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        flex-basis: 33%;
    }

    .photo-text p {
        font-size: 2.2dvh;
        line-height: 4dvh;
        text-align: center;
        color: white;
        margin: 0;
        text-shadow: 0px 0px 4px rgba(0,0,0,0.8);
        max-width: 90%;
    }

    .photo-button-container {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-shrink: 0;
        flex-basis: 20%;
    }

    .photo-btn {
        display: inline-block;
        border-radius: 1dvh;
        border: 2px solid white;
        color: white;
        height: auto;
        min-width: 20dvw;
        padding: 3dvh 4dvw;
        transition: 0.15s ease-in-out;
        background-color: rgba(0,0,0,0.3);
        font-family: "Roboto", sans-serif;
        font-weight: bold;
        font-size: 2dvh;
        letter-spacing: 0.1em;
        text-decoration: none;
        line-height: 2.5dvh;
        overflow: hidden;
        text-transform: uppercase;
        backdrop-filter: blur(7px);
        text-align: center;
        box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    }

    .photo-btn:hover {
        background-color: white;
        color: #282828 !important;
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(0,0,0,0.4);
    }

    .photo-content h2 {
        margin: 0;
        align-self: center;
    }

    .photo-text {
        flex: 1;
        display: flex;
        align-items: center;
        width: 100%;
    }

    .photo-text p {
        font-size: calc(100% - 0.3vmax);
        line-height: calc(100% + 2vmax);
        text-align: center;
        color: white;
        margin: 0;
    }

    .photo-button-container {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: 2dvh;
    }

    .photo-btn {
        display: inline-block;
        border-radius: 1dvh;
        border: 2px solid white;
        color: white;
        height: auto;
        min-width: 15dvh;
        padding: 3dvh 2dvh 3dvh 2dvh;
        transition: 0.15s ease-in-out;
        background-color: transparent;
        font-family: "Roboto", sans-serif;
        font-weight: bold;
        font-size: 1.5dvh;
        letter-spacing: 0.1em;
        text-decoration: none;
        line-height: 2.5dvh;
        overflow: hidden;
        text-transform: uppercase;
        backdrop-filter: blur(7px);
        text-align: center;
    }

    .photo-btn:hover {
        background-color: white;
        color: #282828 !important;
    }
}

