body {
    display: grid;
    grid-template-columns: minmax(200px, 500px) 1fr; /* Two columns, each 50% */
    grid-template-rows: auto minmax(0, 1fr);
    grid-template-areas: "header header"
                         "toc main";
    height: 100vh;
    width: 100vw;
    overflow: hidden;
    margin: 0px;
}


header {
    grid-area: header;
    grid-column: 1/-1;
    padding: 10px;
    padding-left: 40px;
    border-bottom: 1px solid black;
}

h1 {
    margin: 0;
}

section:not(:first-child) {
    margin-top: 80px;
}

.toc {
    grid-area: toc;
    overflow-y: scroll;
    padding-left: 10px;
    padding-right: 10px;
}

main {
    grid-area: main;
    overflow-y: scroll;
    margin-left: 40px;
}
