@font-face {
	font-family: "Neuepower";
	src: url(../fonts/neuepower/NeuePowerTrial-Regular.ttf) format("truetype");
	font-weight: 400;
	font-style: normal;
}
@font-face {
	font-family: "Sansation";
	src: url(../fonts/sansation/Sansation-Regular.ttf) format("truetype");
	font-weight: 400;
	font-style: normal;
}
:root {
	--white: #fff;
	--offWhite: #ececea;
	--offWhiteMedium: #cfcfc9;
	--blue: #1f3668;
	--lightBlue: #008cff;
	--darkBlue: #0e192f;
	--blueGray: #39475d;
	--lightTeal: #0ad0e6;
	--teal: #07a2b2;
	--mediumTeal: #088391;
	--darkTeal: #034b52;
	--veryLightGray: #f3f4f6;
	--lighterGray: #e8eaee;
	--lightGray: #b9bfcb;
	--gray: #8a95a8;
	--mediumGray: #728097;
	--darkGray: #4e586a;
	--darkerGray: #343b46;
	--darkestGray: #20242b;
	--lighterGrayBlue: #acaebb;
	--grayBlue: #979aaa;
	--yellow: #ffbf00;
	--darkYellow: #bf8705;
	--red: #e03040;
	--mediumRed: #c31d2b;
	--darkRed: #8e151f;
	--aircraftGreen: #0cff0c;
	--aircraftRed: var(--red);
	--aircraftYellow: var(--yellow);
	--bodyFont: Inter, Roboto, "Helvetica Neue", "Arial Nova", "Nimbus Sans", Arial, sans-serif;
	--headingFont: "Bahnschrift", "DIN Alternate", "Franklin Gothic Medium", "Nimbus Sans Narrow", sans-serif-condensed, sans-serif;
	--headingFont2: "Neuepower", "Helvetica Neue", Arial, sans-serif;
	--headingFont3: "Sansation", "Helvetica Neue", Arial, sans-serif;
	--baseFontSize: 20px;
	--5px: 0.25rem;
	--10px: 0.5rem;
	--12px: 0.6rem;
	--14px: 0.7rem;
	--16px: 0.8rem;
	--18px: 0.9rem;
	--20px: 1rem;
	--24px: 1.2rem;
	--26px: 1.3rem;
	--28px: 1.4rem;
	--32px: 1.6rem;
	--36px: 1.8rem;
	--40px: 2rem;
	--44px: 2.2rem;
	--48px: 2.4rem;
	--52px: 2.6rem;
	--56px: 2.8rem;
	--60px: 3rem;
	--64px: 3.2rem;
	--70px: 3.5rem;
	--80px: 4rem;
	--100px: 5rem;
	--underlineOffset: 5px;
	--outlineOffset: 2px;
	--outline: 3px dashed transparent;

	--schedule-curve-height: 72px;
}

html,
body {
	overflow-x: hidden;
}

