html, body {
    height: 100%;
    overflow: hidden;
}
.top {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.top > header {
    flex: initial;
    height: 3em;
    text-align: center;
    background-color: #1b1b1b;
}
.top > header > table {
    height: 100%;
    width: 100%;
}
.top > content {
    flex: auto;
}
.top > content > div {
    position: relative;
    width: 100%;
    height: 100%;
}
div.right {
    width: 100%;
    transition: left 0.2s;
}
.left {
    transition: left 0.2s;
}

/* Desktop doesn't need this crap, throw it away */
@media (min-width: 1000px) {
    .top > header {
        display: none;
    }
    div.right {
        width: initial;
    }
}
