@charset "utf-8";

/* top-level custom properties */
:root {
	/* colors */
	--color-black: var(--wp--preset--color--black); /* #383838 */
	--color-gray: var(--wp--preset--color--gray); /* #d5d5d5 */
	--color-tan: var(--wp--preset--color--tan); /* #fdf2e6 */
	--color-light-teal: var(--wp--preset--color--light-teal); /* #93dfd4 */
	--color-dark-teal: var(--wp--preset--color--dark-teal); /* #27605a */
	--color-darker-teal: #0c3934;
	--color-light-orange: var(--wp--preset--color--light-orange); /* #eaba82 */
	--color-dark-orange: var(--wp--preset--color--dark-orange); /* #7c5730 */
	--color-error: #ff3ed2;
	/* fonts */
	--font-serif: var(--wp--preset--font-family--perfectly-nineties);
	--font-sans-serif: var(--wp--preset--font-family--instrument-sans);
	/* columns */
	--column-qty: 1;
	--column-gap-horz: min(5vw, 90px);
	--column-gap-vert: min(5vw, 90px);
	/* radius */
	--radius-sm: 6px;
	--radius-md: 8px;
	--radius-lg: 12px;
	/* spacing */
	--spacing-md: 50px;
	--spacing-lg: 70px;
	/* site head */
	--site-head-height: 80px;
	--hamburger-btn-width: 16px;
	--hamburger-bars-height: 16px;
	--hamburger-bars-bar-height: 1px;
}
@media screen and (min-width: 600px) {
	:root {
		--spacing-md: 75px;
		--spacing-lg: 105px;
	}
}
@media screen and (min-width: 900px) {
	:root {
		--spacing-md: 100px;
		--spacing-lg: 140px;
	}
}

/* widths */
.Width560,
.Width780,
.Width1000,
.Width1340,
.Width1600,
.Width1880,
.Width1920,
.Width2560,
.wp-site-blocks > *:not(.CustomBlock):not(.CustomSection) {
	position: relative;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
.Width560 {
	max-width: 560px;
}
.Width780,
.wp-site-blocks > *:not(.CustomBlock):not(.CustomSection) {
	max-width: 780px;
}
.Width1000 {
	max-width: 1000px;
}
.Width1340 {
	max-width: 1340px;
}
.Width1600 {
	max-width: 1600px;
}
.Width1880 {
	width: calc(100% - min(1%, 20px));
	max-width: 1880px;
}
.Width1920 {
	max-width: 1920px;
}
.Width2560 {
	max-width: 2560px;
}
.Width100Percent {
	position: relative;
	width: 100%;
}
/* widths: WordPress editor */
.acf-block-preview {
	max-width: none !important;
	box-sizing: border-box;
	overflow: hidden;
}
.acf-block-preview *,
.acf-block-preview *::before,
.acf-block-preview *::after {
	box-sizing: inherit;
}

/* display */
.DisplayBlock {
	display: block;
}
.DisplayFlex {
	display: flex;
}

/* position */
.PosRelative {
	position: relative;
}

/* centering */
.CenterXY {
	justify-content: center;
	align-items: center;
}
.TxCenter {
	text-align: center;
}

/* columns: custom (infinite rows) */
.Columns2,
.Columns3,
.Columns4 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	/* last row left aligned (with spacer elements)*/
}
/* last row centered */
.LastRowCenter {
	justify-content: center;
}
.Columns2 > *,
.Columns3 > *,
.Columns4 > * {
	flex-basis: 100%;
}
.Columns2 > *:not(:nth-child(1)),
.Columns3 > *:not(:nth-child(1)):not([aria-hidden="true"]),
.Columns4 > *:not(:nth-child(1)):not([aria-hidden="true"]) {
	margin-top: var(--column-gap-vert);
}
/* columns: 2 */
@media only screen and (min-width: 481px) {
	.Columns2,
	.Columns3,
	.Columns4 {
		--column-qty: 2;
	}
	.Columns2 > *,
	.Columns3 > *,
	.Columns4 > * {
		flex-basis: calc((100% - (var(--column-gap-horz) * (var(--column-qty) - 1))) / var(--column-qty));
	}
	.Columns2 > *:nth-child(2),
	.Columns3 > *:nth-child(2),
	.Columns4 > *:nth-child(2) {
		margin-top: 0 !important;
	}
	.Columns2.LastRowCenter > *:not(:nth-child(2n + 1)),
	.Columns3.LastRowCenter > *:not(:nth-child(2n + 1)),
	.Columns4.LastRowCenter > *:not(:nth-child(2n + 1)) {
		margin-left: var(--column-gap-horz);
	}
}
/* columns: 3*/
@media only screen and (min-width: 768px) {
	.Columns3,
	.Columns4 {
		--column-qty: 3;
	}
	.Columns3 > *:nth-child(3),
	.Columns4 > *:nth-child(3) {
		margin-top: 0 !important;
	}
	.Columns3.LastRowCenter > *:not(:nth-child(2n + 1)),
	.Columns4.LastRowCenter > *:not(:nth-child(2n + 1)) {
		margin-left: 0;
	}
	.Columns3.LastRowCenter > *:not(:nth-child(3n + 1)),
	.Columns4.LastRowCenter > *:not(:nth-child(3n + 1)) {
		margin-left: var(--column-gap-horz);
	}
}
/* columns: 4 */
@media only screen and (min-width: 900px) {
	.Columns4 {
		--column-qty: 4;
	}
	.Columns4 > *:nth-child(4) {
		margin-top: 0 !important;
	}
	.Columns4.LastRowCenter > *:not(:nth-child(3n + 1)) {
		margin-left: 0;
	}
	.Columns4.LastRowCenter > *:not(:nth-child(4n + 1)) {
		margin-left: var(--column-gap-horz);
	}
}

