/*************************************** FONTS ***************************************/

@font-face {
    font-family: Gulax;
    src: url("src/fonts/Gulax.otf");
}

/*************************************** VARIABLES ***************************************/

:root {
    --ABOUT-margin-right : 50px;
    --ABOUT-margin-left : 50px;
    --ABOUT-border-radius : 50px;
}
/*************************************** GENERAL ***************************************/
body {
    background-color: #22767A;
    margin-top: 100px;
    color: white;
}

h2 {
    font-family: "Gulax";
}

p {
    font-family: "Bai Jamjuree", sans-serif;
    font-weight: 400;
}

a{
    color: white;
}
/*************************************** BARRE DE NAVIGATION ***************************************/

.navbar {
    position: fixed;
    top: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    z-index: 1000; 

    padding: 0;
    left: 0;

    background-color: black;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);   
    color: white;
}

.navbar a {
    font-family: "Gulax";
    font-size: 20px;
    color: white;
    text-align: center;
    text-decoration: none;

    padding: 20px 30px;
    margin-right: 75px;

    display: inline-block;
    transition: background 0.3s ease;
}

.navbar a:hover {
    background-color: #0f4245;
}

#accueil {
    margin-left: 30px;
}

/* Style du menu burger */
.burger {
    margin-left: auto;
    margin-right: 10px;
    
    padding: 10px;
    display: none;
    flex-direction: column;
    cursor: pointer;
}

.burger div {
    width: 30px;
    height: 4px;
    background-color: white;
    margin: 5px;
    transition: all 0.3s ease;
    border-radius: 10px;
}



/*************************************** PAGE TITRE ***************************************/
.title{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
}

.title img{
    flex-grow: 2;
    max-width: 95vw;
    max-height: 80vh;
    order: 2;
    padding: 10px;
}

.title__rectangle {
    flex-grow: 1;
    min-width: 20vw;
    margin: 5vh 0;
    background-color: #219ba1;
    text-align: center;

    display: flex;
    justify-content: center;
    align-items: center;
}

.title__rectangle__texte {
    font-size: 3vh;
    padding: 0;
}

#title__rectangle__gauche {
    order: 1;
}

#title__rectangle__droite {
    order: 3;
}


/*************************************** GLOBAL STYLES ***************************************/
.image-container {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.image-container img,  .image-container video{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover; 
    background-color : #3f3f3f;
}

.slide {
    position: absolute;
    top: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(74, 185, 191, 0.85);
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: top 0.5s ease, opacity 0.5s ease;
}

.image-container:hover .slide {
    top: 0;
    opacity: 1;
}

.legende {
    color: white;
    font-size: 15px;
    text-align: center;
    padding: 10px;
    font-family: "Bai Jamjuree", sans-serif;
    font-weight: 400;
    position: absolute;
}

.projets .image-container,
.page_refs .image-container {
    position: relative;
    overflow: hidden;
    transition: transform 1s ease;
}

/*************************************** PROJETS SECTION ***************************************/
.projets {
    /*margin-top: 110px;*/
    padding: 20px;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); 
    gap: 20px;
}

.projets .image-container {
    margin-bottom: 20px;
    height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.projets video {
    object-fit: contain;
    display: block;
    height: 500px;
    width: auto;
}


.projets h2 {
    font-size: 24px;
    margin-bottom: 10px;
    text-align: center;
}

.projets p {
    font-size: 17px;
    text-align: center;
    margin-bottom: 30px;
}

.projets .image-container img {
    display: block;
    width: 354px;
    height: 500px;
    object-fit: contain;
}

/* Slide overlay */
.slide {
    position: absolute;
    top: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(74, 185, 191, 0.85);
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: top 0.5s ease, opacity 0.5s ease;
}

/*************************************** REFERENCES SECTION ***************************************/

.page_refs {
    margin-top: 110px;
    padding: 20px;
}

.page_refs ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.list-item {
    display: none;
}

.list-item.visible {
    display: block;
}

.filter-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-bottom: 30px;
}

.filter-buttons button {
    margin: 5px;
    padding: 10px 20px;
    background-color: #219ba1;
    color: white;
    border: none;
    cursor: pointer;
    border-radius: 5px;
    font-family: "Bai Jamjuree", sans-serif;
    font-weight: 400;
    font-size: 15px;
    text-align: center;
    transition: background 0.3s ease;
}

.filter-buttons button:hover {
    background-color: #0f4245;
}

/* Grid layout */
.page_refs .image-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 0.5fr));
    gap: 20px;
    padding: 20px;
    grid-auto-rows: auto;
}

.page_refs .image-container {
    margin-bottom: 20px;
    aspect-ratio: 1 / 1;
}

.page_refs .image-container.visible {
    opacity: 1;
}

.page_refs .image-container.hidden {
    display: none;
}

.page_refs .image-container.visible {
    transform: translateY(0);
}

.page_refs .image-container.hidden {
    transform: translateY(20px);
}

/*************************************** ABOUT ***************************************/

.about h2 {
    text-transform: uppercase;
    padding-bottom: 20px;
}

.about h3{
    font-family: "Bai Jamjuree", sans-serif;
    font-weight: 600;
}

#moiphoto img {
    width: 100%;
    height: auto;
    border-radius: 50px;
}

.contact button {
    width: 40px;
    height: 40px;
    background-color: transparent;
    background-repeat: no-repeat;
    background-size: contain;
    border: none;
    cursor: pointer;
}

.contact button:hover {
    background-color: #0f4245;
    transition: background-color 0.3s ease;
}

#insta {
    background-image: url('src/img/about/instaLogo.png');
    border-radius: 12px;
}

#linkedin {
    background-image: url('src/img/about/linkedinLogo.png');
    border-radius: 5px;
}

#github {
    background-image: url('src/img/about/github.png');
    border-radius: 25px;
}

/* Formations */

.formations, .experiences, .competences, .interets {
    margin-top: 50px;
    margin-bottom: 50px;
    padding: 20px 50px;

    background-color: #0f4245;
    border-radius: 50px;
}

.formations p, .experiences p, .competences p, .interets p {
    margin-left: 50px;
}

.formationIndividuelle, .experienceIndividuelle, .competenceIndividuelle, .interetIndividuel{
    margin: 50px 0;
}





/************ PARTICULARITÉS RESPONSIVE ************/

@media screen and (min-width: 900px){
    .mon-profil {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        width: 98.75%;
        padding: 10px;
    }
    
    #moiphoto {
        flex: 1;
    }
    
    .contact {
        flex: 1;
        text-align: right;
        padding: 20px;
    }
    
    .contact-button {
        display: flex;
        justify-content: flex-end; 
        gap: 10px;
    }
}

@media screen and (max-width: 900px){
    .contact {
        text-align: center;
    }

    .about h2 {
        text-align: center;
    }

    .menu {
        display: none;
        flex-direction: row;
        background-color: #0f4245;
        position: absolute;
        top: 60px;
        left: 0;
        width: 100%;
        text-align: center;
        padding: 10px 0;
        box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.3);
    }

    .menu a{
        margin: 0;
    }

    .menu.active {
        display: flex;
        justify-content: space-between;
    }

    .menu.active a{
        padding: 5px 20px;
    }

    .burger {
        display: flex;
    }
}
