/**********************************************************
// Root
**********************************************************/
:root {
	--wp--preset--font-size--small:  1.0625rem !important; /* 17px */
    --wp--preset--font-size--medium: 1.625rem !important; /* 26px */
    --wp--preset--font-size--large:  2.5rem !important; /* 40px */

	--Font-Default: "Open Sans", sans-serif;
	--Font-Titles: "Open Sans", sans-serif;
	}

:root :where(.is-layout-flow) > * { margin-block-start: 0; }

/**********************************************************
// Body
**********************************************************/
body {
	font-family: var(--Font-Default);
	font-weight: 400;
	font-size: var(--16px);
	color: var(--Color-Black);
	position: relative;
	}

a { color: var(--Color-Blue); }
a:hover,
a:focus { color: var(--Color-Light-Blue); }

.Font-Default, .font-default { font-family: var(--Font-Default); }
.Font-Titles, .font-titles   { font-family: var(--Font-Titles);  }

.SR-Only:not(:focus):not(:active) {
	width: 1px;
	height: 1px;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	}

/**********************************************************
// Content
**********************************************************/
.Content-Posts {
    margin: auto;
    padding: var(--60px) var(--10px);
    width: 100%;
    max-width: var(--1280px);
    text-align: center;
    font-size: 0;
    }

.Post-Grid,
.Post-Grid-1,
.Post-Grid-2,
.Post-Grid-4 {
	display: grid !important;
	justify-content: center;
    justify-items: center;
    align-items: stretch;
    grid-template-columns: repeat(auto-fit, 30%);
    grid-column-gap: var(--30px);
    grid-row-gap: var(--60px);
	}

.Post-Grid-4 { grid-template-columns: repeat(auto-fit, 23%); }
.Post-Grid-2 { grid-template-columns: repeat(auto-fit, 48%); }
.Post-Grid-1 { grid-template-columns: repeat(auto-fit, 100%); }

/**********************************************************
// Page >> Titles
**********************************************************/
.Page-Title {
	margin: auto;
	padding: var(--20px);
	width: 100%;
	height: var(--200px);
	background-color: var(--Color-Dark-Blue);
	color: var(--Color-White);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	position: relative;
	}

.Page-Title:before {
	content: '';
	background-image: linear-gradient( 90deg, var(--Color-Dark-Blue), rgba(0,0,0,0) );
	position: absolute;
	z-index: 20;
	bottom: 0;
	right: 0;
	left: 0;
	top: 0;
	}

.Page-Title-Inner {
	position: relative;
	z-index: 50;
	}

.Page-Title h1 {
	padding: 0 !important;
	line-height: 1.1em;
	text-transform: uppercase;
	letter-spacing: var(--1px);
	font-weight: 700;
	font-size: 2.5rem;
	}

.Page-Title h2 {
	margin-top: var(--10px);
	line-height: 1.3em;
	letter-spacing: 0.03125rem;
	font-weight: 600;
	font-size: var(--20px);
	}

.Page-Title-BG {
	overflow: hidden;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	z-index: 10;
	bottom: 0;
	right: 0;
	left: 0;
	top: 0;
	}

.Page-Subtitle {
	margin: var(--20px) auto;
	padding: 0;
	line-height: 1.5em;
	letter-spacing: var(--1px);
	text-transform: uppercase;
	text-align: center;
	font-size: var(--20px);
	}

/**********************************************************
// Post >> Elements
**********************************************************/
.post h1,
.post h2,
.post h3,
.post h4,
.post h5,
.post h6 { padding: var(--15px) 0; }

.post blockquote p:first-child { padding-top: 0; }
.post blockquote p:last-child { padding-bottom: 0; }
.post blockquote {
	margin: var(--10px) auto;
	padding: 0 var(--20px);
	line-height: 1.2em;
	border-left: var(--3px) solid var(--Color-Blue);
	font-style: italic;
	font-size: var(--18px);
	display: block;
	}

