/**************/
/* CSS REMEDY */
/**************/
*, *::after, *::before {
    box-sizing:border-box;  
}
  
  /* Hide scrollbar for Chrome, Safari and Opera */
*::-webkit-scrollbar {
      display: none;
}
  /* Hide scrollbar for IE, Edge and Firefox */
* {
      -ms-overflow-style: none;  /* IE and Edge */
      scrollbar-width: none;  /* Firefox */
}
  

.noselect,
section.work > div article {
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -khtml-user-select: none; /* Konqueror HTML */
    -moz-user-select: none; /* Old versions of Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none; /* Non-prefixed version, currently
    supported by Chrome, Edge, Opera and Firefox */
}
  
  /*********************/
  /* CUSTOM PROPERTIES */
  /*********************/
  :root {
      --bg:#fff7ef;
      --white: #ffffff;
      --color1: #ff6357;
      --color2: #ebc4c1;
      --color3: #622822;
      --color1T: #e6cdb571;
      --colorLink: #cfd7fe;
      --offBlack:#252525;
      --offWhite: #d2d2d2;

      --blackToColor1: invert(46%) sepia(76%) saturate(2095%) hue-rotate(329deg) brightness(111%) contrast(103%);

;

    --darkToDark: linear-gradient(to bottom, rgb(0, 0, 0), rgb(37, 10, 10));

    --boxShadow1: rgba(0, 0, 0, 0.4) 0px 20px 60px;
    --boxShadow2: 0 0 2rem rgba(36, 36, 36, 0.16);
    --boxShadow3: rgba(99, 99, 99, 0.4) 0px 2px 8px 0px;;
    --boxShadow4: rgba(0, 0, 0, 0.4) 0px 30px 90px;

    --headerFont: "headline-gothic-atf", sans-serif;
    --pFont:  "aptly", "modula-sans", sans-serif;

    --secWidth: 720px;
  }
  
  /***********/
  /* STYLING */
  /***********/

  
body {
	margin: 0;
    color: var(--offBlack);
	background-color: var(--bg);
    width: 100%;
    overflow-x: hidden;
    /* cursor: none; */
}

* {
	text-decoration: none;
	color: inherit;
	list-style: none;
	scroll-behavior: smooth;
	transition: all ease .4s;
}

section{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 0 .5rem;
}

h1{
    margin-left: .5rem;
    margin-top: 0;
    position: fixed;
    top: 2.5rem;
    font-family: var(--headerFont);
    font-size: 45vw;
    letter-spacing: -1.9vw;
    background-image: var(--darkToDark);
    color: transparent;
    background-clip: text;
    z-index: -1;
    transition: opacity 0s;
}

h2{
    font-family: var(--headerFont);
    font-size: 3rem;
    color: var(--white);
    text-shadow: -.07em .07em var(--color3);
    display: inline-block;
    translate: .07em -.07em;
    margin: .5em;
    padding: 0 .5em;
    background-color: var(--color1T);
    backdrop-filter: blur(.8rem) brightness(110%);
    position: sticky;
    top: 4rem;
    border-radius: 1rem;
    z-index: 9;
}

h3{
    font-family: var(--headerFont);
    font-size: 3rem;
    font-weight: 900;
}

a,
p,
li{
    font-family: var(--pFont);
    font-size: 1.6rem;
}

