.custom-image-columns {
  display: grid;
  gap: 2rem;

  margin: 3rem auto;

  width: 100%;
  max-width: 1400px;
}

.custom-image-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

.custom-image-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

/* IMAGE */

.custom-image-column img {
  width: 100%;
  height: auto;

  display: block;
}

/* Larger images for 2-column layouts */

.custom-image-columns-2 .custom-image-column img {
  max-height: 700px;
}

/* Slightly smaller for 3-column layouts */

.custom-image-columns-3 .custom-image-column img {
  max-height: 500px;
}

/* Shared caption */

.custom-shared-caption {
  grid-column: 1 / -1;

  max-width: 900px;

  margin-left: auto;
  margin-right: auto;
}

/* CAPTION ALIGNMENT OPTIONS */

.custom-image-columns.custom-caption-center .slide-meta,
.custom-image-columns.custom-caption-center .exhibit-item-caption,
.custom-image-columns.custom-caption-center .exhibit-item-caption * {
  text-align: center !important;
}

.custom-image-columns.custom-caption-left .slide-meta,
.custom-image-columns.custom-caption-left .exhibit-item-caption,
.custom-image-columns.custom-caption-left .exhibit-item-caption * {
  text-align: left !important;
}

.custom-image-columns.custom-caption-right .slide-meta,
.custom-image-columns.custom-caption-right .exhibit-item-caption,
.custom-image-columns.custom-caption-right .exhibit-item-caption * {
  text-align: right !important;
}

/* MOBILE */

@media screen and (max-width: 700px) {

  .custom-image-columns {
    grid-template-columns: 1fr;
  }

  .custom-image-column img {
    max-height: none;
  }

}