.gallery{
  padding: 56px 0 40px;
}

.gallery-top{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 0 6vw;
}

.g-item{
  margin: 0;
  overflow: hidden;
  background: #fff;
}

.g-item img{
  width: 100%;
  height: 100%;
  aspect-ratio: 3 / 4;       
  object-fit: cover;
  display: block;
}

.gallery-wide{
  margin: 36px 0 0;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.gallery-wide img{
  width: 100%;
  height: min(180vh, 840px);
  object-fit: cover;
  display: block;
}

@media (max-width: 900px){
  .gallery-top{
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 0 18px;
  }

  .g-item img{
    aspect-ratio: 4 / 5;
  }

  .gallery-wide{
    margin-top: 18px;
  }

  .gallery-wide img{
    height: auto;
    aspect-ratio: 16 / 9;
  }
  .collage-grid{
  margin-left: 7vw!important;   
}
}

.gallery-collage{
  padding: 0px 0 80px;
}

.collage-grid{
  width: min(1400px, 86%);
  margin-left: 10vw;    
  margin-right: auto;

  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 80px;
  gap: 36px;
}

.collage-item{
  margin: 0;
  overflow: hidden;
}

.collage-item img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.collage-item.large{
  grid-column: 1 / span 6;
  grid-row: 1 / span 5;
}

.collage-item.tall{
  grid-column: 8 / span 4;
  grid-row: 1 / span 6;
}

.collage-item.center{
  grid-column: 4 / span 4;
  grid-row: 6 / span 5;
}

.collage-item.small.right{
  grid-column: 9 / span 3;
  grid-row: 7 / span 3;
}

.collage-item.small.left{
  grid-column: 1 / span 3;   
  grid-row: 7 / span 3;
}


.collage-item.medium.bottom{
  grid-column: 5 / span 4;
  grid-row: 11 / span 4;
}

@media (max-width: 900px){
  .collage-grid{
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    gap: 22px;
  }
  .collage-item{
    grid-column: auto !important;
    grid-row: auto !important;
  }
  
  .collage-item img{
    aspect-ratio: 5 / 5;
  }
}
