/* card-text */
.two-lines {
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

/* nav tree */
.tree ul {
	padding-left: 0;
}

.tree ul ul {
	padding-left: 1em;
}

.tree ul li {
	list-style-type: none;
	white-space: nowrap;
	padding-top: 0.05em;
	padding-bottom: 0.05em;
}

/* responsive square image, see https://stackoverflow.com/a/55966300 */
div.square {
	position: relative;
}

div.square::after {
	content: "";
	display: block;
	padding-bottom: 100%;
}

div.square img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
