.media {
  margin: 10px auto;
  padding: 0 20px;
  max-width: 960px;
}

.media h1 {
  font-size: 28px;
  font-weight: bold;
}

.media section {
  margin: 40px 0;
}

.media h2,
.media h3 {
  font-size: 24px;
  font-weight: bold;
  margin: 0 0 15px 0;
  padding: 0 0 5px 0;
  border-bottom: 1px solid var(--media-separator-color);
}

.media h3 {
  font-size: 18px;
  margin-top: 30px;
  padding: 0 0 2px 0;
}

.media .thumbnails {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 30px;
}

.media li .thumbnail {
  display: inline-block;
  aspect-ratio: 16/9;
  object-fit: cover;
  margin: 0 0 10px 0;
  border-radius: 5px;
  width: 100%;
  overflow: hidden;
  border: 1px solid black;
  box-shadow: var(--qwik-purple) 2px 2px 2px 0px;
  transition: ease-in-out 250ms;
}

.media li a {
  color: var(--interactive-text-color);
  display: block;
  font-size: 0.9em;
}

.media li a:hover {
  color: var(--qwik-purple);
}

.media li a:hover .thumbnail {
  opacity: 0.9;
  border: 2.5px solid var(--media-video-shadow-color);
  box-shadow: none;
}

.media .edit-page {
  font-weight: 400;
  display: inline-block;
  padding: 12px 0;
  color: var(--interactive-text-color);
}

.media .edit-page:hover {
  text-decoration: underline;
}

@media screen and (max-width: 540px) {
  .media .thumbnails {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 20px;
  }
}

.media .bullets {
  margin: 20px 0 20px 30px;
  list-style: square;
}

.media .bullets {
  margin: 20px 0 20px 30px;
  list-style: square;
}

.icon {
  @apply rounded-full aspect-square w-9 h-9 flex-none;
}

.info {
  @apply absolute bottom-4 right-2;
}

.info-bg {
  @apply uppercase text-white bg-black bg-opacity-40 backdrop-blur-md px-1 rounded-md;
}