/* vertical margins */
.wp-site-blocks > *:not(.CustomBlock) + .CustomBlock,
/* Gravity Forms */
.wp-site-blocks > *:not(.CustomBlock) + .gform_wrapper,
footer {
	margin-top: var(--spacing-lg);
}
article > h1:first-child,
article > header:first-child {
	margin-top: 20px;
}
.CustomBlock,
.SectionBtmMargin,
/* Gravity Forms */
.wp-site-blocks > .gform_wrapper:not(:last-child) {
	margin-bottom: var(--spacing-lg);
}
p,
ul,
ol,
figure,
[class^="wp-block-"]:not(.wp-block-heading) {
	margin-bottom: 1.5em;
}
.NoBtmMargin,
article > *:last-child,
.wp-site-blocks > *:last-child,
p:last-child,
ul:last-child,
ol:last-child,
figure:last-child,
[class^="wp-block-"]:last-child {
	margin-bottom: 0;
}

/* clearfix */
.cf::after {
	content: "";
	display: table;
	clear: both;
}

/* image: cover */
.ImgCover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.ImgCover > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* image: center */
figure.aligncenter img {
	display: inline-block;
}

/* colors: backgrounds */
.BgWhite {
	background-color: #fff;
}
.BgDarkTeal {
	background-color: var(--color-dark-teal);
}
.BgDarkerTeal {
	background-color: var(--color-darker-teal);
}
.BgTan {
	background-color: var(--color-tan);
}
span.BgTan {
	padding: 0 0.1em;
}
.BgDarkOrange {
	background-color: var(--color-dark-orange);
}

/* colors: text */
.TxCoWhite {
	color: #fff;
}
.TxCoDarkTeal {
	color: var(--color-dark-teal);
}
.TxCoLightTeal {
	color: var(--color-light-teal);
}

/* text: general */
:root body,
button,
input,
select,
textarea {
	font: normal normal normal var(--wp--preset--font-size--medium) / 1.5 var(--font-sans-serif);
	color: var(--color-black);
	font-optical-sizing: auto;
	font-variation-settings: "wdth" 100;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* text: fonts */
.FontSerif {
	font-family: var(--font-serif);
	font-optical-sizing: auto;
	font-variation-settings: "wdth" 100;
}

/* text: sizes */
.TxSz14 {
	font-size: 14px !important;
}
.TxSz16 {
	font-size: 16px !important;
}
.TxSz18 {
	font-size: 18px !important;
}
.TxSz24 {
	font-size: 24px !important;
}
.TxSz28 {
	font-size: 28px !important;
}
.TxSz48,
.TxSzLg {
	font-size: 32px !important;
	line-height: normal;
}
@media only screen and (min-width: 768px) {
	.TxSz48,
	.TxSzLg {
		font-size: 48px !important;
	}
}

/* text: styles */
.FontWeight500 {
	/* aka medium */
	font-weight: 500;
}
.FontWeight600 {
	/* aka semibold */
	font-weight: 600;
}
.FontWeight700 {
	font-weight: bold;
}
.TxUppercase {
	text-transform: uppercase;
}

/* text: headings */
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
	font-family: var(--font-serif);
	line-height: 1;
	margin-bottom: 0.5em;
}
h1,
.h1 {
	font-size: 40px;
}
.CustomBlock h1,
.CustomBlock .h1 {
	font-size: 80px;
}
h2,
.h2 {
	font-size: 35px;
	color: var(--color-dark-teal);
}
.CustomBlock h2,
.CustomBlock .h2 {
	font-size: 62px;
}
h3,
.h3 {
	font-size: 30px;
	color: var(--color-dark-teal);
}
.CustomBlock h3,
.CustomBlock .h3 {
	font-size: 44px;
}
h4,
.h4 {
	font-size: 25px;
	color: var(--color-dark-teal);
}
.CustomBlock h4,
.CustomBlock .h4 {
	font-size: 35px;
}
h5,
.h5 {
	font-size: 20px;
	color: var(--color-dark-teal);
}
.CustomBlock h5,
.CustomBlock .h5 {
	font-size: 30px;
}
h6,
.CustomBlock h6,
.h6,
.CustomBlock .h6 {
	font-size: 18px;
	color: var(--color-dark-teal);
}
@media only screen and (min-width: 768px) {
	h1,
	.h1 {
		font-size: 45px;
	}
	.CustomBlock h1,
	.CustomBlock .h1 {
		font-size: 140px;
	}
	h2,
	.h2 {
		font-size: 40px;
	}
	.CustomBlock h2,
	.CustomBlock .h2 {
		font-size: 100px;
	}
	h3,
	.h3 {
		font-size: 35px;
	}
	.CustomBlock h3,
	.CustomBlock .h3 {
		font-size: 72px;
	}
	.CustomBlock h4,
	.CustomBlock .h4 {
		font-size: 48px;
	}
	.CustomBlock h5,
	.CustomBlock .h5 {
		font-size: 40px;
	}
	.CustomBlock h6,
	.CustomBlock .h6 {
		font-size: 30px;
	}
}

