@font-face {
	font-family: 'Motley Forces';
    src: url('fonts/MotleyForces.woff2') format('woff2');
    src: url('fonts/MotleyForces.woff') format('woff');
	src: url('fonts/MotleyForces.ttf') format('ttf');
    src: url('fonts/MotleyForces.otf') format('opentype');
    font-weight: 100;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat-SemiBold';
    src: url(fonts/montserrat/Montserrat-SemiBold.otf) format('opentype');
}

@font-face {
    font-family: 'Montserrat-Regular';
    src: url(fonts/montserrat/Montserrat-Regular.otf) format('opentype');
}

@font-face {
    font-family: 'Montserrat-Black';
    src: url(fonts/montserrat/Montserrat-Black.otf) format('opentype');
}

/* reglages initiaux de la page */

body { 
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    font-family: "poppins", sans-serif;
    font-weight: 400;
    font-style: normal;
    overflow-x: hidden;
}

.page-actuelle {
    color: #FFDF6F;
    text-decoration: underline;
}

/* STYLE DU MENU */
nav {
    position: sticky;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Motley Forces';
    font-size: 2vw;
    letter-spacing: 0.07vw;
    background-color: #0E1422;
    height: 15vh;
    color: white;
}
nav a {
    text-decoration: none;
    color: #FBFBFB;
}

.menu a:hover {
    color: #FFDF6F;
}

/* le menu + le burger */
.liens {
    display: flex;
    width: 75%;
    gap: 5.3vw;
    align-items: center;
    justify-content: center;
}
/* menu qui contient simplement les liens */
.menu {
    order: 1;
    display: flex;
    gap: 3.1vw;
}

/* lorsque le menu burger est ouvert, la page doit pas pouvoir se scroll */
.stopscroll {
    overflow: hidden;
}


/* creer un separateur qui evitera une superposition de contenu 
lorsque le menu burger sera ouvert (faire baisser le hero) */
.separateur {
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    display: none; /* Initialement masquée */
}
.separateur.visible {
    display: block; /* Affichage lorsque la classe visible est présente */
}
/* FIN DU STYLE DU MENU */


/* MENU EN RESPONSIVE */
/* duplication du menu burger/container liens menu 
mais initialement placés en display none et s'affichent 
quand l'écran est inferieur a 900px*/
.hamburger-resp {
    width: 5.4vw;
    height: 5.4vw; 
    cursor: pointer;
    border: none;
    display: flex;
    background: #0E1422;
    align-items: center;
    position: relative;
    justify-content: center;
    display: none;
    padding: 0;
}
.hamburger-resp span{
    display: block;
    width: 100%;
    height: 0.5vw;
    background: #FBFBFB;
    position: absolute;
    pointer-events: none;
    transition: opacity 0.3s 0.15s ease-out;
}
/* Les 3 traits (span) se décollent en remontant le 1 et baissant le 3 */
.hamburger-resp span:nth-child(1){
    transform: translateY(1.8vw);
}
.hamburger-resp span:nth-child(3){
    transform: translateY(-1.8vw);
}
.hamburger-resp span:nth-child(1), .hamburger span:nth-child(3){
    transition: transform 0.3s ease-out;
}
/* Quand on déclenche la classe open, animation des barres du menu burger pour devenir une croix */
.hamburger-resp.open span:nth-child(1) {
    transform: translate(0) rotate(135deg);
}
.hamburger-resp.open span:nth-child(2) {
    opacity: 0;
    transition: opacity 0s ease-out;
}
.hamburger-resp.open span:nth-child(3) {
    transform: translate(0) rotate(-135deg);
}
.containerliensmenu-resp {
    flex-direction: column;
    align-items: center;
    position: absolute;
    background-color: #0E1422;
    top: 15vh;
    right: 0px;
    margin: 0;
    padding: 0;
    height: calc(100vh - 15vh);
    width: 100vw;
    justify-content: center;
    border-right: 0.06vw solid #c5c5c6;
    transform: translate(100%);
    transition: transform 0.3s ease-out;  
    display: none; 
}

/* menu */
.conteneur-txt {
    height: 80%;
    display: flex;
    align-items: center;   
}

.open {
    transform: translate(0%);
}

