.grid {
  display: grid;
  list-style: none;
  grid-gap: 0.2rem;
  line-height: 0;
  grid-template-columns: repeat(1, 1fr);
  grid-auto-flow: dense;
}

.showcase {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 67%;
  background: white;
  line-height: 0;
  /*filter: grayscale(100%);*/
}

/*.showcase:hover {
  filter: grayscale(0%);
}*/

.showcase:hover .figure {
  opacity: 0;
}

.showcase:hover .caption {
  opacity: 1;
}



.figure {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	opacity: 1;
  cursor: pointer;
  transition: opacity 0.2s ease-in-out, filter 0s ease-in-out;
}

.caption {
  position: absolute;
  padding: 0 0.5rem 0.5rem 0;
  top: 0rem;
  left: 0rem;
  color: black;
  line-height: 1.2;
  letter-spacing: .025em;
  opacity: 0;
  cursor: pointer;
  transition: opacity 0.2s ease-in-out, filter 0s ease-in-out;
}

.caption h1 {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.caption p {
  font-weight: 400;
  letter-spacing: 0.05em;
}



.menu .accordion ul {
  display: none;
}

.menu .accordion input[type=checkbox]:checked + label + ul,
.menu .accordion input[type=checkbox]:checked + label:nth-of-type(n) + ul {
  display: block;
}

@media screen and (min-width: 60em) {
  .grid {
  grid-template-columns: repeat(3, 1fr); }
  }

@media screen and (min-width: 100em) {
  .grid {
  grid-template-columns: repeat(4, 1fr); }
  }