/* text: quotes */
blockquote cite {
	display: block;
}

/* text: lists */
ul,
ol {
	padding-left: 20px;
}
article > ul,
article > ol,
[itemprop="articleBody"] > ul,
[itemprop="articleBody"] > ol {
	padding-left: 40px !important;
}
.NoListStyle,
#NavMenu,
#NavMenu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* text: drop caps */
.has-drop-cap::first-letter {
	float: left;
	font-size: 3em;
	line-height: 1;
	margin: 0.2em 0.2em 0.2em 0;
}

/* text: highlight color */
::-moz-selection {
	color: #fff;
	background: var(--color-black);
}
::selection {
	color: #fff;
	background: var(--color-black);
}

/* hide focusable elements inside aria-hidden parents */
[aria-hidden="true"] a[href],
[aria-hidden="true"] area[href],
[aria-hidden="true"] input:not([disabled]),
[aria-hidden="true"] select:not([disabled]),
[aria-hidden="true"] textarea:not([disabled]),
[aria-hidden="true"] button:not([disabled]),
[aria-hidden="true"] [tabindex]:not([disabled]),
[aria-hidden="true"] [contenteditable="true"]:not([disabled]) {
	visibility: hidden;
}

/* links */
a,
a:link,
a:visited {
	color: inherit;
	text-decoration: underline;
	transition: all 0.3s;
}
a.TxCoWhite,
a.TxCoWhite,
a.TxCoWhite {
	color: #fff;
}
a:hover,
a:active,
a:focus {
	color: var(--color-dark-teal);
}
.TxCoWhite a:hover,
.TxCoWhite a:active,
.TxCoWhite a:focus,
a.TxCoWhite:hover,
a.TxCoWhite:active,
a.TxCoWhite:focus {
	color: var(--color-light-teal);
}
/* links: borderless */
a.BorderlessLink,
a.BorderlessLink:link,
a.BorderlessLink:visited,
.BorderlessLinks a,
.BorderlessLinks a:link,
.BorderlessLinks a:visited,
a.wp-block-button__link,
.ui-datepicker a {
	text-decoration: none;
}

