.sport {
	margin: 1rem auto 0 auto;
	background: var(--highcontrast-red, var(--color-violet));
	border: var(--border-width) solid var(--highcontrast-black, var(--color-green-light));
}
.sport hr {
	background: var(--highcontrast-black, var(--color-green-light));
}
.sport__header {
	padding: var(--grid-gap);
	color: var(--highcontrast-white, var(--color-white));
	border-bottom-left-radius: var(--border-radius);
	overflow: hidden;
}
.sport__headline1 {
	margin: 0;
	font-family: var(--displayfont-family);
	font-weight: var(--displayfont-weight);
	font-size: var(--font-size-h1);
	line-height: var(--displayfont-line-height);
}
.sport__headline2 {
	margin: 0;
	font-family: var(--displayfont-family);
	font-weight: var(--displayfont-weight);
	font-size: var(--font-size-h2);
	line-height: var(--displayfont-line-height);
}
.sport__row {
	border-top: 2px solid var(--highcontrast-black, var(--color-green-light));
	background: var(--highcontrast-white, var(--color-white));
}
.sport__row--text {
	padding: var(--grid-gap);
}
.sport__row--gallery {
	padding: var(--grid-gap);
}
.sport__row--address {
	background: var(--highcontrast-white, var(--color-green-light));
}
.sport__row--notice {
	background: var(--highcontrast-red, var(--color-green-light));
	color: var(--highcontrast-white, var(--color-black));
	font-weight: var(--font-weight-bold);
}
.sport__row--warning {
	background: var(--highcontrast-red, var(--color-orange));
	color: var(--highcontrast-white, var(--color-white));
	font-weight: var(--font-weight-bold);
}
.sport__rowGrid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-column-gap: var(--grid-gap);
}
.sport__row--map {
	width: 100%;
	height: 66vh;
	max-height:640px;
	position: relative;
	font-family: var(--font-family);
	position: relative;
	overflow: hidden;
}

/* Cover */
.cover {
	position: relative;
	display: block;
	height: 100%;
}
.cover__src {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 4 /3;
	object-fit: cover;
}
.cover__copyright {
	position: absolute;
	display: inline-block;
	background: var(--highcontrast-black, var(--color-green-light));
	margin: 0;
	bottom: 0;
	right: 0;
	border-top-left-radius: var(--border-radius);
	padding: 4px 8px;
	font-size: 0.75rem;
	letter-spacing: 0.025em;
	color: var(--highcontrast-white, var(--color-black));
}

/* Trainer */
.sport--trainers {
	margin: 1rem auto;
}
.sport__row--trainers {
	border: none;
}
.trainer {
	display: grid;
	width: 100%;
	grid-template-columns: 1fr 2fr;
	grid-template-areas: "avatar bio";
	grid-gap: calc(var(--grid-gap) / 2);
}
.trainer__avatar {
	grid-area: avatar;
}
.trainer__placeholder {
	aspect-ratio: 3/2;
	border-radius: var(--border-radius);
	background: var(--highcontrast-white, var(--color-green-light));
	color: var(--highcontrast-white, var(--color-green));
	font-weight: bold;
	display: grid;
}
.trainer__placeholderLetter {
	margin: auto;
	line-height: 100%;
	font-size: var(--font-size-h1);
	font-family: var(--displayfont-family);
	font-weight: var(--displayfont-weight);
}
.trainer__bio {
	grid-area: bio;
}

/* FAQ */
.faq {
	margin-top: calc(var(--grid-gap) * 2);
}
.faq__list {
	list-style: none;
}
.faq__item {
	margin: 1em 0;
}
.faq__question {
	unset: all;
	font-size: var(--font-size);
	font-weight: var(--font-weight-bold);
	background: transparent;
	border: none;
	text-align: left;
	cursor: pointer;
	padding: 0;
}
.faq__question::before {
	display: inline-block;
	content: "+ ";
	width: 1em;
	height: 1em;
	line-height: 1em;
	border-radius: 100%;
	text-align: center;
	margin-right: .33em;
	background: var(--highcontrast-blue, var(--color-violet));
	color: var(--highcontrast-white, var(--color-white));
}
.faq__question:hover::before {
    background: var(--highcontrast-red, var(--color-orange));
    color: var(--highcontrast-white, var(--color-white));
}
.faq__answer {
	margin-left: 1.33em;
	display: none;
}
.faq__question[aria-expanded="true"] + .faq__answer {
    display: block;
}
.faq__question[aria-expanded="true"]::before {
	content: "- ";
    background: var(--highcontrast-red, var(--color-orange));
    color: var(--highcontrast-white, var(--color-white));
}
.faq__answer p {
	margin: 0;
}

/* Partner */
.sport--partners {
	margin: 1rem auto;
}
.sport__row--partners {
	border: none;
}
.logos__item {
	display: grid;
	padding: var(--grid-gap);;
}
.logos__image {
	margin: auto;
	border-radius: 0;
}

.gallery__src {
	aspect-ratio: 4 /3;
	object-fit: cover;
}

@media (max-width: 728px) {
	.sport__rowGrid {
		grid-template-columns: repeat(1, 1fr);
	}
	.gallery {
		grid-template-columns: repeat(2, 1fr);
	}
}