.post p:empty { display: none; }
.post p {
	padding: var(--10px) 0;
	line-height: 1.5em;
	}

.post p.has-background { padding: 1em 1.25em; }

.post ol {
	margin-left: var(--20px);
	padding-left: var(--2px);
	list-style: decimal;
	}

.post ul {
	margin-left: var(--20px);
	padding-left: var(--2px);
	list-style: disc;
	}

.post li {
	line-height: 1.5em;
	position: relative;
	}

.post .wp-block-table th {
	padding: var(--10px);
	background: rgba(0, 0, 0, 0.1);
	border: var(--1px) solid var(--Color-Black);
	}

.post .wp-block-table td {
	padding: var(--10px);
	border: var(--1px) solid var(--Color-Black);
	}

.post hr { max-width: 100%; }

.post .has-custom-border img,
.post .has-border-color { border-style: solid; }

.post .wp-block-button__link {
	transition-property: background, color, transform;
	transition-duration: 0.2s;
	transition-timing-function: ease-in-out;
	}

.post .wp-block-separator { border-width: var(--1px); }

.post .wp-block-getwid-content-slider-slide__wrapper iframe { max-width: 100%; }

.Home-Image-AVA { max-height: 40.625rem !important; }
.Home-Image-Andrew { max-height: 26.25rem !important; }

.Hover-Blue a:hover,
.Hover-Blue a:focus {
	transform: scale(1.1);
	border-color: var(--Color-Blue) !important;
	background-color: var(--Color-Blue) !important;
	color: var(--Color-White) !important;
	}

.Hover-Light-Blue a:hover,
.Hover-Light-Blue a:focus {
	transform: scale(1.1);
	border-color: var(--Color-Light-Blue) !important;
	background-color: var(--Color-Light-Blue) !important;
	color: var(--Color-White) !important;
	}

.Hover-White a:hover,
.Hover-White a:focus {
	transform: scale(1.1);
	border-color: var(--Color-White) !important;
	background-color: var(--Color-White) !important;
	color: var(--Color-Blue) !important;
	}

.Hover-Gold a:hover,
.Hover-Gold a:focus {
	transform: scale(1.1);
	border-color: var(--Color-Gold) !important;
	background-color: var(--Color-Gold) !important;
	color: var(--Color-Dark-Blue) !important;
	}

.Circle-Number mark {
	margin-right: var(--5px);
	width: var(--30px);
	height: var(--30px);
	font-size: var(--20px);
	border-radius: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	}

.Circle-Icon-White {
	margin: auto;
	width: var(--60px);
	height: var(--60px);
	font-size: var(--30px);
	border-radius: 100%;
	border: var(--2px) solid var(--Color-White);
	color: var(--Color-White);
	display: flex;
	align-items: center;
	justify-content: center;
	}

.Circle-Icon-Blue {
	margin: auto;
	width: var(--60px);
	height: var(--60px);
	font-size: var(--30px);
	border-radius: 100%;
	border: var(--2px) solid var(--Color-Blue);
	color: var(--Color-Blue);
	display: flex;
	align-items: center;
	justify-content: center;
	}

.Circle-Icon-Blue-Small {
	margin: auto;
	width: var(--40px);
	height: var(--40px);
	font-size: var(--24px);
	border-radius: 100%;
	border: var(--1px) solid var(--Color-Blue);
	color: var(--Color-Blue);
	display: flex;
	align-items: center;
	justify-content: center;
	}

.Hover-Cell-Dark-Blue:hover,
.Hover-Cell-Dark-Blue:focus-within {
	transition: 0.2s background-color ease-in-out;
	background-color: #01193680 !important;
	}

.Hover-Cell-Light-Gray:hover,
.Hover-Cell-Light-Gray:focus-within {
	transition: 0.2s background-color ease-in-out;
	background-color: var(--Color-Light-Gray) !important;
	}

