body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.glide {
  width: 100%;
  overflow: hidden;
}
.glide img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}
.glide .caption {
  color: white;
  filter: drop-shadow(0 0 2px black);
  position: absolute;
  bottom: 4px;
}

main {
  margin: 20px;
  display: flex;
  flex-direction: column;
}



/* Specific Elements */
.titles h1, .titles h2 {
  margin: 0;
 
}

.titles h1 {
  font-size: 64pt;
}

.titles h2 {
  font-size: 48pt;
}

nav {
  display: flex;
  gap: 10px;
}

nav a {
  text-transform: uppercase;
  font-family: "Barlow Condensed";
  font-size: 48pt;
  text-align: center;
  display: block;
  color: white;
  background-color: #394f64;
  padding: 1em;
}

/* PORTRAIT LAYOUT - under 3/5 aspect ratio */
@media (max-aspect-ratio: 3/5) {
  main {
    flex-grow: 1;
    justify-content: space-between;
  }
  .glide {
    height: 100vw;
  }
  .glide img {
    width: 100vw;
  }
  .titles {
    margin: 0 40px;
  }
  h1, h2 {
    line-height: 1.2;
  }
  nav {
    flex-direction: column;
  }
  nav a {
    padding: 1em;
  }
}

/* LANDSCAPE LAYOUT - over 3/5 aspect ratio */
@media (min-aspect-ratio: 3/5) {
  body {
    justify-content: center;
  }
  main {
    gap: 20px;
  }
  .glide {
    height: 33vh;
  }
  .glide li {
    display: flex;
    flex-direction: row;
    justify-content: center;
  }
  .glide img {
    width: 33vh;
  }
  h1, h2 {
    line-height: 1.0;
  }
  nav {
    flex-direction: row;
  }
  nav a {
    font-size: 36pt;
    padding: 0.3em 1em;
  }
}
/* LANDSCAPE PHONES */
@media (min-aspect-ratio: 3/5) and (-webkit-min-device-pixel-ratio: 2) {
  h1 {
    font-size: 48pt;
  }
  h2 {
    font-size: 36pt;
  }
  nav a {
    font-size: 24pt;
  }
}