/* buttons: default */
.Btn,
.Btn:link,
.Btn:visited,
a.wp-block-button__link,
a.wp-block-button__link:link,
a.wp-block-button__link:visited,
button[type="submit"],
input[type="button"],
input[type="submit"] {
	display: inline-block;
	text-align: center;
	border: 2px solid var(--color-dark-teal);
	border-radius: var(--radius-lg);
	background: var(--color-dark-teal);
	padding: 11px 15px;
	font-size: 16px;
	font-weight: 600;
	color: #fff;
	text-decoration: none;
	transition: all 0.3s;
	cursor: pointer;
}
.Btn:hover,
.Btn:active,
.Btn:focus,
.wp-block-button.is-style-default a.wp-block-button__link:hover,
.wp-block-button.is-style-default a.wp-block-button__link:active,
.wp-block-button.is-style-default a.wp-block-button__link:focus,
button[type="submit"]:hover,
button[type="submit"]:active,
button[type="submit"]:focus,
input[type="button"]:hover,
input[type="button"]:active,
input[type="button"]:focus,
input[type="submit"]:hover,
input[type="submit"]:active,
input[type="submit"]:focus {
	background: #fff;
	color: var(--color-dark-teal);
}
/* buttons: with arrow */
.Btn.WithArrow,
.Btn.WithArrow:link,
.Btn.WithArrow:visited {
	text-align: left;
	display: inline-flex;
	align-items: center;
}
.Btn.WithArrow svg {
	margin-left: 50px;
	fill: #fff;
}
.Btn.WithArrow:hover svg,
.Btn.WithArrow:active svg,
.Btn.WithArrow:focus svg {
	fill: var(--color-dark-teal);
}
/* buttons: tan bg */
.Btn.TanBg,
.Btn.TanBg:link,
.Btn.TanBg:visited,
.wp-block-button.is-style-alternate a.wp-block-button__link,
.wp-block-button.is-style-alternate a.wp-block-button__link:link,
.wp-block-button.is-style-alternate a.wp-block-button__link:visited {
	border-color: var(--color-tan);
	background: var(--color-tan);
	color: var(--color-dark-teal);
}
.Btn.TanBg:hover,
.Btn.TanBg:active,
.Btn.TanBg:focus,
.wp-block-button.is-style-alternate a.wp-block-button__link:hover,
.wp-block-button.is-style-alternate a.wp-block-button__link:active,
.wp-block-button.is-style-alternate a.wp-block-button__link:focus {
	border-color: #fff;
	background: #fff;
	color: var(--color-dark-teal);
}
/* buttons: white bg */
.Btn.WhiteBg,
.Btn.WhiteBg:link,
.Btn.WhiteBg:visited {
	border-color: #fff;
	background: #fff;
	color: var(--color-dark-teal);
}
.Btn.WhiteBg:hover,
.Btn.WhiteBg:active,
.Btn.WhiteBg:focus {
	border-color: var(--color-light-teal);
	background: var(--color-light-teal);
}
.Btn.WhiteBg.WithArrow svg {
	fill: var(--color-dark-teal);
}
/* buttons: misc */
button,
button svg {
	transition: all 0.3s;
}
button.NoBtnStyle,
button.gfield_choice_all_toggle {
	padding: 0;
	border: none;
	background: none;
	cursor: pointer;
}
button.NoBtnStyle:not(.swiper-button-prev):not(.swiper-button-next) {
	color: inherit;
}

/* button: skip link */
a[href="#MainContent"] {
	position: fixed;
	top: -300px;
	left: 0px;
	transition: all 0.3s, top 1s ease-out;
	z-index: 2000;
}
a[href="#MainContent"]:focus {
	top: 0px;
	transition: all 0.3s, top 0.1s ease-in;
}

/* block: image */
.wp-block-image a,
.wp-block-image img,
svg {
	display: block;
}
picture img {
	display: block;
	width: inherit;
	height: inherit;
	object-fit: cover;
}
img[sizes^="auto,"] {
	contain-intrinsic-size: none !important;
}

/* block: image: captions */
.wp-block-image figcaption,
.wp-block-embed figcaption {
	color: inherit;
	margin: 0;
	padding: 0.5em;
	border: 1px solid var(--color-black);
	border-top: none;
	border-bottom-left-radius: var(--radius-sm);
	border-bottom-right-radius: var(--radius-sm);
}

/* block: gallery: captions */
.blocks-gallery-caption {
	width: 100%;
	color: inherit;
	padding: 0.5em;
	border: 1px solid var(--color-black);
}

/* image: photo credit */
.PhotoCredit {
	position: absolute;
	bottom: 20px;
	right: 20px;
	width: calc(100% - 40px);
	text-align: right;
	font-size: 11px; /* if accessibility is desired, it can't be lower */
	color: #fff;
	text-shadow: 1px 1px #656565;
	opacity: 0.8;
	z-index: 3;
}

