:root {
    --c-background: #F7F5F0;
    --c-text: #000000;
    --c-secondary: #FBBA16;
    --c-tertiary: #00492C;
    --f-atkinson: "Atkinson Hyperlegible", -apple-system, sans-serif;
    --f-poppins: "Poppins", -apple-system, sans-serif;
}

* {
    margin: 0;
}

html {
    --scroll-behavior: smooth;
    scroll-behavior: smooth;
}

body {
    background-color: var(--c-background);
}

p {
    font-family: var(--f-atkinson);
    font-size: 20px;
}

h1 {
    font-size: 40px;
}

h2 {
    font-family: var(--f-poppins);
    font-size: 32px;
}

.bg-vert{
    background-color: var(--c-tertiary);
}

.top-30{
    margin-top: 30px;
}

.top-120{
    margin-top: 120px;
}

.bottom-30{
    margin-bottom: 30px;
}

ol{
    font-family: var(--f-atkinson);
    font-size: 20px;
}

/* -- header -- */

header {
    height: 100vh;
    padding-top: 50px;
    margin-left: 80px;
    margin-right: 80px;
}

.logo {
    font-family: var(--f-poppins);
    font-size: 24px;
    font-weight: bold;
    text-decoration: none;
    color: var(--c-text);
}

nav {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
}

.navLiens {
    display: flex;
    justify-content: space-between;
    gap: 50px;
    font-size: 20px;
}

.navA {
    font-family: var(--f-atkinson);
    text-decoration: none;
    color: var(--c-text);
}

.navA:hover {
    text-decoration: underline;
    text-underline-offset: 8px;
}

.divHeaderCenter {
    text-align: center;
}

.divBienvenue {
    font-family: var(--f-poppins);
    display: flex;
    flex-direction: column;
    padding: 200px 0px;
}

.pBienvenue {
    font-size: 40px;
    margin-bottom: 0px;
    font-weight: bold;
    font-family: var(--f-poppins);
}

.bienvenueDesc {
    margin-top: 10px;
    font-weight: bold;
}

.decouvrir {
    margin-top: 30px;
}

.imgArrow {
    width: 22px;
    margin-top: 10px;
}

/* Media Queries */

/* Petits écrans (tablettes et téléphones) */
@media (max-width: 768px) {
    header {
        padding: 20px 40px;
        height: auto;
    }

    nav {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
        margin-left: -20px;
    }

    .navLiens {
        flex-direction: column;
        gap: 15px;
        font-size: 18px;
    }

    .divBienvenue {
        padding: 100px 0;
    }

    .pBienvenue {
        font-size: 32px;
    }

    .bienvenueDesc {
        font-size: 24px;
    }

    .imgArrow {
        width: 18px;
    }
}

/* Très petits écrans (mobiles) */
@media (max-width: 480px) {
    header {
        padding: 10px 20px;
    }

    nav {
        margin-left: -50px; /* Ajuste encore sur mobile */
    }

    .logo {
        font-size: 20px;
    }

    .navLiens {
        font-size: 16px;
    }

    .pBienvenue {
        font-size: 28px;
    }

    .bienvenueDesc {
        font-size: 20px;
    }

    .imgArrow {
        width: 16px;
    }

    .decouvrir {
        margin-top: 20px;
    }
}

/* -- body -- */

.monTravail {
    margin-left: 80px;
    display: flex;
    flex-direction: row;
    gap: 10px;
    font-family: var(--f-poppins);
}

.starTitre {
    width: 40px;
}

.listeTravail {
    margin-top: 30px;
    margin-left: 80px;
    margin-right: 80px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    flex-direction: row;
    justify-content: space-between;
}

.projet {
    color: var(--c-text);
    text-decoration: none;
}

.imageProjetCover {
    width: 250px;
    /* height: max-content; */
    background-color: var(--c-secondary);
    border-radius: 30px;
    transition: transform .1s;
}
.imageProjetCover:hover{
    -ms-transform: scale(1.05); /* IE 9 */
    -webkit-transform: scale(1.05); /* Safari 3-8 */
    transform: scale(1.05);
}

.retourHaut {
    transition: 0.3s;
    font-family: var(--f-atkinson);
    font-size: 20px;
    text-align: center;
    border: solid 1px var(--c-text);
    padding: 15px 10px;
    color: var(--c-text);
    text-decoration: none;
    margin-right: 80px;
}
.retourHaut:hover{
    background-color: var(--c-text);
    color: var(--c-background);
}

.retourHautDiv {
    margin: 50px 0px;
    width: 100vw;
    display: flex;
    flex-direction: row;
    justify-content: right;
}

.lienExterneVert{
    color: var(--c-tertiary);
    text-decoration: none;
}

.lienExterneVert:hover {
    text-decoration: underline;
}

/* -- footer -- */

