@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;
	--lightGreen: #74e0b9;
	--green: #23e162; /* rgb(35, 225, 98) */
	--mediumGreen: #3fa14f; /* rgb(63, 161, 79) */
	--darkGreen: #0f5132; /* rgb(15, 81, 50) */
	--lighterGrayBlue: #acaebb;
	--grayBlue: #979aaa;
	--yellow: #ffbf00; /* rgb(255, 191, 0) */
	--darkYellow: #bf8705;
	--red: #e03040;
	--mediumRed: #c31d2b;
	--darkRed: #8e151f;
	--danger: var(--mediumRed);
	--aircraftGreen: #0cff0c;
	--aircraftRed: var(--red);
	--aircraftYellow: var(--yellow);
	--toastSuccessBg: #dbebc8;
	--toastSuccessTxt: #436f06;
	--toastErrorBg: rgba(224, 48, 64, 0.5);
	--toastErrorTxt: var(--darkRed);
	--toastWarningBg: ;
	--toastWarningTxt: var(--darkYellow);
	--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,
			legend {
				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(--48px);
			}
			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;
					}
				}
			}

			.required {
				color: var(--mediumRed) !important;
				font-weight: bold;
				font-size: var(--20px);
			}

			.sponsor-logo,
			.partner-item {
				a {
					img {
						transition: transform 200ms ease-in-out;
						width: 75%;
						display: inline-block;
						margin: 0 auto;
					}

					&: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;
							}
						}
					}
				}
			}

			.toast {
				&.toast-success,
				&.success {
					width: 50%;
					margin: 100px auto 0;
					color: var(--toastSuccessTxt);
					background-color: var(--toastSuccessBg);
					border: 0;
					border-radius: 0.2rem;
					box-shadow: none;
					padding: var(--20px);
					text-align: center;
				}
			}

			.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,
			&.scholarship {
				#start {
					#body-wrapper {
						&.section {
							padding-top: 0 !important;
							padding-bottom: 0 !important;

							.container {
								&.grid-xl {
									padding-top: 0;
								}
							}
						}
					}
				}
			}

			&.scholarship {
				.hero-banner-img {
					object-position: top 0 left 0;
				}
			}

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

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

				h1 {
					text-transform: uppercase;
					font-weight: 800;
					white-space: normal;
					word-break: break-word;
					overflow-wrap: anywhere;
					margin: 0;
					font-size: var(--28px);
					letter-spacing: 2px;

					@media (width > 575px) {
						letter-spacing: 8px;
						white-space: nowrap;
						overflow-wrap: normal;
						word-break: normal;
						font-size: var(--70px);
					}
				}
			}
			.dividerRight,
			.dividerLeft {
				height: 2px;
				width: 100%;
				display: none;

				@media (width > 575px) {
					display: block;
				}
			}

			.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;
				}
			}
			h2,
			h3 {
				color: var(--yellow) !important;
			}

			.card {
				h3 {
					color: var(--blue) !important;
				}
			}
		}

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

			#sponsor-inner {
				display: grid;
				grid-template-columns: 65% 35%;
				height: 100%;

				@media (width > 600px) {
					padding-right: 1.5rem;
					grid-template-columns: 50% 50%;
				}

				.sponsor-text {
					padding-right: var(--10px);
					color: var(--white);
					margin-bottom: 0;
					text-align: center;
					padding-left: var(--10px);

					@media (min-width: 601px) {
						display: flex;
						align-items: center;
						justify-content: flex-end;
					}
				}

				.sponsor-logo {
					a {
						display: inline-block;

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

		#header {
			position: sticky !important;
			top: 72px !important;
			height: 90px !important;
			z-index: 1000 !important;
			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;
										}

										&#scholarship-btn--nav {
											transition: all 200ms ease-in-out;
											color: var(--darkestGray);

											&:hover,
											&:focus {
												color: var(--white) !important;
												transform: none;
											}
										}
									}
								}
							}
						}
					}
				}
			}

			&.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: 162px;
				}
			}
		}

		.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 (width > 575px) {
			.hero-banner-img-wrapper {
				height: 250px;
			}

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

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

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

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

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

		@media (width > 1920px) {
			.hero-banner-img-wrapper {
				height: 600px;
			}
		}

		.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 (max-width: 820px) {
				display: flex;
				align-items: center;
				justify-content: flex-end;
				z-index: 2000 !important;
				margin-right: var(--10px) !important;

				.mobile-menu {
					pointer-events: auto !important;
					top: auto;
					right: auto;
					display: flex;
					flex-direction: column;
					align-items: center;

					@media (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;
						}
					}
				}
			}

			@media (min-width: 821px) {
				display: none;
			}
		}

		#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: 874px) {
				display: block;
				position: fixed;
				top: 162px;
				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;

					&:last-child {
						border-bottom: 0;
						padding: 0.5rem var(--20px);
					}
				}

				&.open {
					max-height: 520px; /* 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;
						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);
					}
				}
			}
		}

		.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;
			/* background: transparent !important; */
			/* padding: 0; */
			/* position: relative; */
			background: radial-gradient(circle at center, var(--blueGray) 40%, var(--darkestGray) 100%);
			padding: 50px var(--10px);

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

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

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

				h2 {
					padding-right: 0;
					padding-left: 0;
					font-size: var(--24px);

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

				.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);
						}

						.note {
							font-size: var(--16px);
							margin-left: var(--10px);
							font-weight: 500;

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

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

				#mc-img {
					margin-bottom: 20px;
				}
			}
			#eaa {
				.card {
					padding: 20px 0;
					h3 {
						color: var(--blue) !important;
						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);
				padding: var(--60px) var(--20px);
				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(--10px);
				}

				.showtimes {
					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;
					}
				}

				.pswp__custom-caption {
					background: rgba(0, 0, 0, 0.75);
					font-size: 16px;
					color: #fff;
					padding: 12px 20px;
					position: absolute;
					left: 0;
					bottom: 0;
					width: 100%;
					text-align: center;
					box-sizing: border-box;
				}

				.pswp__custom-caption:empty {
					display: none;
				}

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

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

				#old-crow-gallery {
					margin-top: var(--20px);
					display: flex;
					flex-direction: column;

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

					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.gallery-img {
							width: 100%;
							height: 100%;
							object-fit: cover;
							/* margin: 0 auto; */
						}
					}
				}

				.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(--26px);

				@media (min-width: 768px) {
					grid-template-columns: 1fr 1fr;
				}
			}

			.speaker {
				&.card {
					overflow: hidden;

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

					.speaker-img {
						padding-right: 0;
						/* flex: 0 0 300px; */
						max-width: 300px;
						height: 268px;
						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: 100%;
						}
					}

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

					.card-body {
						@media (min-width: 576px) {
							padding: 0;
						}

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

						.speaker-info {
							padding: var(--20px);
							h3.card-title {
								color: var(--blue) !important;
								margin-top: 0;
								font-size: var(--24px);
							}
						}
					}

					@media (max-width: 600px) {
						.speaker-img {
							width: 100%;
							max-width: 100%;
							aspect-ratio: 4 / 3;
							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 {
						margin-top: var(--20px);
						margin-bottom: var(--20px);
						font-size: var(--36px);
						line-height: 1;

						@media (min-width: 576px) {
							line-height: 0.75;
							font-size: var(--52px);
						}
					}

					h3 {
						font-size: var(--20px);
						color: var(--darkestGray);
						@media (min-width: 576px) {
							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(--28px);
				}

				@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(--20px);

					@media (min-width: 768px) {
						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;
		}
	}
}

#scholarship-section {
	.row {
		margin-left: 0;
		margin-right: 0;
	}

	.scholarship-meta {
		margin-bottom: var(--60px);
	}

	.row,
	.col-12,
	.col-md-6 {
		min-width: 0;
	}

	#scholarship-form-container {
		&.container {
			padding: 0;
			max-width: 100%;

			form#scholarship-application {
				.form-input,
				textarea.form-input {
					&:required {
						&:invalid {
							border-color: inherit;
							box-shadow: none;

							&:focus {
								border-color: var(--mediumRed);
								box-shadow: 0 0 0 0.1rem rgba(232, 86, 0, 0.2);
							}
						}
					}

					&:user-invalid {
						border-color: var(--mediumRed);
						box-shadow: 0 0 0 0.1rem rgba(232, 86, 0, 0.2);
					}
				}

				.form-group {
					&:focus-within {
						.form-input {
							&:user-invalid {
								border-color: var(--mediumRed);
							}
						}
					}
				}

				.form-label-wrapper,
				.form-label {
					width: 100%;
					max-width: 100%;
					min-width: 0;
				}

				.form-label {
					display: block;
					white-space: normal;
					overflow-wrap: anywhere;
					word-break: break-word;
				}

				[class*="col-"] {
					margin-bottom: var(--20px);

					label.form-label {
						font-size: var(--16px);
						font-weight: 600;
						padding-bottom: 0;
						padding-top: 0;
						display: block;
						white-space: normal;
						overflow-wrap: anywhere;
						word-break: break-word;

						.tooltip {
							position: relative !important;
							display: inline-flex !important;
							align-items: center;
							visibility: visible !important;
							vertical-align: middle;
							min-width: 0;
							cursor: help;
							opacity: 1 !important;
							z-index: 5;
							font-weight: 600 !important;
							font-family: var(--bodyFont);
							font-size: var(--16px);

							/* Tooltip bubble: wrap text and cap width to the viewport.
                 JS (positionTooltips in textarea-word-count.js) swaps the
                 direction class at runtime so the bubble always opens toward
                 the center of the screen. max-width here ensures it stays
                 within bounds regardless of which direction class is active. */
							&::after {
								white-space: normal;
								word-break: normal;
								overflow-wrap: break-word;
								width: max-content;
								max-width: min(280px, calc(100vw - 32px));
								text-align: left;
							}

							i {
								color: var(--blue) !important;

								&::before {
									color: var(--blue) !important;
									font-size: var(--18px);
								}
							}
						}
					}

					.form-data {
						.form-input {
							padding: var(--20px) var(--10px);
							border: 1px solid var(--darkGray);
						}

						textarea.form-input {
							padding: var(--10px);
						}

						> .form-select-wrapper {
							> select.form-select {
								font-size: var(--16px) !important;
								border-radius: 0 !important;
								border-color: var(--darkGray) !important;
								border-radius: 0.1rem !important;
								height: 2.088rem;

								option {
									color: var(--darkestGray);
								}
							}
						}

						&[data-grav-field="checkbox"] {
							.form-input-wrapper {
								display: flex;
								align-items: center;

								.form-checkbox {
									margin-right: var(--10px);
								}
							}
						}
					}

					.form-input-hint {
						color: var(--mediumGray);
						font-weight: 600;

						.badge {
							&::after {
								display: none;
							}
						}
					}
				}

				.form-success-message {
					padding: 1rem;
					margin: 1rem 0;
					border: 1px solid rgba(0, 0, 0, 0.15);
					border-radius: 0.25rem;
					background: #f0fff4;
				}

				/* ==========================================================================
        Fieldset / Legend styling + BOOTSTRAP GRID FIX
        IMPORTANT:
        - Do NOT use display:flex on fieldset, it breaks Bootstrap rows/cols.
        - Keep fieldset as block, and style the legend explicitly.
        ========================================================================== */
				fieldset {
					/* Fieldset spacing */
					display: block; /* critical */
					padding: var(--40px) 0;

					&#certification-section {
						padding-bottom: 0 !important;
					}

					.row {
						width: 100%;

						> [class*="col-"] {
							margin-bottom: 0;
						}
					}

					legend {
						width: 100%;
						background-color: var(--blueGray);
						padding: var(--20px);
						text-align: center;
						color: var(--white);
						margin-bottom: var(--20px);
					}
				}

				.button-wrapper {
					> #certify-chekcbox {
						margin-bottom: var(--40px);
					}
				}
			}
		}
	}
}
