:root {
    --top-height: 70px;
    --footer-height: 50px;
    --theme-aside-background-color: #233242;
    --theme-footer-background-color: #233242;
}

@font-face {
    font-family: 'rubik-regular';
    src: url('../fonts/rubik-regular.woff2') format('woff2');
}

@font-face {
    font-family: 'rubik';
    src: url('../fonts/rubik-variablefont_wght.woff2') format('woff2');
}

.theme-light {
    --theme-aside-background-color: beige;
    --theme-footer-background-color: beige;
}

html {
    font-size: 14px;
    font-family: rubik;
    font-weight: 100;
}

html {
    display: grid;
    min-height: 100%;
}

body {
    display: grid;
    margin: 0;
}

body {
    overflow-x: hidden;
    margin: 0;
    color: #6a7a8c;
    background: #f2f4f5;
    position: relative
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: .5rem;
    font-weight: 400;
    line-height: 1.2;
    color: var(--bs-heading-color, inherit);
}

.h1, h1 {
    font-size: calc(1.35rem + 1.2vw)
}

@media (min-width: 1200px) {
    .h1, h1 {
        font-size: 2.25rem
    }
}

.h2, h2 {
    font-size: calc(1.3125rem + .75vw)
}

@media (min-width: 1200px) {
    .h2, h2 {
        font-size: 1.875rem
    }
}

.h3, h3 {
    font-size: calc(1.275rem + .3vw)
}

@media (min-width: 1200px) {
    .h3, h3 {
        font-size: 1.5rem
    }
}

.h4, h4 {
    font-size: 1.125rem
}

.h5, h5 {
    font-size: 1rem
}

.h6, h6 {
    font-size: .875rem
}

swp-container {
    display: grid;
    grid-template-columns: 250px 1.3fr;
    grid-template-rows: var(--top-height) 1000px var(--footer-height);
    gap: 0px 0px;
    grid-auto-flow: row;
    grid-template-areas:
        "aside top"
        "aside main"
        "aside footer";
}

aside {
    grid-area: aside;
    background-color: var(--theme-aside-background-color);
    position: sticky;
    top: 0;
    height: 100vh;
    display: grid;
    grid-template-rows: var(--top-height) auto;
}

    aside aside-top {
        background-color: var(--theme-background-color);
        overflow: hidden;
        justify-self: center;
    }

        aside aside-top img {
            transform: scale(0.7);
        }
    aside nav {
        margin-top: 50px;
    }
    aside nav ul {
        
        display: grid;
        margin-block-start: 0px;
        padding-inline-start: 0px;
        grid-auto-rows: 50px;
        justify-items: stretch;
        align-items: stretch;
    }

    aside nav li {
        align-content: center;
        color: #fff;
        padding-inline: 12px 15px;
        border-left: 2px solid transparent;
    }

        aside nav li:hover {
            background: rgba(0, 0, 0, .1);
            border-left: 2px solid #137eff;
        }


main {
    grid-area: main;
    background-color: lightgray;
}

top {
    grid-area: top;
    background-color: #f2f4f5;
    position: sticky;
    top: 0;
    z-index: 1;
    box-shadow: 0 2px 4px rgb(200, 200, 200, 0,15);
}

footer {
    grid-area: footer;
    background-color: var(--theme-footer-background-color);
}
