/* ==========================================================================
   ERAS® Society – Single Event
   ========================================================================== */

.eras-single-event {
	--event-blue: #064487;
	--event-blue-dark: #043565;

	--event-text: #40596b;
	--event-muted: #718696;

	--event-border: #dce7ed;
	--event-border-soft: #eaf0f3;

	--event-light: #f4f8fb;
	--event-light-blue: #edf6fa;

	background: #fff;
	color: var(--event-text);

	overflow: visible;
}


/* ==========================================================================
   Sticky support
   ========================================================================== */

body.single-event,
body.single-event #page,
body.single-event #content,
body.single-event .site,
body.single-event .site-content,
body.single-event main,
.eras-single-event,
.eras-single-event__body,
.eras-single-event__body > .container,
.eras-single-event__layout {
	overflow: visible !important;
}


/* ==========================================================================
   Container
   ========================================================================== */

.eras-single-event .container {
	width: min(
		1200px,
		calc(100% - 48px)
	);

	margin-inline: auto;
	padding: 0;
}


/* ==========================================================================
   Hero
   ========================================================================== */

.eras-single-event__hero {
	position: relative;

	overflow: hidden !important;

	padding: 92px 0 96px;

	background:
		linear-gradient(
			135deg,
			#f8fbfd 0%,
			#edf6fa 100%
		);
}


.eras-single-event__hero::before,
.eras-single-event__hero::after {
	content: "";

	position: absolute;

	border:
		1px solid rgba(6,68,135,.06);

	border-radius: 50%;

	pointer-events: none;
}


.eras-single-event__hero::before {
	top: -380px;
	right: -215px;

	width: 700px;
	height: 700px;
}


.eras-single-event__hero::after {
	bottom: -480px;
	left: -335px;

	width: 680px;
	height: 680px;
}


.eras-single-event__hero-grid {
	position: relative;
	z-index: 2;

	display: grid;

	grid-template-columns:
		minmax(0, 1fr)
		345px;

	gap: clamp(
		70px,
		8vw,
		130px
	);

	align-items: center;
}


.eras-single-event__hero-main {
	min-width: 0;
}


.eras-single-event__kicker {
	display: flex;
	align-items: center;
	gap: 11px;

	margin-bottom: 18px;

	color: var(--event-blue);

	font-size: 10px;
	font-weight: 700;
	letter-spacing: .11em;

	text-transform: uppercase;
}


.eras-single-event__kicker > span {
	width: 28px;
	height: 2px;

	background: var(--event-blue);
}


.eras-single-event__hero h1 {

	margin: 0;

	color: var(--event-blue);

	font-size: clamp(
		46px,
		4.5vw,
		62px
	);

	font-weight: 500;
	line-height: 1.07;
	letter-spacing: -.04em;
}


.eras-single-event__lead {
	max-width: 700px;

	margin: 25px 0 0;

	color: #536c7e;

	font-size: 16px;
	line-height: 1.75;
}


/* ==========================================================================
   Meta
   ========================================================================== */

.eras-single-event__meta {
	display: flex;
	flex-wrap: wrap;

	gap: 10px 22px;

	margin-top: 27px;
}


.eras-single-event__meta > div {
	display: inline-flex;
	align-items: center;
	gap: 8px;

	color: #6f8494;

	font-size: 11px;
	font-weight: 550;
}


.eras-single-event__meta i {
	color: var(--event-blue);
}


/* ==========================================================================
   Actions
   ========================================================================== */

.eras-single-event__actions {
	display: flex;
	flex-wrap: wrap;

	gap: 9px;

	margin-top: 29px;
}


.eras-single-event__button {
	display: inline-flex;

	align-items: center;
	gap: 11px;

	min-height: 44px;

	padding: 0 16px;

	border:
		1px solid var(--event-border);

	border-radius: 7px;

	background: #fff;
	color: var(--event-blue);

	font-size: 11px;
	font-weight: 650;

	text-decoration: none;
}


.eras-single-event__button--primary {
	border-color: var(--event-blue);

	background: var(--event-blue);
	color: #fff;
}


/* ==========================================================================
   Hero visual
   ========================================================================== */

.eras-single-event__hero-visual {
	position: relative;
}


.eras-single-event__hero-image,
.eras-single-event__date-card {
	width: 100%;

	aspect-ratio: 4 / 3;

	overflow: hidden;

	border: 6px solid rgba(255,255,255,.75);
	border-radius: 16px;

	background: #fff;

	box-shadow:
		0 22px 52px rgba(25,55,80,.11);
}


