body {
  font-family: helvetica, sans-serif;
  background-color: rgb(240, 240, 240);
  margin: 0;
}
* {
    box-sizing: border-box; 
}
/* give some padding to header, main, footer */
header,
main,
footer {
  padding: 1.5rem;
}
header {
  border-bottom: 2px solid black;
  overflow: auto;
}

nav ul {
  list-style: none;
  margin: 1em 0 0 0; /* t r b l */
  padding: 0;
}
nav ul li {
  display: inline;
  padding-right: 0.5em;
}
header nav ul {
  float: right;
  margin-bottom: 1em;
}
header nav a {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  padding-right: 1.5em;
  padding-left: 1.5em;
  font-weight: bold;
}
header nav a:link,
header nav a:visited {
  text-decoration: none;
  border-width: 2px;
  border-style: solid;
  border-color: transparent;
  border-radius: 5px;
}
header nav a:hover,
header nav a:active {
  background-color: white;
  border-color: blue;
}
header h1 {
  float: left;
  margin: 0;
  padding: 0;
}
main div.container {
  display: flex;
  flex-wrap: wrap;
}
main section {
  flex-basis: calc(33.33% - 2rem);
  flex-grow: 0;
  flex-shrink: 0;
    background-color: white;
    border: 1px dotted black;
    padding: 1rem;
    margin: 1rem;
}
main section h2 { 
    text-align: center;
}
div.container section img { 
    max-width: 100%;
}
