div.gridcontainer {
  display: grid;
  grid-template-columns: 15rem auto;
  grid-template-areas: 
  "pageheader     pageheader"
  "pagenavigation maincontent"
  "pagefooter     pagefooter"; 
}

header { grid-area: pageheader;}
footer { grid-area: pagefooter;}
nav { grid-area: pagenavigation;}
main { grid-area: maincontent; }


/* 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;}