.eras-single-event__hero-image img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
}


.eras-single-event__date-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	background:
		linear-gradient(
			145deg,
			#174379,
			#14294f
		);

	color: #fff;
}


.eras-single-event__date-card span {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .14em;

	text-transform: uppercase;
}


.eras-single-event__date-card strong {
	margin: 7px 0;

	font-size: 76px;
	font-weight: 400;
	line-height: .95;
}


.eras-single-event__date-card small {
	color: rgba(255,255,255,.7);

	font-size: 14px;
}


.eras-single-event__date-card > i {
	font-size: 60px;
}


.eras-single-event__hero-caption {
	position: absolute;

	right: 18px;
	bottom: -17px;

	padding: 9px 13px;

	border:
		1px solid var(--event-border);

	border-radius: 999px;

	background: #fff;
	color: var(--event-blue);

	font-size: 10px;
	font-weight: 650;

	box-shadow:
		0 8px 20px rgba(25,55,80,.08);
}


/* ==========================================================================
   Body
   ========================================================================== */

.eras-single-event__body {
	padding: 92px 0 115px;
}


.eras-single-event__layout {
	display: grid;
}


.eras-single-event__sections {
	width: 100%;
	min-width: 0;
}


/* ==========================================================================
   Back
   ========================================================================== */

.eras-single-event__back {
	display: inline-flex;
	align-items: center;
	gap: 10px;

	margin-bottom: 38px;

	color: var(--event-blue);

	font-size: 13px;
	font-weight: 650;

	text-decoration: none;
}


.eras-single-event__back:hover {
	gap: 13px;
}


/* ==========================================================================
   Sections
   ========================================================================== */

.eras-single-event__section {
	scroll-margin-top: 120px;

	padding-bottom: 70px;
	margin-bottom: 70px;

	border-bottom:
		1px solid var(--event-border);
}


.eras-single-event__section:last-child {
	padding-bottom: 0;
	margin-bottom: 0;

	border-bottom: 0;
}


.eras-single-event__section-head {
	max-width: 720px;

	margin-bottom: 30px;
}


.eras-single-event__section-kicker {
	display: flex;
	align-items: center;
	gap: 9px;

	margin-bottom: 11px;

	color: var(--event-blue);

	font-size: 9px;
	font-weight: 700;
	letter-spacing: .12em;

	text-transform: uppercase;
}


.eras-single-event__section-head h2 {
	margin: 0;

	color: var(--event-blue);

	font-size: clamp(
		31px,
		3vw,
		42px
	);

	font-weight: 500;
	line-height: 1.13;
	letter-spacing: -.032em;
}


/* ==========================================================================
   WYSIWYG
   ========================================================================== */

.eras-single-event__wysiwyg {
	font-size: 15px;
	line-height: 1.82;
}


.eras-single-event__wysiwyg > *:first-child {
	margin-top: 0;
}


.eras-single-event__wysiwyg > *:last-child {
	margin-bottom: 0;
}


.eras-single-event__wysiwyg p {
	margin: 0 0 21px;
}


.eras-single-event__wysiwyg h2,
.eras-single-event__wysiwyg h3,
.eras-single-event__wysiwyg h4 {
	margin: 37px 0 14px;

	color: var(--event-blue);

	font-weight: 600;
	line-height: 1.3;
}


.eras-single-event__wysiwyg h3 {
	font-size: 21px;
}


.eras-single-event__wysiwyg a {
	color: var(--event-blue);

	font-weight: 600;

	text-underline-offset: 3px;
}


/* ==========================================================================
   Agenda
   ========================================================================== */

.eras-single-event__agenda {
	display: grid;

	gap: 9px;

	margin-top: 30px;
}


.eras-single-event__agenda-item {
	display: grid;

	grid-template-columns:
		45px
		minmax(0, 1fr);

	gap: 15px;

	align-items: start;

	padding: 17px;

	border:
		1px solid var(--event-border);

	border-radius: 9px;

	background: #fff;
}


.eras-single-event__agenda-item > span {
	display: grid;
	place-items: center;

	width: 45px;
	height: 45px;

	border-radius: 50%;

	background: var(--event-light-blue);
	color: var(--event-blue);

	font-size: 9px;
	font-weight: 700;
}


.eras-single-event__agenda-item > div {
	padding-top: 10px;

	font-size: 13px;
	line-height: 1.65;
}


.eras-single-event__agenda-item p {
	margin: 0;
}


/* ==========================================================================
   Event media
   ========================================================================== */

.eras-single-event__media-group {
	margin-top: 34px;
}