.Hover-Cell-White:hover,
.Hover-Cell-White:focus-within {
	transition: 0.2s background-color ease-in-out;
	background-color: var(--Color-White) !important;
	}

/**********************************************************
// Post >> Nav
**********************************************************/
/*.Post-Nav {
	margin-top: var(--30px);
	padding-bottom: var(--20px);
	text-align: center;
	}

.Post-Nav-Link {
	margin: 0 5%;
	display: inline-block;
	vertical-align: top;
	}

.Post-Nav a {
	height: 1.5rem;
	line-height: 1.5em;
	text-transform: uppercase;
    letter-spacing: var(--1px);
	font-weight: 700;
	font-size: var(--12px);
	}

.Post-Nav span,
.Post-Nav i {
	display: inline-block;
	vertical-align: middle;
	}

.Post-Nav-Next a:hover i,
.Post-Nav-Next a:focus i { right: 0; }
.Post-Nav-Next i {
	margin-right: var(--10px);
    -webkit-transition: right 0.2s ease-in-out;
       -moz-transition: right 0.2s ease-in-out;
        -ms-transition: right 0.2s ease-in-out;
         -o-transition: right 0.2s ease-in-out;
     		transition: right 0.2s ease-in-out;
	position: relative;
    right: -0.3125rem;
	top: 0;
	}

.Post-Nav-Prev a:hover i,
.Post-Nav-Prev a:focus i { left: 0; }
.Post-Nav-Prev i {
	margin-left: var(--10px);
    -webkit-transition: left 0.2s ease-in-out;
       -moz-transition: left 0.2s ease-in-out;
        -ms-transition: left 0.2s ease-in-out;
         -o-transition: left 0.2s ease-in-out;
    		transition: left 0.2s ease-in-out;
	position: relative;
    left: -0.3125rem;
	top: -0.0625rem;
	}*/

/**********************************************************
// Post >> Nav >> Paginated
**********************************************************/
.Post-Nav {
	margin-bottom: var(--60px);
	text-align: center;
	}

.Post-Nav  nav > h2 { display: none; }

.Post-Nav .page-numbers {
	margin: var(--5px);
	width: 2rem;
	height: 2rem;
	line-height: 1.875rem;
	border-radius: 100%;
	text-transform: uppercase;
	letter-spacing: var(--1px);
	font-weight: 700;
	font-size: var(--14px);
	display: inline-block;
	vertical-align: top;
	}

.Post-Nav a.page-numbers:not(.next, .prev) { background: var(--Color-Light-Gray); }

.Post-Nav .page-numbers {
	text-decoration: none;
	color: var(--Color-Dark-Blue);
	}

.Post-Nav a.page-numbers:hover,
.Post-Nav a.page-numbers:focus { color: var(--Color-Blue); }

.Post-Nav .page-numbers.current {
	background: var(--Color-Blue);
	color: var(--Color-White);
	}

.Post-Nav .next {
	margin-left: var(--15px);
	width: auto;
	}

.Post-Nav .next span,
.Post-Nav .next i {
	display: inline-block;
	vertical-align: middle;
	}

.Post-Nav .next i,
.Post-Nav .prev i {
	font-weight: 400;
	position: relative;
	}

.Post-Nav .next i {
	margin-left: var(--10px);
	font-size: var(--20px);
	transition: 0.2s left ease-in-out;
	position: relative;
	top: -0.0625rem;
	left: 0;
	}

.Post-Nav .next:hover i,
.Post-Nav .next:focus i { left: var(--3px); }

.Post-Nav .prev {
	margin-right: var(--15px);
	width: auto;
	}

.Post-Nav .prev span,
.Post-Nav .prev i {
	display: inline-block;
	vertical-align: middle;
	}

.Post-Nav .prev i {
	margin-right: var(--10px);
	font-size: var(--20px);
	transition: 0.2s right ease-in-out;
	position: relative;
	top: -0.0625;
	right: 0;
	}

