body {
  margin: 0;
  font-family: sans-serif;
}
main {
  margin: 1rem 1em 3rem;
}
#footlinks {
  margin: 1rem;
}
a:link, a:visited {
  color: #0086e9;
}
a:hover {
  color: #db68a2;
}
h2, h3 {
  margin: 0;
}
h3 {
  line-height: 1;
}

header {
  text-align: center;
}
#contents {
  display: flex;
}
#sub1 {
  flex: 3;
  color: #fff; 
  text-align: left;
  font-family: cursive;
  padding: 5px 0 0 20px;
  vertical-align: bottom;
  background: #000; 
}
#sub2 {
  flex: 1;
  background: #000;
}
#sub2 img {
  vertical-align: bottom;
}
nav ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto auto;
  margin: 10px 2px 2px;
  padding: 0;
}
nav li {
  margin: 0;
  padding: 0;
}
nav li, nav a {
  display: block;
}
nav a {
  margin: 2px;
  padding: 0.4px 0;
  background: #f3f3f3;
  text-decoration: none;
  font-size: 0.9rem;
}

main h1 {
  text-align: center;
  font-family: cursive;
  margin:0;
}
picture img {
  margin: 0 0 16px;
}
#sub3 {
  text-align: center;
}

dl dt, dl dd {
  text-align: center;
  margin: 10px 0 10px;
}
dl a {
  text-decoration: none;
}
dl a:hover {
  text-decoration: underline;
}

footer {
  padding-top: 0.5rem;
  padding-bottom: 1.4rem;
  background: #f3f3f3;
}
#footlinks ul, #footlinks li {
  display: block;
  margin-left: 0;
  padding-left: 0;
}
#footlinks h3 {
  font-size: 1rem;
}
#footlinks a {
  text-decoration: none;
}
#footlinks a:hover {
  text-decoration: underline;
}
#copyright {
  color: #888;
  text-align: center;
  font-size: 0.82rem;
}