.gallery {
  display: grid;
  gap: var(--gap-m);
}
.gallery figure {
  margin: 0;
}
.gallery .has_video,
.fc_split_content .has_video {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
}
.gallery .has_video img {
  grid-row-start: 1;
  grid-column-start: 1;
}
.gallery .has_video::after,
.fc_split_content .has_video::after {
  display: block;
  content: "";
  background: center / 122px 122px no-repeat
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 588 588'%3E%3Cg filter='url(%23a)'%3E%3Cpath fill='%23fff' d='m414.5 290-176 102V188z'/%3E%3Ccircle cx='294' cy='290' r='236' stroke='%23fff' stroke-width='16'/%3E%3C/g%3E%3Cdefs%3E%3Cfilter id='a' width='588' height='588' x='0' y='0' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeColorMatrix in='SourceAlpha' result='hardAlpha' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0'/%3E%3CfeOffset dy='4'/%3E%3CfeGaussianBlur stdDeviation='25'/%3E%3CfeComposite in2='hardAlpha' operator='out'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0'/%3E%3CfeBlend in2='BackgroundImageFix' result='effect1_dropShadow_3498_3378'/%3E%3CfeBlend in='SourceGraphic' in2='effect1_dropShadow_3498_3378' result='shape'/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E");
  opacity: 0.75;
  transition: 0.4s;
  grid-row-start: 1;
  grid-column-start: 1;
  width: 100%;
  height: 100%;
}
.gallery .has_video:hover::after,
.fc_split_content .has_video:hover::after {
  opacity: 1;
}

.gallery a,
.gallery img {
  display: block;
  width: 100%;
}
.gallery-caption {
  display: none;
}

.columns_1 {
  grid-template-columns: repeat(1, 1fr);
}
.columns_2 {
  grid-template-columns: repeat(2, 1fr);
}
.columns_3 {
  grid-template-columns: repeat(3, 1fr);
}
.columns_4 {
  grid-template-columns: repeat(4, 1fr);
}
.columns_5 {
  grid-template-columns: repeat(5, 1fr);
}
.columns_6 {
  grid-template-columns: repeat(6, 1fr);
}
.columns_7 {
  grid-template-columns: repeat(7, 1fr);
}
.columns_8 {
  grid-template-columns: repeat(8, 1fr);
}
.columns_9 {
  grid-template-columns: repeat(9, 1fr);
}
.gallery.columned_gallery_item {
  display: block;
  columns: 4;
  column-gap: var(--gap-m);
}

.columned_gallery_item.columns_3 {
  columns: 3;
}
.columned_gallery_item.columns_4 {
  columns: 4;
}
.columned_gallery_item.columns_5 {
  columns: 5;
}
.columned_gallery_item.columns_6 {
  columns: 6;
}

.gallery.columned_gallery_item > figure {
  display: inline-block;
}
.gallery.columned_gallery_item > figure {
  display: block;
  margin: 0 0 var(--gap-m) 0;
}

.gallery.row_gallery_item {
  display: flex;
  flex-wrap: wrap;
}
.gallery.row_gallery_item > figure {
  --ratio: calc(var(--width)/var(--height));
  --row-height: clamp(100px, 15vw, 250px);
  flex-basis: calc(var(--ratio) * var(--row-height));
  flex-grow: calc(var(--ratio) * 100);
}

@media (max-width: 1100px) {
  .columned_gallery_item.columns_6 {
    columns: 5;
  }
  .columns_9,
  .columns_8,
  .columns_7,
  .columns_6 {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media (max-width: 1024px) {
  .columned_gallery_item.columns_6,
  .columned_gallery_item.columns_5 {
    columns: 4;
  }

  .columns_9,
  .columns_8,
  .columns_7,
  .columns_6,
  .columns_5 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 750px) {
  .columned_gallery_item.columns_6,
  .columned_gallery_item.columns_5,
  .columned_gallery_item.columns_4 {
    columns: 3;
  }
}
@media (max-width: 750px) {
  .columns_9,
  .columns_8,
  .columns_7,
  .columns_6,
  .columns_5,
  .columns_4 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 450px) {
  .columned_gallery_item.columns_6,
  .columned_gallery_item.columns_5,
  .columned_gallery_item.columns_4,
  .columned_gallery_item.columns_3 {
    columns: 2;
  }
}
