html, body {
  font-size: 2vh;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}

body {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #173e88;
}

main {
  margin: 1em;
  padding: 1em;
  background: #FAFAFA;
  border-radius: 2em;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);
}

main header h1 {
  margin: 0;
  text-align: center;
  font-size: 4em;
  font-family: Lato;
  font-weight: 400;
  color: #376ee8;
}

main header h2 {
  margin: 0.5em;
  text-align: center;
  font-size: 1.5em;
  font-family: Lato;
  font-weight: 400;
  color: #888;
}

main section {
  display: flex;
  justify-content: center;
  overflow: hidden;
  padding: 0.5em;
  max-height: 6em;
  transition: all 0.3s;
  opacity: 1;
}

main section.hidden {
  max-height: 0;
  opacity: 0;
}

main section a img {
  padding: 1em;
  width: 4em;
  height: 4em;
}

main footer {
  display: flex;
  justify-content: center;
}

main footer a {
  margin: 0 0.5em;
  padding: 0.75em 1.5em;
  font-size: 1em;
  font-family: Lato;
  font-weight: 400;
  text-decoration: none;
  color: #444;
  border-color: #AAA;
  border-width: 1px;
  border-style: solid;
  border-radius: 1em;
  transition: color 0.2s, border-color 0.2s, background 0.2s, box-shadow 0.2s;
  cursor:pointer;
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}

main footer a:hover {
  color: #fff;
  background: #376ee8;
  border-color: #376ee8;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
