.content {
	display: flex;
	flex-wrap: wrap;
	margin: var(--unit) calc(-1 * var(--unit)) 0;
}

.content--error {
	margin-top: calc(var(--unit) * 2);
}

.content > .content_title,
.content > .content_subtitle {
	margin: 0 auto;
	padding: 0 var(--unit);
	text-align: center;
}

.content > .content_title,
.content > .content_subtitle {
	width: 100%;
	font-size: 2rem;
}

.content > .content_title {
	text-transform: uppercase;
}

.content > .content_title > *,
.content > .content_subtitle > * {
	display: block;
	margin: 0 auto;
	/* padding: 0 var(--unit); */
}

.content_left,
.content_right {
	display: flex;
	flex-direction: column;
	width: 25%;
	padding: var(--unit) var(--unit) 0;
}

.content_left--hide {
	display: none;
}

.content_left-top {
	flex: 1;
}

.content_right-top {
	flex: 1;
}

.content_left-bottom,
.content_right-bottom {
	display: flex;
}

.content_left-top > :first-child,
.content_right-top > :first-child {
	position: sticky;
	/* margin + (header + search)) */
	top: calc(var(--two-units) + var(--header-opened));
	border-top: 1px solid currentColor;
}

.content_left-top > :first-child:has(.event_dates:only-child),
.content_left-top > :first-child:empty,
.content_right-top > :first-child:empty {
	border-top: none;
}

.content_full {
	width: 100%;
	padding: var(--unit) var(--unit) 0;
	font-size: 1.5rem;
}

.content_center {
	width: 50%;
	padding: var(--unit) var(--unit) 0;
	font-size: 1.5rem;
}

.content_center--fill {
	width: 75%;
}

.content_left--hide + .content_center--fill {
	width: 100%;
}

.content_full a,
.content_center a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.content_full > *,
.content_center > * {
	max-width: 700px;
	margin: 0 auto;
}

.content_center--fill > * {
	max-width: none;
}

.content_full > *:not(:last-child),
.content_center > *:not(:last-child) {
	margin-bottom: var(--two-units);
}

.content_full > h2,
.content_center > h2 {
	font-size: 2rem;
	text-align: center;
	text-transform: uppercase;
}

.content_full
	> :first-child:not(.audio, .accordion, .empty, .gallery, .video, .lister, .library_links),
.content_center
	> :first-child:not(.audio, .accordion, .empty, .gallery, .video, .lister, .library_links) {
	margin-top: -0.15em;
}

.content_details--no-border {
	border-top: 0 !important;
}

.content_detail {
	padding: var(--half-unit) 0;
	border-bottom: 1px solid currentColor;
}

.content_detail:empty {
	display: none;
}

.content_detail a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.content_detail > :last-child {
	margin-bottom: -1px;
}

.empty::before {
	content: "\00a0";
}

/* Images */

.gallery_images {
	display: flex;
	align-items: flex-start;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	position: relative;
	/* background: white; */
}

