/*https://www.freecodecamp.org/news/how-to-create-an-image-gallery-with-css-grid-e0f0fd666a5c/*/

.ce_gallery {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  grid-template-rows: repeat(8, 3vw);
  grid-gap: 12px;
}


.ce_gallery.type-2
{
	width:800px;
}

.ce_gallery.type-3
{
	width:800px;
}

.ce_gallery.dynamic .gallery__item img,
.ce_gallery.dynamic .gallery__item .image_container {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block; 
}


.ce_gallery.type-1 .gallery__item--1 {
  grid-column-start: 1;
  grid-column-end: 3;
  grid-row-start: 1;
  grid-row-end: 3;

  /** Alternative Syntax **/
  /* grid-column: 1 / span 2;  */
  /* grid-row: 1 / span 2; */
}

.ce_gallery.type-1 .gallery__item--2 {
  grid-column-start: 3;
  grid-column-end: 5;
  grid-row-start: 1;
  grid-row-end: 3;

  /** Alternative Syntax **/
  /* grid-column: 3 / span 2;  */
  /* grid-row: 1 / span 2; */
}

.ce_gallery.type-1 .gallery__item--3 {
  grid-column-start: 5;
  grid-column-end: 9;
  grid-row-start: 1;
  grid-row-end: 6;

  /** Alternative Syntax **/
  /* grid-column: 5 / span 4;
  grid-row: 1 / span 5; */
}

.ce_gallery.type-1 .gallery__item--4 {
  grid-column-start: 1;
  grid-column-end: 5;
  grid-row-start: 3;
  grid-row-end: 6;

  /** Alternative Syntax **/
  /* grid-column: 1 / span 4;  */
  /* grid-row: 3 / span 3; */
}

.ce_gallery.type-1 .gallery__item--5 {
  grid-column-start: 1;
  grid-column-end: 5;
  grid-row-start: 6;
  grid-row-end: 9;

  /** Alternative Syntax **/
  /* grid-column: 1 / span 4; */
  /* grid-row: 6 / span 3; */
}

.ce_gallery.type-1 .gallery__item--6 {
  grid-column-start: 5;
  grid-column-end: 9;
  grid-row-start: 6;
  grid-row-end: 9;

  /** Alternative Syntax **/
  /* grid-column: 5 / span 4; */
  /* grid-row: 6 / span 3; */
}

.ce_gallery.type-2 {
  display: grid;
  grid-template-columns: repeat(9, 1fr);
  grid-template-rows: repeat(9, 3vw);
  grid-gap: 12px;
}


.ce_gallery.type-2 .gallery__item--1 {
  grid-column-start: 3;
  grid-column-end: 5;
  grid-row-start: 1;
  grid-row-end: 5;

  /** Alternative Syntax **/
  /* grid-column: 1 / span 2;  */
  /* grid-row: 1 / span 2; */
}

.ce_gallery.type-2 .gallery__item--2 {
  grid-column-start: 5;
  grid-column-end: 8;
  grid-row-start: 2;
  grid-row-end: 5;

  /** Alternative Syntax **/
  /* grid-column: 3 / span 2;  */
  /* grid-row: 1 / span 2; */
}

.ce_gallery.type-2 .gallery__item--3 {
  grid-column-start: 1;
  grid-column-end: 5;
  grid-row-start: 5;
  grid-row-end: 8;

  /** Alternative Syntax **/
  /* grid-column: 5 / span 4;
  grid-row: 1 / span 5; */
}

.ce_gallery.type-2 .gallery__item--4 {
  grid-column-start: 5;
  grid-column-end: 9;
  grid-row-start: 5;
  grid-row-end: 9;

  /** Alternative Syntax **/
  /* grid-column: 1 / span 4;  */
  /* grid-row: 3 / span 3; */
}



.ce_gallery.type-3 .gallery__item--1 {
  grid-column-start: 1;
  grid-column-end: 7;
  grid-row-start: 2;
  grid-row-end: 5;

  /** Alternative Syntax **/
  /* grid-column: 1 / span 2;  */
  /* grid-row: 1 / span 2; */
}

