html, body { height:100vh; margin:0; padding:0; }

.display {
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.controls {
  height: 3%;
  align-items: flex-start;
}
.gallery {
  --height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 95%;
}

.gallery-wall {
  display: flex;
  flex-flow: row nowrap;
  height: 75%;
  justify-content: center;
  margin: 10px;
}

.gallery-reel {
  display: flex;
  flex-flow: row nowrap;
  overflow-x: auto;
  --height: 10%;
  gap: 20px;
  margin: 20px 0px;
}

.gallery-item {
  display: none;
}

.gallery-item img {
  object-fit: contain;
}

.gallery-item.portrait img {
  width: auto;
  height: 100%;
  max-height: 1200px;
}

.gallery-item.landscape img {
  max-width: 1200px;
  max-height: 100%;
  height: auto;
  width: auto;
}

.gallery-thumbnail {
  flex: 0 0 auto;  
  min-width: 0;
  width: fit-content;
}

.gallery-thumbnail img {
  display: block;
  height: 60px;
  width: auto;
  max-width: 100%;
  opacity: 0.3;
}