header,
footer,
nav,
main {
    padding: 1rem;
}

* {
    box-sizing: border-box;
}

body {
    font-family: Helvetica, sans-serif;
    margin: 0;
}

div.container {
    display: flex;
}

.container nav {
    flex-basis: 10rem;
    flex-grow: 0;
    flex-shrink: 0;
    background-color: #ffcccc;
}

header {
    background-color: #cccccc;
}
header h1 {
    margin: 0;
}

main {

    flex-grow: 1;
    flex-shrink: 1;
    background-color: #ccffcc;
}

footer {
    background-color: #ccccff;
}