.hero {
  display: flex;

  align-items: center;
  justify-content: center;

  margin-top: 2em;
  margin-bottom: 2em;

  z-index: 0; /* for overlay */
}

.hero > a {
  position: relative;
  width: 100%;
  max-height: 100%;
}

.hero .overlay {
  width: inherit;
}

.bg-image-full {
  display: block;

  width: 100%;
  max-height: 45em;
}

.overlay {
  display: flex;
  position: absolute;
  top: 0;

  justify-content: center;
  align-items: flex-end;

  width: 100%;
  height: 100%;

  z-index: 1;

  background: linear-gradient(
    to bottom,
    transparent 0%,
    rgba(0, 0, 0, 0.4) 50%,
    rgba(0, 0, 0, 0.9) 100%
  );
}

.overlay:hover {
  opacity: 0.9;
}

.overlay-inner {
  display: flex;
  position: absolute;
  bottom: 0;

  flex-direction: column;
  justify-content: center;
  align-items: center;

  padding-bottom: 2rem;

  z-index: 2;

  color: var(--overlay-text);
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
}

.overlay-inner > * {
  margin: 0;
  padding-bottom: 1rem;
}

.detail-body {
  width: 45%;
}

.detail-image-container {
  margin: 2em 6em;
  width: 20%;
}

.detail-image {
  opacity: 0.7;
  max-height: 80vh;
  max-width: 50vw;
}
