@font-face {
  font-family: 'Malcorra-Serif';
  src: url('../fonts/Gambarino-Regular.woff2') format('woff2'),
       url('../fonts/Gambarino-Regular.woff') format('woff'),
       url('../fonts/Gambarino-Regular.ttf') format('truetype');
  font-weight: 400;
  font-display: swap;
  font-style: normal;
}

@font-face {
    font-family: 'Malcorra-Sans-r';
    src: url('../fonts/NeueHaasDisplay-Roman.eot');
    src: url('../fonts/NeueHaasDisplay-Roman.eot?#iefix') format('embedded-opentype'),
        url('../fonts/NeueHaasDisplay-Roman.woff2') format('woff2'),
        url('../fonts/NeueHaasDisplay-Roman.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Malcorra-Sans-m';
    src: url('../fonts/NeueHaasDisplay-Mediu.eot');
    src: url('../fonts/NeueHaasDisplay-Mediu.eot?#iefix') format('embedded-opentype'),
        url('../fonts/NeueHaasDisplay-Mediu.woff2') format('woff2')
        url('../fonts/NeueHaasDisplay-Mediu.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Sometimes Times';
    src: url('../fonts/SometimesTimes-Regular.woff2') format('woff2'),
        url('../fonts/SometimesTimes-Regular.woff') format('woff'),
        url('../fonts/SometimesTimes-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}


@keyframes anim-opacity {
    0% {opacity: 0;}
    100% {opacity: 100%;}
}


/*-----*/


*{  
    /* transition: all 250ms ease-in-out; */
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-behavior: smooth;
}


:root {
    --globalpad: 20px 22px;

    --m-black: #000;
    --m-white: #fcfcfc;
    --m-lime: #DDFF34;
}

/*    ---------    */


.ofcover{width: 100%; height: 100%; object-fit: cover;}
.ofcover-h{height: 100%; object-fit: cover;}
.ofcover-w{width: 100%; object-fit: cover;}


::-webkit-scrollbar {
    display: none; 
  }



a{text-decoration: none; color: var(--m-white); cursor: none;}
a:hover{text-decoration: underline; text-underline-offset: 5px;
    text-decoration-thickness: 2px;
    color: var(--m-lime);}


ul{
    list-style: none;
    margin: 0; padding: 0;
}

::selection {
    background-color: var(--m-black);
    color: var(--m-white); 
  }


/*    -------   */

html{
    animation: 200ms anim-opacity;
    scrollbar-gutter: stable;

    background-color: var(--m-black);
}

body{
    width: 100vw; 

    font-family: "Malcorra-Sans-r", sans-serif;
    background-color: var(--m-black);

    font-size: 12px;

    cursor: none;
}

html, body {
    min-height: 100%;
}


#malcorra-cursor{
    position: fixed;
    width: 10px;
    height: 10px;
    background-color: var(--m-lime);
    border-radius: 35%;
    pointer-events: none; 
    transition: transform 2000ms ease, width 200ms ease, height 200ms ease;
    z-index: 9999;
    mix-blend-mode: difference;

}

/*      HEADER       */

header{
    width: calc(100% - var(--globalpad)*2); 
    padding: var(--globalpad);

    position: relative;
    z-index: 100;
    pointer-events: none;

    mix-blend-mode: difference;
}

header a,
header button,
header #about-btn,
header .nav-item {
  pointer-events: auto;
}

.header-desktop{
    width: calc(100% - var(--globalpad)*2);
    position: relative;

    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 10px;

    font-family: "Malcorra-Sans-r", sans-serif;
    font-style: normal;
    line-height: 20px;
  }

.header-desktop .nav-item:nth-child(1) { grid-column: 1 / span 7;}
.header-desktop .nav-item:nth-child(2) { grid-column: 8; z-index: 13;}

header,
.header-desktop,
.nav-logo {
    background: transparent;
}

.nav-logo{
    display: flex;
    transition: filter .4s ease;
}

.nav-logo a{
    font-size: 20px;
    margin-right: 6px;
}

.nav-logo span{
    font-family: "Malcorra-Serif", serif;
    color: white;

    position: relative;

    font-size: 19px;
    margin-top: -.5px;
    transition: opacity .3s ease;
}

.nav-logo span[style*="opacity: 0"] {
    pointer-events: none;
}

#about-btn{
    width: 120px;
    position: absolute;
    top:60px; right: 240px;
    
    z-index: 10;
    transition: 300ms filter;
} 
#about-btn:hover{filter: blur(1px);} 

#about-btn.overlay-active {
    z-index: 1; 
}


#about-close{
    /* width: 120px; */
    font-size: 20px;
    
    color: var(--m-white);
    
    z-index: 4;

    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease;
} 
#about-close:hover{color: var(--m-lime);text-decoration: underline;text-underline-offset: 5px;
    text-decoration-thickness: 2px;}



/*      HOME       */

.home-main {
    width: 100%; height: 100vh;
    position: absolute; top: 0; left: 0;
}

.gallery-project {
    width: 100vw; height: 100vh;
    position: absolute;
    opacity: 0;
    overflow: hidden;

    display: flex;
    align-items: center; justify-content: center;
}

.gallery-project.active {
    opacity: 1;
    pointer-events: auto;
}

.gallery-project img,
.gallery-project video{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%; height: 100%;
    opacity: 0;
    object-fit: cover;
}

.gallery-project img.active,
.gallery-project video.active{
    opacity: 1;
}

.home-main-nav{
    position: absolute; top: 0; left: 0;
    width: 100vw; height: 100vh;
    display: flex;

    z-index: 2;
}

.home-main-nav-left{
    width: 50%;
}

