@import url("https://fonts.googleapis.com/css2?family=Roboto&display=swap");
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  width: 100%;
  height: 100vh;
  overflow: hidden;
  background-color: #1e1e1e;
  font-family: "Roboto", sans-serif;
  user-select: none;
}

ul {
  list-style: none;
  display: grid;
  padding: 1em;
  height: 100%;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(5, 1fr);
  gap: 1em;
}

ul li {
  position: relative;
  display: grid;
  place-content: center;
  overflow: hidden;
  font-size: 2vmin;
  color: rgba(0, 0, 0, 0);
  transition: color 0.25 ease, text-shadow 0.25 ease;
  transition-delay: 0.25s;
  cursor: pointer;
}

ul li:nth-child(1) {
  grid-row: 1/2;
  grid-column: 1/2;
}

ul li:nth-child(2) {
  grid-row: 1/2;
  grid-column: 2/3;
}

ul li:nth-child(3) {
  grid-row: 1/2;
  grid-column: 3/4;
}

ul li:nth-child(4) {
  grid-row: 1/2;
  grid-column: 4/5;
}

ul li:nth-child(5) {
  grid-row: 1/2;
  grid-column: 5/6;
}

ul li:nth-child(6) {
  grid-row: 2/3;
  grid-column: 5/6;
}

ul li:nth-child(7) {
  grid-row: 3/4;
  grid-column: 5/6;
}

ul li:nth-child(8) {
  grid-row: 4/5;
  grid-column: 5/6;
}

ul li:nth-child(9) {
  grid-row: 5/6;
  grid-column: 5/6;
}

ul li:nth-child(10) {
  grid-row: 5/6;
  grid-column: 4/5;
}

ul li:nth-child(11) {
  grid-row: 5/6;
  grid-column: 3/4;
}

ul li:nth-child(12) {
  grid-row: 5/6;
  grid-column: 2/3;
}

ul li:nth-child(13) {
  grid-row: 5/6;
  grid-column: 1/2;
}

ul li:nth-child(14) {
  grid-row: 4/5;
  grid-column: 1/2;
}

ul li:nth-child(15) {
  grid-row: 3/4;
  grid-column: 1/2;
}

ul li:nth-child(16) {
  grid-row: 2/3;
  grid-column: 1/2;
}

ul li img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
  filter: grayscale(1) blur(2px) brightness(0.3);
  -webkit-transition: -webkit-filter 500ms ease;
  transition: filter 0.25 ease;
  transition-delay: 0.25s;
}

ul li.active img {
  filter: grayscale(0) blur(0px) brightness(1);
}

ul li.active {
  color: white;
  text-shadow: 1px 1px 5px black, 0px 0px 2px black;
}

#display-container {
  position: relative;
  grid-row: 2/-2;
  grid-column: 2/-2;
  overflow: hidden;
  border: 5px solid #f39e30;
  scroll-behavior: smooth;
}

#display-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#active-item-border {
  pointer-events: none;
  position: fixed;
  border: 5px solid #f39e30;
  transition: top 0.5s ease, left 0.5s ease;
}

#info {
  position: fixed;
  font-size: 2vmin;
  transform: translate(0.5em, 0.5em);
  color: white;
  text-shadow: 1px 1px 5px black, 0px 0px 2px black;
}