:root[theme="light"]{
    --default-text-color:#001524;
    --background:linear-gradient(to bottom right, rgb(169, 169, 255), rgb(255, 166, 255));
    --content-holder-background:#fff;
    --links-color:#000;
    --links-hover-color:#555;
    --header-color:#000;
    --header-desktop-color:#f4f4f4;
    --header-background:#fff;
    --default-font-family:Poppins, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; 
    --about-section-background:#f4f4f4;
    --about-section-title-color:#333;
    --about-section-body-color:#555;
    --testimonials-section-background:#e0e6ff;
    --testimonials-section-title-color:#333;
    --testimonials-section-body-color:#555;
    --testimonials-tile-background:#f4f4f4;
    --testimonials-tile-divider-color:#050505;
    --testimonials-tile-color:#030303;
    --extracurricular-section-background:rgb(250, 232, 252);
    --extracurricular-section-title-color: #121212;
    --extracurricular-section-body-color: #1a1a1a;
    --footer-bg: url('/images/hero.jpg');
    --footer-color: #f4f4f4;
}

:root[theme="dark"]{
    --default-text-color:#f4f4f4;
    --background:linear-gradient(to bottom right, rgb(169, 169, 255), rgb(255, 166, 255));
    --content-holder-background:#030303;
    --links-color:#f4f4f4;
    --links-hover-color:#dadada;
    --header-color:#f4f4f4;
    --header-desktop-color: #121212;
    --header-background:#222;
    --default-font-family:Poppins, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; 
    --about-section-background:#222;
    --about-section-title-color:#f0f0f0;
    --about-section-body-color:#fdfdfd;
    --testimonials-section-background:#1e1e1e;
    --testimonials-section-title-color:#f0f0f0;
    --testimonials-section-body-color:#fdfdfd;
    --testimonials-tile-background:#333;
    --testimonials-tile-divider-color:#000;
    --testimonials-tile-color:#f4f4f4;
    --extracurricular-section-background:rgb(15, 12, 15);
    --extracurricular-section-title-color: #f1f1f1;
    --extracurricular-section-body-color: #fffff0;
    --footer-bg: #001433;
    --footer-color: #f4f4f4;
}

body{
    color:var(--default-text-color);
    background:var(--background);
    background-repeat: no-repeat;
    background-size:cover;
    font-family:var(--default-font-family);
    margin:0;
    padding: 0;
    overflow-x:clip;
    overflow-y:auto;
}

*{
    user-select:none;
    transition:0.1s color, 0.1s background-color;
}

.content{
    width:100%;
    margin:auto;
    min-height:100vh;
    background-color: var(--content-holder-background);
    backdrop-filter: blur(100px);;
    box-sizing: border-box;
    transition:0.1s background-color;
}

.header{
    margin:0;
    position:sticky;
    left:0;
    top:0;
    right:0;
    display:flex;
    align-items:center;
    z-index:12345;
    padding:10px;
    box-shadow:0px 0px 10px rgba(0, 0, 0, .3);
    transition:0.1s background-color, 0.1s color;
    & *{
        margin:0;
        color:var(--header-color);
    }
    /*box-shadow:0px 0px 10px rgba(0, 0, 0, .1);*/
    h1{
        color:var(--header-color);
        font-family:Poppins;
        font-weight:400;
        font-size:calc(.9rem + 1vw);
    }
    & .menu-button{
        margin-left:auto;
        & .mb-1, & .mb-2, & .mb-3{
            width:25px;
            height:3px;
            background:var(--header-color);
            margin:4px 0;
            box-sizing:border-box;
            transition:0.3s transform;
            @media all and (max-width:768px){
                width:20px;
                height:2px;
            }
        }
        &.active{
            & .mb-2{
                visibility: hidden;
            }
            & .mb-1{
                transform:translateY(8px) rotate(-45deg);
                @media all and (max-width:768px){
                    transform:translateY(6px) rotate(-45deg)
                }
            }
            & .mb-3{
                transform: translateY(-6px) rotate(45deg);
            }
        }
    }
    & .header-logo-constrain{
        width:30px;
        margin-right:10px;
    }
}

.navigation{
    display:none;
    text-align:center;
    padding:10px;
    background-color: var(--header-background);
    position:sticky;
    top:45px;
    z-index:12344;
    height:90vh;
    border:0px solid;
    border-radius:100rem;
    transition: border-radius 5s ease;
    &.active{
        display:flex;
        justify-content: center;
        align-items: center;
        border-radius: 0;
    }
}