.eras-single-event__media-group h3 {
	margin: 0 0 15px;

	color: var(--event-blue);

	font-size: 19px;
	font-weight: 600;
}


.eras-single-event__media-grid {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap: 12px;
}


.eras-single-event__media-image {
	display: block;

	overflow: hidden;

	border:
		1px solid var(--event-border);

	border-radius: 9px;

	color: var(--event-blue);

	text-decoration: none;
}


.eras-single-event__media-image img {
	display: block;

	width: 100%;

	aspect-ratio: 16 / 10;

	object-fit: cover;
}


.eras-single-event__media-image span {
	display: block;

	padding: 12px 14px;

	font-size: 11px;
	font-weight: 650;
}


.eras-single-event__media-file {
	display: grid;

	grid-template-columns:
		42px
		minmax(0, 1fr)
		30px;

	gap: 13px;

	align-items: center;

	padding: 15px;

	border:
		1px solid var(--event-border);

	border-radius: 9px;

	color: inherit;

	text-decoration: none;
}


.eras-single-event__media-file > i:first-child {
	display: grid;
	place-items: center;

	width: 42px;
	height: 42px;

	border-radius: 8px;

	background: var(--event-light-blue);
	color: var(--event-blue);
}


.eras-single-event__media-file strong,
.eras-single-event__media-file small {
	display: block;
}


.eras-single-event__media-file strong {
	color: var(--event-blue);

	font-size: 12px;
}


.eras-single-event__media-file small {
	margin-top: 3px;

	color: var(--event-muted);

	font-size: 9px;
}


.eras-single-event__media-file > i:last-child {
	color: var(--event-blue);

	font-size: 10px;
}


.eras-single-event__media-embed {
	overflow: hidden;

	border-radius: 10px;

	background: var(--event-light);
}


.eras-single-event__media-embed iframe {
	display: block;

	width: 100%;
	max-width: 100%;
}


.eras-single-event__media-embed > a {
	display: flex;

	align-items: center;
	gap: 12px;

	padding: 20px;

	color: var(--event-blue);

	text-decoration: none;
}


/* ==========================================================================
   Location
   ========================================================================== */

.eras-single-event__location {
	display: grid;

	grid-template-columns:
		55px
		minmax(0, 1fr);

	gap: 17px;

	align-items: center;

	padding: 20px;

	border:
		1px solid var(--event-border);

	border-radius: 10px;

	background:
		linear-gradient(
			135deg,
			#f9fcfd,
			#f2f8fb
		);
}


.eras-single-event__location-icon {
	display: grid;
	place-items: center;

	width: 55px;
	height: 55px;

	border-radius: 50%;

	background: #fff;
	color: var(--event-blue);

	font-size: 18px;
}


.eras-single-event__location strong {
	display: block;

	color: var(--event-blue);

	font-size: 14px;
}


.eras-single-event__location a {
	display: inline-flex;

	align-items: center;
	gap: 7px;

	margin-top: 6px;

	color: var(--event-blue);

	font-size: 10px;
	font-weight: 650;

	text-decoration: none;
}


/* ==========================================================================
   Sidebar
   ========================================================================== */

.eras-single-event__sidebar {
	position: sticky;

	top: 100px;

	align-self: start;

	z-index: 20;
}


body.admin-bar
.eras-single-event__sidebar {
	top: 132px;
}


.eras-single-event__sidebar-inner {
	overflow: hidden;

	border:
		1px solid var(--event-border);

	border-radius: 14px;

	background: #fff;

	box-shadow:
		0 15px 45px rgba(25,55,80,.075);
}


.eras-single-event__sidebar-header {
	position: relative;

	padding: 28px 27px 25px;

	overflow: hidden;

	border-bottom:
		1px solid var(--event-border);

	background:
		linear-gradient(
			135deg,
			#f9fcfd,
			#edf6fa
		);
}


.eras-single-event__sidebar-header::after {
	content: "";

	position: absolute;

	top: -72px;
	right: -72px;

	width: 170px;
	height: 170px;

	border:
		1px solid rgba(6,68,135,.08);

	border-radius: 50%;
}


.eras-single-event__sidebar-kicker {
	position: relative;
	z-index: 1;

	display: flex;
	align-items: center;
	gap: 9px;

	margin-bottom: 12px;

	color: var(--event-blue);

	font-size: 9px;
	font-weight: 700;
	letter-spacing: .12em;

	text-transform: uppercase;
}


.eras-single-event__sidebar-kicker::before {
	content: "";

	width: 20px;
	height: 2px;

	background: var(--event-blue);
}


