#layout {
    display: grid;
    width: 100vw;
    height: 100vh;
    grid-template:
            "head head" 4.5em
            "menu content" .1em
            "menu content" calc(100% - 4.6em)
            / min(100%,17em) auto;
    margin: 0;
    overflow: hidden;
    background-color: var(--white-light);

    transition: grid-template-columns 0.5s ease-in-out;
}

#layout>#head {
    color: var(--header-color-text);
    grid-area: head;
    padding: .25em;
    background-color: var(--header-color);

    box-shadow: 0 -.75rem 1rem 1rem var(--shadow-color);
    z-index: 12;
}

#layout>#menu_container {
    display: grid;
    grid-template:
            "menu" auto
            "user" 4em
            / 100%;

    grid-area: menu;
    background-color: var(--menu-color);

    box-shadow: -.75rem 0 1rem 1rem var(--shadow-color);
    z-index: 7;
}

#layout>#user_container {
    position: fixed;
    width: min(100%, 17em);
    min-height: min(100%, 17em);
    top: 4.5em;
    right: 0;
    border: 1px solid var(--shadow-color);

    box-shadow: .75rem -0.75em 1rem 1rem var(--shadow-color);
    z-index: 9;

    background-color: var(--white-dark);

    display: none;
}

#layout>#content {
    grid-area: content;
    overflow: hidden;
    z-index: 0;
}

#layout>#notifications {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 25em;
    max-height: calc(100vh - 5em);
    padding: .5em;
    overflow-y: auto;

    z-index: 9;
}