/* form */
form {
	--input-x-pad: 15px;
	--input-y-pad: 15px;
}
/* form: labels */
label,
legend {
	color: var(--color-dark-teal);
	font-size: 14px !important;
	font-weight: 500 !important;
	margin-bottom: 2px !important;
}
.ginput_complex label {
	font-size: 12px !important;
	margin-bottom: 0 !important;
	padding-top: 2px !important;
}
label.gform-field-label--type-inline {
	color: unset;
}
/* form: appearance & border radius */
input:not([type="radio"]):not([type="checkbox"]):not([type="button"]),
select,
textarea {
	border-radius: var(--radius-sm);
}
/* form: line height */
input:not([type="radio"]):not([type="checkbox"]):not([type="button"]):not([type="reset"]):not([type="submit"]),
.fancy-choice label,
select:not(.ui-datepicker-month):not(.ui-datepicker-year) {
	line-height: 1.2 !important;
}
/* form: padding */
input:not([type="number"]):not([type="radio"]):not([type="checkbox"]):not([type="button"]):not([type="reset"]):not([type="submit"]),
select:not(.ui-datepicker-month):not(.ui-datepicker-year),
textarea {
	padding: var(--input-y-pad) var(--input-x-pad) !important;
}
input[type="number"] {
	padding: var(--input-y-pad) 0 var(--input-y-pad) var(--input-x-pad) !important;
}
/* form: basic non-button styles */
input:not([type="radio"]):not([type="checkbox"]):not([type="button"]):not([type="reset"]):not([type="submit"]),
select:not(.ui-datepicker-month):not(.ui-datepicker-year),
textarea {
	border: 1px solid var(--color-gray);
	background-color: #fff;
	font-size: 16px;
	font-weight: 500;
	transition: all 0.3s;
}
input:not([type="radio"]):not([type="checkbox"]):not([type="button"]):not([type="reset"]):not([type="submit"]):focus,
select:not(.ui-datepicker-month):not(.ui-datepicker-year):focus,
textarea:focus {
	border-color: var(--color-black);
}
/* form: placeholder */
:-moz-placeholder /* Mozilla Firefox 4 to 18 */ {
	color: var(--color-black);
	opacity: 1;
}
::-moz-placeholder /* Mozilla Firefox 19+ */ {
	color: var(--color-black);
	opacity: 1;
}
:-ms-input-placeholder {
	color: var(--color-black);
}
::-webkit-input-placeholder {
	color: var(--color-black);
}
::placeholder,
.gf_placeholder {
	color: var(--color-black);
}

/* form: Gravity Forms: error notice above form */
.gform_required_legend {
	display: none;
}
/* form: Gravity Forms: Y axis field row gap */
.gform_wrapper.gravity-theme .gform_fields {
	grid-row-gap: 10px !important;
}
/* form: Gravity Forms: date picker */
.gravity-theme.ui-datepicker .ui-datepicker-calendar .ui-datepicker-current-day .ui-state-default {
	background: var(--color-light-teal) !important;
	border-color: var(--color-light-teal) !important;
}
/* form: Gravity Forms: error: message above form */
.gform_wrapper.gravity-theme .gform_validation_errors {
	display: none !important;
}
/* form: Gravity Forms: error: input */
.gform_wrapper.gravity-theme .gfield_error [aria-invalid="true"] {
	border-color: var(--color-error) !important;
}
/* form: Gravity Forms: error: under each field */
.gform_wrapper.gravity-theme .validation_message {
	margin-top: 5px !important;
	border: none !important;
	background: none !important;
	padding: 0 !important;
}
/* form: Gravity Forms: error: color */
.gform_wrapper.gravity-theme .gfield_error .gfield_repeater_cell label,
.gform_wrapper.gravity-theme .gfield_error:not(.fancy-choice) label,
.gform_wrapper.gravity-theme .gfield_error legend,
.gform_wrapper.gravity-theme .validation_message,
.gform_wrapper.gravity-theme [aria-invalid="true"] + label,
.gform_wrapper.gravity-theme label + [aria-invalid="true"] {
	color: var(--color-error) !important;
}
/* form: Gravity Forms: forms: style radio/checkbox inputs as standard buttons (add "fancy-choice" class in Gravity Forms) */
.fancy-choice .gfield_checkbox,
.fancy-choice .gfield_radio {
	margin: 0 -10px -10px 0 !important;
}
.fancy-choice .gchoice {
	display: inline-block;
	position: relative;
	margin: 0 10px 10px 0;
}
.fancy-choice input {
	position: absolute;
	top: 50% !important;
	left: var(--input-x-pad);
	transform: translateY(-50%);
	margin: 0 !important;
}
.fancy-choice label {
	width: 100%;
	max-width: 100% !important;
	border: 1px solid var(--color-gray);
	border-radius: 6px;
	background-color: #fff;
	padding: var(--input-y-pad) var(--input-x-pad) var(--input-y-pad) calc(var(--input-x-pad) + 20px);
	font-size: 16px !important;
	font-weight: 500 !important;
	color: initial !important;
	white-space: nowrap;
	cursor: pointer;
	transition: all 0.3s;
}

