#page {
    display: grid;
    grid-template-columns: 18rem minmax(0, 1fr);
    grid-template-rows: 5rem 1fr;
    grid-template-areas:
        "sidebar topbar"
        "sidebar content";
    height: 100vh;
    width: 100vw;
    overflow-x: hidden;
    overflow-y: hidden;
}

@media(max-width: 1280px) {
    #page {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 5rem 1fr;
        grid-template-areas:
            "topbar"
            "content"
            "sidebar";
        height: 100vh;
        width: 100vw;
        overflow-x: hidden;
        overflow-y: hidden;
        margin-bottom: 9rem;
    }
}

@media (max-width: 768px) {
    #page {
        display: flex;
        flex-direction: column;
        margin-top: 3rem;
    }
}