.Post-Nav .prev:hover i,
.Post-Nav .prev:focus i { right: var(--3px); }

/**********************************************************
// Social >> Links
**********************************************************/
.Social-Links {
	margin: auto;
	text-align: center;
	font-size: 0;
	display: inline-block;
	vertical-align: middle;
	}

.Social-Links ul {
	margin: auto !important;
	padding: 0 !important;
	list-style: none;
	}

.Social-Links li {
	margin: 0 var(--10px);
	padding: 0 !important;
	display: inline-block;
	vertical-align: middle;
	}

.Social-Links li:first-child { margin-left: 0; }
.Social-Links li:last-child { margin-right: 0; }

.Social-Links li a {
	font-size: var(--20px);
	display: block;
	}

/**********************************************************
// Social >> Share
**********************************************************/
.Social-Share {
	text-align: center;
	font-size: 0;
	}

.Social-Share ul {
	margin: auto !important;
	padding: 0 !important;
	list-style: none;
	}

.Social-Share li {
	margin: 0 var(--10px);
	padding: 0 !important;
	display: inline-block;
	vertical-align: middle;
	}

.Social-Share li:first-child { margin-left: 0; }
.Social-Share li:last-child { margin-right: 0; }

.Social-Share li h5 {
	padding: 0 !important;
	text-transform: uppercase;
	letter-spacing: var(--1px);
	font-weight: 600;
	font-size: var(--14px);
	}

.Social-Share li a span { display: none; }
.Social-Share li a:hover,
.Social-Share li a:focus { color: var(--Color-Red); }
.Social-Share li a {
	font-size: var(--20px);
	color: var(--Color-Black);
	}

/**********************************************************
// Gravity Forms
**********************************************************/
.gform_wrapper {
    margin: 0 auto !important;
    max-width: 40.625rem !important;
    }

.gform_wrapper ul.gform_fields { padding-left: 0 !important; }
.gform_wrapper .gform_title { display: none; }

.gform_wrapper ul.gform_fields li.gfield {
    padding-left: 0 !important;
    padding-right: 0 !important;
    }

.gform_wrapper .top_label .gfield_label,
.gform_wrapper .gfield_date_day label,
.gform_wrapper .gfield_date_month label,
.gform_wrapper .gfield_date_year label,
.gform_wrapper .gfield_time_ampm label,
.gform_wrapper .gfield_time_hour label,
.gform_wrapper .gfield_time_minute label,
.gform_wrapper .ginput_complex label,
.gform_wrapper .instruction {
    letter-spacing: var(--1px);
    font-size: var(--14px);
    }

.gform_wrapper .top_label input.medium,
.gform_wrapper .top_label select.medium,
.gform_wrapper .top_label input.large,
.gform_wrapper .top_label select.large,
.gform_wrapper .top_label textarea.textarea {
    padding: var(--10px);
    width: 99.2% !important;
    border: 0;
    background: var(--Color-Gray);
    color: var(--Color-Black);
    font-size: var(--16px);
    }

.gform_wrapper .gfield_error .ginput_complex .ginput_right input[type=email],
.gform_wrapper .gfield_error .ginput_complex .ginput_right input[type=number],
.gform_wrapper .gfield_error .ginput_complex .ginput_right input[type=password],
.gform_wrapper .gfield_error .ginput_complex .ginput_right input[type=tel],
.gform_wrapper .gfield_error .ginput_complex .ginput_right input[type=text],
.gform_wrapper .gfield_error .ginput_complex .ginput_right input[type=url],
.gform_wrapper .ginput_complex input[type=email],
.gform_wrapper .ginput_complex input[type=number],
.gform_wrapper .ginput_complex input[type=password],
.gform_wrapper .ginput_complex input[type=tel],
.gform_wrapper .ginput_complex input[type=text],
.gform_wrapper .ginput_complex input[type=url] {
    padding: var(--10px);
    border: 0;
    background: var(--Color-Gray);
    color: var(--Color-Black);
    font-size: var(--16px);
    }

