@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Voltaire&display=swap');
@import url('https://fonts.googleapis.com/css2?family=League+Spartan:wght@100..900');

* {
    margin: 0;
    padding: 0;
    font-family: "Poppins";
    font-family: "League Spartan";
}
body{
    background: #040010;
    color: rgb(89, 205, 255);
    color: rgb(182, 219, 190);
}
#topbar{
    display: grid;
    grid-template-columns: 1fr 1fr 2fr;
    justify-content: center;
    align-items: center;
    /* width: 1000px; */

    margin: 0 auto;
    padding: 4px;
}
#logo{
    font-family: "League Spartan";
    font-size: 3rem;
    color: #eb8;
    grid-column: 1/2;
}
#logo a{
    text-decoration: none;
    color: #eb8;
}
#hero img{
    height: 100%;
    
}
nav{
    grid-column: 3/4;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    font-size: 1.1rem;
    text-align: center;
    transition: height .5s, padding .5s;
    padding: 0px;
    color: rgb(199, 137, 199);
}
.nav-link{
    grid-row: 1/2;
    position: relative;
    cursor: pointer;
    width: 100%;
}
nav a{
    color: rgb(199, 137, 199);
    text-decoration: none;
}
.nav-link .microix{
    opacity: 1;
    position: absolute;
    left:0;
    top: 0;
    width: 100%;
}
.nav-link:hover .microix{
    animation-name: pop;
    animation-duration: .6s;
    animation-iteration-count: 1;
}

@keyframes pop{
    from{
        top: 0;
        opacity: 1;
        scale: 1;
    }
    to{
        top: -1px;
        scale: 4;
        opacity: 0;
    }
}


#landingpad{
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    grid-template-rows: 1fr;
    align-items: center;
    justify-content: center;
    background: #fff1;
    max-height: 100vh;
}
#landingpad #bigOverlay{
    font-size: 9rem;
    grid-column: 1/2;
    align-items: center;
    grid-row: 1/2;
    padding: 20px;
    text-shadow: 0 0 8px black;
    font-weight: 700;
}
#scroll-down{
    position: absolute;
    bottom: 2vh;
    width: 100%;
    text-align: center;
    animation: bounce 2s ease infinite;
}
#scroll-down svg{
    height: 20vh;
}
@keyframes bounce {
    70% { transform:translateY(0%); }
    80% { transform:translateY(-15%); }
    90% { transform:translateY(0%); }
    95% { transform:translateY(-7%); }
    97% { transform:translateY(0%); }
    99% { transform:translateY(-3%); }
    100% { transform:translateY(0); }
}

#imgbox{
    z-index: -1001;
    max-height: 100vh;
    /* width: 100vw; */
    width: 100%;
    grid-row: 1/2;
    grid-column: 1/5;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    justify-content: center;
    align-content: center;
    overflow: hidden;
}
#imgbox img{
    width: 100vw;
    height: 100vw;
    grid-row: 1/2;
    grid-column: 1/2;
}
#meteor-shower{
    height: 100vh;
    width: 100vw;
    position: fixed;
    z-index: -1000;
    overflow: hidden;
    top: 0;
    left: 0;
}
.meteor{
    background: red;
    background: radial-gradient(circle at 90px 10px, #4af9, transparent 4px);
    height: 20px;
    width: 100px;
    display: grid;
    justify-content: center;
    align-items: center;
    rotate: 135deg;
    position: absolute;
}
.meteorTail{
    background: radial-gradient(farthest-side at 100%, #4af5, transparent);
    height: 10px;
    width: 85px;
}
#mobileNavButton{
    display: grid;
    grid-template-rows: 1fr 1fr 1fr;
    grid-template-columns: 1fr;
    width: 30px;
    gap: 4px;
    padding: 8px;
    border: 2px solid rgb(182, 219, 190);
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    display: none;
}
.menuButtonBar{
    width: 20px;
    height: 2px;
    background: white;
    margin: 0 auto;
    background: rgb(182, 219, 190);
}

#bigThree{
    display: flex;
    grid-template-columns: repeat(3, 1fr);
    justify-content: space-around;
    align-items: center;
    gap: 5vw;
    padding: 80px 5vw;
}

