div.gridcontainer {
  display: grid;
  grid-template-columns: 15rem auto;
}
header {
  grid-column-start: 1;
  grid-column-end: -1; /* last */
  grid-row-start: 1;
  grid-row-end: 2;
}
footer {
  grid-column: 1 / -1 ; 
  grid-row: 3 / 4;
}
nav {
  grid-area: 2 / 1 / 3 / 2;
}
main {
  grid-area: 2 / 2 / 3 / 2;
}


/* styles below have nothing to do with grid or layout */
body { margin: 0;}
header, main, footer { padding: 1rem;}
h1, h2, h3, h4, h5, h6 { margin: 0; padding: 0;}
header {
  background-color: lightblue;
}
nav {
  background-color: brown;;
}
main {
  background-color: linen;
}
footer {
  background-color: lightgray;
}
body {
  font-family: helvetica, sans-serif;
  background-color: yellow;
}
nav ul { list-style: none; padding: 0; margin: 0;}
nav ul li { padding: 0; margin: 0;}
nav a { display: block; font-size: 1.2rem; font-weight: bold; }
nav a:link,
nav a:visited {
  color: white;
  text-decoration: none;
  padding: 0.5em;
  border-bottom: 1px solid white;
}
nav li:first-child a:link {
  border-top: 1px solid white;
}
nav a:hover,
nav a:active {
  color: brown;
  background-color: white;
  
}
* { box-sizing: border-box;}
body { line-height: 1.5;}