/* form: Gravity Forms: two buttons in the footer on paginated forms */
.gform_page_footer {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.gform_page_footer input {
	flex-basis: 47.5%;
}
.gform_page:first-child .gform_page_footer input {
	flex-basis: 100%;
}
/* form: Gravity Forms: hide fields for WordPress editor */
.acf-block-preview .akismet-fields-container {
	display: none;
}

/* text meant only for screen readers */
.screen-reader-text {
	position: absolute !important;
	height: 1px;
	width: 1px;
	clip: rect(1px, 1px, 1px, 1px);
	overflow: hidden;
}
.screen-reader-text:hover,
.screen-reader-text:focus,
.screen-reader-text:active {
	display: block;
	width: auto;
	height: auto;
	top: 0.5em;
	left: 0.5em;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	background-color: #f1f1f1;
	padding: 15px 23px 14px;
	color: #21759b;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	line-height: normal;
	text-decoration: none;
	clip: auto !important;
	z-index: 100000;
	/* above WP toolbar */
}

/* site header */
html {
	scroll-behavior: smooth;
}
:target {
	scroll-margin-top: var(--site-head-height);
}
body.PopupOpen {
	position: fixed;
	width: 100%;
	overflow: hidden;
}
#BodyWrap {
	position: relative;
	overflow-x: hidden;
}
#SiteHead {
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	height: var(--site-head-height);
	z-index: 500;
}
#SiteHead::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: calc(100% - 30px);
	height: calc(var(--site-head-height) - 30px);
	background: var(--color-dark-teal);
	border-radius: var(--radius-lg);
}
#SiteHeadNav {
	height: var(--site-head-height);
}
#SiteHeadNav > div {
	height: 100%;
}
.TopLogo {
	display: inline-block;
	position: absolute;
	left: 20px;
	top: 50%;
	transform: translateY(-50%);
	max-width: calc(100% - 10px - var(--hamburger-btn-width));
	z-index: 500;
}
.TopLogo > * {
	display: block;
	width: auto;
	height: calc(var(--site-head-height) - 10px);
	aspect-ratio: 1 / 1;
	object-fit: contain;
}
.TopLogo svg .hexagons * {
	fill: var(--color-tan);
}
.TopLogo svg .letters * {
	fill: var(--color-dark-teal);
}

/* top nav: hamburger */
#HamburgerBtn {
	position: absolute;
	width: 40px;
	height: calc(var(--site-head-height) - 30px);
	top: 15px;
	right: 20px;
	z-index: 500;
}
#Hamburger {
	position: relative;
	height: var(--hamburger-bars-height);
	width: var(--hamburger-btn-width);
}
#Hamburger div {
	position: absolute;
	width: var(--hamburger-btn-width);
	height: var(--hamburger-bars-bar-height);
	left: 0;
	background: #fff;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: 0.25s ease-in-out;
	-moz-transition: 0.25s ease-in-out;
	transition: 0.25s ease-in-out;
}
#Hamburger div.first {
	top: 0;
}
#Hamburger div.second {
	top: calc(50% - (var(--hamburger-bars-bar-height) / 2));
}
#Hamburger div.third {
	top: calc(100% - var(--hamburger-bars-bar-height));
}
#HamburgerBtn.NavOpen div.first {
	top: calc(50% - (var(--hamburger-bars-bar-height) / 2));
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	transform: rotate(135deg);
}
#HamburgerBtn.NavOpen div.second {
	opacity: 0;
}
#HamburgerBtn.NavOpen div.third {
	top: calc(50% - (var(--hamburger-bars-bar-height) / 2));
	-webkit-transform: rotate(-135deg);
	-moz-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

/* top nav: menu */
#NavFrame {
	display: none;
	position: absolute;
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 100vw;
	padding: calc(var(--site-head-height) + 10px) 5vw 20px;
	background: var(--color-dark-teal);
	overflow-x: hidden;
	overflow-y: auto;
	z-index: 480;
}
#NavFrame.NavOpen {
	left: 0;
}
#NavMenu > li {
	display: block;
	padding-bottom: 5px;
}
#NavMenu > li:not(:first-child) {
	padding-top: 5px;
}
#NavMenu > li:last-child {
	margin-bottom: 0;
}
#NavMenu button,
#NavMenu a,
#NavMenu a:link,
#NavMenu a:visited {
	display: flex;
	position: relative;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 10px;
	color: #fff;
	font-size: 20px;
	font-weight: 600;
}
#NavMenu a.SiteNavLgLink {
	display: block;
	width: fit-content;
	padding: 15px;
	text-align: center;
	margin-top: 10px;
}
#NavMenu a.SiteNavLgLink img {
	display: inline-block;
	margin-bottom: 10px;
}
#NavMenu button::before,
#NavMenu a::before {
	content: "";
	background: #fff;
	opacity: 0;
	border-radius: var(--radius-lg);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: all 0.3s;
	z-index: -1;
}
#NavMenu button:hover::before,
#NavMenu button:active::before,
#NavMenu button:focus::before,
#NavMenu button[aria-expanded="true"]::before,
#NavMenu a.SiteNavLgLink::before,
#NavMenu a:hover::before,
#NavMenu a:focus::before,
#NavMenu a:active::before {
	opacity: 0.08;
}
#NavMenu button svg {
	transition: all 0.3s;
	fill: #fff;
	margin-left: 10px;
}
#NavMenu button[aria-expanded="true"] svg {
	transform: rotate(-180deg);
}

