@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

/* || RESET */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

/* || VARIABLES */
:root {
    /* || COLORS */
    --BORDER-COLOR: 1px solid #000;
    --CODE-BG: #f1eded;
    --MAIN-BG: #fff;
    --TEXT-COLOR : #000;
    --CODE-COLOR: #000;

    /* || FONT */
    --FF: "Roboto", sans-serif;
    --FS: normal;
    --FW: 400;

    /* || STANDARD SIZES */
    --BORDER-RADUIS: 1rem;
    --MARGIN-LARGE: 1.5rem;
    --MARGIN-MINI: 0.5rem;
    --MARGIN-XL: 3rem;
    --MARGIN: 1rem;
    --PADDING-LARGE: 1.5rem;
    --PADDING-MINI: 0.5rem;
    --PADDING-XL: 2rem;
    --PADDING-XXL: 4rem;
    --PADDING-XXXL: 3rem;
    --PADDING: 1rem;
}

/* || DARK MODE */
@media (prefers-color-scheme: dark) {
    :root {
        --BORDER-COLOR: 1px solid #fff;
        --CODE-BG: #a2a0a0;
        --MAIN-BG: #000;
        --TEXT-COLOR : #fff;
    }
}

/* || UTILITY CLASSES */
.nowrap {
    white-space: nowrap;
}

.center {
    text-align: center;
}

.left {
    text-align: left;
} 


/* || GENERAL STYLES */
/* || BODY */
.body {
    background-color: var(--MAIN-BG);
    font-family: var(--FF);
    font-size: var(--FS);
    font-weight: var(--FW);
    position: relative;
    color: var(--TEXT-COLOR);
}
/* || HEADER */
.header {
    border: var(--BORDER-COLOR);
    display: flex;
    flex-flow: column nowrap;
    left: 0;
    opacity: 1;
    position: fixed;
    top: 0;
    width: min(100%, 310px);
    background-color: var(--MAIN-BG);
}

.nav__h1 {
    padding: var(--PADDING);
}

.nav__li {
    border-top: var(--BORDER-COLOR);
    list-style-type: none;
    padding-inline-start: 1.5rem;
    padding: var(--PADDING);
}

.nav__ul {
    height: 100vh;
    overflow-y: auto;
}

.nav a:any-link {
    color: var(--TEXT-COLOR);
    text-decoration: none;
}

h1,
h2 {
    font-weight: 400;
    font-size: clamp(1.8rem, 3vh, 2rem);
}


/* || MAIN */
.main {
    margin-left: 21rem;
    padding: var(--PADDING-MINI);
}

.main__section {
    padding-block: var(--PADDING);
    line-height: 1.5;
}

.main__section__p,
code {
    padding: var(--PADDING);
}

code{
    background-color: var(--CODE-BG);
    border-radius: 11px;
    color: var(--CODE-COLOR);
    display: block;
}

.main__section__ul {
    padding-inline-start: var(--PADDING-XXL);
}

.main__section__ul__ul {
    padding-inline-start: var(--PADDING-XXXL);
}

:is(.main__section__ul, .main__section__ul__ul) li {
    padding-block: var(--PADDING-MINI);
}

/* || FOOTER */
.footer {
    margin-left: 20rem;
    padding-inline: var(--PADDING-XL);
    padding-bottom: 0.5rem;
}

/* || X-SMALL */
@media screen and (min-width: 340px) {
    .body {
        font-size: small;
    }

    .header {
        background-color: var(--MAIN-BG);
        border: var(--MAIN-BG);
        display: flex;
        flex-flow: column nowrap;
        min-width: 100%;
        opacity: 1;
        position: sticky;
        top: 0;
    }

    .nav__ul {
        border-top: var(--BORDER-COLOR);
        display: flex;
        flex-flow: row nowrap;
        font-size: 0.5rem;
        height: 2rem;
        justify-content: space-evenly;
        overflow-y: hidden;
    }

    .nav__li {
        border-inline: var(--BORDER-COLOR);
        border-bottom: var(--BORDER-COLOR);
        padding: 0.3rem;
    }

    h1,
    h2 {
        font-size: large;
    }

    .main {
        margin: 0;
        padding: 0.5rem;
    }

    .main__section {
        scroll-margin-top: 5rem;
    }

    code{
        margin: 1rem;
    }

    .main__section__ul {
        padding-inline-start: 2.5rem;
    }
    
    .main__section__ul__ul {
        padding-inline-start: 1rem;
    } 

    .footer {
        margin: 0;
        padding: 1rem;
    }
} 

/* || MEDIUM */
@media screen and (min-width: 768px) {
    .body {
        font-size: larger;
    }

    .header {
        border: var(--MAIN-BG);
    }

    h1 {
        font-size: x-large;
    }

    h2 {
        font-size: larger;
    }

    .nav__li {
        padding: 0.3rem;
        font-size: larger;
    }
}
/* || LANDSCAPE */
@media screen and (max-height: 500px) and (min-aspect-ratio: 7/4) {
    .body {
        font-size: medium;
    }

    .header {
        border: var(--MAIN-BG);
    }

    .nav__ul {
        height: 4.5vh;
    }
}

/* || XL */
@media screen and (min-width: 1024px){
    .header {
        background-color: var(--MAIN-BG);
        border: var(--BORDER-COLOR);
        display: flex;
        flex-flow: column nowrap;
        min-width: 10%;
        opacity: 1;
        position: fixed;
        top: 0;
    }

    .nav__ul {
        border-top: var(--BORDER-COLOR);
        display: flex;
        flex-flow: column nowrap;
        font-size: 1rem;
        height: 90vh;
        overflow-y: auto;
    }

    .nav__li {
        border-top: var(--BORDER-COLOR);
        font-size: 0.8rem;
        list-style-type: none;
        padding-inline-start: 1.5rem;
        padding: 1.5rem;
    }

    .main {
        font-size: medium;
        margin-left: 30%;
        padding: 2rem;
    }

    h1,
    h2 {
    font-weight: 400;
    font-size: clamp(1.8rem, 3vh, 2rem);
    }

    .main__section {
        scroll-margin-top: 0.3rem;
    }

    .main__section__ul {
        padding-inline-start: var(--PADDING-XXL);
    }
    
    .main__section__ul__ul {
        padding-inline-start: var(--PADDING-XXXL);
    }
    
    :is(.main__section__ul, .main__section__ul__ul) li {
        padding-block: var(--PADDING-MINI);
    }
}

/* || XXL */
@media screen and (min-width: 1500px) {
    .header {
        min-width: 25%;
    }
    
    .main {
        margin-left: 27%;
        padding: 1rem;
    }
    
}








