.puv-vacations {
	display: grid;
	gap: 1.25rem;
}

.puv-vacations .puv-vacation {
	padding: 1rem;
	border: 1px solid rgba(127, 127, 127, 0.4);
	border-radius: 0.25rem;
}

.puv-vacations .puv-vacation__header,
.puv-vacations .puv-substitute {
	display: grid;
	gap: 0.35rem;
}

.puv-vacations .puv-vacation__title,
.puv-vacations .puv-vacation__period,
.puv-vacations .puv-vacation__note,
.puv-vacations .puv-substitutes__heading,
.puv-vacations .puv-substitutes p,
.puv-vacations .puv-substitute p,
.puv-vacations .puv-substitute address {
	margin: 0;
}

.puv-vacations .puv-vacation__title {
	font-size: 1.1em;
}

.puv-vacations .puv-vacation__label {
	font-weight: 600;
}

.puv-vacations .puv-vacation__note,
.puv-vacations .puv-substitutes {
	margin-top: 0.9rem;
}

.puv-vacations .puv-substitutes__list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
	gap: 0.75rem;
	margin-top: 0.5rem;
}

.puv-vacations .puv-substitute {
	padding: 0.8rem;
	border: 1px solid rgba(127, 127, 127, 0.3);
	border-radius: 0.25rem;
}

.puv-vacations .puv-substitute__contact {
	font-style: normal;
}

.puv-vacations .puv-substitute__address-line,
.puv-vacations .puv-substitute__contact-line {
	display: block;
}

.puv-vacations .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
