@font-face {
    font-family: 'Dober Regular';
    src: url(font/Dober\ Grotesk\ Regular.otf);
}
@font-face {
    font-family: 'Geist Medium';
    src: url(font/Geist-1.3.0/Geist-Medium.otf);
}
@font-face {
    font-family: 'Geist Semibold';
    src: url(font/Geist-1.3.0/Geist-SemiBold.otf);
}
@font-face {
    font-family: 'Geist Regular';
    src: url(font/Geist-1.3.0/Geist-Regular.otf);
}
@font-face {
    font-family: 'Monument Mono';
    src: url(font/ABCMonumentGroteskMono-Regular.otf);
}
@font-face {
    font-family: 'Geist Mono';
    src: url(font/GeistMono-1.4.01/otf/GeistMono-Regular.otf);
}
body{
    background-color: rgb(0, 0, 0);
    font-family: 'Geist Mono', sans-serif;
    margin: 0px;
    padding: 0px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 1vw;
    height: 100vh;
    overflow-y: hidden;
}
body::-webkit-scrollbar{
    display: none;
}
@keyframes fadeInAnimation {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}
.index:hover, .about:hover, .insta:hover, #project-link:hover{
    opacity: 0.5;
    transition: 0.5s ease;
}
.project-description a{
    text-decoration: none;
    color: white;
}
.project-description a:hover{
    opacity: 0.5;
    transition: opacity 0.5s ease;
}
.project-description{
    margin-top: 4vw;
    font-size: 2.5em;
    text-transform: uppercase;
    margin-left: 2vw;
    animation: fadeInAnimation 1s ease;
    font-family: "Geist Medium", sans-serif;
}
.project-images{
    display: flex;
    flex-direction: column;
    align-items: center;
}
#switch:hover{
    opacity: 50%;
    transition: opacity 0.5s ease;
    cursor: pointer;
}
.project-images{
    animation: fadeInAnimation ease 1s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

.wide{
    width: 65vw;
}
.full{
    width: 100vw;
    object-fit: cover;
    margin-bottom: 5vw;
}
.index-content a:hover{
    background-color: rgb(255, 255, 255);
    color: black;
    transition: color 0.5s ease;
}
.index{
    text-decoration: none; color: white; margin-left: 1vw;
}
.about{
    width: 4vw;
    text-decoration: none;
    color: white;
}
.accueil{
    background-color: black;
    z-index: 5;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    height: 100vh;
    width: 100vw;
    position: fixed;
    visibility: visible;
}
.accueil.cache{
    visibility: hidden;
    pointer-events: none;
    z-index: 0;
    opacity: 0;
    transition: opacity 1s ease, visibility 1s ease, z-index 1s ease;
}

video{
    width: 50vw;
}
.cache{
    visibility: hidden;
    z-index: 0;
    opacity: 0;
  }
.column{
    width: 98vw;
    margin: 1.5vw;
    display: flex;
    flex-direction: row;
    color: white;
    align-items: center;
    justify-content: space-between;

}
.column span{
    z-index: 5;
}
#logo{
    z-index: 4;
    position: fixed;
    bottom: 0;
    width: 95vw;
    padding-bottom: 0;
    margin-right: 2vw;
}

.overlay{
    z-index: 2;
    top: 0px;
    position: fixed;
    width: 98vw;
    display: flex;
    justify-content: space-between;
    color: white;
    overflow-x: hidden;
    overflow-y: hidden;
    padding-top: 1.5vw;
    padding-left: 0;
    margin-left: 0;
}

.left{
    text-transform: uppercase;
    width: 13vw;
    height: 95vh;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: start;
    justify-content: space-between;
}
.left #time, .left .info, .left #project-link, .mobile-timeandinfo span, .left #cursor-position{
    padding-left: 1vw;
    animation: fadeInAnimation 1s ease;

}

.left .top{
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: start;
}
.info{
    width: 100%;
    margin-left: 2vw;
    display: flex;
    flex-direction: row;
}
.right{
    width: 13vw;
    height: 95vh;
    display: flex;
    flex-direction: column;
    align-items: end;
    justify-content: space-between;
    text-align: end;
}
.mid{
    margin-left: 2vw;
    margin-right: 2vw;
    width: 70vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start;
}
.index-content{
    margin-left: 2vw;
    width: 100%;
    margin-top: 5.2vw;
    display: flex;
    flex-direction: column;
}
.right .bot{
    width: 100%;
    display: flex;
    justify-content: end;
    align-items: end;
}