.gallery_images > a {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

/* hack for # nav */
.gallery_images > picture {
	box-sizing: content-box;
	width: 100%;
	scroll-snap-align: center;
	margin-top: calc(var(--two-units) * -1);
	padding-top: var(--two-units);
}

.gallery_images > picture:not(:first-child) {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	position: absolute;
	top: 0;
}

.gallery_images > picture:first-child > img {
	width: 100%;
}

.image > picture,
.image > picture > img {
	width: 100%;
}

.gallery_footer,
.image_description {
	padding-top: var(--half-unit);
	color: rgb(140, 140, 140);
	font-size: 0.75rem;
}

.gallery_description p,
.image_description p {
	display: inline-block;
}

/* Video */

.video {
	position: relative;
}

.video::before {
	content: "";
	display: block;
}

.video--square::before {
	padding-top: 100%;
}

.video--landscape::before {
	padding-top: 56.25%;
}

.video--landscape-4-3::before {
	padding-top: 75%;
}

.video--portrait::before {
	padding-top: 177.777%;
}

.video--portrait-3-4::before {
	padding-top: 133.333%;
}

.video > iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

/* Audio */

.audio > audio,
.audio > iframe {
	display: block;
	width: 100%;
}

.audio_description {
	padding-top: var(--half-unit);
	color: rgb(140, 140, 140);
	font-size: 1rem;
}

/* Accordion */

.accordion {
	overflow: hidden;
	border-bottom: 1px solid var(--color);
	font-size: 1rem;
}

.accordion--opening {
	animation: opening 0.3s cubic-bezier(0.075, 0.82, 0.165, 1) forwards;
}

@keyframes opening {
	from {
		height: var(--closed);
	}
	to {
		height: var(--opened);
	}
}

.accordion--closing {
	animation: closing 0.3s cubic-bezier(0.075, 0.82, 0.165, 1) forwards;
}

@keyframes closing {
	from {
		height: var(--opened);
	}
	to {
		height: var(--closed);
	}
}

.accordion + .accordion {
	margin-top: calc(-1 * var(--two-units) - 1px);
}

.accordion > summary {
	/* display: flex;
	justify-content: space-between; */
	padding: var(--half-unit) 0;
	margin-bottom: -1px;
	position: relative;
	border-top: 1px solid var(--color);
	list-style-type: none;
	text-transform: uppercase;
	cursor: pointer;
	user-select: none;
}

.accordion > summary:hover {
	color: var(--accent);
}

.accordion > summary::-webkit-details-marker {
	display: none;
}

.accordion > summary::after {
	content: "\2198";
	float: right;
}

.accordion[open] > summary::after {
	content: "\2197";
}

.accordion > summary:focus {
	outline: 0;
}

.gallery-text {
	display: flex;
	align-items: flex-start;
	margin-top: var(--half-unit);
	padding-bottom: var(--half-unit);
}

.gallery-text > *:first-child {
	width: 50%;
}

.gallery-text > :first-child {
	padding-right: var(--half-unit);
}

.gallery-text > :last-child {
	padding-left: var(--half-unit);
}

.accordion > p:first-child {
	padding-top: var(--half-unit);
}

.accordion > p:last-child {
	padding-bottom: var(--half-unit);
}

.accordion > summary + p {
	margin-top: var(--half-unit);
}

/* Quote */

.quote_content {
	font-size: 2rem;
	font-style: italic;
	text-align: center;
}

.quote_content::before {
	content: open-quote;
}

.quote_content::after {
	content: close-quote;
}

.quote_author {
	padding-top: var(--half-unit);
	color: rgb(140, 140, 140);
	font-size: 1rem;
	text-align: center;
}

.quote_author::before {
	content: "— ";
}

.logos_title {
	font-size: 1rem;
	text-transform: uppercase;
}

.content_full > .logos_title,
.content_center > .logos_title {
	margin-bottom: 0;
}

.logos {
	display: flex;
	flex-wrap: wrap;
	padding-right: 1px;
	padding-bottom: 1px;
}

.accordion > .logos:last-child {
	margin-bottom: var(--unit);
}

.logos_title + .logos,
.logos + .logos_title,
.logos + .logos {
	margin-top: var(--unit);
}

.logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 25%;
	margin-right: -1px;
	margin-bottom: -1px;
	padding: var(--unit);
	border: 1px solid;
}

a.logo:hover + .logo {
	border-left-color: var(--accent);
}

.logo > img {
	max-width: 100%;
}

@media (max-width: 1279px) {
	.content_left {
		width: 33.333%;
	}

	.content_center,
	.content_center--fill {
		width: 66.666%;
	}

	.content_right {
		display: none;
	}
}

@media (max-width: 1023px) {
	.content {
		margin: var(--half-unit) calc(-1 * var(--half-unit)) 0;
	}

	.content_left,
	.content_full,
	.content_center,
	.content_right {
		padding: var(--half-unit) var(--half-unit) 0;
	}

	/* .content_left,
	.content_center,
	.content_center--fill {
		width: 50%;
	} */

	.content > .content_title,
	.content > .content_subtitle {
		padding: 0 var(--half-unit);
	}

	.content_left-top > :first-child,
	.content_right-top > :first-child {
		top: calc(var(--unit) + var(--header-opened));
	}

	.accordion + .gallery {
		margin-top: calc(-1 * var(--unit) - 1px);
	}

	.gallery_images > picture {
		margin-top: calc(-1 * var(--unit) - var(--header-opened));
		padding-top: calc(var(--unit) + var(--header-opened));
	}
}

@media (max-width: 768px) {
	.content_left,
	.content_center,
	.content_right {
		width: 100%;
	}

	.content_center > * {
		max-width: none;
	}

	.content_left + .content_center {
		padding-top: var(--two-units);
	}

	.content_right {
		display: block;
		flex-direction: row;
	}

	.content_left-bottom,
	.content_right-top {
		display: none;
	}

	.logo {
		width: 33.333%;
	}
}

@media (max-width: 600px) {
	.content_left--hide {
		display: flex;
	}
}

@media (max-width: 480px) {
	.logo {
		width: 50%;
	}
}