main > section{
    padding-top: 5vw;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.glass {
    background-color: var(--color1T);
    backdrop-filter: blur(.8rem) brightness(110%);
}

.popIn {
  opacity: 0;
  transform: scale(0.9) translateY(3rem);
  transition: all 0.6s ease;
}

.popIn.visible {
  opacity: 1;
  transform: scale(1) translateY(0);
}


  /******************/
  /* HEADER STYLING */
  /******************/

header{
    height: 100vh;
}

nav{
    height: 3rem;
    width: 100vw;
    position: fixed;
    top: 0;
    background-color: var(--bg);
    z-index: 10;
}

nav.scrolled{
    box-shadow: var(--boxShadow2);
}

nav ul{
    width: 100%;
    margin-top: .5rem;
    padding: 0 .5rem;
    display: flex;
    justify-content: space-between;
    background-image: var(--darkToDark);
    color: transparent;
    background-clip: text;
}

nav ul li{
    text-align: center;
    color: var(--offBlack);
}

nav ul li:first-of-type{
    text-align: left;
}

nav ul li:last-of-type{
    text-align: right;
}

/* HOVER */
nav ul li:hover{
    color: var(--color1);
}


  /******************/
  /* FOOTER STYLING */
  /******************/

footer p{
    width: 100vw;
    margin: 8rem 0 0 0;
    padding: .5rem;
    text-align: center;
    color: var(--bg);
    background-color: var(--color2);
}

  /****************/
  /* MAIN STYLING */
  /****************/

main{
    background-color: var(--bg);
}

main > div:first-of-type{
    height: 55vh;
    width: 100vw;
    position: absolute;
    bottom: 3rem;
    display: flex;
    align-items: center;
    flex-direction: column;
}

main > div:first-of-type div{
    position: relative;
    left: 0;
    height: 100%;
    width: calc(100% - 1rem);
    border-radius: 3rem;
    display: flex;
    justify-content: center;
    overflow: hidden;
}

main > div:first-of-type img{
    height: 100%;
    border-radius: 3rem;
    transform: translate(0, .5rem);
    transition-delay: 1s !important;
    transition-duration: 1s !important;
}

main > div:first-of-type ul{
    width: calc(100% - 1rem);    
    min-width: fit-content;
    margin: 0;
    padding: 0;
    position: relative;
    bottom: -1.5rem;
}

main > div:first-of-type ul li,
main > div:first-of-type ul li span{
    margin-bottom: .5rem;
    padding: .2em .2em;
    width: 100%;
    border-radius: .5rem;
    font-family: var(--pFont);
    font-weight: 700;
    white-space: nowrap;
}

main > div:first-of-type ul li:has(span){
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .5rem;
}

/* hide for mobile */
main > div:first-of-type ul li:nth-of-type(1),
main > div:first-of-type ul li:nth-of-type(1){
    display: none;
}

/* HOVER */
main > div:first-of-type div:hover img{
    transform: translate(0, 0);
}

main > div:first-of-type ul li:not(:has(span)):hover,
main > div:first-of-type ul li span:hover{
    transform: translate(.5rem, 0);
}




/* ACTING REEL */

section.reel{
    transition-duration: .8s;
    /* height: 100vh; */
    /* width: 97vw; */
    
}

section.reel div{
    position: sticky;
    top: 35vh;
    margin: 4rem 0;
    height: calc(97vw / 16 * 9);
    max-height: calc(var(--secWidth) / 16 * 9);
    width: 100%;
    max-width: var(--secWidth);
    overflow: hidden;
    border-radius: 1rem;
    outline: 0 solid #00000062;
    z-index: 5;
}





/* work */

section > p{
    margin: 0 0 .5em 0;
    width: 100%;
    text-align: left;
}

section.work > div,
section.about > div{
    height: fit-content;
    width: 100%;
    margin-bottom: 1rem;
    border-radius: 1rem;
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

section.work > div article,
section.about > div article{
    position: relative;
    height: fit-content;
    padding: 0;
    border-radius: 1rem;
    background-color: #000;
    overflow: hidden;
}

section.work > div article > img,
section.about > div article > img{
    display: block;
    width: 100%;
    border-radius: inherit;
}

section.work > div article div{
    opacity: 0;
    position: absolute;
    display: flex;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; 
    flex-direction: column ;
    align-items: center;
    justify-content: center;
    border: var(--color1) solid .4rem;
    border-radius: inherit;
}

section.work > div article div h3{
    margin: 1rem 0;
    padding: 0 .5rem;
    color: var(--color1);
    border: var(--color1) .4rem solid;
    border-radius: inherit;
}

section.work > div article div h3 img{
    opacity: 0;
    position: absolute;
    height: 1em;
    translate: -1em .1em;
    filter: var(--blackToColor1);
}

section.work > div article div p{
    margin: 0;
    width: 85%;
    color: var(--white);
    font-size: 1.2em;
    text-align: center;
}

section.work > div article div a{
    position: absolute;
    height: 0;
    width: 0;
    transition: all 0s;
    transition-delay: .05s;
}


/* HOVER */

section.work > div article:hover div{
    opacity: 1;
}

section.work > div article:hover > img{
    filter: blur(.5rem) opacity(.5);
    scale: 1.1;
}

section.work > div article:hover div h3{
    padding-right: 1.3em;
}

section.work > div article:hover div{
    color: var(--color1);
    border: var(--color1) .4rem solid;
}

section.work > div article:hover div h3 img{
    opacity: 1;
    translate: .1em .1em;
}

section.work > div article:hover div a{
    height: 100%;
    width: 100%;
}



/* ABOUT */

section.about > div article:not(:has(>img)) {
    color: var(--white);
    background-color: var(--color2);
    border: var(--color2) .4rem solid;
    padding: 1em;
}

/* PROOF OF CONCEPT */
section.about > div article,
footer p{
  background: linear-gradient(-45deg, #c6827d, #ae6e57, #b0807c, rgb(102, 73, 73));
  background-size: 400% 400%;
  animation: gradientShift 60s ease infinite;
}
@keyframes gradientShift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

section.about > div article:not(:has(>img)) *{
    margin: 0;
    padding: 0;
}

section.about > div article h3{
    text-shadow: -.07em .07em var(--color3);
    display: inline-block;
    translate: .07em -.07em;
}

section.about > div article p{
    margin-top: .8em;
}

section.about > div article p span,
section.about > div article ul li span{
    text-shadow: -.1em .1em var(--color3);
    display: inline-block;
    translate: .1em -.1em;
}

section.about > div article ul li a span{
    color: var(--colorLink);
    text-shadow: -.1em .1em #44485d;
    display: inline-block;
    translate: .1em -.1em;
}

/* HOVER */

section.about > div article ul li a:hover span{
    text-shadow: -.2em .2em #44485d;
    display: inline-block;
    translate: .2em -.2em;
}


/* CONTACT */





/********************/
/* RESPONSIVE STUFF */
/********************/

/* xxs */
@media (min-width: 420px) {

    
}

/* xs */
@media (min-width: 500px) {

    main > div:first-of-type{
        height: 60vh;
    }

    main > div:first-of-type ul{
        width: calc(45vh);
    }

    main > div:first-of-type div{
        width: fit-content;
        
    }

    /* section{
        max-width: 475px;

    } */
}

/* sm */
@media (min-width: 640px) {

    h1{
        margin-top: -3vw;
        font-size: 45.3vw;
    }

    /* section{
        max-width: 640px;
    } */

}

/* md */
@media (min-width: 768px) {

    section{
        max-width: 768px;
    }

}

    /***********/
    /* DESKTOP */
    /***********/

@media (min-width: 1024px) {

    section{
        max-width: 1024px;
    }

    nav{
        padding: 0 2rem;
        height: 3.5rem;
    }

    nav ul li{
        width: 3em;
    }

    h1{
        margin-top: -6.5vw;
        font-size: 45.7vw;
    }

    h2{
        font-size: 4em;
        margin: 1em;
        top: 4.7rem;

    }

    main > div:first-of-type{
        flex-direction: row;
        justify-content: center;
    }

    main > div:first-of-type ul{
        right: -2rem;
        bottom: -15vh;
        width: 1px;
        min-width: 1px;
    }
    
    main > div:first-of-type ul li,
    main > div:first-of-type ul li span{
        width: fit-content;
        display: block !important;
    }
    
    main > div:first-of-type ul li span{
        margin-bottom: .5rem;
    }


    /* REEL */

    section.reel div:hover{
        transform: scale(1.4);
        outline: 100vh solid #0000008f;
        border-radius: 0;
        z-index: 15;
    }

    /* work */
    section.work > div,
    section.about:not(.contact) > div{
        display: block;
        -webkit-column-count: 2;    
        -webkit-column-gap: 1rem;    
        -moz-column-count: 2;
        -moz-column-gap: 1rem;
        column-count: 2;    
        column-gap: 1rem;
    }

    section.work > p{
        display: none;
    }

    section.work > div > article,
    section.about > div > article{
        margin-bottom: 1rem;
    }

    section.work > div article div p,
    section.about > div article div p{
        font-size: 1.6em;
    }

    /* CONTACT */

    section.contact > div {
        width: 42vw;
    }

}

/* xl */
@media (min-width: 1280px) {
    section{
        max-width: 1280px
    }
}    
    


/* 2xl */
@media (min-width: 1536px) {

    section{
        max-width: 1536px;
    }

    h1{
        margin-top: -3.5rem;
        margin-left: 2rem;
        top: 0;
        font-size: 45vw;
        letter-spacing: -2.5rem;
    }

    li,p,a{
        font-size: 2rem;
    }

    /* REEL */

    section.reel div:hover{
        transform: scale(1.6);
    }
    
}

@media (min-width: 1024px) {
    
    /* section{
        max-width: var(--secWidth);
    } */

    /* GALLERY */

    section.gallery{
        max-width: 80vw;
    }

    section.gallery > div{
        columns: 300px;
    }

    /* HOVER */
    section.gallery > div img:hover {
        transform: scale(1.15);
}    

}



