:root {
	--gap: 1rem;
	--caption-bg: ;
	--caption-color: 
}

* {
	box-sizing: border-box
}

#masonry {
	column-width: 300px;
	column-gap: var(--gap);
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

/* each item must be `display: inline-block` and `break-inside: avoid` to keep item together */
.masonry-item {
	display: inline-block;
	position: relative;
	width: 100%;
	margin: 0 0 var(--gap);
	break-inside: avoid;
	position: relative;
	overflow: hidden;
	border-radius: 8px;
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06);
}

.masonry-item img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform .35s ease;
}

/* hover zoom */
.masonry-item:hover img {
	transform: scale(1.01);
}

.masonry-item figcaption {
	position: absolute;
	left: 0.5rem;
	bottom: 0.5rem;
	padding: 0.2rem 0.5rem;
	background: rgba(0, 0, 0, 0.55);
	color: rgba(255, 255, 255, 1);
	border-radius: 3px;
}