/* top nav: submenu */
#NavMenu .sub-menu {
	display: none;
	padding: 10px 0 5px;
}
#NavMenu .sub-menu a {
	font-size: 16px;
}
#NavMenu a.SiteNavLgLink:hover,
#NavMenu a.SiteNavLgLink:focus,
#NavMenu a.SiteNavLgLink:active {
	color: var(--color-dark-teal);
}
#NavMenu a.SiteNavLgLink:hover::before,
#NavMenu a.SiteNavLgLink:focus::before,
#NavMenu a.SiteNavLgLink:active::before {
	opacity: 1;
}
/* top nav: CTA */
#NavFrame #NavCTA {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 20px 0 0 10px;
}

@media only screen and (min-width: 481px) {
	:root {
		--site-head-height: 80px;
	}
	/* top nav: submenu */
	#NavMenu .sub-menu > div {
		display: flex !important;
		justify-content: space-between;
		align-items: flex-start;
	}
	#NavMenu .sub-menu > div > div {
		width: 47.5%;
	}
	#NavMenu .sub-menu > div > a {
		margin-top: 0;
		max-width: 47.5%;
	}
}
@media only screen and (min-width: 1200px) {
	/* site header */
	:root {
		--site-head-height: 140px;
	}
	:root body.NavOpen #BodyWrap {
		height: auto;
		overflow-y: visible;
	}
	#SiteHead::before {
		width: calc(100% - 90px);
		height: calc(var(--site-head-height) - 60px);
	}
	.TopLogo {
		left: 60px;
	}
	.TopLogo > * {
		height: calc(var(--site-head-height) - 20px);
	}
	/* top nav: hamburger */
	#HamburgerBtn {
		display: none;
	}

	/* top nav: menu */
	#NavFrame,
	#NavFrame.NavOpen {
		display: block;
		width: 100%;
		height: var(--site-head-height);
		left: 0;
		background: none;
		padding: 0;
		transition: none;
		overflow: visible;
	}
	#NavMenu {
		width: fit-content;
		height: calc(var(--site-head-height) - 60px);
		margin: 30px auto;
	}
	#NavMenu > li {
		height: 100%;
		display: inline-flex;
		align-items: center;
		position: relative;
		margin-right: 30px;
		margin-bottom: 0;
		padding: 0 !important;
		border: none;
	}
	#NavMenu > li:last-child {
		margin-right: 0;
	}
	#NavMenu > li > button,
	#NavMenu > li > a,
	#NavMenu > li > a:link,
	#NavMenu > li > a:visited {
		display: inline-flex;
		font-size: 16px;
	}
	#NavMenu > li > button svg {
		margin-left: 10px;
	}

	/* top nav: submenu */
	#NavMenu li .sub-menu {
		position: absolute;
		width: max-content;
		min-width: 160px;
		top: -100vh;
		left: 0;
		padding: 20px 15px;
		background: var(--color-dark-teal);
		margin: 0;
		text-align: left;
		border-radius: var(--radius-lg);
		z-index: 200;
		opacity: 0;
		transition: opacity 0.5s;
	}
	#NavMenu li:hover .sub-menu,
	#NavMenu .sub-menu[aria-hidden="false"] {
		top: 85px;
		opacity: 1;
	}
	#NavMenu .sub-menu > div > div {
		display: flex;
		width: auto;
	}
	#NavMenu .sub-menu > div > div > ul:nth-child(2) {
		margin-left: 20px;
	}
	#NavMenu .sub-menu > div > a {
		margin-left: 20px;
	}
	#NavMenu .sub-menu a {
		white-space: nowrap;
	}
	/* top nav: CTA */
	#NavCTA {
		position: absolute;
		top: 50%;
		right: 70px;
		transform: translateY(-50%);
		margin: 0 !important;
	}
	#NavCTA a.TxSz14 {
		margin-right: 20px;
	}
}

