div.park-gallery-header {
	margin-top: 1.5em;
	text-align: center;
	font-family: Calibri, sans-serif;
	font-size: larger;
	font-weight: bold;
}

div.thumbnail-ribbon {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: space-around;
	gap: 0.25em;
	margin: 0.35em 1em 1em 1em;
	max-height: 9em;
	overflow-y: auto;
}

div.thumbnail-ribbon a.thumbnail-item {
	border: 3px solid transparent;
}

div.thumbnail-ribbon a.thumbnail-item:hover {
	border: 3px ridge grey;
}

div.thumbnail-ribbon div.hidden-caption {
	display: none;
}

.pswp__custom-caption {
	position: absolute;
	left: 50%;
	bottom: 0.5em;
	width: calc(100% - 1em);
	max-width: 600px;
	transform: translateX(-50%);
	background: rgba(16, 16, 16, 0.75);
	font-family: Calibri, sans-serif;
	font-size: 14pt;
	color: white;
	padding: 0.5em;
	border-radius: 1em;
	text-align: center;
}

path.heart-shape {
	fill: transparent;
	stroke: pink;
	stroke-width: 2;
	transform-origin: 50% 50%;
}
path.heart-filled {
	fill: red;
	animation: pulse-heart 300ms ease;
}
path.heart-waiting {
	fill: DarkSlateGray;
	stroke: gray;
}
@keyframes pulse-heart {
	0% { fill: transparent; transform: scale(1); }
	20% { transform: scale(1.1); }
	40% { transform: scale(1); }
	100% { fill: red; }
}

div.mapContainer {
	height: 480px;
	width: 100%;
}

span.sidebar-icon {
	font-size: larger;
}
span.media-icon {
	font-size: 32px;
}

div.park-popup-name {
	font-size: larger;
	font-weight: bold;
}
div.park-popup-details {
	margin-top: 0.5em;
	padding-left: 1em;
	text-indent: -0.5em;
}
span.park-popup-details-label {
	font-weight: bold;
}
