/* INIT */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&family=Roboto:wght@300;400;500;700;900&display=swap');

*{
    padding: 0;
    box-sizing: border-box;
}

body{
    margin: 0;
    background-color: var(--dark-black);
}

a{
    text-decoration: none;
}

:root {
    --dark-black: #0B0B0F;
    --accent-black: #1A1B23;
    --white: #FFFFFF;
    --accent-grey: #9697A5;
    --accent-purple: #B982FF;
    --btn-gradient: linear-gradient(to top right, #933FFE, #18C8FF);
    --inter: "Inter", sans-serif;
}

.flex{
    display: flex;
}

.grid{
    display: grid;
}

.white-text{
    font-family: var(--inter);
    color: var(--white);
}

.wght200{
    font-weight: 200;
}
.wght300{
    font-weight: 300;
}
.wght400{
    font-weight: 400;
}
.wght500{
    font-weight: 500;
}
.wght600{
    font-weight: 600;
}
.wght700{
    font-weight: 700;
}
.wght800{
    font-weight: 800;
}
.wght900{
    font-weight: 900;
}

.btn-gradient{
    background-image: var(--btn-gradient);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-family: var(--inter);
    font-size: .8em;
    font-weight: 600;
    border-radius: 10px;
    padding: 8px 20px;
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.103);
}

.btn-gradient:hover{
    cursor: pointer;
}

.monkey{
    font-size: 5rem;
}

.outline-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-family: var(--inter);
    font-size: .8em;
    font-weight: 600;
    border-radius: 10px;
    padding: 15px 25px;
    position: relative;
    border: 1px solid var(--white);
    transition: all .6s ease-in-out;
}