/* site footer */
footer {
	border-top-left-radius: var(--radius-lg);
	border-top-right-radius: var(--radius-lg);
	background: var(--color-darker-teal);
	padding: var(--spacing-md) 0 20px;
	overflow: hidden;
}
footer .SocialCapitolLogoSVG {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 640px;
	max-width: 640px;
	opacity: 0.05;
	z-index: 1;
}
footer .SocialCapitolLogoSVG .hexagons {
	fill: var(--color-tan);
}
footer .Width1340 {
	z-index: 2;
}
footer .FootColumns > *:not(:first-child) {
	margin-top: 40px;
}
footer .FootColumns .FontSerif.TxSz24 {
	margin-bottom: 30px;
}
footer .FootColumns .FootLinkList li:not(:first-child) {
	margin-top: 20px;
}
footer .Col3Address a {
	text-decoration: underline !important;
}
footer .Col3Address + .FontSerif.TxSz24 {
	margin-top: 40px;
}
footer .SocialList {
	margin: -10px !important;
}
footer .SocialList li {
	display: inline-block;
}
footer .SocialList li a {
	width: 40px;
	height: 40px;
}
footer .SocialList svg {
	width: 20px;
	height: 20px;
	fill: #fff;
	transition: all 0.3s;
}
footer .SocialList a:hover svg {
	fill: var(--color-light-teal);
}
footer .Col4Desc {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(112, 112, 112, 0.08); /* rgb 112, 112, 112 = hex #707070 */
	border-radius: var(--radius-lg);
	padding: min(5vw, 20px) min(5vw, 25px);
}
footer .Col4Logos {
	margin: 30px 0 0 10px;
}
footer .Col4Logos > * {
	display: block;
	width: fit-content;
}
footer .Col4Logos > *:not(:first-child) {
	margin-top: 30px;
}
footer .FootLegal {
	margin-top: var(--spacing-md);
}
@media only screen and (min-width: 481px) {
	footer .FootColumns {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	footer .FootColumns > * {
		width: 47.5%;
	}
	footer .FootColumns > *:nth-child(2) {
		margin-top: 0;
	}
}
@media only screen and (min-width: 900px) {
	footer .FootColumns > * {
		width: 21.25%;
	}
	footer .FootColumns > * {
		margin-top: 0 !important;
	}
}

/* popup */
.PopupOverlay[aria-hidden="true"] {
	display: none;
}
.PopupOverlay[aria-hidden="false"] {
	display: flex !important;
}
.PopupOverlay {
	align-items: center;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 5000;
}
.PopupOverlay::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--color-black);
	opacity: 0.9;
}
.PopupCloseBtn {
	position: absolute;
	top: 0;
	right: 0;
	width: 40px;
	height: 40px;
	border-top-right-radius: var(--radius-lg);
	border-bottom-left-radius: var(--radius-lg);
	background: var(--color-tan) !important;
}
.PopupCloseBtn:hover,
.PopupCloseBtn:active,
.PopupCloseBtn:focus {
	background: var(--color-dark-teal) !important;
}
.PopupCloseBtn svg {
	width: 20px;
	fill: var(--color-dark-teal);
}
.PopupCloseBtn:hover svg,
.PopupCloseBtn:active svg,
.PopupCloseBtn:focus svg {
	fill: #fff;
}
.PopupOverlayContent {
	max-height: calc(100vh - 80px);
	overflow: auto;
	background: var(--color-tan);
	outline: 2px solid var(--color-black);
	border-radius: var(--radius-lg);
}
.PopupTxtFrame {
	padding: 20px 5% 40px;
}
.PopupTxtFrame .Btn {
	margin-top: 20px;
}

/* slideshows */
.swiper {
	width: 100%;
	background: url(../img/spinner.svg) no-repeat center;
	/* for 40x40 pagination elements */
	--swiper-pagination-bullet-width: 40px;
	--swiper-pagination-bullet-height: 40px;
	--swiper-pagination-bullet-border-radius: 0;
	--swiper-pagination-bullet-inactive-color: transparent;
	--swiper-pagination-bullet-horizontal-gap: 0;
	--swiper-pagination-bullet-inactive-opacity: 1;
}
/* slideshow: pseudo element pagination elements */
.swiper-pagination {
	height: 40px;
}
.swiper-pagination .swiper-pagination-bullet-active {
	--swiper-pagination-color: transparent;
	--swiper-pagination-bullet-opacity: 1;
}
.swiper-pagination span {
	position: relative;
}
.swiper-pagination span::before {
	content: "";
	width: 16px;
	height: 18px;
	position: absolute;
	top: 50%;
	left: 50%;
	background: #fff;
	clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
	transform: translate(-50%, -50%);
	transition: all 0.3s;
}
.swiper-pagination span:not(.swiper-pagination-bullet-active):hover::before,
.swiper-pagination span:not(.swiper-pagination-bullet-active):active::before,
.swiper-pagination span:not(.swiper-pagination-bullet-active):focus::before {
	background: var(--color-tan);
}
.swiper-pagination span.swiper-pagination-bullet-active::before {
	background: var(--color-light-teal);
}