.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="password"],
.gform_wrapper input[type="search"],
.gform_wrapper textarea {
    padding: var(--10px);
    border: 0;
    background: var(--Color-Gray);
    color: var(--Color-Black);
    font-size: var(--16px);
    }

.gform_wrapper ul.gfield_radio li input[type=radio] {
	margin-top: -0.1875rem !important;
	-webkit-appearance: radio;
    }

.gform_wrapper ul.gfield_checkbox li input[type=checkbox] {
    margin-top: -0.1875rem !important;
	-webkit-appearance: checkbox;
    }

.gform_wrapper ::-webkit-input-placeholder { color: var(--Color-Black); }
.gform_wrapper :-moz-placeholder           { color: var(--Color-Black); }
.gform_wrapper ::-moz-placeholder          { color: var(--Color-Black); }
.gform_wrapper :-ms-input-placeholder      { color: var(--Color-Black); }

.gform_wrapper .gform_footer { text-align: center; }

.gform_wrapper .gform_footer input.button,
.gform_wrapper .gform_footer input[type=submit],
.gform_wrapper .gform_page_footer .button.gform_button,
.gform_wrapper .gform_page_footer .button.gform_next_button {
    padding: var(--15px) var(--30px);
    border: 0;
    background: var(--Color-Black);
    color: var(--Color-White);
    text-transform: uppercase;
    text-shadow: none;
    box-shadow: none;
    font-size: var(--15px) !important;
    }

.gform_wrapper .gform_footer input.button:hover,
.gform_wrapper .gform_footer input[type=submit]:hover,
.gform_wrapper .gform_page_footer .button.gform_button:hover,
.gform_wrapper .gform_page_footer .button.gform_next_button:hover {
    cursor: pointer;
    background: var(--Color-Red);
    }

.gform_wrapper .gf_progressbar_wrapper h3.gf_progressbar_title {
	line-height: 1.5em;
	font-weight: bold;
    font-size: var(--20px);
    }

.gform_wrapper.gravity-theme .gform_validation_errors { border-radius: var(--5px) !important; }
.gform_wrapper.gravity-theme .gfield_validation_message,
.gform_wrapper.gravity-theme .validation_message {
	border-radius: var(--5px);
	text-transform: uppercase;
	text-align: center;
	font-weight: 700;
	font-size: var(--12px) !important;
	}

/**********************************************************
// Utility Styles
**********************************************************/
.Mobile-Only { display: none; }

.No-Padding    { padding: 0 !important;     }
.No-Margin     { margin: 0 !important;      }
.Margin-Auto   { margin: auto !important;   }
.Display-Block { display: block !important; }

.Line-Height-1-1 { line-height: 1.1em !important; }
.Line-Height-1-2 { line-height: 1.2em !important; }
.Line-Height-1-3 { line-height: 1.3em !important; }
.Line-Height-1-4 { line-height: 1.4em !important; }
.Line-Height-1-5 { line-height: 1.5em !important; }

.Row-Reverse { flex-direction: row-reverse; }

.Pullup-50 {
	margin-bottom: -3.125rem;
	position: relative;
	top: -3.125rem;
	}

.Pullup-100 {
	margin-bottom: -6.25rem;
	position: relative;
	top: -6.25rem;
	}

.Text-Shadow-100 { text-shadow: var(--3px) var(--3px) var(--6px) rgba(0, 0, 0, 1);    }
.Text-Shadow-75  { text-shadow: var(--3px) var(--3px) var(--6px) rgba(0, 0, 0, 0.75); }
.Text-Shadow-50  { text-shadow: var(--3px) var(--3px) var(--6px) rgba(0, 0, 0, 0.5);  }
.Text-Shadow-25  { text-shadow: var(--3px) var(--3px) var(--6px) rgba(0, 0, 0, 0.25); }