html {
	font-size: var(--baseFontSize);
	body {
		overflow: auto;

		#skip-to-content {
			position: absolute;
			transform: translateY(-100%);
			font-size: var(--20px);
			@media (width <= 600px) {
				font-size: var(--16px);
			}
			transition: transform 200ms ease-in-out;
			left: 50px;
			&:hover,
			&:focus {
				color: var(--lightTeal);
				text-decoration: none;
			}
			&:focus {
				outline: var(--outline) !important;
				outline-offset: var(--outlineOffset);
				transform: translateY(45%);
				z-index: 1001;
			}
		}

		&.mobile-nav-open {
			overflow: auto;
			#start {
				margin-top: 200px;
			}
		}

		&.header-fixed.header-animated {
			font: normal var(--20px) / 1.5 var(--bodyFont);

			@media (width <= 600px) {
				font-size: var(--18px);
			}
			color: var(--darkestGray);

			.sr-only {
				border: 0 !important;
				clip: rect(1px, 1px, 1px, 1px) !important;
				-webkit-clip-path: inset(50%) !important;
				clip-path: inset(50%) !important;
				height: 1px !important;
				margin: -1px !important;
				overflow: hidden !important;
				padding: 0 !important;
				position: absolute !important;
				width: 1px !important;
				white-space: nowrap !important;
			}
			.container.grid-xl {
				max-width: 1440px;
			}
			h1,
			h2,
			h3,
			h4,
			h5 {
				font-variant: small-caps;
				font-weight: 700;
				font-family: var(--headingFont3);
				color: var(--blue);
				letter-spacing: 4px;
				margin-bottom: var(--20px);
				margin-top: 0;
			}
			h1 {
				font-size: var(--70px);
			}
			h2 {
				font-size: var(--32px);
			}
			h3 {
				font-size: var(--28px);
			}
			h4 {
				font-size: var(--18px);
			}
			h5 {
				font-size: var(--14px);
			}
			@media (width <= 600px) {
				h1 {
					font-size: var(--40px);
				}
				h2 {
					font-size: var(--32px);
				}
				h3 {
					font-size: var(--24px);
				}
				h4 {
					font-size: var(--16px);
				}
				h5 {
					font-size: var(--12px);
				}
			}
			ul {
				list-style-type: none;
				margin-left: 0;
				padding-left: 0;
			}
			p {
				&.lead {
					margin-bottom: var(--40px) !important;
					font-size: var(--20px);

					@media (min-width: 768px) {
						font-size: var(--28px);
						/* text-align: center; */
						padding-left: 0;
						padding-right: 0;
						margin-bottom: var(--40px) !important;
					}
				}
			}

			.sponsor-logo,
			.partner-item {
				a {
					img {
						transition: transform 200ms ease-in-out;
					}

					&:hover,
					&:focus {
						img {
							transform: scale(1.05);
						}
					}
				}
			}

			.paragraph {
				margin-bottom: var(--20px);
			}

			.alert-container {
				.alert {
					width: 100%;
					margin: var(--20px) auto;
					margin-bottom: var(--52px);
					text-align: center;
					border-radius: var(--5px);
					position: relative;
					display: flex;
					align-items: center;
					justify-content: center;
					padding: var(--20px);

					@media (min-width: 576px) {
						width: 50%;
					}

					.alert-icon {
						display: inline-block;
						margin-right: var(--5px);

						&::before {
							font-family: bootstrap-icons;
							font-style: normal;
							font-weight: 400;
							font-variant: normal;
							text-transform: none;
							line-height: 1;
							vertical-align: -0.125em;
							margin-right: 5px;
							content: "\F7CC";
							color: var(--teal);
						}
					}

					.alert-text {
						margin-bottom: 0;
					}

					&.alert-info {
						position: relative;
						color: #34588e;
						background-color: #daecfa;

						.alert-icon {
							&::before {
								content: "\F431";
								color: #34588e;
							}
						}
					}
				}
			}

			.section {
				&.content-section {
					padding: 100px var(--20px);
					@media (width <= 600px) {
						padding: 50px var(--10px);
					}
					.row {
						/* margin-bottom: 50px; */
						@media (width <= 600px) {
							padding-left: 0;
							padding-right: 0;
						}
					}

					&.container-fluid {
						padding-left: 0;
						padding-right: 0;
						padding-bottom: 0;
					}
				}
			}

			&.free-plane-rides {
				#start {
					#body-wrapper {
						&.section {
							padding-top: 0 !important;
							padding-bottom: 0 !important;
						}
					}
				}
			}

			.section-title {
				display: flex;
				align-items: center;
				justify-content: center;
				margin-bottom: var(--40px);

				@media (min-width: 769px) {
					margin-bottom: var(--60px);
				}

				h1 {
					text-transform: uppercase;
					letter-spacing: 8px;
					font-weight: 800;
					white-space: nowrap;
					margin: 0;

					@media (width <= 575px) {
						white-space: wrap;
						font-size: var(--28px);
					}
				}
				.dividerRight,
				.dividerLeft {
					height: 2px;
					width: 100%;
					display: block;
				}
				@media (width <= 575px) {
					.dividerRight,
					.dividerLeft {
						display: none;
					}
				}
				.dividerRight {
					background: linear-gradient(to right, var(--darkBlue), var(--blueGray) 33.333%, var(--lighterGray));
					margin-left: 20px;
				}
				.dividerLeft {
					background: linear-gradient(to left, var(--darkBlue), var(--blueGray) 33.333%, var(--lighterGray));
					margin-right: 20px;
				}
			}
			.bg-grayBlue {
				background: radial-gradient(circle at center, var(--blueGray) 40%, var(--darkestGray) 100%);
				color: var(--white);
				.section-title {
					h1 {
						color: var(--lighterGray);
					}
					.dividerRight {
						background: linear-gradient(to right, var(--lighterGray), var(--gray) 33.333%, var(--blueGray));
						margin-left: 20px;
					}
					.dividerLeft {
						background: linear-gradient(to left, var(--lighterGray), var(--gray) 33.333%, var(--blueGray));
						margin-right: 20px;
					}
				}
				h3 {
					color: var(--yellow);
				}
			}

			#sponsor {
				background-color: var(--darkestGray);
				padding: var(--10px) 0;
				width: 100%;
				position: sticky;
				/* height: var(--60px); */
				top: 0;
				z-index: 1000;

				#sponsor-inner {
					display: flex;
					align-items: center;
					justify-content: center;
					height: 100%;

					@media (max-width: 600px) {
						padding-right: 1.5rem;
					}

					.sponsor-text {
						padding-right: var(--10px);
						color: var(--white);
						margin-bottom: 0;
						@media (width <= 600px) {
							text-align: center;
							padding-left: var(--10px);
						}
					}

					.sponsor-logo {
						@media (max-width: 600px) {
							/* padding-right: var(--20px); */
						}

						a {
							display: inline-block;

							img {
								height: var(--52px);
							}
						}
					}
				}
			}

			#header {
				position: sticky;
				top: 72px;
				height: 90px;
				z-index: 1000;
				display: flex;
				align-items: center;
				flex-direction: column;
				transition: all 200ms ease-in-out;

				.container {
					height: 100%;
					display: flex;
					justify-content: space-between;
					align-items: center;

					.navbar {
						width: 100%;
						height: 100%;
						position: relative;
						z-index: 1000;
						padding: 0;
						display: flex;
						justify-content: space-between;

						.navbar-brand {
							&:focus {
								outline: var(--outline) !important;
								outline-color: var(--blue) !important;
								outline-offset: -2px;
							}

							img {
								height: 70px;
								transition: height 200ms ease-in-out;
							}
						}

						.navbar-section.desktop-menu {
							height: 70px;

							.dropmenu {
								.navigation {
									li {
										display: flex;
										align-items: center;
										a {
											font-size: var(--24px);
											transition:
												color 200ms ease-in-out,
												font-size 200ms ease-in-out;
											text-decoration: none;
											color: var(--blue);

											&:hover,
											&:focus {
												color: var(--mediumTeal) !important;
											}
										}
									}
								}
							}
						}
					}
				}

				&.scrolled {
					/* padding: 0.5rem 1rem; */
					box-shadow: 0 var(--10px) var(--20px) rgb(0 0 0 / 0.15);
					height: 70px;
					.container .navbar {
						.navbar-brand img {
							height: 50px;
						}

						.navbar-section.desktop-menu .dropmenu .navigation li a {
							font-size: var(--20px);
						}
					}
					& + #mobile-nav {
						top: 70px;
					}
				}
			}

			.hero-banner {
				width: 100%;
				position: relative;
			}

			.hero-banner-img-wrapper {
				width: 100%;
				height: 180px;
				overflow: hidden;
			}

			.hero-banner-img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				display: block;
				object-position: top 0 left -160px;
			}

			@media (min-width: 575px) {
				.hero-banner-img-wrapper {
					height: 250px;
				}

				.hero-banner-img {
					object-position: top 0 left -20px;
				}
			}

			@media (min-width: 769px) {
				.hero-banner-img-wrapper {
					height: 350px;
				}

				.hero-banner-img {
					object-position: top 0 left -50px;
				}
			}

			@media (min-width: 1200px) {
				.hero-banner-img-wrapper {
					height: 500px;
				}

				.hero-banner-img {
					object-position: top 0 left -75px;
				}
			}

			@media (min-width: 1537px) {
				.hero-banner-img {
					object-position: top 0 left 0;
				}
			}

			.hero-banner-fallback {
				height: 300px;
				background-color: #003366;
				color: var(--white);
				display: flex;
				align-items: center;
				justify-content: center;
				text-align: center;
			}

			.hero-banner-title {
				font-size: clamp(2rem, 4vw, 3rem);
				margin: 0;
			}

			.mobile-container {
				z-index: 1002;
				#overlay {
					&.open {
						background: var(--white);
						opacity: 1;
						width: 100%;
						height: auto;
					}
					.overlay-menu {
						margin-top: 50px;
						margin-bottom: 0;
						.navigation {
							list-style: none;
							padding-left: 0;
							margin-left: 0;
							li {
								padding: 20px 0;
								margin-top: 0;
								background-color: var(--veryLightGray);
								border-bottom: 1px solid var(--lighterGray);
								text-align: center;
								display: flex;
								justify-content: center;
								align-items: center;
								a {
									text-decoration: none;
									display: inline-block;
								}

								&:first-child {
									border-top: 1px solid var(--lighterGray);
								}
							}
						}
					}
				}
			}
			.mobile-wrapper {
				@media (min-width: 821px) {
					display: none;
				}

				@media (max-width: 820px) {
					display: flex;
					align-items: center;
					justify-content: flex-end;
					z-index: 2000 !important;
					.mobile-menu {
						pointer-events: auto !important;
						top: auto;
						right: auto;
						display: flex;
						flex-direction: column;
						align-items: center;

						@media (max-width: 600px) {
							display: flex;
							align-items: center;
							gap: 5px;
							z-index: 1003;
							height: auto;
							position: relative;
							font-size: var(--18px);

							.menu-text {
								color: var(--blue);
								height: 100%;
								display: flex;
								align-items: center;
							}
						}
					}
				}
			}

			#toggle {
				all: unset;
				opacity: 1;
				width: 28px;
				height: 24px !important;
				cursor: pointer;
				transform: rotate(0deg);
				transition: 0.5s ease-in-out;
				position: relative;
				pointer-events: auto !important;
				z-index: 2000 !important;
				display: block;

				span {
					display: block;
					height: 4px;
					width: 50%;
					background: var(--blue);
					opacity: 1;
					border-radius: 2px;
					position: absolute;
					left: 0;
					transform: rotate(0deg);
					transition: 0.25s ease-in-out;

					&:nth-child(even) {
						left: 50%;
						border-radius: 0 4px 4px 0;
					}

					&:nth-child(odd) {
						left: 0;
						border-radius: 4px 0 0 4px;
					}

					&:nth-child(1),
					&:nth-child(2) {
						top: 0;
					}

					&:nth-child(3),
					&:nth-child(4) {
						top: 9px;
					}

					&:nth-child(5),
					&:nth-child(6) {
						top: 18px;
					}
				}

				&.active {
					span {
						&:nth-child(1),
						&:nth-child(6) {
							transform: rotate(45deg);
						}

						&:nth-child(2),
						&:nth-child(5) {
							transform: rotate(-45deg);
						}

						&:nth-child(1) {
							top: 7px;
						}

						&:nth-child(2) {
							left: calc(50% - 5px);
							top: 7px;
						}

						&:nth-child(3) {
							left: -50%;
							opacity: 0;
						}

						&:nth-child(4) {
							left: 100%;
							opacity: 0;
						}

						&:nth-child(5) {
							top: 16px;
						}

						&:nth-child(6) {
							left: calc(50% - 5px);
							top: 16px;
						}
					}
				}
			}

			#mobile-nav {
				display: none;
				@media (max-width: 820px) {
					display: block;
					position: fixed;
					top: 90px;
					width: 100%;
					z-index: 999;
					overflow: hidden;
					max-height: 0;
					background: white;
					border-top: 1px solid #ccc;
					transition:
						max-height 200ms ease-in-out,
						opacity 350ms ease-in-out,
						box-shadow 200ms ease-in-out;
					padding: 0;

					li {
						padding: 0.35rem var(--20px);
						border-bottom: 1px solid var(--lighterGray);
						margin-top: 0;
					}

					&.open {
						max-height: 500px; /* adjust based on nav content */
						opacity: 1;
						box-shadow: 0 var(--10px) var(--20px) rgb(0 0 0 / 0.15);
					}

					.navigation {
						a {
							padding: 0.5rem 0;
							display: block;
							color: var(--blue);
							text-decoration: none;
						}
					}
				}
			}

			@keyframes slideDown {
				from {
					display: none;
					transform: translateY(-10px);
				}
				to {
					display: block;
					transform: translateY(0);
				}
			}

			a {
				transition: color ease-in-out 200ms;
				font-weight: 600;
				cursor: pointer;
				text-decoration: underline;
				text-underline-offset: var(--underlineOffset);
				&.link {
					color: var(--mediumTeal);
					display: inline-block;
					&:hover,
					&:focus {
						color: var(--darkTeal);
						text-decoration: none;
					}
					&.link-light {
						color: var(--lighterGray);
						&:hover {
							color: var(--white);
						}
					}
					&:focus {
						outline: var(--outline) !important;
						outline-offset: var(--outlineOffset);
					}

					&:focus {
						outline: var(--outline) !important;
						outline-offset: var(--outlineOffset);
					}
				}

				&.btn {
					&.btn-primary {
						background-color: var(--yellow);
						border: 0;
						color: var(--darkestGray);
						font-weight: 600;
						padding: 0.6rem 1.2rem;
						border-radius: 0;
						font-size: 1.1rem;
						text-decoration: none;
						display: inline-block;
						box-shadow:
							rgb(45 35 66 / 0.4) 0 2px 4px,
							rgb(45 35 66 / 0.3) 0 7px 13px -3px;
						transition: all 200ms ease-in-out;
						height: auto;
						font-family: var(--headingFont3);
						letter-spacing: 2px;

						&:hover,
						&:focus {
							box-shadow:
								rgb(45 35 66 / 0.4) 0 4px 8px,
								rgb(45 35 66 / 0.3) 0 7px 13px -3px;
							transform: translateY(-3px);
							background-color: var(--darkYellow);
							color: var(--white);
						}

						&:focus {
							outline: var(--outline) !important;
							outline-offset: var(--outlineOffset);
							outline-color: var(--darkYellow) !important;
						}

						&:active {
							transform: translateY(3px);
						}
					}
				}
			}
			.back-to-top {
				position: fixed;
				display: none;
				justify-content: center;
				align-items: center;
				background: var(--yellow);
				color: var(--darkestGray);
				width: 44px;
				height: 44px;
				text-align: center;
				border-radius: 50px;
				right: 50px;
				bottom: 35px;
				transition:
					background 200ms ease-in-out,
					color 200ms ease-in-out,
					display 200ms ease-in-out;
				text-decoration: none;
				z-index: 1002;

				@media (max-width: 600px) {
					display: none !important;
				}

				i {
					font-size: var(--24px);
					transition: color 200ms ease-in-out;
					&::before {
						font-weight: 700 !important;
					}
				}
				&:focus,
				&:hover {
					background: var(--darkYellow);
					i {
						color: var(--white);
					}
				}
				&:focus {
					outline-color: var(--darkYellow);
				}
			}

			#hero {
				position: relative;
				z-index: 0;
				height: 500px;
				width: 100%;
				overflow: hidden;
				display: block;
				padding: 0 !important;
				margin: 0 !important;

				@media (min-width: 576px) {
					height: 600px;
				}

				@media (min-width: 768px) {
					height: 700px;
				}

				@media (min-width: 1200px) {
					height: 900px;
				}

				/* @media (min-width: 1600px) {
          height: 1000px;
        } */

				.video-container,
				.image-container {
					position: absolute;
					top: 0;
					left: 0;
					width: 100%;
					height: 100%;
					overflow: hidden;
					z-index: 0;
					display: flex;
					flex-direction: column;
					justify-content: flex-end;
				}
				.image-container {
					background-size: cover;
					background-position: center;
				}
				.image-overlay {
					position: absolute;
					top: 0;
					left: 0;
					width: 100%;
					height: 100%;
					background-color: rgb(0 0 0 / 0.4);
					z-index: 2;
					pointer-events: none;
				}
				.video-background {
					position: absolute;
					z-index: 1;
					top: 50%;
					left: 50%;
					transform: translate(-50%, -50%);
					min-width: 100%;
					min-height: 100%;
					width: auto;
					height: auto;
					object-fit: cover;
					pointer-events: none;
				}
				.video-controls {
					position: absolute;
					z-index: 20;
					margin-top: auto;
					left: 50%;
					transform: translateX(-50%);
					bottom: 10%;
					pointer-events: auto;

					@media (min-width: 600px) {
						bottom: 25%;
						left: 4%;
						transform: none;
					}

					#playPauseBtn {
						background: rgb(0 0 0 / 0.5);
						border: none;
						color: var(--white);
						font-size: var(--52px);
						cursor: pointer;
						border-radius: 50%;
						width: 100px;
						height: 100px;
						display: flex;
						align-items: center;
						justify-content: center;
						transition: background 200ms ease-in-out;
						&:hover,
						&:focus {
							background: rgb(255 10 10 / 0.5);
						}
						&:focus {
							outline: var(--outline) !important;
							outline-color: var(--red) !important;
							outline-offset: 2px;
						}
						&[aria-label="Play video"] {
							&:hover,
							&:focus {
								background: rgb(12 255 12 / 0.5);
							}
							&:focus {
								outline-color: var(--aircraftGreen) !important;
							}
						}
					}
				}
				.hero-content {
					position: relative;
					z-index: 3;
					height: 100%;
					padding-bottom: 80px;
					pointer-events: none;
					* {
						pointer-events: auto;
					}
					.container {
						position: absolute;
						left: 50%;
						transform: translateX(-50%);
						top: 10%;

						@media (min-width: 576px) {
							top: 15%;
						}

						@media (min-width: 768px) {
							top: 20%;
						}

						.title {
							color: var(--yellow);
							font-size: var(--32px);

							@media (min-width: 576px) {
								font-size: var(--48px);
							}

							@media (min-width: 768px) {
								font-size: var(--56px);
							}

							@media (min-width: 1200px) {
								font-size: var(--64px);
							}

							font-weight: 800;
							text-transform: uppercase;
							text-shadow: 2px 2px 4px rgb(0 0 0 / 0.5);
							margin-bottom: 0.5rem;
						}
						.subtitle {
							color: #fff;
							font-size: var(--26px);
							@media (min-width: 576px) {
								font-size: var(--32px);
							}
							@media (min-width: 768px) {
								font-size: var(--48px);
							}

							font-weight: 700;
							text-transform: uppercase;
							text-shadow: 1px 1px 3px rgb(0 0 0 / 0.7);
							margin-bottom: 1.5rem;
						}
						.date {
							color: #fff;
							font-size: var(--36px);
							@media (width <= 600px) {
								font-size: var(--24px);
							}
							margin-bottom: 2rem;
							text-shadow: 1px 1px 2px rgb(0 0 0 / 0.7);
						}
					}
				}
			}

			#page-wrapper {
				#start {
					@media (width <= 600px) {
						padding-top: 0;
					}
				}
			}

			#about-section {
				position: relative;
				z-index: 20;
				width: 100%;
				padding: 0;

				@media (min-width: 576px) {
					margin-top: 0;
				}

				@media (min-width: 821px) {
					width: 75%;
					margin: -325px auto 0; /* 👈 controlled overlap with hero */
				}

				.container {
					&.grid-xl {
						@media (width <= 600px) {
							width: 100%;
							padding: 0;
						}

						.shadow {
							box-shadow: none !important;

							@media (min-width: 769px) {
								box-shadow:
									rgba(0, 0, 0, 0.25) 0px 14px 28px,
									rgba(0, 0, 0, 0.22) 0px 10px 10px !important;
							}
						}

						h3 {
							font-variant: small-caps;
							margin-bottom: var(--10px);
						}

						.btn {
							&.flyer-btn {
								margin-top: 1rem;
								i:before {
									font-size: 1.2rem;
								}
							}
						}

						.note {
							font-size: var(--16px);
							margin-bottom: var(--10px);
							&:last-of-type {
								margin-bottom: var(--20px);
							}
						}
					}
				}
			}
			#schedule-section {
				position: relative;
				z-index: 2;
				overflow: hidden;
				/* margin-top: -300px; */
				background: transparent !important;
				padding: 0;

				@media (min-width: 769px) {
					margin-top: -300px;
				}

				.schedule-surface {
					position: relative;
					background: radial-gradient(circle at center, var(--blueGray) 40%, var(--darkestGray) 100%);
					padding: 50px var(--20px);

					@media (min-width: 769px) {
						/* THE CUTOUT */
						-webkit-clip-path: url(#schedule-cutout);
						clip-path: url(#schedule-cutout);
						padding-top: 380px;
					}
				}

				.mc-section {
					padding-right: 50px;

					@media (width <= 600px) {
						padding-right: 0;
						padding-left: 0;
					}
				}

				.schedule-items {
					padding-left: 50px;

					.alert {
						@media (min-width: 576px) {
							width: 100%;
						}
					}

					@media (width <= 600px) {
						padding-left: 0;
					}

					.table > :not(caption) > * > * {
						background-color: #fff0;
					}

					.table {
						th,
						td {
							color: var(--white);
						}

						@media (width <= 600px) {
							td {
								font-size: var(--18px);
								width: 27%;
							}
						}
					}
				}
				#mc-img {
					margin-bottom: 20px;
				}

				#eaa {
					.card {
						padding: 20px 0;
						h3 {
							color: var(--blue);
							margin-bottom: 0;
							margin-top: 0;
							font-size: var(--24px);
							& + div {
								margin-bottom: 35px;
							}
						}
					}
				}
			}

			#exhibitors-section {
				padding-bottom: 0;

				h3 {
					margin-bottom: 0.5rem;
				}

				.alert {
					margin: var(--20px) 0;
					@media (min-width: 576px) {
						width: 35%;
					}
				}

				.lead {
					margin-bottom: var(--40px) !important;
				}

				#hangar-list,
				#ramp-list {
					.exhibitors-list {
						/* margin-top: 50px; */
						column-count: 2;

						li {
							padding: 5px 0;
							margin-top: 0;
							margin-bottom: 8px;
							&:last-of-type {
								margin-bottom: 0;
							}
						}
					}
				}

				#ramp-list {
					.exhibitors-list {
						column-count: 1;
					}
				}

				#old-crow {
					width: 99.6vw;
					background-color: var(--offWhite);
					position: relative;
					margin-left: -50vw;
					left: 50%;
					display: flex;
					flex-direction: column;
					justify-content: center;
					align-items: center;

					@media (min-width: 601px) {
						flex-direction: row;
						padding: var(--100px) var(--20px);
					}

					h2 {
						font-size: var(--28px);
						margin-bottom: var(--20px);
						@media (min-width: 601px) {
							margin-bottom: var(--52px);
						}
					}

					.content-container {
						width: 100%;
						div:first-child {
							margin-bottom: var(--40px);

							@media (min-width: 601px) {
								margin-bottom: 0;
							}
						}

						@media (min-width: 1200px) {
							width: 1440px;
							margin: 0 auto;
						}
					}

					.link-container {
						margin-top: var(--10px);

						/* @media (min-width: 601px) {
                            margin-top: 0;
                            margin-left: var(--40px);
                        } */
					}

					#old-crow-gallery {
						margin-top: var(--32px);
						/* display: grid;
                        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
                        gap: var(--20px); */

						display: flex;
						flex-direction: column;

						@media (min-width: 601px) {
							flex-direction: row;
							justify-content: center;
						}

						a {
							width: 100%;
							object-fit: cover;
							margin-top: var(--20px);

							@media (min-width: 601px) {
								width: 150px;
								margin-right: var(--20px);

								&:last-child {
									margin-right: 0;
								}
							}

							img {
								width: 100%;
								height: 100%;
								object-fit: cover;
							}
						}
					}

					.col-lg-6:has(.video-container) {
						display: flex;
						align-items: center;
					}

					.video-container {
						position: relative;
						overflow: hidden;
						width: 100%;
						padding-top: 56.25%;

						@media (min-width: 601px) and (max-width: 1199px) {
							margin-top: var(--40px);
						}

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

			#speakers-section {
				#speakers-grid {
					display: grid;
					grid-template-columns: 1fr;
					gap: var(--20px);

					@media (min-width: 768px) {
						grid-template-columns: 1fr 1fr;
					}
				}
				.speaker {
					&.card {
						overflow: hidden;
						max-height: 270px;

						.speaker-img {
							padding-right: 0;
							/* flex: 0 0 300px; */
							max-width: 300px;
							object-fit: cover;
							> .card-img-top {
								border-radius: 0.375rem 0.375rem 0 0;
								border-top-right-radius: 0;
								height: 100%;
								object-fit: cover;
								height: 268px;
							}
						}

						.speaker-company {
							font-size: var(--16px);
							color: var(--blue);
							font-weight: 600;
						}

						.card-body {
							padding: 0;
							.card-text,
							.btn {
								font-size: 18px;
							}

							.speaker-info {
								padding: var(--20px);
								.card-title {
									color: var(--blue);
									margin-top: 0;
								}
							}
						}

						@media (max-width: 600px) {
							.speaker-img {
								width: 100%;
								max-width: 100%;
								aspect-ratio: 4 / 3; /* 👈 key control knob */
								overflow: hidden;
								position: relative;

								img {
									width: 100%;
									height: 100%;
									object-fit: cover;
									object-position: center 20%; /* 👈 protects faces */
									display: block;
								}
							}
						}
					}
				}
			}

			&.speaker {
				#speaker-info {
					background-color: rgba(172, 174, 187, 0.5);
					padding: 50px;
					width: 100%;

					@media (width <= 600px) {
						margin: 0;
					}

					> .container {
						display: flex;

						@media (width <= 600px) {
							flex-direction: column;
							align-items: center;
							text-align: center;
						}
					}

					.speaker-img {
						@media (width <= 600px) {
							width: 100%;
						}

						img {
							width: 300px;
						}
					}

					.speaker-details {
						display: flex;
						flex-direction: column;
						justify-content: center;

						@media (width <= 600px) {
							width: 100%;
						}

						h1 {
							line-height: 0.75;
							margin-bottom: 30px;
							font-size: var(--52px);

							@media (width <= 600px) {
								font-size: var(--36px);
								margin-top: 20px;
							}
						}

						h3 {
							font-size: var(--20px);
							color: var(--darkestGray);
							max-width: 75%;
						}
					}
				}

				#body-wrapper {
					/* padding: 50px 0 0; */
					.container {
						padding-top: 0;

						#speaker-profile-section {
							padding-top: 0;
							padding-bottom: 50px;
							margin-bottom: 0;

							.speaker-bio {
								&:last-child {
									margin-bottom: 0;
								}
							}
						}
					}
				}
			}
			#partners-section {
				.sponsor-info {
					width: 99.6vw;
					position: relative;
					margin-left: -50vw;
					left: 50%;
					display: flex;
					flex-direction: column;
					align-items: center;
					justify-content: center;
					padding: var(--40px);
					margin-bottom: var(--60px);
					background-color: var(--offWhite);

					.sponsor-text {
						text-align: center;
					}

					.sponsor-logo {
						width: 100%;
						margin-left: var(--20px);

						@media (min-width: 576px) {
							width: 35%;
						}

						a {
							img {
								padding: var(--20px);
							}
						}
					}
				}

				#partners-logos {
					display: grid;
					grid-template-columns: 1fr 1fr;

					h3 {
						grid-column: 1 / -1;
						width: 100%;
						text-align: center;
					}

					@media (width <= 600px) {
						grid-template-columns: 1fr;
						margin-bottom: 8px;

						&:last-child {
							margin-bottom: 0;
						}
					}
				}
				.partner-item {
					display: flex;
					justify-content: center;
					align-items: center;
					margin-bottom: 20px;

					a {
						display: flex;
						justify-content: center;

						img:not([alt="Seminole County Schools"]) {
							height: auto;
							max-width: 65%;
						}
					}
				}
			}

			#gallery-section {
				.gallery-years-nav {
					border-bottom: 0;
					display: flex;
					flex-direction: row;
					flex-wrap: wrap;

					.year-tab {
						text-decoration: none;
						margin-right: var(--12px);
						margin-top: var(--12px);
						padding: 5px 10px;
						font-weight: 600;
						font-size: var(--24px);
						color: var(--darkestGray);
						border: none;
						background-color: var(--white);
						border-radius: 0;
						transition:
							color 200ms ease-in-out,
							background-color 200ms ease-in-out;

						&.active {
							background-color: var(--yellow);
						}

						&:hover {
							&:not(.active) {
								color: var(--white);
								background-color: var(--darkYellow);
							}
						}

						&:focus {
							outline: 2px dashed var(--yellow) !important;
							outline-offset: 2px;
							box-shadow: none;
						}
					}
				}

				.year-gallery-container {
					nav {
						.pagination {
							flex-wrap: wrap;
							.page-item {
								margin: 8px;
								cursor: pointer;
								.page-link {
									pointer-events: auto;
									z-index: 2000;

									&.gallery-page-number {
										text-decoration: none;
									}
								}

								&:first-child,
								&:last-child {
									.page-link {
										border-radius: 0;
									}
								}

								&.disabled {
									background-color: var(--gray);
								}

								&.active {
									.page-link {
										background-color: var(--yellow);
										outline-color: var(--yellow) !important;

										&.gallery-page-number {
											background-color: var(--yellow);
											color: var(--darkestGray);

											&:hover {
												background-color: var(--darkYellow);
												color: var(--white);
											}
										}
									}
								}

								.page-link {
									padding: 6px 18px;
									font-size: var(--24px);
									font-weight: 600;
									border: 0;
									color: var(--darkestGray);
									text-decoration: none;
									transition:
										color 200ms ease-in-out,
										background-color 200ms ease-in-out;

									@media (width <= 600px) {
										font-size: var(--18px);
									}
								}

								&:not(.active) {
									.page-link {
										&:hover {
											background-color: var(--darkYellow);
											color: var(--white);
										}

										&:focus {
											outline-color: var(--white) !important;
										}
									}
								}
							}
						}
					}
				}

				.gallery-item {
					margin-bottom: 10px;

					.gallery-item-link {
						display: block;
						overflow: hidden;
						border-radius: 4px;
						transition: transform 200ms ease-in-out;

						&:hover {
							transform: scale(1.02);
						}

						&:focus {
							outline-color: var(--yellow) !important;
						}
					}

					img {
						width: 100%;
						height: 225px;
						object-fit: cover;
						border-radius: 4px;
					}
				}
			}

			.pswp {
				z-index: 1500;
			}

			.pswp__img {
				object-fit: contain;
				width: 100%;
				height: 100%;
			}

			.pswp__bg {
				background-color: rgba(0, 0, 0, 0.85);

				&:focus {
					outline: var(--outline) !important;
					outline-color: var(--yellow) !important;
				}
			}

			/* .pswp__overlay {
				position: fixed;
				top: 0;
				left: 0;
				right: 0;
				bottom: 0;
				background: rgb(0 0 0 / 0.8);
				z-index: 1000;
			} */

			.pswp--closed,
			.pswp--closed .pswp__bg,
			.pswp--closed .pswp__overlay,
			.pswp--closed .pswp__item {
				opacity: 0 !important;
				visibility: hidden !important;
				pointer-events: none !important;
			}

			@media (min-width: 992px) {
				.gallery-item.col-lg-2 {
					flex: 0 0 16.666667%;
					max-width: 16.666667%;
				}
			}

			#location-section {
				#map {
					height: 100%;
					min-height: 450px; /* desktop safety net */
				}

				> .row {
					&.no-gutters {
						margin-left: 0;
						margin-right: 0;
						> .col-lg-6 {
							padding-left: 0;
							padding-right: 0;
						}
					}
				}

				.map-image-wrapper {
					img {
						object-fit: cover;
						width: 100%;
						height: 100%;
						display: block;
					}
				}

				@media (width <= 600px) {
					#map {
						height: 362px; /* explicit mobile height */
						min-height: 362px;
					}

					.map-image-wrapper {
						height: auto;
					}
				}

				.leaflet-popup-content-wrapper {
					width: 325px;

					@media (min-width: 576px) {
						width: 375px;
					}
				}

				.leaflet-popup-content {
					padding: var(--20px);
					margin: 0;
					width: 100% !important;
					position: relative;
				}

				.leaflet-popup-close-button {
					background-color: var(--red);
					border-radius: 50%;
					text-decoration: none;
					position: absolute;
					right: var(--10px);
					top: var(--10px);
					transition: background-color 200ms ease-in-out;

					span {
						color: var(--white);
					}

					&:hover {
						background-color: var(--darkRed);
					}
				}

				#get-directions-link {
					color: var(--lightBlue);

					&:hover,
					&:focus {
						color: var(--teal);
					}

					&:focus {
						outline: var(--outline) !important;
						outline-offset: var(--outlineOffset);
					}
				}
			}

			#footer {
				background-color: var(--darkestGray);
				color: var(--white);
				padding: 50px 0;

				.container {
					.row {
						div {
							display: flex;
							align-items: center;
							margin-bottom: var(--20px);

							@media (min-width: 576px) {
								&:first-child {
									margin-bottom: 0;
								}
							}

							p {
								margin-bottom: 0;
								a {
									color: var(--yellow);

									&:hover,
									&:focus {
										color: var(--lightTeal);
										text-decoration: none;
									}

									&:focus {
										outline: var(--outline) !important;
										outline-color: var(--lightTeal) !important;
										outline-offset: var(--outlineOffset);
									}
								}
							}

							.social-media {
								#social-icons {
									list-style: none;
									padding: 0;
									margin: 0;
									display: flex;
									justify-content: end;

									/* @media (min-width: 576px) {
                    justify-content: flex-end;
                  } */

									li {
										margin-left: 12px;

										&:fiest-child {
											margin-left: 0;
										}

										a {
											background-color: var(--yellow);
											border-radius: 50%;
											width: 36px;
											height: 36px;
											display: flex;
											flex-direction: column;
											align-items: center;
											justify-content: center;
											padding: 8px;
											transition: background-color 200ms ease-in-out;

											svg {
												width: 36px;
												height: 36px;

												path {
													fill: var(--darkestGray);
													transition: fill 200ms ease-in-out;
												}
											}

											&:focus,
											&:hover {
												background-color: var(--teal);

												svg {
													path {
														fill: var(--white);
													}
												}
											}

											&:focus {
												outline: var(--outline) !important;
												outline-color: var(--teal) !important;
												outline-offset: var(--outlineOffset);
											}
										}
									}
								}
							}

							&:last-child {
								justify-content: center;

								@media (min-width: 576px) {
									justify-content: end;
								}
							}
						}
					}
				}
			}

			&.free-plane-rides {
				.section-title {
					h1 {
						font-size: var(--24px);
					}

					@media (min-width: 768px) {
						h1 {
							font-size: var(--32px);
						}
					}

					@media (min-width: 1200px) {
						h1 {
							font-size: var(--52px);
						}
					}

					@media (min-width: 1600px) {
						h1 {
							font-size: var(--70px);
						}
					}
				}

				ul {
					&.free-planeRides-signup-instructions {
						margin-left: 0;
						padding-left: var(--40px);

						li {
							&::before {
								font-family: bootstrap-icons;
								font-style: normal;
								font-weight: 400;
								font-variant: normal;
								text-transform: none;
								line-height: 1;
								vertical-align: -0.125em;
								margin-right: 5px;
								content: "\F7CC";
								color: var(--teal);
							}
						}
					}
				}
			}

			@media (max-width: 767px) {
				.modular-hero {
					height: 80vh;
					.title {
						font-size: 2.5rem;
					}

					.subtitle {
						font-size: 1.8rem;
					}

					.date {
						font-size: 1.3rem;
					}
				}
			}
		}
	}

	/* ===============================
   NAVIGATION LAYOUT FIXES
   =============================== */

	.navbar {
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: nowrap !important;
	}

	.navbar-section.logo {
		flex: 0 1 auto;
		width: 25%;

		.navbar-brand {
			padding: 0;
			margin: 0;
			height: 100%;
			display: flex;
			align-items: center;
		}

		@media (max-width: 600px) {
			width: 50%;
		}
	}

	.navbar-section.desktop-menu {
		flex: 1 1 auto;
		display: flex;
		justify-content: flex-end;
	}

	.navbar-section.mobile-wrapper {
		display: none;
	}

	@media (max-width: 768px) {
		.navbar {
			justify-content: space-between;
		}

		.navbar-section.desktop-menu {
			display: none;
		}

		.navbar-section.mobile-wrapper {
			display: flex;
			align-items: center;
		}

		.mobile-menu {
			display: flex;
			align-items: center;
			gap: 5px;
			font-size: var(--18px);
			position: relative;
			z-index: 1003;
		}

		.mobile-menu .menu-text {
			color: var(--blue);
			height: 100%;
			display: flex;
			align-items: center;
		}
	}

	.navbar-section {
		white-space: nowrap;
	}

	/* === Gallery Transitions === */
	/* Fade in/out between year galleries */
	#gallery-section {
		.year-gallery-container {
			opacity: 0;
			visibility: hidden;
			transition:
				opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),
				visibility 0.3s cubic-bezier(0.4, 0, 0.2, 1);
			position: absolute;
			width: 100%;
			max-width: 100%;
			overflow-x: hidden;
			z-index: 0;

			&.active {
				opacity: 1;
				visibility: visible;
				position: relative;
				z-index: 1;
			}
		}

		.gallery-images {
			opacity: 1;
			transition:
				opacity 200ms ease-in-out,
				height 200ms ease-in-out;
			min-height: 420px;

			&.fading-out {
				opacity: 0.3;
				transition: opacity 200ms ease-in-out;
			}
		}
		.gallery-item {
			opacity: 0;
			transform: translateY(24px);
			transition:
				opacity 200ms ease-in-out,
				transform 200ms ease-in-out;
			aspect-ratio: 16 / 9;
			min-height: 225px;

			img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				display: block;
			}

			.skeleton {
				width: 100%;
				height: 100%;
				background: var(--lighterGray);
				position: absolute;
				top: 0;
				left: 0;
				z-index: 1;
			}

			&.visible {
				opacity: 1;
				transform: none;
			}
		}
	}
}