.outline-btn:hover{
    background-color: var(--white);
    color: var(--dark-black);
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* NAV */
.nav-full{
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 5%;
    position: absolute;
    margin: 10px 0px;
    z-index: 6;
}

.nav-container{
    align-items: center;
    justify-content: space-between;
    width: 90%;
}

.nav-logo{
    width: 38px;
}

.nav-items{
    align-items: center;
    gap: 1.2rem;
}

.courses-txt{
    font-size: .90em;

}


/* FRONT */

.front-full{
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.front-content-container{
    width: 85%;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 5;
    gap: 1.2rem;
}

.front-main-text{
    font-size: 2.1rem;
    text-align: center;
    font-weight: 1000;
}

.front-mini-text{
    color: var(--accent-grey);
    font-family: var(--inter);
    font-weight: 300;
    font-size: .8rem;
    text-align: center;
}

.front-content-container > .btn-gradient{
    padding: 14px 25px;
}

.front-extra-container{
    position: absolute;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

.front-orbits{
    position: absolute;
    top: -410px;
    left: -1350px;
    z-index: 2;
}

.front-planets{
    position: absolute;
    z-index: 3;
}

.purple-planet-container{
    left: 65%;
    top: 65%;
    position: relative;
}

.grain-texture{
    position: absolute;
    z-index: 4;
}

.purple-planet-container > .grain-texture{
    width: 200px;
}

.purple-planet{
    width: 200px;
}

.dark-purple-planet-container{
    position: absolute;
    top: 86%;
    left: -15%;
}

.dark-purple-planet{
    width: 150px;
}

.dark-purple-planet-container > .grain-texture{
    width: 175px;
}

.orange-planet-container{
    position: relative;
    top: 12%;
    left: 3%;
}

.orange-planet{
    width: 165px;
}

.orange-planet-container > .grain-texture{
    width: 165px;
    opacity: 40%;
}

.glow-purple{
    width: 650px;
    height: 650px;
    position: absolute;
    transform: translate(-10%,-36%);
    background: radial-gradient(circle at 25% 50%, rgba(89, 37, 171, 0.7), transparent 70%), radial-gradient(circle at 25% 50%, rgba(63, 18, 134, 0.7), transparent 75%), radial-gradient(circle at 25% 50%, rgba(32, 3, 78, 0.7), transparent 80%);
    -webkit-mask: radial-gradient(circle at 25% 50%, black 0%, transparent 29%);
    z-index: 2;
}

.glow-orange {
    width: 650px;
    height: 650px;
    position: absolute;
    transform: translate(-12%,-36%);
    background: radial-gradient(circle at 25% 50%, rgba(255, 165, 0, 0.3), transparent 50%), 
                radial-gradient(circle at 25% 50%, rgba(255, 140, 0, 0.3), transparent 60%), 
                radial-gradient(circle at 25% 50%, rgba(255, 69, 0, 0.3), transparent 70%);
    -webkit-mask: radial-gradient(circle at 25% 50%, black 0%, transparent 25%);
    z-index: 2;
}

.star{
    position: absolute;
    z-index: 5;
}

.star1{
    width: 60px;
    left: 65%;
    top: 12%;
}

.star2{
    width: 50px;
    left: 80%;
    top: 21%;
}

.star3{
    width: 60px;
    left: 6%;
    top: 68%;
}

.star4{
    width: 50px;
    left: 20%;
    top: 78%;
}

.star5{
    width: 35px;
    left: 86%;
    top: 55%;
}

.front-cards-full{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.front-cards-container{
    width: 85%;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    position: relative;
    z-index: 4;
}

.front-card{
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 250px;
    border-radius: 25px;
    background-color: var(--accent-black);
    padding-top: 15px;
    gap: 1.2rem;
}

.card-symbol{
    width: 30px;
}

.card-symbol-container{
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background-color: #34353C;
    display: flex;
    align-items: center;
    justify-content: center;
}

.card-main-text{
    font-size: 1.5rem;
    margin-top: -10px;
}

.card-mini-text{
    font-family: var(--inter);
    color: var(--accent-grey);
    font-size: 13px;
    width: 80%;
    text-align: center;
}

.card-link-container{
    display: flex;
    gap: 2px;
    align-items: center;
    margin-top: 7px;
}

.card-link-text{
    font-family: var(--inter);
    color: var(--accent-purple);
    font-size: 13px;
}

.cards-arrow{
    width: 15px;
    color: var(--accent-purple);
}

.front-block3-full{
    width: 100%;
    height: 50vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.front-block3-container{
    width: 85%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
    position: relative;
    z-index: 4;
}

.front-block3-container > .btn-gradient{
    padding: 14px 25px;
}

.front-block3-container > .front-mini-text{
    font-size: .87rem;
}

.front-block3-text{
    font-size: 1.75rem;
    text-align: center;
    font-weight: 1000;
}

.front-block3-extras{
    position: absolute;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    top: -4em;;
}

.star6{
    width: 50px;
    left: 1%;
    top: 2.5%;
}
.star7{
    width: 40px;
    left: 16%;
    top: 7.5%;
}
.star8{
    width: 45px;
    left: 3.5%;
    top: 11%;
}
.star9{
    width: 30px;
    left: 27%;
    top: 13.5%;
}
.star10{
    width: 50px;
    left: 11.5%;
    top: 17%;
}
.star11{
    width: 30px;
    left: 75%;
    top: 42%;
}
.star12{
    width: 35px;
    left: 84%;
    top: 38%;
}

.looper{
    width: 120%;
    position: absolute;
    left: 25%;
    top: -5%;
    z-index: 2;
}

.front-block4-full{
    width: 100%;
    height: 50vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-top: -50px;
}

.front-block4-container{
    width: 85%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3rem;
    position: relative;
    z-index: 3;
}

.front-block4-content{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.4rem;
}

.front-block4-content > .front-mini-text{
    margin-top: -12px;
}

.front-block4-main-text{
    font-size: 1.75rem;
    text-align: center;
}

.front-block4-hero{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.front-block4-img{
    width: 50%;
    position: relative;
}

.front-block4-glow{
    width: 325px;
    height: 325px;
    background: linear-gradient(135deg, #423BAC 13%, #7D28A2 77%);
    -webkit-mask: radial-gradient(circle at 50% 50%, black 0%, transparent 67%);
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    pointer-events: none;
}

.front-block4-extra{
    width: 100%;
    height: 100vh;
    position: absolute;
    top: 0;
}

.star13{
    width: 50px;
    left: 14%;
    top: 4.5%;
}

.star14{
    width: 37px;
    left: 10%;
    top: 12.5%;
}

.star15{
    width: 50px;
    left: 75%;
    top: 18.5%;
}

.star16{
    width: 50px;
    left: 19.5%;
    top: 73.5%;
}

.star17{
    width: 50px;
    left: 72%;
    top: 59.5%;
    rotate:15deg;
}


@media screen and (min-height: 840px){
    .front-block5-full{
        margin-top: 150px;
    }
}

.front-block5-full{
    width: 100%;
    height: 50vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-top: 50px;
    /* margin-top: 135px;
    margin-bottom: 45px; */
}

.front-block5-container{
    width: 85%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3rem;
    position: relative;
    z-index: 3;
}

.front-block5-content{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.4rem;
}

.front-block5-content > .front-mini-text{
    margin-top: -12px;
}

.front-block5-content > .btn-gradient{
    padding: 14px 25px;
}

.front-block5-main-text{
    font-size: 1.75rem;
    text-align: center;
}

.front-block5-hero{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.front-block5-img{
    width: 50%;
    position: relative;
}

.front-block5-glow{
    width: 300px;
    height: 300px;
    background: linear-gradient(135deg, #00C2FF 13%, #184BFF 77%);
    -webkit-mask: radial-gradient(circle at 50% 50%, black 0%, transparent 65%);
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    pointer-events: none;
}

.front-block5-extra{
    position: absolute;
    width: 100%;
    height: 50vh;
    overflow: hidden;
    top: 0;
}

.front-block5-looper{
    width: 100%;
    position: absolute;
    left: -50%;
    top: -70%;
    z-index: 2;
}

footer{
    width: 100%;
    display: flex;
    padding: 15px;
    border-top: solid 1px #1A1B23;
    margin-top: 15px;
    position: relative;
    z-index: 10;
}

.footer-main-container{
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: .8rem;
    padding-right: 15px;
}

.footer-main-container .front-mini-text{
    color: #37383e;
    text-align: left;
}

.footer-main-text{
    color: #545457;
    font-size: 1.3em;
}

.social-icon{
    width: 24px;
    fill: var(--accent-purple);
}

.footer-socials{
    display: flex;
    gap: 1.2rem;
    margin-top: 10px;
    margin-bottom: 5px;
}

.footer-links-container{
    flex: 1;
    display: flex;
    gap: 1rem;
    justify-content: space-around;
}

.footer-links{
    display: flex;
    flex-direction: column;
    gap: .8rem;
}

.footer-link{
    color: #37383e;
    font-family: var(--inter);
    font-size: .8rem;
}

.footer-link:hover{
    text-decoration: underline;
    cursor: pointer;
}

.footer-filler{
    font-size: 1.3rem;
    opacity: 0;
}

.footer-filler:hover{
    cursor: default;
}






.signup-full{
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.signup-container{
    width: 85%;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    position: relative;
    z-index: 5;
    background-color: var(--accent-black);
    padding: 15px 10px;
    border-radius: 12px;
}

/* .signup-heading{
    font-size: 1.8rem;
    font-weight: 600;
} */

.signup-form{
    display: grid;
    gap: 1.2rem;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, 1fr);
    padding: 7px 10px;
}

.signup-full-container{
    display: flex;
    flex-direction: column;
    gap: .6rem;
    width: 100%;
}

.signup-full-container label{
    position: relative;
    font-size: .9rem;
    color: var(--white);
    font-family: var(--inter);
    width: fit-content;
}

.signup-input-container{
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
}

.signup-input{
    padding: 15px 25px;
    border-radius: 25px;
    border: 1.5px solid var(--white);
    background-color: #1A1B23;
    color: var(--white);
    font-family: var(--inter);
    font-family: var(--inter);
    width: 100%;
}

.input-icon{
    width: 15px;
    position: absolute;
    right: 14px;
}

.signup-form > .btn-gradient{
    padding: 15px 35px;
    width: fit-content;
    justify-self: center;
    font-size: .9rem;
    font-weight: 600;
    position: relative;
}

.validation-text{
    font-size: .85rem;
    color: var(--accent-purple);
    font-family: var(--inter);
    position: relative;
    display: flex;
    align-items: center;
    gap: 4px;
}

.validation-container{
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.validation-check{
    width: 20px;
    z-index: 10;
}

.form-header-container{
    display: flex;
    flex-direction: column;
    width: 100%;
    padding-left: 10px;
}

.signup-heading{
    padding-bottom: 10px;
    font-weight: 500;
    font-size: 1.2rem;
    width: 95%;
    border-bottom: 1px solid white;
}

.signup-subheading{
    font-size: .9rem;
    color: #5f5e69;
    width: 95%;
    font-family: var(--inter);
    margin-top: 7px;
}

.required-text{
    font-size: .8rem;
    color: #ca5757;
    font-family: var(--inter);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 120%;
    width: 200px;
}

.hidden{
    display: none;
}

.signup-extras{
    position: absolute;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    z-index: 2;
}

.star18{
    width: 40px;
    left: 19%;
    top: 8.5%;
}

.star19{
    width: 50px;
    left: -5%;
    top: 6.5%;
}

.star20{
    width: 50px;
    left: 5%;
    top: 12.5%;
}

.star21{
    width: 40px;
    left: 26%;
    top: 15%;
}

.star22{
    width: 50px;
    left: 70%;
    top: 84.5%;
}

.star23{
    width: 50px;
    left: 89.5%;
    top: 87.5%;
}

.star24{
    width: 50px;
    left: 75%;
    top: 93%;
}

.signup-looper{
    position: absolute;
    right: -60%;
}

.signup-looper2{
    position: absolute;
    left: -60%;
    bottom: -56%;
    width: 450px;
}

.courses-full{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.courses-container{
    width: 85%;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    position: relative;
    z-index: 3;
    align-items: center;
    margin-top: 55px;
}

.courses-heading{
    font-size: 1.8rem;
    font-weight: 900;
    font-family: var(--inter);
}

.courses-subheading{
    font-size: .8rem;
    font-weight: 500;
    font-family: var(--inter);
    color: var(--accent-grey);
}

.courses-grid{
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: auto;
    gap: 1.25rem;
    width: 100%;
}

.course-card{
    display: flex;
    align-items: center;
    gap: 1.2rem;
    padding: 15px 12.5px;
    border-radius: 12px;
    background-color: var(--accent-black);
}

.course-card-heading{
    font-size: 1.1rem;
    font-weight: 400;
    color: var(--white);
    font-family: var(--inter);
}

.courses-mini-text{
    font-size: .9rem;
    color: #898CA9;
    font-family: var(--inter);
    text-align: center;
}

.courses-icon{
    width: 24px;
}

.courses-extras{
    position: absolute;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    z-index: 1;
}

.courses-grad{
    width: 600px;
    position: absolute;
    bottom: -12%;
    left: -15%;
}

.star25{
    width: 50px;
    left: -5%;
    top: 5%;
}

.star26{
    width: 50px;
    left: 4%;
    top: 10%;
}

.star27{
    width: 20px;
    left: 10%;
    top: 7%;
}

.star28{
    width: 50px;
    left: 93%;
    top: 80%;
}

.star29{
    width: 50px;
    left: -6%;
    top: 97%;
}

.star30{
    width: 30px;
    left: 89.4%;
    top: 85.5%;
}

@media screen and (min-width: 768px) {
    .nav-items{
        gap: 2.2rem;
    }
    .front-main-text{
        font-size: 10rem;
        width: 80%;
    }
    .front-content-container{
        gap: 3.5rem;
    }
    .front-content-container .front-mini-text{
        font-size: 1.5rem;
        margin-top: -25px;
    }
    .front-content-container  .btn-gradient{
        padding: 20px 35px;
        font-size: 1.2rem;
        font-weight: 500;
    }
    .nav-logo{
        width: 48px;
    }
    nav .btn-gradient{
        padding: 10px 25px;
        font-size: 1rem;
    }
    .courses-txt{
        font-size: 1rem;
    }
    .front-orbits{
        width: 150%;
        top: -45%;
        left: -25%;
    }
    .purple-planet-container{
        left: 90%;
        top: 55%;
    }
    .purple-planet{
        width: 350px;
    }
    .glow-purple{
        width: 1200px;
        height: 1200px;
    }
    .purple-planet-container > .grain-texture{
        width: 350px;
    }
    .orange-planet-container{
        left: 25%;
        top: 9%;
    }
    .dark-purple-planet-container{
        left: 10%;
        top: 78%;
    }
    .dark-purple-planet{
        width: 250px;
    }
    .dark-purple-planet-container > .grain-texture{
        width: 250px;
    }
    .star1{
        width: 100px;
        left: 77%;
        top: 14%;
    }
    .star2{
        width: 80px;
        left: 86%;
    }
    .star3{
        width: 90px;
        top: 39%;
        left: 8%;
    }
    .star4{
        width: 60px;
        top: 32%;
        left: 12%;
    }
    .star5{
        width: 100px;
        top: 80%;
        left: 81%;
    }
    .front-cards-container{
        flex-direction: row;
        justify-content: space-between;
        width: 75%;
        gap: 1.5rem;
    }
    .front-card{
        width: 32%;
        height: fit-content;
        padding-bottom: 35px;
        padding-top: 30px;
        gap: 1.5rem;
    }
    .card-symbol-container{
        width: 100px;
        height: 100px;
    }
    .card-symbol{
        width: 45px;
    }
    .card-main-text{
        font-size: 2.5rem;
    }
    .card-mini-text{
        font-size: 1.05rem;
    }
    .card-link-text{
        font-size: 1.1rem;
        font-weight: 600;
    }
    /* .front-block3-container{
        gap: 3rem;
    } */
    .front-block3-text{
        font-size: 4rem;
    }
    .front-block3-container > .front-mini-text{
        font-size: 1.2rem;
        width: 32%;
    }
    .front-block3-container > .btn-gradient{
        padding: 18px 32px;
        font-size: 1rem;
        font-weight: 600;
    }
    .front-block4-container{
        flex-direction: row;
        justify-content: space-around;
        width: 70%;
    }
    .front-block4-img{
        width: 300px;
    }
    .front-block4-glow{
        left: 40%;
        width: 600px;
        height: 600px;
    }
    .front-block4-hero{
        width: fit-content;
        position: relative;
    }
    .front-block4-content{
        align-items: last baseline;
        gap: 2.5rem;
    }
    .front-block4-main-text{
        font-size: 4.5rem;
        text-align: left;
    }
    .front-block4-container .front-mini-text{
        font-size: 1rem;
            text-align: left;
    }
    .outline-btn{
        font-size: 1rem;
        padding: 20px 35px;
    }
    .star15{
        width: 80px;
        left: 85%;
        top: 35%;
    }
    .star16{
        width: 80px;
        left: 15%;
        top: 90%;
    }
    .looper{
        width: 30%;
        left: 80%;
    }
    .front-block5-container{
        flex-direction: row-reverse;
        justify-content: space-around;
        width: 70%;
    }
    .front-block5-img{
        width: 300px;
        transform: translateX(-10%);
    }
    .front-block5-glow{
        left: 40%;
        width: 600px;
        height: 600px;
    }
    .front-block5-hero{
        width: fit-content;
        position: relative;
    }
    .front-block5-content{
        align-items: last baseline;
        gap: 2.5rem;
    }
    .front-block5-main-text{
        font-size: 4.5rem;
        text-align: left;
    }
    .front-block5-container .front-mini-text{
        font-size: 1rem;
        text-align: left;
        width: 85%;
    }
    .front-block5-content{
        width: 50%;
    }
    .front-block5-looper{
        width: 750px;
        position: absolute;
        z-index: 2;
        left: -17%;
        top: -80%;
    }
    footer{
        padding: 50px;
    }
    .footer-main-container{
        gap: 1.5rem;
        padding-left: 75px;
    }
    .footer-main-text{
        font-size: 1.75rem;
    }
    .footer-main-container  .front-mini-text{
        font-size: .95rem;
    }
    .social-icon{
        width: 30px;
    }
    .footer-filler{
        font-size: 1.75rem;
    }
    .courses-grid{
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem;
    }
    .courses-looper{
        width: 1000px;
        position: absolute;
        left: 75%;
        top: -20%;
    }
    .signup-container{
        width: 45%;
    }
    .signup-form{
        grid-template-columns: 1fr 1fr;
        grid-template-rows: repeat(2, 1fr);
        row-gap: 2rem;
        column-gap: 2.5rem;
    }
    .signup-form .btn-gradient{
        grid-column: 1 / 3;
        margin-top: 10px;
    }
    .validation-container{
        grid-column: 1 / 3;
    }
}