.flex {
	display: flex;
}

.flex div, .flex > div {
	width: 100%;
	min-width: 0;
}

.flex h2 {
	font-size: 1.5rem;
	padding: 0.25rem;
	padding-left: 1rem;
}

.row-3 {
	height: 33%;
}

.row-4 {
	height: 25%;
}

.row-5 {
	height: 20%;
}

.flex.border {
	border: 1px solid var(--line-color);
}


.flex img.thumbnail {
	flex-shrink: 0;
}


div > div.inner {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	transform-origin: left;
	transition-duration: 0.5s;
	transition-property: background-color, transform;
	background-color: var(--error-color);
	z-index: -1;
	transform: scaleX(0);
}

div.outer {
	position: relative;
}

@media screen and (max-width: 1000px) {
	.flex:not(.mobileignore) {
		display: block;
	}
}