#logooverlay{
    fill: rgb(255, 255, 255);
    width: 13vw;
    margin-right: 2vw;
    margin-bottom: 1vw;
}

.projets{
    pointer-events: none;
    top: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100vw;
    height: 100vh;
}






/*#project-display {
    position: relative;
    width: 100%; 
    height: 100%; 
    overflow: hidden;
} */

.project-image {
    width: 100%;
    object-fit: cover;
    position: absolute;
    height: 100%;
    opacity: 0;
    transition: opacity 0.75s ease;
}

.project-image.active {
    opacity: 1;
}

.hidden {
    z-index: 5;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.visible {
    z-index: 5;
    opacity: 1;
    transition: opacity 1s ease;
}

.scroll-container {
    z-index: 2;
    position: fixed;
    bottom: 0;
    width: 100vw;
    overflow: hidden;
}

.scrolling-text {
    font-family: "Geist Medium", sans-serif;
    font-size: 1.25vw;
    word-spacing: 6px;
    display: flex;
    flex-direction: row;
    color: rgb(177, 177, 177);
    white-space: nowrap;
    animation: scroll-left 55s linear infinite;
    padding-bottom: 1vw;

}
#scrolling-icons{
    margin-left: 2vw;
    height: 1.5vw;
    width: auto;
    fill: rgb(177, 177, 177);
    flex-shrink: 0;
}
@keyframes scroll-left {
    from {
        transform: translateX(0%);
    }
    to {
        transform: translateX(-200%);
    }
}

.fade{
    margin-top: 4vw;
    font-size: 2.5em;
    text-transform: uppercase;
    margin-left: 2vw;
    animation: fadeInAnimation 1s ease;
    font-family: "Geist Medium", sans-serif;
}
.fade a{
    color: white;
    text-decoration: none;
}
.credit{
    font-family: 'Geist Mono', sans-serif;
    font-size: 1vw;
}
.credit a{
    text-decoration: none;
    color: white;
}
.credit a:hover{
    opacity: 0.5;
    transition: opacity 0.5s ease;
}
.sub-index{
    text-transform: uppercase;
    display: flex;
    box-shadow: 0px 0.3px 0px 0px #656565;
    animation: fadeInAnimation 1s ease;
    
}

.number{
    width: 5vw;
}
.name-category{
    text-decoration: none;
    color: white;
    width: 15vw;
    margin-right: 3.5vw;
}
.end{
    width: 10vw;
    text-align: end;
}
.nav-area.navleft {
    left: 0;
    cursor: pointer;
}

.nav-area.navright {
    right: 0;
    cursor: pointer;
}
.project-gallery{
    margin-top: 6vw;
    position: fixed;
    height: 100%;
    width: 65vw;
    display: flex;
    align-items: center;
    justify-content: center;

}
.project-gallery img {
    width: 100%;
    height: 37vw;
    object-fit: cover;
    animation: fadeInAnimation ease 1s;
}

.nav-area {
    z-index: 2;
    position: absolute;
    height: 37vw;
    width: 32.5vw; /* Divise en deux la largeur de l'image */
}

