/* Deliberately deterministic type rhythm on cards. */
#ajax-content-wrap .container.main-content .te-classic-shell .te-card-body {
	grid-template-rows: 23px minmax(52px, auto) 30px auto auto 42px !important;
	row-gap: 8px !important;
	padding: 18px 18px 16px !important;
}

#ajax-content-wrap .container.main-content .te-classic-shell .te-event-meta {
	display: flex !important;
	align-items: center !important;
	min-height: 23px !important;
}

#ajax-content-wrap .container.main-content .te-classic-shell .te-datetime {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	min-width: 0 !important;
	height: 23px !important;
	color: var(--p-brown, #895835) !important;
	font: 700 14px/23px "Dosis", Arial, sans-serif !important;
	letter-spacing: .07em !important;
	white-space: nowrap !important;
}

#ajax-content-wrap .container.main-content .te-datetime .te-time-top,
#ajax-content-wrap .container.main-content .te-datetime .te-date {
	display: block !important;
	flex: 0 0 auto !important;
	width: auto !important;
	height: 23px !important;
	margin: 0 !important;
	color: inherit !important;
	font: inherit !important;
	line-height: 23px !important;
	letter-spacing: inherit !important;
	overflow: visible !important;
	text-transform: uppercase !important;
}

#ajax-content-wrap .container.main-content .te-datetime .te-time-top::after {
	display: none !important;
	content: none !important;
}

#ajax-content-wrap .container.main-content .te-datetime-separator {
	line-height: 23px !important;
}

#ajax-content-wrap .container.main-content .te-classic-shell .te-when-place {
	display: block !important;
	min-width: 0 !important;
	max-width: 100% !important;
	padding-right: 3px !important;
}

#ajax-content-wrap .container.main-content .te-classic-shell .te-when-place .te-venue {
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	overflow: hidden !important;
	font-size: 15px !important;
	line-height: 1.25 !important;
}

#ajax-content-wrap .container.main-content .te-classic-shell .te-venue .te-venue-label {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

#ajax-content-wrap .container.main-content .te-classic-shell .te-description {
	line-height: 1.3 !important;
}

#ajax-content-wrap .container.main-content .te-classic-shell .te-card-filter-tags {
	padding-top: 3px !important;
	padding-bottom: 3px !important;
}

/* Modal: the right column is the scroll container, the poster is shown whole. */
#ajax-content-wrap .container.main-content dialog.te-classic-dialog {
	box-sizing: border-box !important;
	width: min(1120px, calc(100vw - 40px)) !important;
	max-width: none !important;
	height: min(760px, calc(100vh - 40px)) !important;
	max-height: none !important;
	margin: auto !important;
	overflow: hidden !important;
}

#ajax-content-wrap .container.main-content .te-classic-dialog-grid {
	grid-template-columns: minmax(300px, .9fr) minmax(0, 1.1fr) !important;
	height: 100% !important;
	min-height: 0 !important;
}

#ajax-content-wrap .container.main-content .te-classic-dialog-poster {
	display: grid !important;
	min-height: 0 !important;
	height: 100% !important;
	place-items: center !important;
	background: #183e48 !important;
}

#ajax-content-wrap .container.main-content .te-classic-dialog-poster img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
}

#ajax-content-wrap .container.main-content .te-classic-dialog-copy {
	box-sizing: border-box !important;
	height: 100% !important;
	max-height: 100% !important;
	overflow-y: auto !important;
	overscroll-behavior: contain !important;
	padding: 58px 48px 42px !important;
	scrollbar-gutter: stable !important;
}

#ajax-content-wrap .container.main-content .te-dialog-description.is-collapsible {
	position: relative !important;
	max-height: 10.4em !important;
	overflow: hidden !important;
}

#ajax-content-wrap .container.main-content .te-dialog-description.is-collapsible::after {
	position: absolute !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100% !important;
	height: 2.1em !important;
	background: linear-gradient(transparent, #fffaf0 75%) !important;
	content: "" !important;
	pointer-events: none !important;
}

#ajax-content-wrap .container.main-content .te-dialog-description.is-expanded {
	max-height: none !important;
}

#ajax-content-wrap .container.main-content .te-dialog-description.is-expanded::after {
	display: none !important;
}

#ajax-content-wrap .container.main-content .te-dialog-description-toggle {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	margin-top: 10px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--p-brown, #895835) !important;
	font: 700 16px/1.2 "Dosis", Arial, sans-serif !important;
	cursor: pointer !important;
}

@media (max-width: 800px) {
	#ajax-content-wrap .container.main-content dialog.te-classic-dialog {
		height: auto !important;
		max-height: calc(100vh - 24px) !important;
		width: min(680px, calc(100vw - 24px)) !important;
		overflow-y: auto !important;
	}
	#ajax-content-wrap .container.main-content .te-classic-dialog-grid {
		height: auto !important;
	}
	#ajax-content-wrap .container.main-content .te-classic-dialog-poster {
		height: min(82vw, 520px) !important;
	}
	#ajax-content-wrap .container.main-content .te-classic-dialog-copy {
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
		padding: 46px 25px 32px !important;
	}
}
