/*IMPORT FONT*/
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@700&family=Lato:wght@300&display=swap');

/*BOILER PLATE*/
/*The first 2 boiler plate is to remove any extra padding and margin*/
*,
*::before,
*::after {
    box-sizing: border-box;
}

html{
    padding: 0;
    margin: 0;
}

/*
Background basic color is white.
Overflow-x is hidden to hide content outside the 100vh width
*/
body{
    background: white;
    overflow-x: hidden;
    z-index:1;
}

/*
Create a sliding effect from black to white
*/
body::before{
    content:'';
    background: black;
    background-size: cover;
    background-position: center;
    top:0;
    left:0;
    height:100%;
    width:100%;
    position:fixed;
    animation: bodyentrance 0.75s cubic-bezier(.95,.06,.38,.73);
    z-index: -1;
    transform: scaleX(0);
}

@keyframes bodyentrance{
    0%{
        transform:translateX(0%);
    }
    50%{
        transform:translateX(0%);
    }
    100%{
        transform:translateX(100%);
    }
}

/*
Header should start from the center of the page then finish at the top
*/
header{
    display:grid;
    height:100%;
    animation: entrance 1.5s cubic-bezier(.5, 0, .5, 1);
    animation-fill-mode: both;
    justify-content: center;
    align-items: center;
    margin-top:3.5rem;
}

@keyframes entrance{
    0%{
        opacity:0;
        height:90vh;
        color:white;
    }
    25%{
        opacity:1;
    }
    50%{
        height:90vh;
        transform: translateY(0);
    }
    99%{
        height:90vh;
    }
    100%{
        transform: translateY(-50%);
    }
}

.site-title{
    width:100%;
    font-size: 1rem;
    font-family: 'Josefin Sans', sans-serif;
    letter-spacing: 0.5rem;
    text-align:center;
    padding:0 1rem;
    z-index:1;
}

/*COPYRIGHT*/
.copyright{
    opacity:0;
    font-family: 'Lato', sans-serif;    
    position:fixed;
    top:21rem;
    right:0;
    transform: rotate(90deg);
    font-family: 'Lato', sans-serif;
    font-size: 0.7rem;
}

/*NAVIGATION TOGGLE as a clickable button*/
.nav-toggle::before{
    content:'MENU';
    font-size:0.6rem;
    font-family: 'Lato', sans-serif;
    color:black;
    z-index:999;
    cursor: pointer;
  }
  
  .nav-toggle {
    position:absolute;
    border: none;
    background-color:transparent;
    z-index:10;
    top:1%;
    left:50%;
    margin-right:-50%;
    transform: translate(-50%,0);
    animation: toggle 1s ease;
    animation-fill-mode: both;
    animation-delay: 1.5s;
  }
  
  @keyframes toggle{
    0%{
      opacity:0;
      transform: translate(-50%,-50%);
      }
    100%{
      opacity:1;
      }
  }
  
  /*NAVIGATION TOGGLE AFTER CLICKED*/
  .nav-open .nav-toggle::before{
    content:'CLOSE'
  }
  
  .nav-open .nav {
    transform: translateY(0);
  }
  
  /*NAVIGATION MENU shows up  from the top with transition after the toggle is clicked*/
  .nav {
    position:fixed;
    inset:0 0 0 0%;
    background-color:hsl(0 0% 100%/0.8);
    transform: translateY(-100%);
    transition: transform 300ms cubic-bezier(.5, 0, .5, 1);
    z-index:9;
    backdrop-filter: blur(0.5rem);
  }
  
  .nav-list {
    list-style: none;
    margin: 10rem auto;
    padding: 0 2rem;
    display:grid;
    justify-content: center;
    text-align: center;
  }
  
  .nav-item {
    font-size:1.25rem;
    font-family: 'Josefin Sans', sans-serif;
    letter-spacing: 0.5rem;
    margin:1rem auto;
    display:grid;
    justify-content: center;
    text-align: center;
  }
  
  .nav-link{
    text-decoration: none;
  }
  
  /*HOVER EFFECT should be an underline moving from left to right of the text*/
  .text{
    color: black;
    text-align: center;
  }
  .text:hover{
    color:rgba(101, 101, 101, 0.823);
  }

/*SOCIAL MEDIA*/
.nav-link img{
    width:1rem;
}

.social{
    display:flex;
    align-items: center;
    height:3rem;
    gap:1rem;
}

/*CONTENT*/
.content{
    position: absolute;
    top:5.75rem;
    left:50%;
    margin-right:-50%;
    transform: translate(-50%,0);
    z-index:2;
    animation: content 1s ease;
    animation-fill-mode: both;
    animation-delay:1s;
    transform-origin: bottom;
}
  
@keyframes content{
    0%{
        opacity:0;
        transform: translate(-50%,300%)
    }
    100%{
        opacity: 1;
        transform: translate(-50%,0)
    }
}
  
.content-container{
    display:grid;
    justify-content: center;
    margin:auto;
    overflow:hidden;
}

.content-container img {
    width:150px;
    aspect-ratio: 1;
    margin:auto;
    display:block;  
    transition: 0.5s ease;  
    border-radius: 50%;
    object-fit: cover;
    object-position: 100% 0;
}

p{
    margin-top:2rem;
    font-family: 'Lato', sans-serif;    
    width:335px;
    line-height: 1.5rem;
    font-size:0.9rem;
    text-align:center;
}
.link{
    color:black;
}


  
/*RESPONSIVENESS*/

@media(min-width:481px){
    header{
        margin-top:3.5rem;
    }
}

@media(min-width:768px)and (max-width:1023px){
    header{
      margin-top:5rem;
    }
    .site-title{
        font-size:1.75rem;
        width:420px;
    }
    .content{
        top:9rem;
    }
}

@media(min-width:1024px){
    .nav-toggle{
        top:2%;
    }
    .nav-item{
        font-size:1.75rem;
      }
    .nav-link img{
        width:1.5rem;
      }
    header{
        margin-top:4rem;
    }
    .site-title{
        font-size:2rem;
        width:100%;
    }
    .content{
        top:6rem;
    }
}

@media(min-width:1280px){
    header{
        margin-top:4.5rem;
    }
}
@media(min-width:1440px){
    header{
        margin-top: 5rem;
    }
    .content{
        top:8rem;
    }
}