footer {
    background-color: var(--c-tertiary);
    color: var(--c-background);
    padding: 50px 80px;
}

.ligneSup {
    display: flex;
    flex-direction: row;
    gap: 100px;
    margin-bottom: 30px;
}

.liensExternes {
    display: flex;
    flex-direction: row;
    gap: 30px;
    align-items: center;
}

.lienExterneFooter {
    color: var(--c-background);
    font-family: var(--f-atkinson);
    font-size: 20px;
}

.lienExterneFooter:hover {
    text-decoration: none;
}

.essentiels {
    display: flex;
    flex-direction: row;
    gap: 70px;
    font-size: 20px;
    font-family: var(--f-atkinson);
}

.lienInterneFooter {
    text-decoration: none;
    color: var(--c-background);
}

.lienInterneFooter:hover {
    text-decoration: underline;
}

/* Petits écrans (tablettes et téléphones) */
@media (max-width: 768px) {
    footer {
        padding: 30px 40px;
    }

    .ligneSup {
        flex-direction: column;
        align-items: center;
        gap: 20px;
        text-align: center;
    }

    .liensExternes {
        flex-direction: column;
        gap: 15px;
    }

    .essentiels {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }
}

/* Très petits écrans (mobiles) */
@media (max-width: 480px) {
    .lienExterneFooter {
        font-size: 18px;
    }

    .essentiels {
        font-size: 18px;
    }
}

/* -- A propos de moi -- */

.divCVListe{
    display: flex;
    flex-direction: row;
    gap: 20px;
}
.spanCvDesc{
    font-size: 16px;
    font-style: italic;
}

.listeCv {
    font-family: var(--f-atkinson);
    font-size: 20px;
}

ul.listeCv {
    list-style: none;
    padding-left: 0;
}

ul.listeCv li {
    position: relative;
    padding-top: 30px;
    padding-left: 40px;
    /* Espace pour l'étoile */
    line-height: 2rem;
}

