/*HOME CSS*/

.photo-container {
	height: 100%;
	background-image: url(img/tiger.jpg);
	background-position: center;
	background-size: cover;
	mix-blend-mode: darken;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none;
}

.subcontainer {
	height: 100%;
	overflow: hidden;
	position: relative;

}


.mosaic-grid-container {
	height: 100%;
}

.mosaic-grid {
	display: grid;
	grid-template-columns: repeat(8, 1fr);
	gap: 1rem;
	min-height: 100%;
	background-color: var(--dark);
	justify-content: center;
}

.grid-item {
	color: #FFF;
	font-weight: 400;
	font-size: clamp(1.8rem, 2.5vw, 2rem);
	text-shadow: 0 0 1.25rem #0003;
	transition: 2s linear;
}

.destroy-item {
	transition: 3s linear;
}

.grid-item:hover {
	mix-blend-mode: difference;
	cursor: pointer;
}

.grid-item--2 {
	grid-column: span 2;
	grid-row: span 3;
}

.grid-item--5 {

	grid-row: span 2;
}

.grid-item--9 {
	grid-column: span 2;
}

.grid-item--13 {
	grid-row: span 2;
}

.grid-item--16 {
	grid-column: span 2;
}

.grid-item--21 {
	grid-column: span 2;
}

.grid-item .cell {
	opacity: 0;
	transition: 0.1s;
}

.grid-item:hover .cell {
	opacity: 1;
	transition: 0.1s;
	cursor: pointer;
}

.cell {
	padding: 0.75rem;
	padding: 10%;
}

.cell__txt {
	margin-top: 1.5rem;
}

/*PUSH GAME*/

@keyframes pushglow {
	0% {
		fill: #000;
		stroke: #000;
		stroke-width: 0;
	}

	10% {
		fill: #613700;
		stroke: #ff8800;
		stroke-width: 0.3vw;
	}

	20% {
		fill: #000;
		stroke: #000;
		stroke-width: 0;
	}

	100% {
		fill: #000;
		stroke: #000;
	}
}

.special-push {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 1.3vw;
	animation: pushglow 10s linear infinite;
}

.special-push__vector {
	max-height: 13rem;
	cursor: pointer
}

@keyframes ignition {
	0% {
		filter: hue-rotate(0deg)
	}

	100% {
		filter: hue-rotate(360deg)
	}
}

.fire .destroy-item {
	transition: 1.5s cubic-bezier(.13, .7, .2, .78);

}

.destroy .destroy-item {
	position: relative;
	animation: ignition 2s 1 backwards;
}

.destroy .mosaic-grid {
	overflow: hidden;

}

.reset .destroy-item {
	transition: none;
}

.draggable {
	cursor: pointer;
	touch-action: none;
	user-select: none;
}


@media screen and (max-width: 80rem) {
	.photo-container {
		right: 0.625rem;
	}

	.mosaic-grid-container {
		overflow: auto;
	}

	.mosaic-grid {
		grid-template-columns: repeat(6, 1fr);
		height: auto;
	}

	.grid-item {
		min-height: 22.5rem;
	}

	.grid-item--2 {
		grid-column: span 2;
		grid-row: span 2;
	}
}

@media screen and (max-width: 64rem) {
	.mosaic-grid {
		grid-template-columns: repeat(4, 1fr);
		min-height: 100dvh;
	}

	.grid-item--11 {
		grid-row: span 2;
	}

	.grid-item--12 {
		grid-row: span 2;
	}

	.grid-item--21 {
		grid-column: span 3;
	}
}

@media screen and (max-width: 48rem) {
	.metacontainer {
		padding: 0;
	}

	.photo-container {
		display: none;
	}

	.mosaic-grid {
		grid-template-columns: repeat(2, 1fr);
		min-height: 100dvh;
	}

	.grid-item {
		mix-blend-mode: difference;
		cursor: pointer;

	}

	.grid-item--2 {
		grid-column: span 1;
		grid-row: span 2;
	}

	.grid-item--5 {

		grid-row: span 2;
	}

	.grid-item--13 {
		grid-row: span 1;
	}

	.grid-item--15 {
		grid-column: span 2;
	}

	.grid-item--16 {
		grid-column: span 1;
	}

	.grid-item--18 {
		grid-row: span 2;
	}

	.grid-item--21 {
		grid-column: span 2;
	}

	.grid-item--22 {
		grid-column: span 2;
	}

	.grid-item .cell {
		opacity: 1;
		transition: 0.1s;
	}

	.special-push {
		padding: 12vw
	}
}

@media screen and (max-width: 30rem) {
	.mosaic-grid {
		display: block;
	}

	.grid-item {
		width: 100%;
		min-height: auto;
		margin-bottom: 1rem;
	}

	.photo-container {
		display: none;
	}

	.grid-item--12,
	.grid-item--13,
	.grid-item--15,
	.grid-item--17,
	.grid-item--18,
	.grid-item--19,
	.grid-item--20 {
		display: none
	}

}

@media screen and (min-aspect-ratio: 16/8) {
	.mosaic-grid-container {
		overflow: auto;
	}
}