/* =================================================
PAGE 56 LAYOUT ADJUSTMENTS
================================================= */

.page-id-56 .site-header,
.page-id-56 .header-left,
.page-id-56 header,
.page-id-56 .sidebar,
.page-id-56 .left-column {
	display: none !important;
}

.page-id-56 .site-content,
.page-id-56 .content-area,
.page-id-56 .content-wrapper,
.page-id-56 .container,
.page-id-56 main,
.page-id-56 .entry-content {
	width: 95% !important;
	max-width: 95% !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

.page-id-56 .wp-block,
.page-id-56 .wp-block-group,
.page-id-56 .wp-block-columns,
.page-id-56 .wp-block-image,
.page-id-56 .wp-block-cover {
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.page-id-56 body {
	margin-left: 0 !important;
}

.page-id-56 .alignwide,
.page-id-56 .alignfull {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.page-id-56 .wp-block-group__inner-container {
	padding: 0 !important;
}


/* =================================================
TILE GALLERY
================================================= */

.tile-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 24px;
	margin: 30px 0;
}

@keyframes tileFadeUp {
	0% {
		opacity: 0;
		transform: translateY(12px) scale(0.98);
	}
	100% {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.tile-gallery a {
	background: #c7392b;
	color: inherit;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 50px 20px;
	border-radius: 12px;
	transition: transform .25s ease, box-shadow .25s ease, background .35s ease, border .25s ease, color .25s ease;
	text-align: center;
	position: relative;
	overflow: hidden;
	border: 2px solid transparent;
	opacity: 0;
	animation: tileFadeUp .55s ease forwards;
}

.tile-gallery a:nth-child(1){animation-delay:.05s;}
.tile-gallery a:nth-child(2){animation-delay:.1s;}
.tile-gallery a:nth-child(3){animation-delay:.15s;}
.tile-gallery a:nth-child(4){animation-delay:.2s;}
.tile-gallery a:nth-child(5){animation-delay:.25s;}
.tile-gallery a:nth-child(6){animation-delay:.3s;}
.tile-gallery a:nth-child(7){animation-delay:.35s;}

.tile-gallery a::before {
	content: "";
	position: absolute;
	top: -100%;
	left: -50%;
	width: 200%;
	height: 300%;
	background: linear-gradient(120deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.25) 50%, rgba(255,255,255,0) 100%);
	transform: rotate(25deg);
	transition: opacity .35s ease;
	opacity: 0;
}

.tile-gallery a:hover {
	transform: translateY(-6px) scale(1.03);
	box-shadow: 0 10px 25px rgba(0,0,0,0.2);
	border-color: rgba(255,255,255,0.35);
	color: #fff;
}

.tile-gallery a:hover::before {
	animation: shine .8s ease forwards;
	opacity: 1;
}

.tile-gallery a:active {
	transform: translateY(0) scale(0.97);
	box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}

@keyframes shine {
	0% {
		transform: translate(-50%, -100%) rotate(25deg);
	}
	100% {
		transform: translate(150%, 100%) rotate(25deg);
	}
}


/* =================================================
EVENTS CALENDAR GLOBAL STYLING
================================================= */

.tribe-events-single-event-description,
.tribe-events-single-event-description p,
.tribe-events-single-event-description li,
.tribe-events-single-event-description strong,
.tribe-events-single-event-description h1,
.tribe-events-single-event-description h2,
.tribe-events-single-event-description h3 {
	color: #ffffff !important;
}


/* EVENT CONTENT WIDTH */

.tribe-events-single-event-description {
	max-width: 900px;
	margin: auto;
	line-height: 1.7;
	font-size: 17px;
}


/* =================================================
MODERN REGISTER BUTTON
================================================= */

.register-btn {

	background: #c7392b;
	color: #fff !important;
	padding: 16px 36px;
	border-radius: 8px;
	text-decoration: none;
	font-weight: 700;
	letter-spacing: .5px;
	display: inline-block;

	box-shadow: 0 6px 18px rgba(199,57,43,.35);
	transition: all .25s ease;

}

.register-btn:hover {

	background: #e64a3c;
	transform: translateY(-3px);
	box-shadow: 0 10px 28px rgba(199,57,43,.45);

}

.register-btn:active {
	transform: translateY(0);
	box-shadow: 0 4px 10px rgba(0,0,0,.25);
}


/* =================================================
SPEAKER GRID
================================================= */

.speaker-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-top: 20px;
}

@media (max-width:700px) {
	.speaker-grid {
		grid-template-columns: 1fr;
	}
}


/* SPEAKER CARDS */

.speaker {
	background: #111;
	border: 1px solid #333;
	padding: 20px;
	border-radius: 8px;
	transition: all .25s ease;
}

.speaker strong {
	display: block;
	font-size: 18px;
	margin-bottom: 8px;
}

.speaker:hover {

	transform: translateY(-4px);
	border-color: #555;
	box-shadow: 0 8px 20px rgba(0,0,0,.4);

}


/* =================================================
SECTION DIVIDERS
================================================= */

.tribe-events-single-event-description h2 {

	border-bottom: 1px solid #333;
	padding-bottom: 10px;
	margin-top: 50px;

}


/* =================================================
TIMELINE / PROGRAM OUTLINE
================================================= */

.tribe-events-single-event-description h3 {

	position: relative;
	padding-left: 24px;
	margin-top: 28px;
	font-size: 16px;
	font-weight: 600;

}

.tribe-events-single-event-description h3::before {

	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	width: 10px;
	height: 10px;
	background: #ffffff;
	border-radius: 50%;

}

.tribe-events-single-event-description h3::after {

	content: "";
	position: absolute;
	left: 4px;
	top: 20px;
	width: 2px;
	height: calc(100% + 15px);
	background: #333;

}

.tribe-events-single-event-description p {

	margin-top: 4px;
	font-size: 15px;
	opacity: .9;

}


/* =================================================
BETTER TEXT FLOW
================================================= */

.event-page p {

	margin-bottom: 18px;

}

.event-page ul {

	margin-bottom: 30px;

}