/* Justified rows — without the script, flex does almost the same: every
   picture grows in proportion to its width */
.bsl-iso.is-justified:not(.is-arranged) .bsl-iso-stage {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bsl-iso-gap, 10px);
}

.bsl-iso.is-justified:not(.is-arranged) .bsl-iso-item {
  flex: 1 1 auto;
  height: var(--bsl-iso-row-eff, 320px);
}

.bsl-iso.is-justified:not(.is-arranged) .bsl-iso-link,
.bsl-iso.is-justified:not(.is-arranged) .bsl-iso-item img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

/* The captions go over the picture: a row has one height */
.bsl-iso.is-justified .bsl-iso-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 1.5rem .75rem .6rem;
  color: #fff;
  background: linear-gradient(to top, rgba(0, 0, 0, .55), rgba(0, 0, 0, 0));
  opacity: 0;
  transition: opacity .25s ease;
}

.bsl-iso.is-justified .bsl-iso-item:hover .bsl-iso-caption {
  opacity: 1;
}