.ce_gallery.type-3 .gallery__item--2 {
  grid-column-start: 7;
  grid-column-end: 9;
  grid-row-start: 1;
  grid-row-end: 5;

  /** Alternative Syntax **/
  /* grid-column: 3 / span 2;  */
  /* grid-row: 1 / span 2; */
}

.ce_gallery.type-3 .gallery__item--3 {
  grid-column-start: 2;
  grid-column-end: 5;
  grid-row-start: 5;
  grid-row-end: 8;

  /** Alternative Syntax **/
  /* grid-column: 5 / span 4;
  grid-row: 1 / span 5; */
}

.ce_gallery.type-3 .gallery__item--4 {
  grid-column-start: 5;
  grid-column-end: 8;
  grid-row-start: 5;
  grid-row-end: 7;

  /** Alternative Syntax **/
  /* grid-column: 1 / span 4;  */
  /* grid-row: 3 / span 3; */
}

.ce_gallery.type-4 {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  grid-template-rows: repeat(8, 70px); /* 5vw */
  grid-gap: 12px;
  height: 600px;
		
}

.ce_gallery.type-4 .gallery__item--1 {
  grid-column-start: 1;
  grid-column-end: 6;
  grid-row-start: 2;
  grid-row-end: 6;

  /** Alternative Syntax **/
  /* grid-column: 1 / span 2;  */
  /* grid-row: 1 / span 2; */
}

.ce_gallery.type-4 .gallery__item--2 {
  grid-column-start: 6;
  grid-column-end: 9;
  grid-row-start: 1;
  grid-row-end: 8;

  /** Alternative Syntax **/
  /* grid-column: 3 / span 2;  */
  /* grid-row: 1 / span 2; */
}

.ce_gallery.type-4 .gallery__item--3 {
  grid-column-start: 3;
  grid-column-end: 6;
  grid-row-start: 6;
  grid-row-end: 9;

  /** Alternative Syntax **/
  /* grid-column: 5 / span 4;
  grid-row: 1 / span 5; */
}

.ce_gallery.type-6 {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  grid-template-rows: repeat(8, 70px); /* 5vw */
  grid-gap: 12px;
  height: 600px;
		
}

.ce_gallery.type-6 .gallery__item--1 {
  grid-column-start: 1;
  grid-column-end: 4;
  grid-row-start: 2;
  grid-row-end: 5;

  /** Alternative Syntax **/
  /* grid-column: 1 / span 2;  */
  /* grid-row: 1 / span 2; */
}

.ce_gallery.type-6 .gallery__item--2 {
  grid-column-start: 4;
  grid-column-end: 6;
  grid-row-start: 1;
  grid-row-end: 5;

  /** Alternative Syntax **/
  /* grid-column: 3 / span 2;  */
  /* grid-row: 1 / span 2; */
}

.ce_gallery.type-6 .gallery__item--3 {
  grid-column-start: 6;
  grid-column-end: 9;
  grid-row-start: 2;
  grid-row-end: 5;

  /** Alternative Syntax **/
  /* grid-column: 5 / span 4;
  grid-row: 1 / span 5; */
}


.ce_gallery.type-6 .gallery__item--4 {
  grid-column-start: 2;
  grid-column-end: 4;
  grid-row-start: 5;
  grid-row-end: 9;

  /** Alternative Syntax **/
  /* grid-column: 5 / span 4;
  grid-row: 1 / span 5; */
}

.ce_gallery.type-6 .gallery__item--5 {
  grid-column-start: 4;
  grid-column-end: 8;
  grid-row-start: 5;
  grid-row-end: 8;

  /** Alternative Syntax **/
  /* grid-column: 5 / span 4;
  grid-row: 1 / span 5; */
}




.ce_gallery.type-7 {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  grid-template-rows: repeat(8, 70px); /* 5vw */
  grid-gap: 12px;
  height: 600px;
		
}