/* faire disparaitre le hero lorsque le menu burger est ouvert */
 .cachee {
    display: none;
 }

 .hamburger {
    display: none;
 }

 .nomportfolio {
    display: none;
    font-size: 3vw;
    font-family: 'Motley Forces';
    color: white;
 }

 .containerliensmenu-resp a {
    margin: 3vw 0vw;
    text-decoration: none;
    color: white;
    display: inline-block;
    position: relative;
    font-family: 'Motley Forces';
    font-size: 26px;
    display: none;
}





    .hero {
        width: 100vw;
        height: 85vh;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: row;
    }

    .parralax-nav {
        width: 45%;
        height: 100%;
        margin: 0;
        padding: 0;
        position: sticky; 
        top: 0;
        border-right: 0.02vw solid #0E1422;
    }

    .infosslide {
        width: 55%;
        height: 100%;
        margin: 0;
        padding: 0;
        overflow-y: auto; 
    }

    .presentation, .formation, .competences, .experience, .passions, .contact {
        width: 100%;
        height: 100%;
    }

    .presentation { background-image: url(medias/pattern-jaune.png); background-position: center; background-size: cover; position: relative; display: flex; justify-content: center; align-items: flex-end;}
    .formation { background-color: #F4F4F4; position: relative; display: flex; justify-content: center; align-items: center; overflow: hidden;}
    .competences { background-color: white; }
    .experience { background-color: #FFDF6F; }
    .passions { background-color: #fbfbfb; }
    .contact { background-color: white; }

    .div1, .div2, .div3, .div4, .div5, .div6 {
        font-family: 'Motley Forces';
        width: 37%;
        height: 23%;
        font-size: 1rem;
        border-radius: 1rem;
        position: absolute; /* Absolu par rapport au conteneur parent */
        display: flex;
        flex-direction: column;
        align-items: center;
        cursor: pointer;
    }

    .hover-area {
        width: 100%;
        height: 100%;
        z-index: 3;
        background-color: transparent;
        cursor: pointer;
    }
    .hover-area.pointer {
        cursor: pointer;
    }

    .div1 img, .div2 img, .div3 img, .div4 img, .div5 img, .div6 img {
        width: 100%;
        height: 100%;
        position: absolute;
    }

    .div1 p, .div2 p, .div3 p, .div4 p, .div5 p, .div6 p {
        width: 80%;
        height: auto;
        position: absolute;
        font-size: 1.6vw;
    }

    .trait1, .trait2, .trait3, .trait4, .trait5 {
        position: absolute;
        width: 10vw;
        height: 10vh;
    }


    .div1 { top: 4%; left: 8%; background-color: #0E1422; color:#FBFBFB;}
    .actifd1 { background-color: #FFDF6F; color: #0E1422}
    .conteneurimg1 { position: absolute; bottom: 0; right: -0.2vw; width: 70%; height: 70%;}
    .div1 img { object-fit: contain;}
    .div1 p { top: -1%;left: 8%;text-align: left;}
    .trait1 { top: 4%; left: 44%; z-index: -1; }
    .trait1 path { stroke-width: 2%; stroke-dasharray: 3% 3%;}
    .actift1 path { stroke: url(#gradient1); stroke-width: 5%; stroke-dasharray: 6% 6%; }

    

    .div2 { top: 10%;left: 55%; background-color: #0E1422; color:#FBFBFB;}
    .actifd2 { background-color: #B8CEDE; color: #0E1422;}
    .conteneurimg2 {position: absolute; top: 0vw; right: 2.5vw; width: 70%;height: 70%;}
    .div2 img { object-fit: contain; }
    .div2 p { bottom: -5%; text-align: center;}
    .trait2 { top: 28%; left: 41%; z-index: -1;}
    .trait2 path { stroke-width: 2%; stroke-dasharray: 3% 3%; }
    .actift2 path { stroke: url(#gradient2); stroke-width: 5%; stroke-dasharray: 6% 6%;}

    .div3 { top: 33%; left: 8%; background-color: #0E1422; color:#FBFBFB;}
    .actifd3 { background-color: #F9A473; color: #0E1422;}
    .conteneurimg3 {position: absolute; top: -1vw; right: -3.8vw; width: 85%;height: 85%;}
    .div3 img { object-fit: contain; }
    .div3 p { bottom: -5%; text-align: left;}
    .trait3 { top: 33%; left: 41%; z-index: -1;}
    .trait3 path { stroke-width: 2%; stroke-dasharray: 3% 3%;}
    .actift3 path { stroke: url(#gradient3); stroke-width: 5%; stroke-dasharray: 6% 6%;}

    .div4 { top: 39%; left: 55%; background-color: #0E1422; color:#FBFBFB;}
    .actifd4 { background-color: #FFDF6F; color: #0E1422}
    .conteneurimg4 {position: absolute; bottom: 0; right: 4.8vw; width: 70%;height: 70%;}
    .div4 img { object-fit: contain; }
    .div4 p { top: -5%; text-align: right;}
    .trait4 { top: 57%; left: 37%; z-index: -1;}
    .trait4 path { stroke-width: 2%; stroke-dasharray: 3% 3%}
    .actift4 path { stroke: url(#gradient4); stroke-width: 5%; stroke-dasharray: 6% 6%;}

    .div5 { top: 62%; left: 8%; background-color: #0E1422; color:#FBFBFB;}
    .actifd5 { background-color: #B8CEDE; color: #0E1422;}
    .conteneurimg5 {position: absolute; bottom: 0; right: 3.8vw; width: 85%;height: 85%; transform: scaleX(-1);}
    .div5 img { object-fit: contain; }
    .div5 p { top: -5%; text-align: center;}
    .trait5 { top: 82%; left: 36%; z-index: -1;}
    .trait5 path { stroke-width: 2%; stroke-dasharray: 3% 3%}
    .actift5 path { stroke: url(#gradient5); stroke-width: 5%; stroke-dasharray: 6% 6%;}

    .div6 {top: 68%; left: 55%; background-color: #0E1422; color:#FBFBFB;}
    .actifd6 { background-color: #F9A473; color: #0E1422;}
    .conteneurimg6 {position: absolute; bottom: 0; right: 3.6vw; width: 55%;height: 55%;}
    .div6 img { object-fit: contain; }
    .div6 p { top: -8%; text-align: center;}





/* SECTION PRÉSENTATION */

    .conteneurpresentation {
        width: 80%;
        height: 90%;
        position: relative;
    }

    .photo-nolan {
        position: absolute;
        bottom: 0;
        left: 0%;
        height: 85%;
        aspect-ratio: 1 / 1.5;
    }

    .message {
        width: 60%;
        position: absolute;
        right: 0%;
        top: 5.75vw;
    }

    .presentation p {
        position: absolute;
        width: 54%;
        left: 43%;
        top: 9vw;
        margin: 0;
        z-index: 1;
        font-size: 1.15vw;
        line-height: 1.5vw;
        text-align: justify;
    }

@media screen and (max-width: 1200px) {
    .photo-nolan {
        left: -15%;
    }
}

@media screen and (min-width: 1200px) {
    .message {
        top: 0vw;
    }

    .presentation p {
        top: 3.1vw;
    }
}




/* SECTION FORMATION */

.conteneurfrise {
    width: 45vw;
    height: 50vw;
    position: relative;
 
}

.partie0, .partie1, .partie2, .partie3, .partie4, .partie5, .frise0, .frise1, .frise2, .frise3, .frise4, .frise5 {
    position: absolute;
}

.partie0 {
    top: -22vw;
    left: 3.2vw;
    width: 5.8vw;
    height: 24vw;
    z-index: 1;
    display: none;
}

.partie1 {
    top: -0.5vw;
    left: 3vw;
    width: 13vw;
    height: 21vw;
}
.partie2 {
    top: 11vw;
    left: 15vw;
    width: 29vw;
    height: 15vw;
}
.partie3 {
    top: 25.6vw;
    left: 16.26vw;
    width: 26vw;
    height: 14vw;
}
.partie4 {
    width: 16vw;
    height: 16vw;
    top: 28vw;
    left: 1.6vw;
}

.partie5 {
    top: 42.5vw;
    left: 2.95vw;
    width: 6.7vw;
    height: 29vw;
    display: none;
}

.frise0 {
    bottom: 0vw;
    right: 0vw;
}

.frise1 {
    top: 1vw;
    left: 0vw;
    width: 13vw;
}

.frise2 {
    top: 1.3vw;
    left: 0vw;
    width: 94%;
}

.frise3 {
    top: 0vw;
    left: 0vw;
    width: 26vw;
}

.frise4 {
    bottom: -0.5vw;
    right: 0vw;
    width: 16vw;
}

.frise5 {
    top: 1vw;
    right: 0vw;
}

.textefrise1 {
    position: absolute;
    top: 21.5vw;
    left: 0.5vw;
    width: 15vw;
    height: 7vw;
    z-index: 1;
}
.a-jaune {
    color: #FFDF6F;
}
.elt-graphique1 {
    position: absolute;
    top: 0vw;
    left: 4.4vw;
    z-index: -1;
    width: 6vw;
}

.textefrise2 {
    position: absolute;
    top: 4.5vw;
    left: 21vw;
    width: 17vw;
    height: 7vw;
    z-index: 1;
}
.a-orange {
    color: #F9A473;
}
.elt-graphique2 {
    position: absolute;
    top: 0vw;
    left: 5.5vw;
    z-index: -1;
    width: 6vw;
}

.textefrise3 {
    position: absolute;
    top: 39.5vw;
    left: 29.3vw;
    width: 11vw;
    height: 7vw;
    z-index: 1;
}
.a-bleu {
    color: #B8CEDE;
}
.elt-graphique3 {
    position: absolute;
    top: 0vw;
    left: 2.5vw;
    z-index: -1;
    width: 6vw;
}

.textefrise4 {
    position: absolute;
    top: 37vw;
    left: 15vw;
    width: 10vw;
    height: 7vw;
    z-index: 1;
}
.a-blanc {
    color: #FBFBFB;
}
.elt-graphique4 {
    position: absolute;
    top: 0vw;
    left: 2vw;
    z-index: -1;
    width: 6vw;
}

.annee-frise {
    font-family: 'Motley Forces';
    font-size: 2vw;
    text-align: center;
    margin: 0;
}

.diplome-frise {
    font-family: 'Montserrat-Regular';
    font-size: 1vw;
    text-align: center;
    margin: 0;
    margin-top: 0.6vw;
}

.partie0, .partie1, .partie2, .partie3, .partie4, .partie5 {
    opacity: 0;
}

.reveler {
    all: unset;
    width: 16vw;
    height: 3vw;
    cursor: pointer;
    background-color: #0E1422;
    color: white;
    font-family: 'Montserrat-Regular';
    border-radius: 0.6vw;
    font-size: 1.2vw;
    text-align: center;
    position: relative;
    bottom: 0vw;
    left: 0vw;
}




@keyframes topToBottom {
    from {
        opacity: 0;
        transform: translateY(-10%);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes topLeftToBottomRight {
    from {
        opacity: 0;
        transform: translate(-10%, -10%);
    }
    to {
        opacity: 1;
        transform: translate(0, 0);
    }
}

@keyframes topRightToBottomLeft {
    from {
        opacity: 0;
        transform: translate(10%, -10%);
    }
    to {
        opacity: 1;
        transform: translate(0, 0);
    }
}

.partie0.appear, .partie5.appear {
    animation: topToBottom 1s ease-out forwards;
}

.partie1.appear, .partie2.appear {
    animation: topLeftToBottomRight 1s ease-out forwards;
}

.partie3.appear, .partie4.appear {
    animation: topRightToBottomLeft 1s ease-out forwards;
}



@media (max-width: 1200px) {
    .partie0, .partie5 {
        display: block;
    }
}




/* SECTION MES COMPÉTENCES : jeu memory */



    .competences {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 115%;
    }

    .grid-container {
        display: grid;
        width: 50%;
        height: 90%;
        grid-template-columns: repeat(4, minmax(0, 1fr)); /* Colonnes flexibles */
        gap: 1vw; /* Espacement entre les cartes */
        aspect-ratio: 2 / 3;
    }
    
    .grid-container > .carte {
        display: flex; /* Utiliser Flexbox pour centrer les cartes */
        align-items: center; /* Centrer verticalement */
        justify-content: center; /* Centrer horizontalement */
    }

    .carte {
        aspect-ratio: 2 / 3; /* Ratio largeur-hauteur de 1.5 */
        overflow: hidden; /* Masquer tout dépassement */
        transition: transform 0.2s, box-shadow 0.2s;
        perspective: 1000px; /* Pour permettre l'effet de retournement en 3D */
    
        /* Limiter la taille maximale des cartes */
        max-width: 100%; /* Les cartes ne dépasseront pas la largeur de la grille */
        max-height: 100%; /* Calculer la hauteur en fonction du nombre de colonnes et de l'espacement */
    }


    .interieur-carte {
        position: absolute;
        width: 100%;
        height: 100%;
        transition: transform 0.6s;
        transform-style: preserve-3d; /* Maintenir la perspective lors du retournement */
    }
    
    .face-arriere,
    .face-avant {
        position: absolute;
        width: 100%;
        height: 100%;
        backface-visibility: hidden; /* Masquer la face arrière lorsque retournée */
    }
    
    .face-arriere {
        background-image: url(medias/verso-carte.png);
        background-size: cover;
        background-position: center;
        border-radius: 8px; /* Coins arrondis */
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Ombre des cartes */
        cursor: pointer;
    }
    
    .face-avant {
        background-color: #f8f9fa;
        border-radius: 8px; /* Coins arrondis */
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1vw;
        font-family: "Motley Forces";
        color: #333;
        transform: rotateY(180deg); /* Initialement caché, retourné */
    }
    
    .long {
        font-size: 0.9vw;
    }

    .nom-competence {
        position: absolute;
        top: 5%;
    }

    .maitrise {
        width: 78%;
        height: 25%;
        position: absolute;
        top: 26%;
    }

    .maitrise p {
        font-family: 'Montserrat-Regular';
        font-size: 0.6vw;
        height: 15%;
        width: 100%;
    }

    .etoiles {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        width: 100%;
        height: 80%;
    }

    .etoile {
        width: 85%;
    }


    .carte.retournee .interieur-carte {
        transform: rotateY(180deg); /* Retourner la carte lors du survol */
    }
    
    .c1 {
        background-image: url(medias/carte1.png);
        background-size: cover;
        background-position: center;
        color: white;
    }

    .c2 {
        background-image: url(medias/carte2.png);
        background-size: cover;
        background-position: center;
        color: white;
    }

    .c3 {
        background-image: url(medias/carte3.png);
        background-size: cover;
        background-position: center;
        color: white;
    }

    .c4 {
        background-image: url(medias/carte4.png);
        background-size: cover;
        background-position: center;
        color: #0E1422;
    }

    .c5 {
        background-image: url(medias/carte5.png);
        background-size: cover;
        background-position: center;
        color: #0E1422;
    }

    .c6 {
        background-image: url(medias/carte6.png);
        background-size: cover;
        background-position: center;
        color: #0E1422;
    }
  
    .logo-logiciel {
        position: absolute;
        bottom: 10%;
        width: 50%;
    }

    .logo-wordpress {
        width: 70%;
        bottom: 4%;
    }




@media (min-width: 700px) {
    .grid-container {
        width: 80%; /* Largeur pour les écrans moyens */
        height: 80%;
    }
}

@media (min-width: 1000px) {
    .grid-container {
        width: 70%; /* Largeur pour les écrans plus grands */
        height: 90%;
    }
}

@media (min-width: 1200px) {
    .grid-container {
        width: 60%; /* Largeur pour les grands écrans */
        height: 95%;
    }
}


/* SECTION EXPERIENCE CARTE INTERACTIVE */

.experience {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: white;
}

.conteneurcarte {
    position: relative;
    width: 40vw;
    height: 40vw;
}

.map {
    width: 40vw;
    height: 40vw;   
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0; /* Ensure the image is at the back */
    aspect-ratio: 16 / 9;
}

.point {
    position: absolute;
    width: 4vw;
    height: auto; /* Allow SVG to keep its aspect ratio */
    cursor: pointer;
}

.point:hover {
    transform: scale(1.1); /* Optional: Add hover effect */
}

.point1 { left: 10.8vw; top: 27vw;}
.info1 { top: 10.543vw; left: 3.6vw;}

.point2 { left: 13vw; top: 29vw;}
.info2 { top: 12.4vw; left: 5.855vw;}

.point3 { left: 15vw; top: 26.5vw;}
.info3 { top: 10vw; left: 7.85vw;}

.point4 { left: 20vw; top: 18vw;}
.info4 { top: 1.4vw; left: 12.84vw;}

.point5 { left: 22vw; top: 17vw;}
.info5 { top: 16.3vw; left: 14.85vw;}

.point6 { left: 30vw; top: 8vw;}
.info6 { top: 7.4vw; left: 22.84vw;}

.point7 { left: 20vw; top: 15vw;}
.info7 { top: 14.4vw; left: 12.84vw;}

.info {
    width: 18vw;
    height: 21vw;
    background-color: #FBFBFB;
    position: absolute;
    z-index: 1;
    border-radius: 0.6vw;
    border: 0.2vw solid black;
    flex-direction: column;
    display: none; 
}

.infoactif {
    display: flex;
}

.date, .poste, .lieu, .zoneligne, .missions, .zoneimg {
    width: 80%;
    padding: 0% 10%;
    margin: 0;
    display: flex;
    align-items: center;
}

.date {
    height: 15%;
    justify-content: center;
    color: #E4E5E7;
    font-family: 'Montserrat-Black';
    font-size: 2vw;
}
.datelongue {
    font-size: 1.86vw;
}

.poste {
    height: 23%;
    color: #0E1422;
    font-family: 'Motley Forces';
    letter-spacing: 0.02vw;
    font-size: 1.17vw;
    align-items: flex-end;
}

.lieu {
    height: 9%;
    color: black;
    font-family: 'Montserrat-Regular';
    font-size: 1vw;
}

.zoneligne {
    height: 1%;
}
.ligne {
    background: linear-gradient(90deg, rgba(255, 223, 111, 0.95) 0%, #F9A473 66%, #B8CEDE 100%);
    width: 100%;
    height: 60%;
}

.missions {
    height: 28%;
    color: black;
    font-family: 'Montserrat-Regular';
    font-size: 0.85vw;
    align-items: flex-start;
    padding-top: 4%;
}

.zoneimg {
    height: 20%;
    justify-content: center;
}
.zonepluspetit { 
    height: 18%;
}

.croix {
    width: 20%;
    height: 75%;
    cursor: pointer;
}

/* Pour l'experience numero 4, ajustements visuels */
.p4 { height: 15%;}
.m4 { height: 36%;}





/* SECTION PASSIONS */

.passions {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.conteneursectionpassion {
    width: 85%;
    height: 85%;
    position: relative;
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
}

@media screen and (max-width: 1000px) {
    .conteneursectionpassion {
        height: 60%;
    }
}

.textespassions {
    position: relative;
    width: 100%;
    height: 22%;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding-bottom: 6%;
}

.titrepassions {
    font-size: 2.2vw;
    font-family: 'Motley Forces';
    margin: 0;
    padding: 0;
}
.accrochepassions {
    font-size: 1.3vw;
    font-family: 'Montserrat-Regular';
    margin: 0;
    margin-top: 1vw;
    padding: 0;
}

.choixdujeu {
    position: relative;
    width: 100%;
    height: 72%;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}

.conteneurtroisjeux {
    width: 100%;
    aspect-ratio: 67 / 35;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 0vw;
    grid-row-gap: 0vw;
}

.div-jeu1, .div-jeu2, .div-jeu3 {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.div-jeu1 { 
    grid-area: 1 / 1 / 2 / 2; 
    background-image: url(medias/pattern-bleu.png); 
    background-position: center; 
    background-size: cover; 
    border: 0.4vw solid #0E1422;
    border-right: 0.2vw solid #0E1422;
    border-radius: 0.5vw 0vw 0vw 0.5vw;
    overflow: hidden;
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #b8cede;
    z-index: 1;
    opacity: 0;
    transition: opacity 0.6s;
}

.ovbleu {
    background-color: #b8cede;
}

.ovorange {
    background-color: #F9A473;
}

.ovjaune {
    background-color: #FFDF6F;
}

.div-jeu1:hover .ovbleu {
    opacity: 1;
}
.div-jeu2:hover .ovorange {
    opacity: 1;
}
.div-jeu3:hover .ovjaune {
    opacity: 1;
}
.div-jeu1:hover, .div-jeu2:hover, .div-jeu3:hover  {
    cursor: none;
}


body .cursor-follow {
    position: fixed;
    width: 5vw;
    height: 5vw;
    background-color: #fbfbfb;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Motley Forces';
    font-size: 1vw;
    color: #0E1422;
    pointer-events: none;
    transform: translate(-50%, -50%);
    z-index: 100;
    visibility: hidden;
}

body .cursor-follow.active {
    visibility: visible;
}

.div-jeu2 { 
    grid-area: 1 / 2 / 2 / 3; 
    background-image: url(medias/pattern-orange.png); 
    background-position: center; 
    background-size: cover;
    border: 0.4vw solid #0E1422;
    border-right: 0.2vw solid #0E1422;
    border-left: 0.2vw solid #0E1422;
}

.div-jeu3 { 
    grid-area: 1 / 3 / 2 / 4; 
    background-image: url(medias/pattern-jaune.png); 
    background-position: center; 
    background-size: cover;
    border: 0.4vw solid #0E1422;
    border-left: 0.2vw solid #0E1422;
    border-radius: 0vw 0.5vw 0.5vw 0vw;
}

.nomjeu {
    font-family: 'Motley Forces';
    font-size: 1.6vw;
    color: #0E1422;
    text-align: center;
    width: 98%;
    text-shadow: 0.3vw 0 0 #fbfbfb, 0 0.3vw 0 #fbfbfb, 0 -0.3vw 0 #fbfbfb, -0.3vw 0 0 #fbfbfb, 0.3vw 0.3vw 0 #fbfbfb, 0.3vw -0.3vw 0 #fbfbfb, -0.3vw 0.3vw 0 #fbfbfb, -0.3vw -0.3vw 0 #fbfbfb;
    line-height: 1.7vw;
}

.illu-jeu {
    position: absolute;
    bottom: 0;
    width: 14vw;
}



/* SECTION CONTACT */

.contact {
    position: relative;
}

.entetecontact {
    width: 90%;
    height: 35%;
    margin: 0;
    padding: 0% 5%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1.5vw;
}

.formulaire-infos {
    width: 90%;
    height: 65%;
    margin: 0;
    padding: 0% 5%;
    position: relative;
}


.titrecontact {
    font-family: 'Montserrat-Black';
    font-size: 2vw;
    margin: 0;
    padding: 0;
}

.textecontact {
    font-family: 'Montserrat-Regular';
    font-size: 1.2vw;
    line-height: 1.7vw;
    margin: 0;
    padding: 0;
}

.boutoncontact {
    all: unset;
    display: flex;
    width: 15vw;
    height: 2.5vw;
    font-family: 'Montserrat-SemiBold';
    font-size: 1vw;
    background-color: #FFDF6F;
    border: 0.1vw solid #0E1422;
    border-radius: 2vw;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.boutoncontact button {
    all: unset;
}

.textecontact strong {
    font-family: 'Montserrat-SemiBold';
    color: #F9A473;
}

.nom-prenom {
    display: flex;
    justify-content: space-between;
    margin-top: 1.5vw;
}

#name {
    display: flex;
    width: 43%;
    height: 4vw;
    padding: 0% 2.5%;
    align-items: center;
    border: double 2px transparent;
    border-radius: 0.7vw;
    background-image: linear-gradient(#fbfbfb, #fbfbfb), linear-gradient(to right, #FFDF6F, #F9A473);
    background-origin: border-box;
    background-clip: padding-box, border-box;
}


#firstname {
    display: flex;
    width: 43%;
    height: 4vw;
    padding: 0% 2.5%;
    align-items: center;
    border: double 2px transparent;
    border-radius: 0.7vw;
    background-image: linear-gradient(#fbfbfb, #fbfbfb), linear-gradient(to right, #F9A473, #B8CEDE);
    background-origin: border-box;
    background-clip: padding-box, border-box;
}


.mail-telephone {
    margin-top: 1.5vw;
    display: flex;
    justify-content: space-between;
}

#email {
    display: flex;
    width: 58%;
    height: 4vw;
    padding: 0% 2.5%;
    align-items: center;
    border: double 2px transparent;
    border-radius: 0.7vw;
    background-image: linear-gradient(#fbfbfb, #fbfbfb), linear-gradient(to right, #FFDF6F, #F9A473);
    background-origin: border-box;
    background-clip: padding-box, border-box;
}


#phone {
    display: flex;
    width: 28%;
    height: 4vw;
    padding: 0% 2.5%;
    align-items: center;
    border: double 2px transparent;
    border-radius: 0.7vw;
    background-image: linear-gradient(#fbfbfb, #fbfbfb), linear-gradient(to right, #F9A473, #B8CEDE);
    background-origin: border-box;
    background-clip: padding-box, border-box;
}

#message {
    margin-top: 1.5vw;
    display: flex;
    width: 94.2%;
    height: 8vw;
    padding: 1vw 2.5%;
    align-items: center;
    border: double 2px transparent;
    border-radius: 0.7vw;
    background-image: linear-gradient(#fbfbfb, #fbfbfb), linear-gradient(to right, #FFDF6F, #F9A473, #B8CEDE);
    background-origin: border-box;
    background-clip: padding-box, border-box;
    resize: none;
}

.bouton-envoi {
    width: 100%;
    height: 3vw;
    position: relative;
}

.bouton-envoi button {
    height: 100%;
    width: 32%;
    background-color: #F9A473;
    color: #fbfbfb;
    border: none;
    border-radius: 0.6vw;
    font-family: 'Montserrat-SemiBold';
    font-size: 1vw;
}



#name:focus,
#firstname:focus,
#email:focus,
#phone:focus,
#message:focus {
    outline: none;
    background-image: linear-gradient(#fbfbfb, #fbfbfb), linear-gradient(to right, #B8CEDE, #B8CEDE);
}

#name::placeholder,
#firstname::placeholder,
#email::placeholder,
#phone::placeholder,
#message::placeholder {
    font-family: 'Montserrat-Regular';
    font-size: 1vw;
}



.cacherlanavigation {
    display: none;
}


@media screen and (max-width: 1000px) {
    .entetecontact {
        gap: 2vw;
    }

    .titrecontact {
        font-size: 2.7vw;
    }
    
    .textecontact {
        font-size: 1.5vw;
        line-height: 2vw;
    }
    
    .titrepassions {
        font-size: 4.2vw;
        font-family: 'Motley Forces';
        margin: 0;
        padding: 0;
    }

    .accrochepassions {
        font-size: 2.3vw;
        font-family: 'Montserrat-Regular';
        margin: 0;
        margin-top: 1vw;
        padding: 0;
    }

    

    .boutoncontact {
        width: 15vw;
        height: 2.5vw;
        font-size: 1vw;
        border: 0.2vw solid #0E1422;
        border-radius: 2vw;
    }
}













@media screen and (max-width: 750px) {
    .liens {
        display: flex;
        width: 75%;
        gap: 5.3vw;
        align-items: center;
        justify-content: space-between;
    }

    body {
        overflow-x: hidden;
    }
    .menu, .hamburger {
        display: none;
    }
    .hamburger-resp {
        display: flex; 
    }
    .nomportfolio {
        display: flex;
    }

    .containerliensmenu-resp {
        display: none;
        gap: 0.6rem
    }

    .containerliensmenu-resp a {
        display: block;
    }
    
    .open {
        display: flex;
    }
   
    
    .parralax-nav {
        display: none;
    }

    nav {
        font-size: 3vw;
    }

    .infosslide {
        all: unset;
        width: 100vw;
        height: 100%;
        margin: 0;
        padding: 0;
        overflow-y: auto; 
    }

    .presentation p {
        position: absolute;
        width: 50%;
        left: 45%;
        top: 10vw;
        margin: 0;
        z-index: 1;
        font-size: 2.1vw;
        line-height: 2.8vw;
    }

    .annee-frise {
        font-size: 4vw;
    }

    .conteneurfrise {
        width: 70vw;
        height: 100vw;
    }

    .elt-graphique1 {
        position: absolute;
        top: 0vw;
        left: 6.4vw;
        z-index: -1;
        width: 12vw;
    }
    .textefrise1 {
        position: absolute;
        top: 38.5vw;
        left: -8.5vw;
        width: 25vw;
        height: 7vw;
        z-index: 1;
    }

    .elt-graphique2 {
        position: absolute;
        top: 0vw;
        left: 12.9vw;
        z-index: -1;
        width: 12vw;
    }
    .textefrise2 {
        position: absolute;
        top: 1.5vw;
        left: 35vw;
        width: 38vw;
        height: 7vw;
        z-index: 1;
    }

    .elt-graphique3 {
        position: absolute;
        top: 0vw;
        left: 5.2vw;
        z-index: -1;
        width: 12vw;
    }
    .textefrise3 {
        position: absolute;
        top: 82.5vw;
        left: 53.3vw;
        width: 23vw;
        height: 7vw;
        z-index: 1;
    }

    .elt-graphique4 {
        position: absolute;
        top: 0vw;
        left: 7.3vw;
        z-index: -1;
        width: 12vw;
    }
    .textefrise4 {
        position: absolute;
        top: 77vw;
        left: 14vw;
        width: 27vw;
        height: 7vw;
        z-index: 1;
    }

    .diplome-frise {
        font-size: 2.2vw;
    }

    .frise1 {
        top: -10vw;
        right: -7vw;
        width: 30vw;
    }

    .frise2 {
        top: 5.8vw;
        left: 5vw;
        width: 62vw;
    }

    .frise3 {
        top: 22vw;
        left: 7.5vw;
        width: 58vw;
    }

    .frise4 {
        bottom: -45.5vw;
        right: -7.9vw;
        width: 35vw;
    }


    .partie5 {
        top: 86.5vw;
        left: -6.5vw;
        width: 14.3vw;
        height: 29vw;
    }

    .partie0 {
        top: -22vw;
        left: -6.6vw;
        width: 13.5vw;
        height: 24vw;
        z-index: 1;
    }

    .partie1 {
        top: -0.5vw;
        left: -7vw;
        width: 13vw;
        height: 21vw;    
    }

    .grid-container {
        height: 75%;
        width: 76%;
    }

    .nom-competence {
        position: absolute;
        top: 3%;
        font-size: 2.1vw;
    }

    .maitrise p {
        font-family: 'Montserrat-Regular';
        font-size: 1.6vw;
        height: 39%;
        width: 100%;
        margin: 0;
        margin-top: 1vw;
    }

    .conteneurcarte {
        position: relative;
        width: 80vw;
        height: 80vw;
    }

    .map {
        width: 80vw;
        height: 80vw;
    }

    .point {
        position: absolute;
        width: 8vw;
        height: auto;
        cursor: pointer;
    }

    .point1 {
        left: 21.6vw;
        top: 54vw;
    }
    .info1 {
        top: 19.543vw;
        left: 7.2vw;
    }

    .point2 {
        left: 26vw;
        top: 58vw;
    }
    .info2 {
        top: 23.4vw;
        left: 11.855vw;
    }

    .point3 {
        left: 30vw;
        top: 53vw;
    }
    .info3 {
        top: 19vw;
        left: 15.85vw;
    }

    .point4 {
        left: 40vw;
        top: 36vw;
    }
    .info4 {
        top: 1.4vw;
        left: 25.4vw;
    }    

    .point5 {
        left: 44vw;
        top: 34vw;
    }
    .info5 {
        top: 34.3vw;
        left: 29.85vw;
    }

    .point6 {
        left: 60vw;
        top: 16vw;
    }
    .info6 {
        top: 16.4vw;
        left: 45.84vw;
    }
    .point7 {
        left: 40.5vw;
        top: 29vw;
    }
    .info7 {
        top: 28.4vw;
        left: 25.84vw;
    }
    

    .reveler {
        all: unset;
        width: 74vw;
        height: 10vw;
        cursor: pointer;
        background-color: #0E1422;
        color: white;
        font-family: 'Montserrat-Regular';
        border-radius: 1.6vw;
        font-size: 2.5vw;
        text-align: center;
        position: relative;
        bottom: 0vw;
        left: 0vw;
        margin-top: 5vw;
    }


    .info {
        width: 36vw;
        height: 42vw;
        background-color: #FBFBFB;
        position: absolute;
        z-index: 1;
        border-radius: 1.2vw;
        border: 0.4vw solid black;
        flex-direction: column;
    }

    .date {
        font-size: 4vw;
    }

    .datelongue {
        font-size: 3.72vw;
    }

    .poste {
        letter-spacing: 0.04vw;
        font-size: 2.34vw;
    }

    .lieu {
        font-size: 2vw;
    }

    .missions {
        font-size: 1.7vw;
    }

    .croix {
        width: 45%;
        height: 95%;
        cursor: pointer;
    }

    .conteneurtroisjeux {
        all: unset;
        width: 100%;
        height: 100vw;
        display: grid;
        grid-template-rows: repeat(3, 1fr);
        grid-template-columns: 1fr;
        grid-column-gap: 0vw;
        grid-row-gap: 0vw;
    }

    .div-jeu1 {
        grid-area: 1 / 1 / 2 / 2;
        background-image: url(medias/pattern-bleu.png);
        background-position: center;
        background-size: cover;
        border: 0.8vw solid #0E1422;
        border-bottom: 0.4vw solid #0E1422;
        border-radius: 1vw 1vw 0vw 0vw;
        overflow: hidden;
        position: relative;
    }
    .div-jeu2 {
        grid-area: 2 / 1 / 3 / 2; 
        background-image: url(medias/pattern-orange.png);
        background-position: center;
        background-size: cover;
        border: 0.8vw solid #0E1422;
        border-top: 0.4vw solid #0E1422;
        border-bottom: 0.4vw solid #0E1422;
        position: relative;
    }
    .div-jeu3 {
        grid-area: 3 / 1 / 4 / 2;
        background-image: url(medias/pattern-jaune.png);
        background-position: center;
        background-size: cover;
        border: 0.8vw solid #0E1422;
        border-top: 0.4vw solid #0E1422;
        border-radius: 0vw 0vw 1vw 1vw;
        position: relative;
    }

    .nomjeu {
        font-family: 'Motley Forces';
        font-size: 3.6vw;
        color: #0E1422;
        text-align: center;
        width: 42%;
        text-shadow: 0.9vw 0 0 #fbfbfb, 0 0.9vw 0 #fbfbfb, 0 -0.9vw 0 #fbfbfb, -0.9vw 0 0 #fbfbfb, 0.9vw 0.9vw 0 #fbfbfb, 0.9vw -0.9vw 0 #fbfbfb, -0.9vw 0.9vw 0 #fbfbfb, -0.9vw -0.9vw 0 #fbfbfb;
        line-height: 3.7vw;
        position: absolute;
        top: 9vw;
        left: 8vw;
    }
    .grandnom {
        top: 7vw;
    }

    .illu-jeu {
        position: absolute;
        bottom: 2vw;
        width: 24vw;
        right: 8vw;
    }

    .passions {
        display: flex;
        justify-content: center;
        align-items: flex-start;
    }

    #name {
        height: 13vw;
        border: double 1px transparent;
        border-radius: 2vw;
    }

    #firstname {
        height: 13vw;
        border: double 1px transparent;
        border-radius: 2vw;
    }

    #email {
        height: 13vw;
        border: double 1px transparent;
        border-radius: 2vw;
    }

    #phone {
        height: 13vw;
        border: double 1px transparent;
        border-radius: 2vw;
    }

    #message {
        height: 35vw;
        border: double 1px transparent;
        border-radius: 2vw;
    }

    .boutoncontact {
        width: 42vw;
        height: 8vw;
        font-size: 3vw;
        border: 0.4vw solid #0E1422;
        border-radius: 5vw;
        margin-top: 4vw;
    }

    .titrecontact {
        font-size: 4.7vw;
        margin-bottom: 4vw;
    }

    .textecontact {
        font-size: 3.5vw;
        line-height: 4vw;
    }

    .contact input, .contact textarea {
        font-size: 16px;
        padding-left: 1vw;
        padding-top: 2vw;
    }

    #name::placeholder,
    #firstname::placeholder,
    #email::placeholder,
    #phone::placeholder,
    #message::placeholder {
        padding-left: 1vw;
        font-family: 'Montserrat-Regular';
        font-size: 16px;
    }

    #message {
        padding-top: 4vw;
    }
    .bouton-envoi {
        width: 100%;
        height: 6vw;
        position: relative;
    }

    .bouton-envoi button {
        height: 170% !important;
        width: 100% !important;
        background-color: #F9A473 !important;
        color: #fbfbfb !important;
        border: none !important;
        border-radius: 1.4vw !important;
        font-family: 'Montserrat-SemiBold' !important;
        font-size: 3vw !important;
    }
    
    .experience {
        height: 70%;
    }

    .nomportfolio {
        display: flex;
    }

    nav {
        font-size: 3vw;
    }
    
}