.umf-masonry-gallery {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-auto-rows: 180px;
  gap: 16px;
  margin: 3rem 1rem;
}

.umf-masonry-gallery__item {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 8px;
  background: #eee;
}

.umf-masonry-gallery__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.umf-masonry-gallery__item--normal {
  grid-column: span 2;
  grid-row: span 2;
}

.umf-masonry-gallery__item--large {
  grid-column: span 4;
  grid-row: span 4;
}

.umf-masonry-gallery__item--wide {
  grid-column: span 4;
  grid-row: span 2;
}

.umf-masonry-gallery__item--tall {
  grid-column: span 2;
  grid-row: span 4;
}

@media (max-width: 900px) {
  .umf-masonry-gallery {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: 160px;
  }
}

@media (max-width: 600px) {
  .umf-masonry-gallery {
    grid-template-columns: 1fr;
    grid-auto-rows: 240px;
    gap: 12px;
    margin: 2rem 1rem;
  }

  .umf-masonry-gallery__item--normal,
  .umf-masonry-gallery__item--large,
  .umf-masonry-gallery__item--wide,
  .umf-masonry-gallery__item--tall {
    grid-column: span 1;
    grid-row: span 1;
  }
}