.home-main-nav-right{
    width: 50%;
}

.pj-nav{
    width: 100%;
    padding: var(--globalpad);

    position: absolute; bottom: 0;
    display: grid;
    align-items: end;
    grid-template-columns: repeat(12, 1fr);
    gap: 10px;
    line-height: 15px;

    mix-blend-mode: difference;
    z-index: 6;

    color: white;
}

.pj-nav div:nth-child(1) { grid-column: 1 / span 7; }
.pj-nav div:nth-child(2) { grid-column: 8 / span 3; }

.pj-nav-desc{
    display: flex;
    align-items: end;
    text-transform: uppercase;
}

.pj-nav-desc p{
    margin-right: 25px;
}

.pj-nav-desc a{
    text-decoration: underline; text-underline-offset: 5px;
    text-decoration-thickness: 2px;
   
    font-family: "Malcorra-Sans-m", sans-serif;
}

.pj-nav-list{
    margin-top: -2px;
}

.pj-nav-list ul{
    font-family: "Malcorra-Serif", serif;
    display: flex;
}

.pj-nav-list ul li{
    width: 20px;
    font-size: 13px;
    text-align: center;
    margin-left: 5px;
    position: relative;
}

.pj-nav-list ul li:hover{
    color: var(--m-lime);
}

.pj-nav-list li::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -5px;
    width: 40%;  
    height: 2px;
    background: currentColor;
    transform: translateX(-50%) scaleX(0);
    transform-origin: center;
    transition: transform 0.3s ease;
}

.pj-nav-list li.active::after {
    transform: translateX(-50%) scaleX(1);
}


/*      ABOUT OVERLAY       */

.about-overlay{
    width: 100vw; height: 100vh;
    padding: var(--globalpad);
    background: rgba(0,0,0,0.15);
    backdrop-filter: blur(0px);
    -webkit-backdrop-filter:blur(0px);
    
    position: absolute; top: 0;
    z-index: 8;

    opacity: 0;
    pointer-events: none;
    transition:
        opacity 0.4s ease,
        backdrop-filter 0.4s ease;
}

.about-overlay.active {
    opacity: 1;
    pointer-events: auto;
   backdrop-filter: blur(40px) brightness(.5);
   -webkit-backdrop-filter: blur(40px) brightness(.5);
}

.about-overlay-content.active {
    opacity: 1;
    pointer-events: auto;
}

.about-overlay-content-a{
    grid-column: 8 / span 3;

}

.about-overlay-content{
    width: 100vw; height: 100vh;
    align-items: center;
    padding: var(--globalpad);
    position: absolute; top: 0;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 10px;

    opacity: 0;
    z-index: 10;
    color: var(--m-white);
    
    font-size: 12px;
    line-height: 16px;

    transition:
        opacity 0.4s ease;
    opacity: 0;
    pointer-events: none;
    z-index: 10;
    color: white;

    mix-blend-mode: difference;
}


.overlay-bg{
    display: none;
}

.about-contact{
    margin-top:40px;
}

.about-desc{
    text-transform: uppercase;
}

.about-contact p{
    font-family: "Sometimes Times";
    font-size: 36px;
    margin-left:24px;
}

.about-contact-info{
    display: flex;
    justify-content: space-between;
}

.about-contact-ig{
    margin-right: 50px;
}

.about-contact-info span{
    display: flex;
    flex-direction: column;
    font-size: 16px;
}

#draggable {
    width: 120px;
    position: fixed;
    top: 0; left: 0;

    z-index: 200;
    display: block;

    height: auto;
    touch-action: none;      
    user-select: none;
    -webkit-user-drag: none;
    cursor: none !important;
    
}





@media only screen and (max-width: 1350px) {

    .nav-logo span{
        display: none;
        opacity: 0;
    }

   .about-overlay-content-a{
        grid-column: 4 / span 6; 

        line-height: 18px;
        z-index: 10;
    }

}

@media only screen and (max-width: 780px) {

   .about-overlay-content-a{
        grid-column: 3 / span 8; 

        line-height: 18px;
        z-index: 10;
    }

}

@media only screen and (max-width: 500px) {
    
    #malcorra-cursor{display: none; opacity: 0;}

    body{cursor: pointer; }

    header{
        width: 100vw; height: 100vh;

        position: fixed;
        top: 0;
    }

    .header-desktop{
        height: 100%;
        padding: 30px 0 8dvh 0;

        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;

        
    }

    .home-main-nav,
    .pj-nav-list {
        display: none;
    }


    .gallery-project {
        height: 70vh;

        position: relative;
        opacity: 1 !important;
    }

    .gallery-project img,
    .gallery-project video{
        position: absolute;
        width: 100%; height: 100%;
        opacity: 0;
        object-fit: cover;
    }

    .home-main{height: auto; position: relative;}

    .pj-nav{
        display: none;
    }

     .about-overlay{
        height: calc(100% + 80px);
        margin-top:-80px;

        position: absolute; bottom: 0;
        overflow: hidden;
    }

    .about-overlay-content{
        display: flex;
        position: fixed; inset: 0;
        align-items: flex-start;
        overflow: hidden;
    }

    .about-overlay-content-a{
        margin-top: 40px;
        display: flex;
        flex-direction: column-reverse;
    }

    .about-contact{
        margin-top: 0; margin-bottom: 40px;
    }

    #about-btn{
        position: fixed;
        width: 70px;
        top:auto; bottom: 30px;
        right: 41%;
    }

    #about-close{text-align: center;}

    #draggable{
        width: 80px;
        top: 240px;
        left: -206px;
    }
}


@media only screen and (min-width: 2000px) {

}