#bigThree .bigOne{
    font-size: 1.5rem;
    display: flex;
    flex-direction: column;
    width: 20vw;
    padding: 20px;
    gap: 20px;
    background: #fff1;
    border: 1px solid white;
    border-radius: 6px;
    min-height: 300px;
    flex: 1;
}
#bigThree .bigOne:nth-of-type(2){
    background: #eb81;
    border: 1px solid #eb8;
    color: #eb8;
}
#bigThree .bigOne:nth-of-type(1){
    background: #8be1;
    border: 1px solid #8bee;
    color: #8bee;
}
#bigThree .bigOne:nth-of-type(3){
    background: #be81;
    border: 1px solid #be8;
    color: #be8;
}
#bigThree .bigOne .bigOneImg{
    text-align: right;
}

#gameDemo{
    text-align: center;
    padding-top: 100px;
    display: none;
}
#gamebox{
    box-shadow: 0 0 40px #64c;
    border-radius: 10px;
    z-index: 1000;
}

@media only screen and (max-width: 2300px) {
    #landingpad{
        grid-template-columns: 3fr 2fr 2fr;
    }
    #imgbox{
        grid-column: 1/4;
    }
}
@media only screen and (max-width: 2140px) {
    #landingpad{
        grid-template-columns: 1fr 1fr;
    }
    #imgbox{
        grid-column: 1/3;
    }
}
@media only screen and (max-width: 1840px) {
    #landingpad #bigOverlay{
        font-size: 7.5rem;
    }
}
@media only screen and (max-width: 1540px) {
    #landingpad #bigOverlay{
        font-size: 6.2rem;
    }
}
@media only screen and (max-width: 1290px) {
    #landingpad #bigOverlay{
        font-size: 5rem;
    }
}
@media only screen and (max-width: 930px) {
    #landingpad{
        grid-template-columns: 1fr 1fr;
    }
    #landingpad #bigOverlay{
        font-size: 3rem;
    }
    #imgbox{
        grid-column: 1/3;
    }
    #landing{
        width: 100vw;
        grid-template-rows: auto auto;
        grid-template-columns: 1fr;
        height: auto;
        padding: 0;
        gap: 10px;
    }
    #landing-blurb{
        grid-row: 2/3;
        font-size: 1.2rem;
    }
    #logo{
        text-align: center;
        align-content: center;
    }
    #mobileNavButton {
        display: grid;
        margin: 0 auto;
    }
    #topbar{
        grid-template-columns: 1fr;
        grid-template-rows: auto auto 1fr;
        width: 100vw;
    }
    nav{
        display: grid;
        grid-template-columns: 1fr;
        grid-column: 1/2;
        gap: 10px;
        height: 0;
        overflow: hidden;
        justify-items: space-around;
        align-items: center;
    }
    nav div{
    }
    #self-photo1{
        grid-row: 1/2;
        grid-column: 1/2;
        margin: 0 auto;
    }
    #self-photo2{
        grid-row: 1/2;
        grid-column: 1/2;
        margin: 0 auto;
    }

    #bigThree{
        flex-direction: column;
        align-items: center;
    }
    #bigThree .bigOne{
        width: 60vw;
        margin: 0 auto;
        font-size: 2rem;
    }
  }

  #technologies{
    text-align: center;
    font-size: 1.6rem;
    display: flex;
    align-items:center;
    flex-direction: column;
    color: #eb8b;
  }
  #tech-list{
    display: grid;
    grid-template-rows: repeat(3,  1fr);
    align-items: center;
    gap: 20px 6vw;
    margin: 40px auto;
    grid-auto-flow: column dense;
  }
  #technologies h1{
    font-size: 3rem;
  }
  #tech-list div{
    display: flex;
    align-items: center;
    gap: 8px;
  }
  #tech-list div div{
    display: grid;
    border:none;
    flex: 0;
  }
  #tech-list div div svg{
    width: 24px;
    height: 24px;
  }

@media only screen and (max-width: 1200px) {
    #tech-list{
        grid-template-rows: repeat(4,  1fr);
    }
}
@media only screen and (max-width: 930px) {
    #tech-list{
        grid-template-rows: repeat(12,  1fr);
    }
}