.imta-gallery {
	--imta-gallery-gap: 4px;
	--imta-gallery-row-height: 200px;
	--imta-gallery-radius: 0px;
	--imta-gallery-duration: 700ms;
	display: grid;
	grid-auto-flow: row;
	grid-auto-rows: var(--imta-gallery-row-height);
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--imta-gallery-gap);
	width: 100%;
	overflow: hidden;
}

.imta-gallery__item {
	position: relative;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	border-radius: var(--imta-gallery-radius);
	background: #e9e7e3;
	transition:
		opacity var(--imta-gallery-duration) cubic-bezier(.22, .61, .36, 1) var(--imta-gallery-delay),
		transform var(--imta-gallery-duration) cubic-bezier(.22, .61, .36, 1) var(--imta-gallery-delay);
	will-change: opacity, transform;
}

.imta-gallery__item:nth-child(8n + 1) {
	grid-column: span 6;
	grid-row: span 2;
}

.imta-gallery__item:nth-child(8n + 2) {
	grid-column: span 3;
	grid-row: span 2;
}

.imta-gallery__item:nth-child(8n + 3),
.imta-gallery__item:nth-child(8n + 4),
.imta-gallery__item:nth-child(8n + 5),
.imta-gallery__item:nth-child(8n + 6),
.imta-gallery__item:nth-child(8n + 7),
.imta-gallery__item:nth-child(8n) {
	grid-column: span 3;
}

.imta-gallery__item:only-child {
	grid-column: span 12;
	grid-row: span 2;
}

.imta-gallery__item:first-child:nth-last-child(2) {
	grid-column: span 8;
	grid-row: span 2;
}

.imta-gallery__item:first-child:nth-last-child(2) + .imta-gallery__item {
	grid-column: span 4;
	grid-row: span 2;
}

.imta-gallery__link,
.imta-gallery__image {
	display: block;
	width: 100%;
	height: 100%;
}

.imta-gallery__image {
	object-fit: cover;
	transition: transform 500ms ease;
}

.imta-gallery__link:focus-visible {
	outline: 3px solid #fff;
	outline-offset: -5px;
}

.imta-gallery__item:hover .imta-gallery__image {
	transform: scale(1.035);
}

.imta-gallery--scroll-assemble .imta-gallery__item {
	transition:
		opacity var(--imta-gallery-scroll-duration) linear,
		transform var(--imta-gallery-scroll-duration) linear;
}

.imta-gallery--animate.is-ready:not(.imta-gallery--scroll-assemble):not(.is-visible) .imta-gallery__item {
	opacity: 0;
}

.imta-gallery--animate.is-ready:not(.imta-gallery--scroll-assemble):not(.is-visible) .imta-gallery__item--from-left {
	transform: translate3d(-12%, 0, 0) scale(.94);
}

.imta-gallery--animate.is-ready:not(.imta-gallery--scroll-assemble):not(.is-visible) .imta-gallery__item--from-right {
	transform: translate3d(12%, 0, 0) scale(.94);
}

.imta-gallery--animate.is-ready:not(.imta-gallery--scroll-assemble):not(.is-visible) .imta-gallery__item--from-top {
	transform: translate3d(0, -12%, 0) scale(.94);
}

.imta-gallery--animate.is-ready:not(.imta-gallery--scroll-assemble):not(.is-visible) .imta-gallery__item--from-bottom {
	transform: translate3d(0, 12%, 0) scale(.94);
}

@media (max-width: 849px) {
	.imta-gallery {
		grid-auto-rows: minmax(140px, 30vw);
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.imta-gallery__item:nth-child(8n + 1) {
		grid-column: span 3;
		grid-row: span 2;
	}

	.imta-gallery__item:nth-child(8n + 2) {
		grid-column: span 3;
		grid-row: span 2;
	}

	.imta-gallery__item:nth-child(8n + 3),
	.imta-gallery__item:nth-child(8n + 4),
	.imta-gallery__item:nth-child(8n + 5),
	.imta-gallery__item:nth-child(8n + 6),
	.imta-gallery__item:nth-child(8n + 7),
	.imta-gallery__item:nth-child(8n) {
		grid-column: span 2;
	}
}

@media (max-width: 549px) {
	.imta-gallery {
		grid-auto-rows: minmax(120px, 42vw);
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.imta-gallery__item:nth-child(n) {
		grid-column: span 1;
		grid-row: span 1;
	}

	.imta-gallery__item:nth-child(8n + 1) {
		grid-column: span 2;
		grid-row: span 2;
	}
}

@media (prefers-reduced-motion: reduce) {
	.imta-gallery--respect-reduced-motion .imta-gallery__item,
	.imta-gallery--respect-reduced-motion .imta-gallery__image {
		transition: none;
	}

	.imta-gallery--respect-reduced-motion.imta-gallery--animate.is-ready:not(.imta-gallery--scroll-assemble):not(.is-visible) .imta-gallery__item {
		opacity: 1;
		transform: none;
	}
}
