@media (min-width: 64em) {
  header img {
    width: 140px;
  }

  header h1 {
    font-size: 50px;
  }

  header h2 {
    font-size: 28px;
  }

  main {
    max-width: 52em;
    margin: auto;
  }

  body#gallery-page main {
    max-width: 76em;
  }

  footer {
    max-width: 54em;
    margin: auto;
  }

  body#gallery-page main + footer {
    max-width: 78em;
  }

  nav button {
    display: none;
  }

  nav ul,
  nav ul.hidden {
    display: flex;
    border-top: none;
  }

  nav ul li {
    flex: 1 1 100%;
  }

  nav ul li a {
    font-size: 18px;
    padding: 1em;
  }

  nav ul li.current a {
    box-shadow: 0 2px 0 hsl(40, 80%, 30%);
  }

  nav ul li:hover a {
    box-shadow: 0 4px hsl(40, 80%, 30%);
  }

  section#summary {
    bottom: 2em;
    left: 2em;
  }

  div#towns {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 1em;
  }

  div#towns section,
  div#towns section:nth-child(even) {
    flex-direction: column;
    margin-bottom: 0;
  }

  div#towns section > div {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    margin-bottom: 0;
  }

  div#towns section img {
    max-width: 100%;
    height: auto;
  }

  section#gallery {
    grid-template-columns: 1fr 1fr 1fr;
  }

  section#gallery figure {
    transition: box-shadow .5s;
  }

  section#gallery figure:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
  }

  form label.side {
    padding: .25em 0;
  }

}