.nav-link{
    display:block;
    color:var(--links-color);
    text-transform: uppercase;
    text-decoration: none;
    font-weight:700;
    letter-spacing:2px;
    font-size:1.3rem;
    margin:30px;
    box-sizing:border-box;
    transition:color 0.2s ease;
    &:hover{
        color:var(--links-hover-color);
    }
    button&{
        margin:auto;
        background-color: transparent;
        border:2px solid var(--links-color);
        border-radius: 5px;
        padding:10px 20px;
        &:hover{
            border:2px solid var(--links-hover-color);
        }
    }
    &.inline-block{
        display: inline-block;
        margin:0;
        margin-right:20px;
        font-size:1rem;
        color: var(--header-desktop-color) !important;
        button&{
            padding:5px 10px;
            border-color: var(--header-desktop-color);
            &>i{
                color: var(--header-desktop-color)
            }
        }
    }
}

.nav-theme-label.inline-block{
    color: var(--header-desktop-color)
}

.hero{
    background:linear-gradient(to bottom, transparent, rgba(0, 0, 0, .9)), url('/images/hero.jpg');
    background-size:cover;
    background-position: center;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#fff;
    text-align:center;
    position:relative;
    &::before{
        content:'';
        position:absolute;
        top:0;
        left:0;
        width:100%;
        height:100%;
        background:rgba(0, 0, 0, .4);
    }
}

.hero-content{
    position:relative;
    z-index:2;
    max-width:800px;
    padding:20px;
}

.hero h1{
    font-size:3rem;
    font-weight:500;
    margin-bottom:20px;
}

.hero p{
    font-size:1.2rem;
    margin-bottom:30px;
}

.cta-button{
    color:#fff;
    padding:15px 30px;
    font-size:1.1rem;
    text-decoration:none;
    border-radius:5px;
    transition:background-color 0.3s ease, border 0.3s ease;
}

.cta-alt-button{
    background-color: transparent;
    color:blue;
    box-sizing: border-box;
    padding:15px 30px;
    font-size:1.1rem;
    text-decoration:none;
    border:2px solid blue;
    border-radius:5px;
    transition:background-color 0.3s ease;
    &:hover{
        background-color: rgb(0, 0, 255);
        color:#fff;
    }
}

.about{
    background-color:var(--about-section-background);
    padding:50px 20px;
    text-align:center;
    margin-bottom:0;
    & p, & h1{
        margin:0;
        padding:0;
    }
    & .about-container{
        max-width:1200px;
        margin:0 auto;
        padding:0 15px;
    }
    & h1{
        font-size:2.5rem;
        font-weight:700;
        color:var(--about-section-title-color);
        margin-bottom:20px;
        text-transform:uppercase;
        letter-spacing:2px;
    }
    & p{
        font-size:1.2rem;
        color:var(--about-section-body-color);
        line-height:1.6;
        margin-bottom:30px;
        max-width:900px;
        margin-left:auto;
        margin-right:auto;
    }
}

.testimonials{
    background-color:var(--testimonials-section-background);
    padding:50px 20px;
    text-align:center;
    margin-bottom:0;
    & p, & h1{
        margin:0;
        padding:0;
    }
    & .testimonials-container{
        max-width:1200px;
        margin:0 auto;
        padding:0 15px;
    }
    & h1{
        font-size:2.5rem;
        font-weight:700;
        color:var(--testimonials-section-title-color);
        margin-bottom:20px;
        text-transform:uppercase;
        letter-spacing:2px;
    }
    & p{
        font-size:1.2rem;
        color:var(--testimonials-section-body-color);
        line-height:1.6;
        margin-bottom:30px;
        max-width:900px;
        margin-left:auto;
        margin-right:auto;
    }
}

.testimonial{
    width:90%;
    max-width:500px;
    min-width:300px;
    margin:auto;
    align-items:center;
    background-color:var(--testimonials-tile-background);
    box-sizing: border-box;
    padding: 0;
    border:0px solid;
    border-radius:30px;
    box-shadow:0px 0px 10px rgba(0, 0, 0, .1);
    & *{
        margin:0;
        padding:0;
    }
    & p{
        color:var(--testimonials-tile-color);
        padding:25px 30px;
        padding-bottom:0;
        text-align:left ;
    }
    & .testimonial-name{
        margin-top:-30px;
        /*border-top:1px dotted var(--testimonials-tile-divider-color);*/
        padding:10px 30px;
        font-weight:700;
        text-align:right;
        color:#888;
    }
}