.contain{
    height: 80vh;
    object-fit: contain;
}
.mobile-timeandinfo{
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: start;
    width: 100%;
}
.mobile-position{
    display: flex;
    flex-direction: column;
}
.credit{
    margin-top: 4vw;
    display: flex;
    width: 70vw;
    flex-direction: row;
    font-size: 1vw;
    line-height: 1.2;
}
.credit-right{
    display: flex;
    flex-direction: column;
}
.credit-left{
    display: flex;
    flex-direction: column;
    margin-right: 7vw;

}
.credit-left span{
    margin-left: 0;
    padding-left: 0;
}
@media only screen and (max-width: 600px){
    body{
        font-size: 4vw;
        -webkit-tap-highlight-color: transparent;
    }
    .mobile-hide{
        display: none;
        position: fixed;
        visibility: none;
        z-index: 0;
    }
    .mobile-position{
        bottom: 5vh;
        position: fixed;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        width: 95vw;
        transform: translateX(-50%);
        left: 50%;
    }
    .mpa{
        display: flex;
        width: 100%;
        justify-content: center;
        align-items: center;
    }
    .mpc{
        margin-right: 1vw;
    }
    #switch{
    }
    .mobile-timeandinfo{
        display: flex;
        flex-direction: column;
        align-items: start;
        justify-content: start;
        width: 95vw;
    }
    #logooverlay{
        fill: rgb(255, 255, 255);
        width: 90vw;
        margin-right: 2vw;
    }
    #cursor-position{
        display: none;
    }
    .overlay{
        z-index: 2;
        top: 0px;
        display: flex;
        position: fixed;
        width: 98vw;
        height: 100vh;
    }
    .left{
        position: fixed;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: start;
        width: 80vw;
        left: 50%;
        z-index: 1;
        bottom: 0;
        height: 100vh;
        transform: translateX(-50%);
    }
    .left .top{
        width: 95%;
        padding-top: 27vw;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .right{
        position: fixed;
        right: 3vw;
    }
    .mid, .right{
        z-index: 2;
        display: flex;
        height: 5vw;
        z-index: 2;
    }
    .mid{
        display: flex;
        width: 100%;
    }

    .about{
        text-decoration: none;
        color: white;
        text-decoration: none; color: white;  width: auto;
        margin-left: 0;
    }
    .info{
        margin-left: 1vw;
    }
    .index{
        text-decoration: none; color: white; margin-left: 2vw;
    }
    .scroll-container {
        z-index: 2;
        position: fixed;
        bottom: 0;
        width: 100vw;
        overflow: hidden;
    }
    
    .scrolling-text {
        font-family: "Geist Medium", sans-serif;
        font-size: 2.5vh;
        word-spacing: 6px;
        display: flex;
        flex-direction: row;
        color: rgb(177, 177, 177);
        white-space: nowrap;
        animation: scroll-left 30s linear infinite;
        padding-bottom: 1vw;
    
    }
    #scrolling-icons{
        margin-left: 2vw;
        height: 3vh;
        width: auto;
        fill: rgb(177, 177, 177);
        flex-shrink: 0;
    }
    @keyframes scroll-left {
        from {
            transform: translateX(0%);
        }
        to {
            transform: translateX(-400%);
        }
    }
    #logo{
        position: fixed;
        width: 100vw;
        object-fit: contain;
    }
    .gallerydetail{
        position: relative;
        display: flex;
        align-items: start;
    }
    .project-gallery{
        position: absolute;
        margin-top: 1vh;
        margin-bottom: 1vh;
        width: 90vw;
        height: 37vh;
    }
    .project-gallery img{
        height: 70vw;
        object-fit: cover;
    }
    .project-description{
        margin-top: 4vh;
        display: flex;
        flex-direction: column;
        align-items: start;
        justify-content: start;
        font-size: 7vw;
        text-transform: uppercase;
        width: 90vw;
        max-height: 44vh;
        position: relative;
        overflow: scroll;
    }
    .nav-area.navleft{
        width: 50%;
    }
    .nav-area.navright{
        width: 50%;
    }
    .projets{
        position: fixed;
        pointer-events: none;
        top: 0;
        z-index: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100vw;
    }
    .contain{
        width: 96vw;
        object-fit: contain;
    }
    .index-content{
        margin-left: 0;
        margin-top: 5vh;
        width: 92vw;
    }
    .sub-index{
        width: 100%;
        justify-content: space-between;
    }
    .name-category{
        width: 45%;
    }
    .number{
        width: 10%;
    }
    .end{
        width: 35%;
    }
    .fade{
        margin-top: 4vh;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        font-size: 7vw;
        text-transform: uppercase;
        width: 90vw;
        height: 51%;
    }

    .overflow{
        overflow-x: hidden;
        overflow-y: auto;
        line-height: 1.2;
    }
    .credit{
        padding-top: 8vh;
        display: flex;
        width: 94vw;
        flex-direction: row;
        font-size: 4vw;
        line-height: 1.2;
    }
    .credit-left{
        margin-right: 6vw;
    }
    .mobile-contain{
        object-fit: contain;
    }
}

@media only screen and (min-width: 600px) {
    .desktop-hide{
        position: fixed;
        display: none;
    }
    .fade{
        position: fixed;
        width: 70vw;
        transform: translateX(-50%);
        left: 50%;
    }
    .project-description{
        position: fixed;
        width: 70vw;
        transform: translateX(-50%);
        left: 50%;
    }
    .project-gallery{
        top: 0;
        position: fixed;
        left: 50%;
        transform: translateX(-50%);
        height: 100%;
        width: 65vw;
        display: flex;
        align-items: start;
        justify-content: center;
    }
    .mid .about, .mid .index{
        z-index: 3;
    }
    .gallerydetail{
        position: fixed;
    }
}