.ce_gallery.type-7 .gallery__item--1 {
  grid-column-start: 1;
  grid-column-end: 5;
  grid-row-start: 2;
  grid-row-end: 5;

  /** Alternative Syntax **/
  /* grid-column: 1 / span 2;  */
  /* grid-row: 1 / span 2; */
}

.ce_gallery.type-7 .gallery__item--2 {
  grid-column-start: 5;
  grid-column-end: 7;
  grid-row-start: 1;
  grid-row-end: 5;

  /** Alternative Syntax **/
  /* grid-column: 3 / span 2;  */
  /* grid-row: 1 / span 2; */
}

.ce_gallery.type-7 .gallery__item--3 {
  grid-column-start: 2;
  grid-column-end: 4;
  grid-row-start: 5;
  grid-row-end: 8;

  /** Alternative Syntax **/
  /* grid-column: 5 / span 4;
  grid-row: 1 / span 5; */
}


.ce_gallery.type-7 .gallery__item--4 {
  grid-column-start: 4;
  grid-column-end: 6;
  grid-row-start: 5;
  grid-row-end: 7;

  /** Alternative Syntax **/
  /* grid-column: 5 / span 4;
  grid-row: 1 / span 5; */
}


.ce_gallery.type-8 {
  display: grid;
  grid-template-columns: repeat(15, 1fr);
  grid-template-rows: repeat(12, 80px); /* 5vw */
  grid-gap: 12px;
  height: 800px;
		
}

.ce_gallery.type-8 .gallery__item--1 {
  grid-column-start: 1;
  grid-column-end: 5;
  grid-row-start: 2;
  grid-row-end: 5;

  /** Alternative Syntax **/
  /* grid-column: 1 / span 2;  */
  /* grid-row: 1 / span 2; */
}

.ce_gallery.type-8 .gallery__item--2 {
  grid-column-start: 5;
  grid-column-end: 8;
  grid-row-start: 1;
  grid-row-end: 4;

  /** Alternative Syntax **/
  /* grid-column: 3 / span 2;  */
  /* grid-row: 1 / span 2; */
}

.ce_gallery.type-8 .gallery__item--3 {
  grid-column-start: 8;
  grid-column-end: 15;
  grid-row-start: 1;
  grid-row-end: 4;

  /** Alternative Syntax **/
  /* grid-column: 5 / span 4;
  grid-row: 1 / span 5; */
}


.ce_gallery.type-8 .gallery__item--4 {
  grid-column-start: 5;
    grid-column-end: 12;
    grid-row-start: 4;
    grid-row-end: 7;

  /** Alternative Syntax **/
  /* grid-column: 5 / span 4;
  grid-row: 1 / span 5; */
}

.ce_gallery.type-8 .gallery__item--5 {
  grid-column-start: 12;
    grid-column-end: 14;
    grid-row-start: 4;
    grid-row-end: 9;

  /** Alternative Syntax **/
  /* grid-column: 1 / span 2;  */
  /* grid-row: 1 / span 2; */
}

.ce_gallery.type-8 .gallery__item--6 {
  grid-column-start: 2;
    grid-column-end: 5;
    grid-row-start: 5;
    grid-row-end: 7;

  /** Alternative Syntax **/
  /* grid-column: 3 / span 2;  */
  /* grid-row: 1 / span 2; */
}

.ce_gallery.type-8 .gallery__item--7 {
      grid-column-start: 3;
    grid-column-end: 6;
    grid-row-start: 7;
    grid-row-end: 10;

  /** Alternative Syntax **/
  /* grid-column: 5 / span 4;
  grid-row: 1 / span 5; */
}


.ce_gallery.type-8 .gallery__item--8 {
  grid-column-start: 6;
    grid-column-end: 12;
    grid-row-start: 7;
    grid-row-end: 10;

  /** Alternative Syntax **/
  /* grid-column: 5 / span 4;
  grid-row: 1 / span 5; */
}



.ce_gallery.type-9 {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  grid-template-rows: repeat(10, 50px); /* 5vw */
  grid-gap: 12px;
		
}

