:root {
	--rem-base: 10px;
	--scroll-padding: 3rem;
	--base-font-size: 2rem;
	--base-line-height: 26px;
	--vertical-rhythm: calc(var(--base-line-height) * 1em);
	--brand-color-dark-green: #7b3;
	--brand-color-light-green: #c9e3ad;
	--brand-color-regent-gray: #788f9c;
	--brand-color-slate-light: #F4F5F7;
	--brand-color-dark-blue: #0c233c;
	--brand-color-bright-blue: #0354d6;
	--brand-color-light-blue: #a8ccf0;
	--brand-color-light-skyblue: #DBEBF7;
	--brand-color-dark-purple: #6633cc;
	--brand-color-light-purple: #b8a1e8;
	--brand-color-dark-orange: #f7b024;
	--brand-color-light-orange: #fcdb9c;
	--brand-color-dark-black: #212629;
	--brand-color-light-black: #8a8c8c;
	--brand-color-dark-red: #cc1414;
	--brand-color-light-red: #f7966f;
	--brand-color: #0c233c;
	--brand-color-dark: black;
	--brand-color-light: #19487c;
	--accent-color: #0354d6;
	--accent-color-dark: #02368b;
	--accent-color-light: #02368b;
	--base-text-color: #2a2a2a;
	--base-link-color: #6b7280;
	--h1-h6-color: #2a2a2a;
	--animation-duration: 0.3s;
	--animation-timing-function: ease;
	--input-x: 20px;
	--gutter: 25px;
	--input-color: #2a2a2a;
	--input-placeholder-color: #8a8c8c;
	--input-bg-color: white;
	--input-radius: 0;
	--input-border-color: #cfcfcf;
	--input-focus-border-color: #aeaeae;
	--form-theme-color: #07c8bc;
	--checkbox-size: 20px;
	--radio-size: 20px;
	--label-fz: 14px;
	--label-color: #0c233c;
	--error-color: #e04562;
	--error-bg-color: #fadee3;
	--form-col-gutter: 15px;
	--form-row-margin: 22.5px;
	--h1: 54px;
	--h2: 42px;
	--h3: 26px;
	--h4: 20px;
	--h5: 18px;
	--h6: 16px;
	--btn-y: 15px;
	--btn-x: 20px;
	--btn-b: 1px;
	--btn-r: 0;
	--btn-fz: 16px;

	--card-link-bg: var(--brand-color-light-skyblue);
	--card-link-color: var(--base-text-color);
	--content-tile-expanded-bg: var(--brand-color-dark-blue);
	--footer-bg: var(--brand-color-dark-blue);
	--btn-outline-color: var(--brand-color-dark-green);
	--primary-button-color: var(--brand-color-bright-blue);
	--secondary-button-color: var(--brand-color-dark-green);
}

@media (max-width: 1023px) {
	:root {
		--h1: 30px;
		--h2: 32px;
		--h3: 26px;
		--h4: 16px;
		--h5: 16px;
		--h6: 16px;
	}
}

@media (max-width: 667px) {
	:root {
		--btn-y: 15px;
		--btn-x: 20px;
		--btn-b: 1px;
		--btn-r: 0;
		--btn-fz: 16px;
	}
}

@media (min-width: 812px) and (max-height: 414px) and (orientation: landscape) {
	:root {
		--gutter: 50px;
	}
}


body > .wrapper {
	--content-max-width: calc(1200px + var(--gutter) * 2);
	--min-padding: 2em;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: [full-width-start] minmax(var(--min-padding), 1fr) [content-start] minmax(min(calc(100% - (var(--min-padding) * 2)), var(--content-max-width, 1440px)), 1fr) [content-end] minmax(var(--min-padding), 1fr) [full-width-end];
	grid-template-columns: [full-width-start] minmax(var(--min-padding), 1fr) [content-start] minmax(min(calc(100% - (var(--min-padding) * 2)), var(--content-max-width, 1440px)), 1fr) [content-end] minmax( var(--min-padding), 1fr ) [full-width-end];
	min-height: 100svh;
	width: 100%;
	position: relative;

	& > header,
	& > main,
	& > footer {
		grid-column: full-width;
	}

	& > main {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: subgrid;
		grid-template-columns: subgrid;

		&:focus {
			-webkit-box-shadow: inset 0 0 0 3px #ff5722;
			box-shadow: inset 0 0 0 3px #ff5722; /* Adjust the spread and color as needed */
			outline: none; /* Remove default outline if any */
			/* Optionally add a transition for smoothness */
			-webkit-transition: -webkit-box-shadow 0.3s ease;
			transition: -webkit-box-shadow 0.3s ease;
			transition: box-shadow 0.3s ease;
			transition: box-shadow 0.3s ease, -webkit-box-shadow 0.3s ease;
		}

		& > *:not(:last-child) {
			margin-bottom: 30px;
		}

		& > *.has-background:has(+ .has-background) {
			margin-bottom: 0;
		}

		& > .wp-block-group {
			padding-block: 30px;
		}
	}

	& > main > .gform_wrapper {
		grid-column: full-width;
		display: grid;
		grid-template-columns: subgrid;
		margin-bottom: 0 !important;

		& > * {
			grid-column: content;
		}
	}

	& > main > *:not(.alignfull):not(.gform_wrapper) {
		grid-column: content;
	}

	& > main > .alignfull {
		grid-column: full-width;
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: subgrid;
		grid-template-columns: subgrid;
	}

	& > main > .alignfull > .container {
		grid-column: content;
	}

	& > main > .alignfull:not(.section-hero) > * {
		grid-column: content;
	}

	& > .wp-block-group__inner-container {
		grid-column: content;
	}

	& > footer {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: subgrid;
		grid-template-columns: subgrid;
	}

	& > footer .footer__container {
		grid-column: content;
	}
}

@media (min-width: 992px) {
	main#main > .wp-block-group {
		padding-block: 50px;
	}
}

@media (max-width: 768px) {
	body > .wrapper {
		display: block !important;
	}

	body > .wrapper > main > .alignfull {
		display: block !important;
	}

	body > .wrapper > *:not(header):not(.main-quote-btn) {
		display: block !important;
	}

	body > .wrapper > *:not(header) > *:not(.alignfull) {
		padding-left: 20px;
		padding-right: 20px;
	}

	body > .wrapper > *:not(header) > *:is(.alignfull) > *:not(.bg-stretch) {
		padding-left: 20px;
		padding-right: 20px;
	}

	body > .wrapper > *:not(header) > *:is(.alignfull) > .container {
		width: 100vw;
	}
}