.eras-single-event__sidebar-header h2 {
	position: relative;
	z-index: 1;

	margin: 0;

	color: var(--event-blue);

	font-size: 25px;
	font-weight: 550;
}


.eras-single-event__sidebar-header p {
	position: relative;
	z-index: 1;

	margin: 11px 0 0;

	color: #6f8494;

	font-size: 12px;
	line-height: 1.65;
}


/* ==========================================================================
   Nav
   ========================================================================== */

.eras-single-event__nav {
	display: flex;
	flex-direction: column;

	padding: 8px 0;
}


.eras-single-event__nav a {
	position: relative;

	display: grid;

	grid-template-columns:
		32px
		minmax(0, 1fr)
		28px;

	gap: 11px;

	align-items: center;

	min-height: 59px;

	padding: 9px 18px;

	border-bottom:
		1px solid var(--event-border-soft);

	color: #536d7e;

	text-decoration: none;
}


.eras-single-event__nav a::before {
	content: "";

	position: absolute;

	top: 8px;
	bottom: 8px;
	left: 0;

	width: 3px;

	border-radius: 0 3px 3px 0;

	background: var(--event-blue);

	opacity: 0;
}


.eras-single-event__nav a:hover,
.eras-single-event__nav a.is-active {
	padding-left: 22px;

	background: #f4f9fc;
	color: var(--event-blue);
}


.eras-single-event__nav a:hover::before,
.eras-single-event__nav a.is-active::before {
	opacity: 1;
}


.eras-single-event__nav-number {
	display: grid;
	place-items: center;

	width: 32px;
	height: 32px;

	border-radius: 50%;

	background: #edf5fa;
	color: var(--event-blue);

	font-size: 9px;
	font-weight: 700;
}


.eras-single-event__nav a:hover
.eras-single-event__nav-number,
.eras-single-event__nav a.is-active
.eras-single-event__nav-number {
	background: var(--event-blue);
	color: #fff;
}


.eras-single-event__nav-title {
	font-size: 12px;
	font-weight: 620;
}


.eras-single-event__nav-arrow {
	color: #9aabb7;

	font-size: 10px;

	text-align: center;
}


/* ==========================================================================
   Sidebar registration
   ========================================================================== */

.eras-single-event__sidebar-action {
	padding: 15px 18px;

	border-top:
		1px solid var(--event-border);
}


.eras-single-event__sidebar-action a {
	display: flex;

	align-items: center;
	justify-content: space-between;

	min-height: 43px;

	padding: 0 13px;

	border-radius: 6px;

	background: var(--event-blue);
	color: #fff;

	font-size: 11px;
	font-weight: 650;

	text-decoration: none;
}


.eras-single-event__sidebar-footer {
	display: flex;

	align-items: center;
	gap: 5px;

	padding: 16px 27px;

	border-top:
		1px solid var(--event-border);

	background: #fafcfd;

	color: #8b9eab;

	font-size: 10px;
}


.eras-single-event__sidebar-mark {
	color: var(--event-blue);

	font-weight: 700;
}


/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 1050px) {

	.eras-single-event__hero-grid {
		grid-template-columns:
			minmax(0, 1fr)
			300px;

		gap: 55px;
	}


	.eras-single-event__layout {
		grid-template-columns:
			minmax(0, 1fr)
			285px;

		gap: 45px;
	}

}


@media (max-width: 850px) {

	.eras-single-event__layout {
		display: block;
	}


	.eras-single-event__sections {
		max-width: none;
	}


	.eras-single-event__sidebar {
		position: static;

		margin-top: 65px;
	}

}


@media (max-width: 700px) {

	.eras-single-event .container {
		width: calc(100% - 40px);
	}


	.eras-single-event__hero {
		padding: 60px 0 70px;
	}


	.eras-single-event__hero-grid {
		grid-template-columns: 1fr;

		gap: 45px;
	}


	.eras-single-event__hero-visual {
		max-width: 400px;
	}


	.eras-single-event__body {
		padding: 65px 0 85px;
	}


	.eras-single-event__media-grid {
		grid-template-columns: 1fr;
	}

}


@media (max-width: 520px) {

	.eras-single-event .container {
		width: calc(100% - 32px);
	}


	.eras-single-event__hero {
		padding: 48px 0 58px;
	}


	.eras-single-event__hero h1 {
		font-size: 38px;
	}


	.eras-single-event__meta {
		display: grid;
	}


	.eras-single-event__section {
		padding-bottom: 54px;
		margin-bottom: 54px;
	}

}