.ce_gallery.type-9 .gallery__item--1 {
  grid-column-start: 1;
  grid-column-end: 8;
  grid-row-start: 1;
  grid-row-end: 10;

  /** Alternative Syntax **/
  /* grid-column: 1 / span 2;  */
  /* grid-row: 1 / span 2; */
}

.ce_gallery.type-9 .gallery__item--2 {
  grid-column-start: 8;
  grid-column-end: 10;
  grid-row-start: 1;
  grid-row-end: 4;

  /** Alternative Syntax **/
  /* grid-column: 3 / span 2;  */
  /* grid-row: 1 / span 2; */
}

.ce_gallery.type-9 .gallery__item--3 {
  grid-column-start: 8;
  grid-column-end: 10;
  grid-row-start: 4;
  grid-row-end: 8;

  /** Alternative Syntax **/
  /* grid-column: 5 / span 4;
  grid-row: 1 / span 5; */
}


.ce_gallery.type-9 .gallery__item--4 {
  grid-column-start: 8;
  grid-column-end: 9;
  grid-row-start: 8;
  grid-row-end: 10;

  /** Alternative Syntax **/
  /* grid-column: 5 / span 4;
  grid-row: 1 / span 5; */
}

.ce_gallery.type-9 .gallery__item--5 {
  grid-column-start: 9;
  grid-column-end: 10;
  grid-row-start: 8;
  grid-row-end: 10;

  /** Alternative Syntax **/
  /* grid-column: 1 / span 2;  */
  /* grid-row: 1 / span 2; */
}

.ce_gallery.type-9 .gallery__item--6 {
  grid-column-start: 2;
    grid-column-end: 5;
    grid-row-start: 5;
    grid-row-end: 7;

  /** Alternative Syntax **/
  /* grid-column: 3 / span 2;  */
  /* grid-row: 1 / span 2; */
}

.ce_gallery.type-9 .gallery__item--7 {
      grid-column-start: 3;
    grid-column-end: 6;
    grid-row-start: 7;
    grid-row-end: 10;

  /** Alternative Syntax **/
  /* grid-column: 5 / span 4;
  grid-row: 1 / span 5; */
}


.ce_gallery.type-9 .gallery__item--8 {
  grid-column-start: 6;
    grid-column-end: 12;
    grid-row-start: 7;
    grid-row-end: 10;

  /** Alternative Syntax **/
  /* grid-column: 5 / span 4;
  grid-row: 1 / span 5; */
}

/* --- Mobile: Linearize all gallery grids
 * ---------------------------------------- */

@media only screen and (max-width: 767px) {
	.ce_gallery,
	.ce_gallery.type-1,
	.ce_gallery.type-2,
	.ce_gallery.type-3,
	.ce_gallery.type-4,
	.ce_gallery.type-6,
	.ce_gallery.type-7,
	.ce_gallery.type-8,
	.ce_gallery.type-9 {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		grid-gap: 12px;
		height: auto;
		width: 100%;
	}

	.ce_gallery.dynamic {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.ce_gallery.dynamic .gallery__item {
		grid-column: auto !important;
		grid-row: auto !important;
		aspect-ratio: 1 / 1 !important;
		overflow: hidden;
	}

	.ce_gallery.type-1 [class^="gallery__item--"],
	.ce_gallery.type-2 [class^="gallery__item--"],
	.ce_gallery.type-3 [class^="gallery__item--"],
	.ce_gallery.type-4 [class^="gallery__item--"],
	.ce_gallery.type-6 [class^="gallery__item--"],
	.ce_gallery.type-7 [class^="gallery__item--"],
	.ce_gallery.type-8 [class^="gallery__item--"],
	.ce_gallery.type-9 [class^="gallery__item--"] {
		grid-column: 1 / -1 !important;
		grid-row: auto !important;
	}

	.ce_gallery.dynamic .gallery__item img,
	.ce_gallery.dynamic .gallery__item .image_container {
		height: 100% !important;
		width: 100% !important;
		object-fit: cover !important;
	}

}