.Box-Shadow-50 { box-shadow: var(--3px) var(--3px) var(--6px) rgba(0, 0, 0, 0.5); }
.Box-Shadow-25 { box-shadow: var(--3px) var(--3px) var(--6px) rgba(0, 0, 0, 0.25); }

.Button-Shadow-50 a { box-shadow: var(--3px) var(--3px) var(--6px) rgba(0, 0, 0, 0.5); }

.Z-Index-100 { position: relative; z-index: 100; }
.Z-Index-Max { position: relative; z-index: 99999; }

.Position-Static { position: static !important; }

.Text-Align-Center { text-align: center; }

.Max-Height-75 img {
	width: auto;
	height: auto;
	max-height: 4.6875rem;
	}

.Modal-Open {
	height: 100vh;
    overflow: hidden;
    position: fixed;
    right: 0;
    left: 0;
	}

/**********************************************************
// Link >> Underline
**********************************************************/
.Link-Underline {
	display: inline-block;
	transition-property: top, text-decoration-color;
	transition-duration: 0.2s;
	transition-timing-function: ease-in-out;
	-webkit-text-decoration-color: transparent;
	-moz-text-decoration-color: transparent;
	text-decoration-color: transparent;
	position: relative;
	top: 0;
	}

.Link-Underline:hover,
.Link-Underline:focus-visible {
	text-decoration: underline;
    text-underline-offset: var(--4px);
    -webkit-text-decoration-color: var(--Color-White);
    -moz-text-decoration-color: var(--Color-White);
    text-decoration-color: var(--Color-White);
    top: -0.125rem;
	}

/**********************************************************
// Button >> Blue
**********************************************************/
.Button-Blue {
	margin: auto;
	padding: var(--14px) var(--30px);
	border-radius: var(--30px);
	background: var(--Color-Blue);
	color: var(--Color-White);
	text-transform: uppercase;
	line-height: 1.3em;
	letter-spacing: var(--2px);
	font-weight: 700;
	font-size: var(--14px);
	transform: scale(1);
	transition-property: background, color, transform;
	transition-duration: 0.2s;
	transition-timing-function: ease-in-out;
	box-shadow: var(--1px) var(--1px) var(--3px) rgba(0, 0, 0, 0.2);
	display: inline-block;
	vertical-align: middle;
	}

.Button-Blue:hover,
.Button-Blue:focus {
	transform: scale(1.05);
	background: var(--Color-Light-Blue);
	color: var(--Color-White);
	}

/**********************************************************
// Media Queries
**********************************************************/
@media /* 1024px */
all and (max-width: 64rem),
all and (max-device-width: 64rem)
{
	.Post-Grid-2 { grid-template-columns: repeat(auto-fit, 40%); }
	.Post-Grid   { grid-template-columns: repeat(auto-fit, 40%); }
	.Post-Grid-4 { grid-template-columns: repeat(auto-fit, 30%); }
}

@media /* 768px */
all and (max-width: 48rem),
all and (max-device-width: 48rem)
{
	.Post-Grid,
	.Post-Grid-2,
	.Post-Grid-4 { grid-template-columns: repeat(auto-fit, 100%); }

	.Desktop-Only { display: none; }
	.Mobile-Only { display: block; }

	.Pullup-50,
	.Pullup-100 {
		margin-bottom: 0;
		top: 0;
		}

	.Page-Title { height: 10rem; }
	.Page-Title h1 { font-size: var(--30px); }
	.Page-Title h2 { font-size: var(--16px); }

	.Mobile-Title-h1 { font-size: var(--30px) !important; }
	.Mobile-Title-h2 { font-size: var(--16px) !important; }

	.Max-Height-75 img { max-width: var(--200px); }
	
	.Mobile-Text-Align-Center { text-align: center !important; }

	.Row-Reverse { flex-direction: auto; }
}