ul.listeCv li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    /* Largeur de l'étoile */
    height: 30px;
    /* Hauteur de l'étoile */
    background-image: url(../img/star.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.divLangue{
    margin-top: 10px;
    width: 200px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.ctrInterets {
    margin-top: 20px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    row-gap: 10px;
    column-gap: 30px;
}

.competences{
    margin-top: 20px;
    font-family: var(--f-atkinson);
    font-size: 20px;
}
td{
    padding-right: 40px;
    padding-bottom: 10px;
}

.langComp{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 100px;
    margin: 0px 300px;
    margin-top: 75px;
}

.cvPres{
    margin: 50px 300px;
    /* margin-top: 70px; */
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 100px;
}
.photoProfil{
    height: 300px;
    border-radius: 3px;
}

.information{
    display: flex;
    flex-direction: row;
    gap: 20px;
    margin: 0px auto;
    margin-top: 50px;
    margin-bottom: 20px;
    padding: 15px 10px;
    border-radius: 10px;
    /* transform: rotateZ(4deg); */
    /* background-color: var(--c-secondary); */
    border: solid 3px var(--c-secondary);
    width: fit-content;
}

.texteCv{
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.dlCV{
    font-family: var(--f-atkinson);
    font-size: 20px;
    width: fit-content;
    text-decoration: none;
    color: var(--c-text);
    border: solid 1px var(--c-text);
    padding: 20px;
    transition: 0.3s;
}
.dlCV:hover{
    background-color: var(--c-secondary);
}

/* Media Queries */

/* Format tablette (768px et moins) */
@media (max-width: 870px) {
    .cvPres {
        flex-direction: column;
        align-items: center;
        gap: 30px;
        margin: 0px 50px;
        text-align: left;
    }

    .langComp {
        flex-direction: column;
        gap: 20px;
        margin: 0px 50px;
        margin-top: 50px;
    }

    .photoProfil {
        width: 80%; /* Redimensionne l'image */
        max-width: 250px;
        height: auto;
    }

    .information {
        flex-direction: column;
        text-align: center;
        margin: 50px 20px;
    }

    .partieVerte {
        padding: 20px 50px;
    }

    .competences {
        margin: 0px auto;
    }

    .texteCv {
        text-align: left;
    }

    .divCVListe {
        flex-direction: column;
    }
}

@media (max-width: 480px) {
    
}

/* -- Page Projet -- */

.headerProjet {
    height: fit-content;
}

.ariane {
    margin-left: 80px;
    margin-top: 20px;
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.arianeIcon {
    width: 20px;
}

.contenuProjet {
    margin: 0px 300px;
    margin-top: 75px;
}

.projetTitle {
    font-family: var(--f-poppins);
}

.descriptionProjet {
    margin-top: 10px;
}

.projetBalise{
    width: 250px;
}

.listeProjet, .listeProjetLong {
    font-family: var(--f-atkinson);
    font-size: 20px;
}

ul.listeProjet, ul.listeProjetLong {
    list-style: none;
    padding-left: 0;
}

ul.listeProjet li, ul.listeProjetLong li {
    position: relative;
    padding-left: 40px;
    /* Espace pour l'étoile */
    line-height: 2rem;
}

ul.listeProjet li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    /* Largeur de l'étoile */
    height: 30px;
    /* Hauteur de l'étoile */
    background-image: url(../img/star.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

ul.listeProjetLong li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 16px;
    transform: translateY(-50%);
    width: 30px;
    /* Largeur de l'étoile */
    height: 30px;
    /* Hauteur de l'étoile */
    background-image: url(../img/star.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.accesLienExt{
    text-decoration: none;
    color: var(--c-text);
    margin-top: 30px;
    width: 100%;
    padding: 20px;
    border: solid 1px var(--c-text);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center; /* Centre les éléments verticalement dans le conteneur */
    transition: 0.3s;
}
.accesLienExt:hover{
    background-color: var(--c-secondary);
}
.accesFigmaTexte{
    display: flex;
    flex-direction: row;
}
.logoFigma{
    width: 46px;
}

.partieVerte {
    background-color: var(--c-tertiary);
    color: var(--c-background);
    padding: 30px 300px 30px 300px;
    margin-top: 50px;
}

.listePhotoProjetA4 {
    display: flex;
    flex-wrap: nowrap;
    gap: 30px;
    justify-content: center;
    padding: 20px 50px;
    overflow-x: auto;
}

.imageProjet {
    flex: 1 1 auto;
    max-width: 300px;
    height: auto;
}

.photoHorizontale {
    width: 100%;
}
.photoCarre{
    width: 50%;
    padding: 0% 25%;
}

.listePhotoProjetMockup {
    display: flex;
    flex-wrap: nowrap;
    gap: 30px;
    justify-content: center;
    padding: 20px 50px; /* Réduire le padding pour plus de flexibilité */
    overflow-x: auto;
}

.imageProjetMockup {
    flex: 1 1 auto; /* Les images prennent une taille flexible */
    max-width: 220px; /* Limite la largeur maximale des images */
    height: auto; /* Garder le ratio de l'image */
}

.imageStat {
    flex: 1 1 auto; /* Les images prennent une taille flexible */
    max-width: 45%; /* Limite la largeur maximale des images */
    height: auto; /* Garder le ratio de l'image */
}

.lienExterne{
    color: var(--c-text);
    text-decoration: underline;
}
.lienExterne:hover{
    text-decoration: none;
}

/* Media Queries */

/* Petits écrans (tablettes et téléphones) */
@media (max-width: 768px) {
    /* .ariane {
        margin-left: 40px;
    } */

    .contenuProjet {
        margin: 0px 80px;
        margin-top: 20px;
    }

    .accesLienExt {
        flex-direction: column;
        padding: 15px;
    }

    .accesFigmaTexte {
        justify-content: center;
    }

    .logoFigma {
        width: 36px;
        margin-top: 10px;
    }

    .partieVerte {
        padding: 20px 80px;
    }

    .listePhotoProjetA4,
    .listePhotoProjetMockup {
        flex-wrap: wrap;
        padding: 20px;
    }

    .imageProjet,
    .imageProjetMockup {
        max-width: 200px;
    }

    .photoHorizontale,
    .photoCarre {
        width: 100%;
        padding: 0;
    }

    .imageStat {
        max-width: 100%;
    }
}

/* Très petits écrans (mobiles) */
@media (max-width: 480px) {
    .ariane {
        margin-left: 20px;
    }

    .contenuProjet {
        margin: 0px 20px;
        margin-top: 20px;
    }

    .accesLienExt {
        padding: 10px;
    }

    .logoFigma {
        width: 30px;
        margin-top: 10px;
    }

    .partieVerte {
        padding: 20px;
    }

    .listePhotoProjetA4,
    .listePhotoProjetMockup {
        gap: 20px;
        padding: 10px;
    }

    .imageProjet,
    .imageProjetMockup {
        max-width: 150px;
    }

    .imageStat {
        max-width: 100%;
    }
}

/* -- Plan du site -- */

.lienPlan{
    color: var(--c-text);
    text-decoration: none;
}

.lienPlan:hover{
    text-decoration: underline;
}

.htmlHeight{
    height: 100%;
}
.bodyHeight{
    min-height: 100%;
}
.footerBottom{
    position: absolute; 
    bottom: 0; 
    width: 100%; 
    padding: 50px 0px;
}

/* Media Queries */

/* Pour les écrans de type tablette entre 768px et 835px */
@media (max-width: 835px) {
    .footerBottom {
        position: static; /* Change la position pour statique */
        padding: 30px 0px;
    }
}