/*
Theme Name: GenPress Authority
Description: Custom GeneratePress child theme, built for SEO.
Author: Frank Vinzon
Template: generatepress
Version: 1.0.0
Text Domain: authority-gp
*/

/* ==========================================================================
   Frontend Post Form
   ========================================================================== */
form#new_post {margin: 0 auto 30px;width: 100%;box-shadow: 3px 3px 10px rgb(0 0 0 / 10%);border-radius: 15px;padding: 50px 50px 30px;position: relative;}
form#new_post p input#submit {background-color: transparent;box-shadow: none !important;border: 1px solid var(--primary);color: var(--primary) !important;font-weight: 400;text-transform: uppercase;position: relative;transition: background-color 0.25s ease-in, border-color 0.25s ease-in, transform 0.15s cubic-bezier(0.44, 0.51, 0.24, 0.99), box-shadow 0.5s cubic-bezier(0.44, 0.51, 0.24, 0.99);letter-spacing: 0.06em;}
form#new_post p input#submit:hover {background-color: var(--secondary);border-color: var(--secondary);color: var(--lightcolor) !important;box-shadow: 0 6px 24px rgb(0 0 0 / 14%) !important;transform: translate3d(0, -3px, 0);}

/* ==========================================================================
   WELL-Inspired Typography
   ========================================================================== */

body,
p,
label,
input,
textarea,
select {
	font-family: var(--primaryFontFamily);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.55;
}

strong{
	font-weight:  700;
}
@media(max-width: 991px){
	body,
	p,
	label,
	input,
	textarea,
	select {

		font-size: clamp(0.875rem, 0.8rem + 0.35vw, 1rem)

	}

}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.wp-block-heading {
	font-family: var(--secondaryFontFamily);
	font-weight: 800 !important;
	letter-spacing: 0;
	line-height: 1.12;
}

h1,
.h1 {
	font-size: clamp(40px, 1rem + 4vw, 72px);
	font-weight: 800;
}

h2,
.h2 {
	font-size: clamp(24px, 1.2rem + 1.25vw, 36px);
	font-weight: 800;
}

h3,
.h3 {
	font-size: clamp(16px, 0.95rem + 0.25vw, 18px);
	font-weight: 800;
}

.dripbar-subtitle,
.is-style-sub-title {
	font-family: var(--secondaryFontFamily);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.25;
	text-transform: none;
}

[class*="is-style-border"] {
	position: relative;
}

[class*="is-style-border"]::after {
	border-bottom: 4px solid var(--primary);
	content: "";
	display: block;
	margin-top: 20px;
	width: 135px;
}

[class*="is-style-border"].has-text-color::after {
	border-bottom-color: inherit !important;
}

[class*="is-style-border"].has-text-align-center::after {
	margin-left: auto;
	margin-right: auto;
}

[class*="is-style-border"].has-text-align-right::after {
	margin-left: auto;
}

.uppercase {
	text-transform: uppercase;
}

html .wp-block-button .wp-block-button__link,
html .wp-element-button {
	background-color: var(--primary);
	border: 2px solid var(--primary) !important;
	border-radius: 999px !important;
	color: var(--lightcolor);
	font-family: var(--primaryFontFamily);
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	min-height: 44px;
	padding: 13px 24px !important;
}

html .wp-block-button.is-style-outline .wp-block-button__link,
html .wp-block-button.gp-btn-outline .wp-block-button__link {
	background-color: transparent;
	border: 2px solid var(--primary) !important;
	color: var(--primary) !important;
}

html .wp-block-button:not(.is-style-outline):not(.gp-btn-outline) .wp-block-button__link:focus,
html .wp-block-button:not(.is-style-outline):not(.gp-btn-outline) .wp-block-button__link:hover {
	background-color: var(--primary) !important;
	border-color: var(--primary) !important;
	color: var(--lightcolor) !important;
}

html .wp-block-button.is-style-outline .wp-block-button__link:focus,
html .wp-block-button.is-style-outline .wp-block-button__link:hover,
html .wp-block-button.gp-btn-outline .wp-block-button__link:focus,
html .wp-block-button.gp-btn-outline .wp-block-button__link:hover {
	background-color: var(--primary) !important;
	border-color: var(--primary) !important;
	color: var(--lightcolor) !important;
}

.site-footer,
.site-footer p,
.site-footer a {
	font-family: "Poppins", sans-serif;
	font-weight: 400;
}

html .wp-block-button.has-large-font-size .wp-block-button__link {
	font-size: 18px !important;
	min-height: 50px;
	padding: 13px 32px !important;
}

html .wp-block-button.has-small-font-size .wp-block-button__link {
	font-size: 14px !important;
	min-height: 40px;
	padding: 10px 20px !important;
}

/* ==========================================================================
   Transparent / Sticky Header Navigation
   ========================================================================== */

.site-header {
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	background: rgba(251, 250, 247, 0.92);
	border-bottom: 1px solid rgba(31, 41, 51, 0.12);
	box-shadow: none;
	left: 0;
	position: sticky;
	top: 0;
	width: 100%;
	z-index: 50;
}

body.admin-bar .site-header {
	top: 32px;
}

.site-header .inside-header {
	align-items: center;
	display: flex;
	gap: 24px;
	min-height: auto;
	padding-bottom: 12px;
	padding-top: 12px;
}

.site-header .custom-logo,
.site-header .site-logo img {
	filter: none;
	height: auto;
	max-height: none;
	max-width: none;
	width: clamp(96px, 10vw, 132px);
}

.site-header .custom-logo {
	width: auto;
}

.site-header .site-logo {
	background: transparent;
	border-radius: 0;
	max-width: none;
	padding: 0;
	width: auto;
}

body:has(.entry-content > .banner-1.dark:first-child) .site-header .site-logo img {
	filter: none;
}

.site-header .site-branding{
	display: none;
}

.site-header .menu-inner,
.site-header .main-navigation,
.site-header .main-navigation .inside-navigation {
	background: transparent !important;
}

.site-header .menu-inner {
	align-items: center;
	display: flex;
	flex: 1 1 auto;
	justify-content: flex-end;
}

.site-header .menu-inner > * {
	align-self: center;
}

.site-header .main-navigation {
	flex: 0 1 auto;
}

.site-header .main-navigation .inside-navigation {
	align-items: center;
	display: flex;
	justify-content: flex-end;
	width: 100%;
}

.site-header .main-navigation .main-nav {
	align-items: center;
	display: flex;
}

.site-header .main-navigation .main-nav ul {
	align-items: center;
	display: flex;
	gap: 32px;
	justify-content: flex-end;
}

.site-header .main-navigation .main-nav ul > .menu-item {
	padding: 0 !important;
}

.site-header .main-navigation .main-nav ul > .menu-item > a {
	align-items: center;
	background: transparent !important;
	/* color: #fff !important; */
	display: inline-flex;
	font-family: var(--primaryFontFamily);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	min-height: 44px;
	padding: 0 !important;
	text-decoration: none;
	transition: color 180ms ease;
	white-space: nowrap;
}

.site-header .main-navigation .main-nav ul > .menu-item > a:hover,
.site-header .main-navigation .main-nav ul > .menu-item > a:focus,
.site-header .main-navigation .main-nav ul > .current-menu-item > a,
.site-header .main-navigation .main-nav ul > .current-menu-parent > a {
	color: var(--primary) !important;
}

.site-header .header-cta {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	margin-left: 28px;
	margin-top: 0;
}

.site-header .header-cta--menu {
	display: none;
}

.site-header .header-cta > a {
	align-items: center;
	background: var(--primary);
	border: 0 !important;
	border-radius: 999px;
	color: #fff !important;
	display: inline-flex !important;
	font-family: "Inter", sans-serif;
	font-size: 15px;
	font-weight: 400;
	gap: 9px;
	justify-content: center;
	line-height: 1 !important;
	margin: 0;
	min-height: 42px;
	padding: 0 24px !important;
	text-decoration: none;
	transition: background 180ms ease, transform 180ms ease;
	white-space: nowrap;
}

.site-header .header-cta > a.wp-block-button__link,
.site-header .header-cta > a.wp-element-button {
	text-align: center;
	vertical-align: middle;
}

.site-header .header-cta > a:hover,
.site-header .header-cta > a:focus {
	background: var(--secondary) !important;
	color: #fff !important;
	transform: translateY(-1px);
}

body.site-header-is-sticky .site-header {
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	background: rgba(251, 250, 247, 0.92);
	border-bottom: 1px solid rgba(31, 41, 51, 0.12);
	box-shadow: none;
	position: sticky;
}

body.site-header-is-sticky .site-header .inside-header {
	align-items: center;
	min-height: auto;
	padding-bottom: 12px;
	padding-top: 12px;
}

body.site-header-is-sticky .site-header .custom-logo,
body.site-header-is-sticky .site-header .site-logo img {
	filter: none;
	height: auto;
	max-height: none;
	width: clamp(96px, 10vw, 132px);
}

body.site-header-is-sticky .site-header .site-logo img {
	filter: none;
	width: clamp(96px, 10vw, 132px);
	height: auto;
}

body.site-header-is-sticky:has(.entry-content > .banner-1.dark:first-child) .site-header .site-logo img {
	filter: none;
}

body.site-header-is-sticky .site-header .main-navigation .main-nav ul > .menu-item > a {
	color: var(--headingcolor) !important;
}

body.site-header-is-sticky .site-header .main-navigation .main-nav ul > .menu-item > a:hover,
body.site-header-is-sticky .site-header .main-navigation .main-nav ul > .menu-item > a:focus,
body.site-header-is-sticky .site-header .main-navigation .main-nav ul > .current-menu-item > a,
body.site-header-is-sticky .site-header .main-navigation .main-nav ul > .current-menu-parent > a {
	color: var(--primary) !important;
}

@media (max-width: 1199px) {
	.site-header {
		background: rgba(251, 250, 247, 0.92);
		position: sticky;
	}

	body.site-header-is-sticky .site-header {
		background: rgba(251, 250, 247, 0.92);
		position: sticky;
	}

	.site-header .inside-header,
	body.site-header-is-sticky .site-header .inside-header {
		min-height: auto;
		padding-bottom: 12px;
		padding-top: 12px;
	}

	.site-header .custom-logo,
	body.site-header-is-sticky .site-header .custom-logo,
	.site-header .site-logo img {
		filter: none;
		height: auto !important;
		max-height: none;
		width: clamp(96px, 10vw, 132px);
	}

	body:has(.entry-content > .banner-1.dark:first-child) .site-header .site-logo img {
		filter: none;
	}

	.site-header .main-navigation .inside-navigation,
	.site-header .main-navigation .main-nav ul {
		display: block;
		gap: 0;
	}

	.site-header .main-navigation {
		background: #fff !important;
	}

	.site-header #mobile-menu-control-wrapper {
		display: flex;
		margin-left: 16px;
		order: 3;
	}

	.site-header #mobile-menu-control-wrapper .menu-toggle {
		display: block;
	}

	.site-header #site-navigation {
		display: none;
		flex: 0 0 100%;
		order: 4;
		width: 100%;
	}

	.site-header #site-navigation.toggled {
		display: block;
	}

	.site-header .main-navigation .main-nav ul > .menu-item > a {
		color: var(--headingcolor) !important;
		justify-content: flex-start;
		min-height: 48px;
		padding: 0 15px !important;
	}

	.site-header .menu-toggle {
		color: var(--primary) !important;
	}

	.site-header .header-cta--bar {
		margin-left: auto;
		order: 2;
	}
}

@media (max-width: 782px) {
	body.admin-bar .site-header {
		top: 46px;
	}

	body.admin-bar.site-header-is-sticky .site-header {
		top: 46px;
	}
}

@media (max-width: 767px) {
	.site-header .header-cta--bar {
		display: none;
	}

	.site-header #mobile-menu-control-wrapper {
		margin-left: auto;
	}

	.site-header #site-navigation .header-cta--menu {
		display: flex !important;
		margin: 20px 15px;
	}

	.site-header #site-navigation .header-cta--menu > a {
		width: 100%;
	}

	.site-header .inside-header,
	body.site-header-is-sticky .site-header .inside-header {
		min-height: 66px;
		padding-bottom: 8px;
		padding-left: 16px;
		padding-right: 16px;
		padding-top: 8px;
		background: #fff;
		border-bottom: 1px solid #efefef;
	}

	.site-header .inside-header > * {
		margin-right: 0;
	}

	.site-header .custom-logo,
	body.site-header-is-sticky .site-header .custom-logo,
	.site-header .site-logo img {
		height: auto !important;
		max-height: none;
		max-width: none;
		width: clamp(96px, 10vw, 132px);
	}
}

/* ==========================================================================
   Legal / Inner Banner
   ========================================================================== */

.entry-content > .inner-banner {
	background: #224c5a;
	color: #fff;
	margin-bottom: 0;
	margin-top: 0;
	padding: clamp(48px, 6vw, 80px) 20px;
}

.inner-banner > .wp-block-group__inner-container,
.inner-banner__inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 680px;
	width: 100%;
}

.inner-banner .eyebrow {
	color: #aaab38;
	font-family: "Archivo", "Helvetica Neue", sans-serif;
	font-size: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.6;
	margin: 12px 0 0;
	text-transform: uppercase;
}

.inner-banner.legal-hero .wp-block-heading,
.inner-banner .wp-block-heading.inner-banner__title {
	color: #fff;
	font-family: "Archivo", "Helvetica Neue", sans-serif;
	font-size: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
	font-weight: 700;
	letter-spacing: normal;
	line-height: 1.12;
	margin: 12px 0 0;
	text-wrap: balance;
}

.entry-content > .inner-banner + .wp-block-heading {
	display: none;
}

.inner-banner .inner-banner__meta {
	color: rgba(245, 247, 247, 0.75);
	font-family: "IBM Plex Sans", "Segoe UI", sans-serif;
	font-size: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
	line-height: 1.6;
	margin: 12px 0 0;
}

body:has(.legal-hero) {
	background: #fbfaf7;
}

/* ==========================================================================
   Standalone semi-footer block
   Targets the existing Gutenberg markup using the semi_footer class.
   ========================================================================== */

.entry-content > .wp-block-group.semi_footer {
	background: linear-gradient(
		160deg,
		var(--headingcolor) 0%,
		color-mix(in srgb, var(--headingcolor) 78%, #000) 100%
	);
	color: var(--lightcolor);
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: none;
	overflow: hidden;
	padding: clamp(4rem, 8vw, 6rem) 20px;
	width: 100vw;
}

.entry-content > .wp-block-group.semi_footer > .wp-block-group__inner-container {
	margin: 0;
	max-width: none;
	width: 100%;
}

.semi_footer .cta-final__inner {
	margin: 0 auto;
	max-width: var(--wrapWidth, 1200px);
	width: 100%;
}

.semi_footer .cta-final__inner > .wp-block-group__inner-container {
	margin: 0;
	max-width: none;
	width: 100%;
}

.semi_footer .cta-final__inner .wp-block-columns {
	align-items: start;
	display: grid;
	gap: clamp(2rem, 5vw, 4rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	width: 100%;
}

.semi_footer .cta-final__inner .wp-block-column {
	margin: 0;
	min-width: 0;
	width: 100%;
}

.semi_footer .eyebrow {
	color: var(--primary);
	margin: 0;
}

.semi_footer h2 {
	color: var(--lightcolor);
	font-size: var(--text-xl);
	margin: 0.75rem 0 0;
}

.semi_footer .wp-block-column:first-child > p:not(.eyebrow) {
	color: rgba(245, 247, 247, 0.82);
	margin: 1.25rem 0 0;
}

.semi_footer ul.is-style-checklist {
	display: grid;
	gap: 0.75rem;
	list-style: none;
	margin: 1.5rem 0 0 !important;
	padding: 0 !important;
}

.semi_footer ul.is-style-checklist > li {
	color: rgba(245, 247, 247, 0.9);
	font-size: var(--text-sm);
	line-height: 1.6;
	margin: 0 !important;
	padding-left: 1.75rem;
}

.semi_footer ul.is-style-checklist > li::before {
	background: transparent !important;
	color: var(--primary) !important;
}

.semi_footer .wp-block-column:last-child > .wp-block-group.is-style-card {
	background: var(--lightcolor);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-lg);
	color: var(--textcolor);
	padding: clamp(1.5rem, 3vw, 2.5rem);
	width: 100%;
}

.semi_footer .wp-block-column:last-child > .wp-block-group.is-style-card h3 {
	color: var(--headingcolor) !important;
	font-size: var(--text-lg);
	margin: 0;
}

.semi_footer .wp-block-column:last-child > .wp-block-group.is-style-card iframe {
	background: var(--lightcolor);
	border: 0;
	border-radius: var(--radius-md);
	display: block;
	height: 548px !important;
	min-height: 548px;
	width: 100%;
}

@media (max-width: 860px) {
	.semi_footer .cta-final__inner .wp-block-columns {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 480px) {
	.semi_footer .wp-block-column:last-child > .wp-block-group.is-style-card {
		padding: 1.25rem;
	}
}

/* ==========================================================================
   Standalone Action Pack Sections
   Homepage form and Thank You booking CTA.
   ========================================================================== */

.entry-content > .wp-block-group.alignfull.action-pack {
	background: linear-gradient(
		160deg,
		var(--color-teal) 0%,
		var(--color-teal-deep) 100%
	);
	color: var(--color-text-inverse);
	padding: clamp(var(--space-16), 8vw, var(--space-24)) 20px;
}

.entry-content > .wp-block-group.alignfull.action-pack.action-pack--form {
	background: linear-gradient(
		160deg,
		var(--headingcolor) 0%,
		color-mix(in srgb, var(--headingcolor) 78%, #000) 100%
	);
	color: #fff;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: none;
	width: 100vw;
}

.action-pack .action-pack__grid {
	margin: 0 auto;
	max-width: var(--content-wide);
	width: 100%;
}

.action-pack .action-pack__grid > .wp-block-group__inner-container {
	align-items: start;
	display: grid;
	gap: clamp(var(--space-8), 5vw, var(--space-16));
	grid-template-columns: repeat(2, minmax(0, 1fr));
	width: 100%;
}

.action-pack .action-pack__body,
.action-pack .action-pack__form-column {
	margin: 0;
	min-width: 0;
	width: 100%;
}

.action-pack.action-pack--form .action-pack__body {
	color: #fff;
}

.action-pack .eyebrow {
	color: var(--color-green);
	font-family: var(--font-display);
	font-size: var(--text-xs);
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.6;
	margin: 0;
	text-transform: uppercase;
}

.action-pack .action-pack__body h2,
.action-pack.action-pack--booking h2 {
	color: #fff;
	font-family: var(--font-display);
	font-size: var(--text-xl);
	font-weight: 700;
	line-height: 1.12;
	margin: var(--space-3) 0 0;
}

.action-pack .action-pack__body > .wp-block-group__inner-container > p:not(.eyebrow) {
	color: rgba(245, 247, 247, 0.82);
	font-family: var(--font-body);
	font-size: var(--text-base);
	line-height: 1.6;
	margin: var(--space-5) 0 0;
}

.action-pack ul.is-style-checklist.action-pack__points {
	display: grid;
	gap: var(--space-3);
	list-style: none;
	margin: var(--space-6) 0 0 !important;
	padding: 0 !important;
}

.action-pack ul.is-style-checklist.action-pack__points > li {
	color: rgba(245, 247, 247, 0.9);
	font-family: var(--font-body);
	font-size: var(--text-sm);
	line-height: 1.6;
	margin: 0 !important;
}

.action-pack ul.is-style-checklist.action-pack__points > li::before {
	background: transparent !important;
	color: var(--color-green);
}

.action-pack .action-pack__form-card.is-style-card {
	background: var(--color-surface);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-lg);
	color: var(--color-text);
	padding: clamp(var(--space-6), 3vw, var(--space-10));
	width: 100%;
}

.action-pack .action-pack__form-card h3 {
	color: var(--color-teal);
	font-family: var(--font-display);
	font-size: var(--text-lg);
	font-weight: 700;
	line-height: 1.12;
	margin: 0;
}

.action-pack .action-pack__form-card .ep-iFrameContainer,
.action-pack .action-pack__form-card .ep-wrapper {
	border-radius: var(--radius-md) !important;
	overflow: hidden;
	width: 100%;
}

.action-pack .action-pack__form-card iframe {
	background: var(--color-surface);
	border: 0;
	border-radius: var(--radius-md);
	display: block;
	min-height: 548px;
	width: 100%;
}

.action-pack.action-pack--booking .cta-band {
	margin: 0 auto;
	max-width: var(--content-default);
	text-align: center;
	width: 100%;
}

.action-pack.action-pack--booking .cta-band__copy {
	color: rgba(245, 247, 247, 0.85);
	font-family: var(--font-body);
	font-size: var(--text-base);
	line-height: 1.6;
	margin: var(--space-5) auto var(--space-8);
	max-width: 52ch;
}

.action-pack.action-pack--booking .wp-block-buttons {
	justify-content: center;
}

@media (max-width: 860px) {
	.action-pack .action-pack__grid > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 480px) {
	.action-pack .action-pack__form-card.is-style-card {
		padding: var(--space-5);
	}
}

/* ==========================================================================
   Canada Difference Media & Text
   Scoped Gutenberg adaptation of the canonical Canada section.
   ========================================================================== */

.entry-content > .wp-block-group.alignfull.canada-difference-section {
	background: var(--color-bg);
	/*padding: clamp(var(--space-16), 8vw, var(--space-24)) 20px;*/
	padding: 20px;
}

.wp-block-media-text.is-style-canada-difference {
	align-items: center;
	display: grid;
	gap: clamp(var(--space-8), 5vw, var(--space-16));
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr) !important;
	margin: 0 auto;
	max-width: var(--content-wide);
	width: 100%;
}

.wp-block-media-text.is-style-canada-difference .wp-block-media-text__media {
	margin: 0;
}

.wp-block-media-text.is-style-canada-difference .wp-block-media-text__media img {
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-md);
	display: block;
	height: auto;
	width: 100%;
}

.wp-block-media-text.is-style-canada-difference .wp-block-media-text__content {
	padding: 0;
}

.wp-block-media-text.is-style-canada-difference .eyebrow {
	color: var(--color-gold-text);
	font-family: var(--font-display);
	font-size: var(--text-xs);
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.6;
	margin: 0;
	text-transform: uppercase;
}

.wp-block-media-text.is-style-canada-difference .section-title {
	color: var(--color-teal);
	font-family: var(--font-display);
	font-size: var(--text-xl);
	font-weight: 700;
	line-height: 1.12;
	margin: var(--space-3) 0 0;
}

.wp-block-media-text.is-style-canada-difference .wp-block-media-text__content > p:not(.eyebrow) {
	color: var(--color-text-muted);
	font-family: var(--font-body);
	font-size: var(--text-base);
	line-height: 1.6;
	margin: var(--space-5) 0 0;
}

.wp-block-media-text.is-style-canada-difference ul.is-style-checklist.canada__list {
	display: grid;
	gap: var(--space-4);
	list-style: none;
	margin: var(--space-6) 0 0 !important;
	padding: 0 !important;
}

.wp-block-media-text.is-style-canada-difference ul.is-style-checklist.canada__list > li {
	color: var(--color-text);
	font-family: var(--font-body);
	font-size: var(--text-base);
	font-weight: 500;
	line-height: 1.6;
	margin: 0 !important;
	padding-left: 2rem;
}

.wp-block-media-text.is-style-canada-difference .thankyou__actions {
	margin-top: var(--space-8);
}

@media (max-width: 860px) {
	.wp-block-media-text.is-style-canada-difference {
		display: flex;
		flex-direction: column;
	}

	.wp-block-media-text.is-style-canada-difference .wp-block-media-text__media {
		max-width: 420px;
		order: -1;
		width: 100%;
	}

	.wp-block-media-text.is-style-canada-difference .wp-block-media-text__content {
		width: 100%;
	}
}

/* ==========================================================================
   Thank You / Funnel Download
   Exact adaptation of the supplied canonical design.
   ========================================================================== */

.entry-content > .wp-block-group.alignfull.numbers.thankyou {
	background: var(--color-teal);
	color: var(--color-text-inverse);
	padding: clamp(var(--space-16), 7vw, var(--space-24)) 20px;
}

.numbers .thankyou__grid {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--content-wide);
	width: 100%;
}

.numbers .thankyou__grid > .wp-block-group__inner-container {
	align-items: center;
	display: grid;
	gap: clamp(var(--space-8), 5vw, var(--space-16));
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	width: 100%;
}

.numbers.thankyou .eyebrow {
	color: var(--color-green);
	font-family: var(--font-display);
	font-size: var(--text-xs);
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.6;
	margin: 0;
	text-transform: uppercase;
}

.numbers .thankyou__title {
	color: #fff;
	font-family: var(--font-display);
	font-size: var(--text-2xl);
	font-weight: 800;
	line-height: 1.12;
	margin: var(--space-4) 0 0;
	text-wrap: balance;
}

.numbers.thankyou .numbers__intro {
	color: rgba(245, 247, 247, 0.82);
	font-family: var(--font-body);
	font-size: var(--text-base);
	line-height: 1.6;
	margin: var(--space-4) 0 0;
	max-width: 62ch;
}

.numbers .thankyou__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-4);
	margin: var(--space-8) 0 0;
}

.numbers .thankyou__media {
	justify-self: center;
	margin: 0;
	max-width: 380px;
}

.numbers .thankyou__media figure,
.numbers .thankyou__media .wp-block-image {
	margin: 0;
}

.numbers .thankyou__media img {
	background: #fff;
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-lg);
	display: block;
	height: auto;
	transform: rotate(1.5deg);
	transition:
		transform var(--transition-interactive),
		box-shadow var(--transition-interactive);
	width: 100%;
}

.numbers .thankyou__media a:hover img,
.numbers .thankyou__media a:focus img {
	transform: rotate(0deg) translateY(-4px);
}

@media (max-width: 860px) {
	.numbers .thankyou__grid > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
	}

	.numbers .thankyou__media {
		max-width: 300px;
	}
}

.entry-content > .legal-body {
	padding: clamp(48px, 6vw, 80px) 20px;
}

.legal-body > .wp-block-group__inner-container,
.legal-body__inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 680px;
	width: 100%;
}

.legal-body h2,
body:has(.legal-hero) .entry-content h2 {
	color: #224c5a;
	font-family: "Archivo", "Helvetica Neue", sans-serif;
	font-size: clamp(1.125rem, 1rem + 0.75vw, 1.5rem);
	font-weight: 700;
	line-height: 1.12;
	margin: 40px 0 0;
}

.legal-body h2:first-child {
	margin-top: 0;
}

.legal-body p,
.legal-body li,
.entry-content > .legal-hero ~ .wp-block-group p,
.entry-content > .legal-hero ~ .wp-block-group li {
	color: #1f2a2e;
	font-family: "IBM Plex Sans", "Segoe UI", sans-serif;
	font-size: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
	line-height: 1.6;
	margin-top: 16px;
}

.legal-body ul,
.entry-content > .legal-hero ~ .wp-block-group ul {
	padding-left: 1.2rem;
}

.legal-body li,
.entry-content > .legal-hero ~ .wp-block-group li {
	margin-top: 8px;
}

.legal-body a,
.entry-content > .legal-hero ~ .wp-block-group a {
	color: #224c5a;
	font-weight: 600;
	text-decoration-color: #aaab38;
	text-underline-offset: 3px;
}

.legal-body a:hover,
.legal-body a:focus,
.entry-content > .legal-hero ~ .wp-block-group a:hover,
.entry-content > .legal-hero ~ .wp-block-group a:focus {
	color: #7c7d22;
}

/* ==========================================================================
   Theme Color Actions
   ========================================================================== */

a,
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.wp-block-button__link,
.wp-element-button,
.gp-more-link {
	border-color: var(--primary);
}

.entry-title a:focus,
.entry-title a:hover {
	color: var(--secondary);
}

button.primary,
input[type="button"].primary,
input[type="reset"].primary,
input[type="submit"].primary,
.button.primary,
.gp-more-link {
	background-color: var(--primary);
	border-color: var(--primary);
	color: var(--lightcolor);
}

.archive-pagination .pagination-next > a,
.archive-pagination .pagination-previous > a {
	border-color: var(--secondary);
	color: var(--secondary);
}

a.button:focus,
a.button:hover,
button:focus,
button:hover,
input[type="button"]:focus,
input[type="button"]:hover,
input[type="reset"]:focus,
input[type="reset"]:hover,
input[type="submit"]:focus,
input[type="submit"]:hover,
.archive-pagination li a:focus,
.archive-pagination li a:hover,
.archive-pagination .active a,
.archive-pagination .pagination-next > a:focus,
.archive-pagination .pagination-next > a:hover,
.archive-pagination .pagination-previous > a:focus,
.archive-pagination .pagination-previous > a:hover,
.button:focus,
.button:hover,
.gp-more-link:focus,
.gp-more-link:hover {
	background-color: var(--primary);
	border-color: var(--primary);
	color: var(--lightcolor);
}


/* ==========================================================================
   Gutenberg Color Classes / Content Helpers
   ========================================================================== */

.single-post .entry-content > p > img.alignnone {
	width: 100%;
}

.site .has-black-background-color {
	background-color: #000;
}

/* Primary */

.site .has-primary-color,
.site .has-theme-primary-color,
.site .wp-block-button .wp-block-button__link.has-primary-color,
.site .wp-block-button .wp-block-button__link.has-theme-primary-color,
.site .wp-block-button.is-style-outline .wp-block-button__link.has-primary-color,
.site .wp-block-button.is-style-outline .wp-block-button__link.has-theme-primary-color {
	color: var(--primary);
}

.site .has-primary-background-color,
.site .has-theme-primary-background-color,
.site .wp-block-button .wp-block-button__link.has-primary-background-color,
.site .wp-block-button .wp-block-button__link.has-theme-primary-background-color,
.site .wp-block-pullquote.is-style-solid-color.has-primary-background-color,
.site .wp-block-pullquote.is-style-solid-color.has-theme-primary-background-color {
	background-color: var(--primary);
}

/* Secondary */

.site .has-secondary-color,
.site .wp-block-button .wp-block-button__link.has-secondary-color,
.site .wp-block-button.is-style-outline .wp-block-button__link.has-secondary-color {
	color: var(--secondary);
}

.site .has-secondary-background-color,
.site .wp-block-button .wp-block-button__link.has-secondary-background-color,
.site .wp-block-pullquote.is-style-solid-color.has-secondary-background-color {
	background-color: var(--secondary);
}

/* Tertiary */

.site .has-tertiary-color,
.site .wp-block-button .wp-block-button__link.has-tertiary-color,
.site .wp-block-button.is-style-outline .wp-block-button__link.has-tertiary-color {
	color: var(--tertiary);
}

.site .has-tertiary-background-color,
.site .wp-block-button .wp-block-button__link.has-tertiary-background-color,
.site .wp-block-pullquote.is-style-solid-color.has-tertiary-background-color {
	background-color: var(--tertiary);
}

/* Heading */

.site .has-heading-color,
.site .has-headingcolor-color,
.site .wp-block-button .wp-block-button__link.has-heading-color,
.site .wp-block-button .wp-block-button__link.has-headingcolor-color,
.site .wp-block-button.is-style-outline .wp-block-button__link.has-heading-color,
.site .wp-block-button.is-style-outline .wp-block-button__link.has-headingcolor-color {
	color: var(--headingcolor);
}

.site .has-heading-background-color,
.site .has-headingcolor-background-color,
.site .wp-block-button .wp-block-button__link.has-heading-background-color,
.site .wp-block-button .wp-block-button__link.has-headingcolor-background-color,
.site .wp-block-pullquote.is-style-solid-color.has-heading-background-color,
.site .wp-block-pullquote.is-style-solid-color.has-headingcolor-background-color {
	background-color: var(--headingcolor);
}

/* Text */

.site .has-text-color,
.site .has-text-dark-color,
.site .wp-block-button .wp-block-button__link.has-text-color,
.site .wp-block-button .wp-block-button__link.has-text-dark-color,
.site .wp-block-button.is-style-outline .wp-block-button__link.has-text-color,
.site .wp-block-button.is-style-outline .wp-block-button__link.has-text-dark-color {
	color: var(--textcolor);
}

.site .has-text-background-color,
.site .has-text-dark-background-color,
.site .wp-block-button .wp-block-button__link.has-text-background-color,
.site .wp-block-button .wp-block-button__link.has-text-dark-background-color,
.site .wp-block-pullquote.is-style-solid-color.has-text-background-color,
.site .wp-block-pullquote.is-style-solid-color.has-text-dark-background-color {
	background-color: var(--textcolor);
}

/* Light */

.site .has-light-color,
.site .has-text-light-color,
.site .wp-block-button .wp-block-button__link.has-light-color,
.site .wp-block-button .wp-block-button__link.has-text-light-color,
.site .wp-block-button.is-style-outline .wp-block-button__link.has-light-color,
.site .wp-block-button.is-style-outline .wp-block-button__link.has-text-light-color {
	color: var(--lightcolor);
}

.site .has-light-background-color,
.site .has-text-light-background-color,
.site .wp-block-button .wp-block-button__link.has-light-background-color,
.site .wp-block-button .wp-block-button__link.has-text-light-background-color,
.site .wp-block-pullquote.is-style-solid-color.has-light-background-color,
.site .wp-block-pullquote.is-style-solid-color.has-text-light-background-color {
	background-color: var(--lightcolor);
}

/* Dark */

.site .has-dark-color,
.site .wp-block-button .wp-block-button__link.has-dark-color,
.site .wp-block-button.is-style-outline .wp-block-button__link.has-dark-color {
	color: var(--darkcolor);
}

.site .has-dark-background-color,
.site .wp-block-button .wp-block-button__link.has-dark-background-color,
.site .wp-block-pullquote.is-style-solid-color.has-dark-background-color {
	background-color: var(--darkcolor);
}

/* Sitemap Page */

.page-template-page-sitemap .sitemap-page {
	max-width: var(--wrapWidth, 1200px);
	margin: auto;
	padding: 50px 15px;
}

/* Blog/Search Button Adjustments */

.blog article .wp-block-button,
.search article .wp-block-button {
	display: inline-block;
}

.blog article .wp-block-button .wp-block-button__link,
.search article .wp-block-button .wp-block-button__link {
	padding: 10px 35px !important;
}

/* ==========================================================================
   Buttons / More Links
   ========================================================================== */

.gp-more-link-wrap a:not(.gp-more-link),
.gp-more-link {
	border-bottom: 1px solid var(--primary);
	color: var(--primary);
	display: inline;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.gp-more-link::after {
	content: "\2192";
	margin-left: 6px;
}

.gp-more-link:hover,
.gp-more-link:focus,
.gp-more-link-wrap a:not(.gp-more-link):hover,
.gp-more-link-wrap a:not(.gp-more-link):focus {
	color: var(--secondary);
	border-color: var(--secondary);
}

.entry-content .button:focus,
.entry-content .button:hover {
	color: var(--lightcolor);
}

.button {
	display: inline-block;
}

button.primary,
input[type="button"].primary,
input[type="reset"].primary,
input[type="submit"].primary,
.button.primary,
.gp-more-link {
	background-color: var(--primary);
	border-color: var(--primary);
	color: var(--lightcolor);
}

button.secondary,
input[type="button"].secondary,
input[type="reset"].secondary,
input[type="submit"].secondary,
.button.secondary {
	background-color: var(--darkcolor);
	border-color: var(--darkcolor);
	color: var(--lightcolor);
}

button.secondary:focus,
button.secondary:hover,
input[type="button"].secondary:focus,
input[type="button"].secondary:hover,
input[type="reset"].secondary:focus,
input[type="reset"].secondary:hover,
input[type="submit"].secondary:focus,
input[type="submit"].secondary:hover,
.button.secondary:focus,
.button.secondary:hover {
	background-color: var(--headingcolor);
	border-color: var(--headingcolor);
	color: var(--lightcolor);
}

a.button.small,
button.small,
input[type="button"].small,
input[type="reset"].small,
input[type="submit"].small {
	font-size: 14px;
	padding: 9px 24px;
}

a.button.large,
button.large,
input[type="button"].large,
input[type="reset"].large,
input[type="submit"].large {
	font-size: 20px;
	padding: 24px;
}

.site button:disabled,
.site button:disabled:hover,
.site input:disabled,
.site input:disabled:hover,
.site input[type="button"]:disabled,
.site input[type="button"]:disabled:hover,
.site input[type="reset"]:disabled,
.site input[type="reset"]:disabled:hover,
.site input[type="submit"]:disabled,
.site input[type="submit"]:disabled:hover {
	background-color: #eee;
	box-shadow: none;
	border-width: 0;
	color: #666;
	cursor: not-allowed;
	transform: none;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button {
	display: none;
}


/* ==========================================================================
   Blank / Landing Page Template
   ========================================================================== */

.gp-pg-template-blank .entry-content {
	padding: 0;
	max-width: 100%;
	margin: 0 auto;
}

.gp-pg-template-blank .entry-content > *:not(.alignwide):not(.alignfull),
.gp-pg-template-blank .entry-content > .alignwide,
.gp-pg-template-blank .entry-content > .alignfull > .wp-block-group__inner-container .alignwide {
	max-width: var(--wideWidth, 1517px);
	margin-left: auto;
	margin-right: auto;
}

.gp-pg-template-blank .entry-content > .alignwide > .wp-block-group__inner-container > .alignwide.wp-block-group {
	max-width: var(--wrapWidth, 1290px);
	margin-left: auto;
	margin-right: auto;
}

.gp-pg-template-blank .entry-content > .alignfull > .wp-block-group__inner-container .aligncenter {
	max-width: var(--contentWidth, 1063px);
	margin-left: auto;
	margin-right: auto;
}

.gp-pg-template-blank .entry-content > .alignwide {
	padding-left: 0;
	padding-right: 0;
}

.gp-pg-template-blank .entry-content > .alignfull {
	padding-left: 60px;
	padding-right: 60px;
}

.gp-pg-template-blank .entry-content > .alignfull > .wp-block-group__inner-container {
	position: relative;
}

html .gp-pg-template-blank .entry-content > .alignfull {
	padding-left: 0;
	padding-right: 0;
}

html .gp-pg-template-blank .entry-content > .alignfull > .wp-block-group__inner-container .wp-block-group.alignwide {
	max-width: var(--wrapWidth, 1290px);
}

html .gp-pg-template-blank .entry-content > .alignfull > .wp-block-group__inner-container .aligncenter {
	max-width: 100%;
}

@media (max-width: 1680px) {
	.gp-pg-template-blank .entry-content > .alignwide,
	.gp-pg-template-blank .entry-content > .alignfull {
		padding-left: 50px;
		padding-right: 50px;
	}
}

@media (max-width: 1199px) {
	.gp-pg-template-blank .entry-content > .alignfull,
	.gp-pg-template-blank .entry-content > .alignwide {
		padding-left: 15px;
		padding-right: 15px;
	}
}

/* ==========================================================================
   Column Classes
   ========================================================================== */

.gp-five-sixths,
.gp-four-sixths,
.gp-one-fourth,
.gp-one-half,
.gp-one-sixth,
.gp-one-third,
.gp-three-fourths,
.gp-three-sixths,
.gp-two-fourths,
.gp-two-sixths,
.gp-two-thirds {
	float: left;
	margin-left: 2.564102564102564%;
}

.gp-one-half,
.gp-three-sixths,
.gp-two-fourths {
	width: 48.717948717948715%;
}

.gp-one-third,
.gp-two-sixths {
	width: 31.623931623931625%;
}

.gp-four-sixths,
.gp-two-thirds {
	width: 65.81196581196582%;
}

.gp-one-fourth {
	width: 23.076923076923077%;
}

.gp-three-fourths {
	width: 74.35897435897436%;
}

.gp-one-sixth {
	width: 14.52991452991453%;
}

.gp-five-sixths {
	width: 82.90598290598291%;
}

.gp-first {
	clear: both;
	margin-left: 0;
}

@media (max-width: 991px) {
	.gp-five-sixths,
	.gp-four-sixths,
	.gp-one-fourth,
	.gp-one-half,
	.gp-one-sixth,
	.gp-one-third,
	.gp-three-fourths,
	.gp-three-sixths,
	.gp-two-fourths,
	.gp-two-sixths,
	.gp-two-thirds {
		float: none;
		margin-left: 0;
		width: 100%;
	}
}


/* ==========================================================================
   Avatar
   ========================================================================== */

.avatar {
	float: left;
	position: relative;
	z-index: 2;
}

.alignleft .avatar {
	margin-right: 24px;
}

.alignright .avatar {
	margin-left: 24px;
}

.comment .avatar {
	margin-right: 20px;
}


/* ==========================================================================
   Breadcrumb
   ========================================================================== */

.gp-breadcrumb {
	background-color: #f7f7f7;
	border: none;
	border-radius: 0;
	font-size: 15px;
	font-weight: 500;
	margin-bottom: 20px;
	padding: 10px;
}

.gp-breadcrumb > span,
.gp-breadcrumb-inner {
	display: block;
	max-width: 100%;
	width: var(--wrapWidth);
	margin: auto;
	padding-left: 20px;
	padding-right: 20px;
}

.gp-breadcrumb a {
	text-decoration: none !important;
}

.gp-breadcrumb a:hover {
	text-decoration: underline !important;
}


/* ==========================================================================
   Author Box / Archive Description
   ========================================================================== */

.gp-author-box {
	background-color: #f4f4f4;
	font-size: 14px;
	line-height: 1.87;
	margin-bottom: 70px;
	padding: 35px 70px;
}

.gp-after-entry {
	margin-bottom: 70px;
}

.archive-description p:last-child,
.gp-author-box p:last-child {
	margin-bottom: 0;
}

.archive-description {
	overflow: hidden;
	padding: 0;
	margin: 0 0 50px;
	text-align: center;
}

.archive-description + .content-sidebar-wrap {
	padding-top: 0 !important;
}

.site-inner > .archive-description {
	margin-top: 50px;
}

.gp-author-box .avatar {
	border: 7px solid #fff;
	border-radius: 0;
	box-shadow: 0 9px 45px rgba(0, 0, 0, 0.14);
	transform: translate3d(-35px, 0, 0);
	margin: 0 15px 35px -70px;
}


/* ==========================================================================
   Search Form
   ========================================================================== */

.search-form {
	overflow: hidden;
}

.entry-content .search-form,
.site-header .search-form {
	margin-bottom: 35px;
	width: 50%;
}

.post-password-form input[type="submit"],
.search-form input[type="submit"] {
	margin-top: 10px;
}

.sidebar .widget .wp-block-search__label,
.widget_search input[type="submit"] {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	padding: 0;
	position: absolute;
	width: 1px;
}

.entry-content .search-form {
	display: flex;
}

.entry-content .search-form input {
	height: auto;
	margin: 0;
}

.entry-content .search-form input.search-form-submit {
	margin-left: 0;
}

@media (max-width: 991px) {
	.entry-content .search-form {
		width: 100%;
	}
}

@media (max-width: 767px) {
	.entry-content .search-form input.search-form-submit {
		margin: 15px 0 0;
	}

	.entry-content .search-form {
		display: block;
	}
}


/* ==========================================================================
   Titles / Widgets
   ========================================================================== */

.entry-title a,
.sidebar .widget-title a {
	color: var(--headingcolor);
	text-decoration: none;
}

.entry-title a:focus,
.entry-title a:hover {
	color: var(--primary);
	text-decoration: none;
}

.widget-title {
	clear: both;
	font-size: 18px;
	margin-bottom: 20px;
}

.sidebar .widget {
	margin-bottom: 1em;
}

.sidebar .widget .widget-wrap .wp-block-heading {
	font-size: 30px;
}

.sidebar .widget .wp-block-search__button {
	padding-left: 20px;
	padding-right: 20px;
	margin: 0;
}

.sidebar .featured-content .entry-title {
	font-size: 20px;
}


/* ==========================================================================
   Flexible Widgets
   ========================================================================== */

.gp-flex-widgets .widget-title,
.gp-flex-widgets .entry-title {
	font-size: 42px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.gp-flex-widgets .featuredpost .widget-title {
	padding: 0 0 10px;
}

.gp-flex-widgets .featuredpost .more-posts-title {
	display: block;
	margin-top: 20px;
}

.gp-flex-widgets .featuredpost .entry-title {
	font-size: 30px;
	line-height: 1.3em;
	margin-bottom: 24px;
}

/* ==========================================================================
   WordPress Alignment / Media
   ========================================================================== */

a.aligncenter img {
	display: block;
	margin: 0 auto;
}

a.alignnone {
	display: inline-block;
}

.alignleft {
	float: left;
	text-align: left;
}

.alignright {
	float: right;
	text-align: right;
}

a.alignleft,
a.alignnone,
a.alignright {
	max-width: 100%;
}

img.centered,
.aligncenter {
	display: block;
	margin: 0 auto 24px;
}

img.alignnone,
.alignnone {
	margin-bottom: 24px;
}

a.alignleft,
img.alignleft,
.wp-caption.alignleft {
	margin: 0 24px 24px 0;
}

a.alignright,
img.alignright,
.wp-caption.alignright {
	margin: 0 0 24px 24px;
}

figcaption,
.wp-caption-text {
	color: var(--headingcolor);
	font-size: 12px;
	font-style: normal;
	letter-spacing: 0.1em;
	line-height: 1.5;
	margin-bottom: 30px;
	margin-top: 10px;
	text-align: center;
	text-transform: uppercase;
}

.entry-content p.wp-caption-text {
	margin-bottom: 0;
}

.entry-content .wp-audio-shortcode,
.entry-content .wp-playlist,
.entry-content .wp-video {
	margin: 0 0 24px;
}


/* ==========================================================================
   Widgets
   ========================================================================== */

.sidebar .widget {
	padding: 0;
}

.gp-after-entry .widget {
	margin-bottom: 35px;
}

.widget {
	word-wrap: break-word;
}

.widget p:last-child {
	margin-bottom: 0;
}

.widget ul > li {
	margin-bottom: 10px;
	padding-bottom: 10px;
}

.widget ol > li {
	list-style-position: inside;
	list-style-type: decimal;
	padding-left: 20px;
	text-indent: -20px;
}

.widget li li {
	border: 0;
	margin: 0 0 0 30px;
	padding: 0;
}

.widget_calendar table {
	width: 100%;
}

.widget_calendar td,
.widget_calendar th {
	text-align: center;
}


/* ==========================================================================
   Sidebar Search
   ========================================================================== */

.blog .sidebar .wp-block-search__inside-wrapper {
	display: flex;
	position: relative;
}

.blog .sidebar .wp-block-search__input {
	padding-left: 40px;
	background: #f8f8f8;
	border-radius: 3px;
	border: 0 solid transparent;
	height: 44px;
	color: #666;
	display: block;
}

.blog .sidebar .wp-block-search__input:focus {
	background-color: #ebebeb;
}

.blog .sidebar .wp-block-search__inside-wrapper::before {
	position: absolute;
	display: block;
	content: "\f002";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 20px;
	top: 7px;
	left: 10px;
}

/* ==========================================================================
   Flexible Widgets
   ========================================================================== */

.gp-flex-widgets .widget {
	padding: 0;
	width: 100%;
}

.gp-flex-widgets .entry-content,
.gp-flex-widgets .textwidget {
	margin-left: 35px;
}

.gp-flex-widgets .featuredpost .entry-content {
	margin-left: 0;
}

.gp-flex-widgets.widget-odd .featuredpost:last-of-type {
	max-width: none;
	padding: 70px 0 0;
	text-align: left;
}


/* ==========================================================================
   Featured Content
   ========================================================================== */

.featured-content .entry {
	background: none;
	margin-bottom: 35px;
	padding: 0;
}

.featured-content .entry:last-of-type {
	margin-bottom: 0;
}

.content .featuredpage .entry-image {
	box-shadow: 0 20px 80px rgba(0, 0, 0, 0.2);
	box-sizing: content-box;
	border: 10px solid #fff;
	vertical-align: middle;
}

/* ==========================================================================
  Admin Bar
   ========================================================================== */
@media (max-width:767px) {
	#wp-admin-bar-customize,
	#wp-admin-bar-gform-forms,
	#wp-admin-bar-customize { display: none !important; }
}

/* ==========================================================================
   Featured Images
   ========================================================================== */

.gp-featured-image {
	margin: 0 0 24px;
	padding: 0;
}

.single .gp-featured-image {
	text-align: center;
}

.gp-featured-image,
.featuredpost .has-post-thumbnail > a {
	position: relative;
	z-index: 1;
}

.featuredpost .alignnone {
	margin-bottom: 24px;
}

.gp-featured-image.gp-image-alignleft {
	float: left;
	margin: 0 24px 24px 0;
}

.gp-featured-image.gp-image-alignright {
	float: right;
	margin: 0 0 24px 24px;
}

.gp-featured-image.gp-image-alignleft img,
.gp-featured-image.gp-image-alignright img {
	margin: 0;
}

.gp-featured-image img,
.featuredpost .has-post-thumbnail img {
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
	vertical-align: middle;
	transition:
			transform 0.5s cubic-bezier(0.44, 0.51, 0.24, 0.99),
			box-shadow 0.75s cubic-bezier(0.44, 0.51, 0.24, 0.99);
	transform: translate3d(0, 0, 0);
}

.gp-featured-image a:focus img,
.gp-featured-image a:hover img,
.featuredpost .has-post-thumbnail > a:focus img,
.featuredpost .has-post-thumbnail > a:hover img {
	box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3);
	transform: translate3d(0, 10px, 0);
}

.has-featured-image .content {
	margin-top: 24px;
}

.has-featured-image .content,
.has-featured-image .sidebar,
.has-post-thumbnail .entry-content,
.has-post-thumbnail .entry-header {
	position: relative;
	z-index: 2;
}

.blog .gp-featured-image {
	margin-right: 30px;
	width: 25%;
	flex-shrink: 0;
	margin-bottom: 0;
}

.blog .gp-featured-image a,
.blog .gp-featured-image img {
	height: 100%;
	object-fit: cover;
}

.blog .gp-featured-image img.aligncenter {
	margin: 0;
	width: 100%;
}

.blog .gp-featured-image a:hover img,
.blog .gp-featured-image a:focus img {
	box-shadow: none;
	transform: none;
}

/* ==========================================================================
   Entries
   ========================================================================== */

.entry {
	margin-bottom: 0;
}

.post-edit-link {
	display: none;
}

.entry-header {
	margin: 0 auto;
	margin-bottom: 0;
	max-width: var(--wideWidth);
	text-align: left;
}

.entry-content .intro {
	color: var(--headingcolor);
	font-size: 20px;
	font-style: italic;
	line-height: 1.7;
}

.entry-content ol,
.entry-content ul {
	margin-bottom: 30px;
	margin-left: 2em;
}

.entry-content ol ol,
.entry-content ul ol,
.entry-content ol ul,
.entry-content ul ul {
	margin-bottom: 0;
}

.entry-content ol > li {
	list-style-type: decimal;
	margin-bottom: 1em;
}

.entry-content ul > li {
	list-style-type: disc;
	margin-bottom: 1em;
}

.entry-content ol ul > li,
.entry-content ul ul > li {
	list-style-type: circle;
}

.entry-content code {
	background-color: var(--headingcolor);
	color: #eee;
}

p.center {
	text-align: center;
}


/* ==========================================================================
   Entry Messages
   ========================================================================== */

.message {
	background-color: var(--headingcolor);
	padding: 25px 30px;
}

.message,
.message a {
	color: var(--lightcolor);
}

.message.green {
	background-color: #00a86d;
}

.message.orange {
	background-color: #cc4b00;
}

.message.red {
	background-color: #be0040;
}


/* ==========================================================================
   Grid Entries / Blog Cards
   ========================================================================== */

.gp-flex-widgets.widget-odd .featuredpost:last-of-type .entry,
.gp-grid.archive:not(.woocommerce-page) .content .entry,
body.blog .content .entry {
	float: left;
	padding: 0 35px 35px;
	width: 100%;
}

body.blog .content article.entry {
	padding: 30px;
	margin-bottom: 30px;
	box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.1);
	display: flex;
}

.gp-flex-widgets.widget-odd .featuredpost:last-of-type .entry {
	padding-bottom: 35px;
}

.featuredpost .entry-header,
.gp-grid.archive:not(.woocommerce-page) .entry-header,
body.blog .entry-header {
	margin-bottom: 15px;
}

body.blog .entry-title {
	font-size: 30px;
}

.featuredpost .entry-content p,
.gp-grid.archive:not(.woocommerce-page) .entry-content p,
body.blog .entry-content p {
	margin-bottom: 15px;
}

.gp-flex-widgets.widget-odd .featuredpost:last-of-type .widget-title,
.gp-flex-widgets.widget-odd .featuredpost:last-of-type .more-posts {
	padding-left: 35px;
	padding-right: 35px;
}


/* ==========================================================================
   Entry Meta
   ========================================================================== */

.entry-meta {
	color: #707070;
	font-size: 12px;
	font-style: italic;
	line-height: 1.3;
	margin-bottom: 10px;
}

.entry-meta > * {
	color: #555;
	font-size: 12px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.5;
	text-transform: uppercase;
	margin: 0 5px 0 0;
}

.entry-meta > .entry-author {
	margin-left: 5px;
}

.entry-categories,
.entry-tags {
	display: block;
	margin-left: 0;
}

.entry-comments-link::before {
	content: "\2014";
	margin: 0 6px 0 2px;
}

.entry-footer {
	position: relative;
	z-index: 2;
	padding: 0;
}


/* ==========================================================================
   Pagination
   ========================================================================== */

.pagination {
	clear: both;
	margin: 35px 0 100px;
	text-align: center;
}

.adjacent-entry-pagination {
	margin-bottom: 0;
}

.archive-pagination li {
	display: inline;
}

.archive-pagination a {
	color: var(--headingcolor);
	cursor: pointer;
	display: inline-block;
	font-size: 16px;
	font-weight: 600;
	padding: 8px 20px;
	text-decoration: none;
}

.archive-pagination .pagination-next > a,
.archive-pagination .pagination-previous > a {
	border: 2px solid var(--primary);
	color: var(--primary);
	padding: 6px 20px;
}

.archive-pagination a:focus,
.archive-pagination a:hover,
.archive-pagination .active a {
	background-color: var(--primary);
	color: var(--lightcolor);
}


/* ==========================================================================
   Comments
   ========================================================================== */

.entry-comments > h3,
.entry-pings > h3,
.comment-respond > h3 {
	color: var(--headingcolor);
	font-size: 42px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -1px;
}

.comment-respond,
.entry-comments,
.entry-pings {
	background-color: var(--lightcolor);
	font-size: 14px;
	line-height: 1.85;
	margin-bottom: 70px;
}

.comment-list li {
	border-left: 2px solid #eee;
	margin: 35px 0 0 15px;
	padding: 0 0 0 35px;
}

.comment-list .depth-1 {
	border-left: none;
	margin-left: 0;
	padding: 0;
}

.comment-header {
	font-size: 12px;
	line-height: 1.5;
	margin-bottom: 20px;
	overflow: hidden;
}

.comment-header a {
	color: #555;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
}

.comment-header p {
	margin-bottom: 0;
}

.says {
	color: #707070;
	font-style: italic;
	margin-left: 5px;
}

.comment-content {
	clear: both;
}

.comment-content p {
	margin-bottom: 15px;
}

.comment-content ul > li {
	list-style-type: disc;
}

.comment-respond input[type="email"],
.comment-respond input[type="text"],
.comment-respond input[type="url"] {
	width: 50%;
}

.comment-respond label {
	display: block;
	margin-right: 12px;
}

.comment-form-cookies-consent label {
	display: inline;
	padding-left: 10px;
}

.comment-reply {
	color: var(--primary);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.entry-pings .reply {
	display: none;
}


/* ==========================================================================
   Single Post Extras
   ========================================================================== */

.single .add-to-any {
	margin: 70px 0;
}

.single .add-to-any .a2a_kit {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.single .add-to-any .a2a_kit a {
	padding: 0;
}

.single .add-to-any h3,
.single .related-post h3 {
	margin-bottom: 10px !important;
}

.single .related-post {
	margin-bottom: 40px !important;
}

.single .related-post-grid {
	display: grid;
	grid-column-gap: 30px;
	grid-row-gap: 30px;
	grid-template-columns: repeat(3, 1fr);
}

.single .related-post-grid .related-post-column {
	padding: 15px;
	box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.5);
}

.single .related-post-grid .related-post-column .related-post-image {
	margin-bottom: 10px;
}

.single .related-post-grid .related-post-column .related-post-image img {
	width: 100%;
	height: 300px;
	object-fit: cover;
}

.single .related-post-grid .related-post-column h3 {
	line-height: 1.2em;
	font-size: 18px;
	margin-bottom: 10px;
	padding: 0;
}

.single .related-post-grid .related-post-column p {
	line-height: 1.5em;
	font-size: 14px;
	color: #777;
	margin-bottom: 15px;
	padding: 0;
}

.single .related-post-grid .related-post-column .wp-block-buttons a {
	padding: 10px 35px !important;
	font-size: 13px !important;
}


/* ==========================================================================
   Other Location
   ========================================================================== */

.other-location {
	padding: 20px;
}

.other-location .wp-block-group__inner-container {
	display: flex;
	align-items: center;
	justify-content: center;
}

.other-location p {
	margin: 0 20px 0 0;
	text-transform: uppercase;
	font-size: 20px;
	flex: 0 0 auto;
}

.other-location ul {
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
}

.other-location li {
	list-style: none !important;
	margin: 3px 10px !important;
	text-transform: uppercase;
}

.other-location li a {
	color: inherit;
	text-decoration: none;
}

.other-location li a:hover,
.other-location li a:focus {
	text-decoration: underline;
}

@media (max-width: 1670px) and (min-width: 1200px) {
	.other-location {
		font-size: 15px;
	}

	.other-location p {
		font-size: 18px;
		margin-right: 0;
	}
}

@media (max-width: 1480px) and (min-width: 1200px) {
	.other-location {
		font-size: 14px;
	}

	.other-location p {
		font-size: 16px;
	}
}

@media (max-width: 1199px) {
	.other-location {
		font-size: 16px;
	}

	.other-location .wp-block-group__inner-container {
		flex-direction: column;
	}

	.other-location p {
		margin: 0 0 10px;
	}

	.other-location ul {
		justify-content: center;
	}
}

@media (max-width: 576px) {
	.other-location ul {
		display: block;
		text-align: center;
	}
}

/* ==========================================================================
   Media Queries / Responsive Authority Layout
   ========================================================================== */

@media (max-width: 1199px) {
	.content,
	.content-sidebar .content,
	.sidebar-content .content,
	.sidebar-primary {
		float: none;
		max-width: 100%;
		width: 100%;
	}

	.gp-grid .archive-description {
		max-width: none;
	}

	.archive-description {
		margin-bottom: 20px;
	}

	.gp-flex-widgets .entry-content,
	.gp-flex-widgets .textwidget {
		margin-left: 0;
	}

	.gp-featured-image::before,
	.featuredpost .has-post-thumbnail > a::before {
		left: -20px;
		width: calc(100% + 40px);
	}

	.gp-flex-widgets.widget-odd .featuredpost:last-of-type .entry,
	.gp-grid.archive:not(.woocommerce-page) .content .entry,
	body.blog .content .entry,
	.gp-flex-widgets.widget-odd .featuredpost:last-of-type .widget-title,
	.gp-flex-widgets.widget-odd .featuredpost:last-of-type .more-posts {
		padding-left: 25px;
		padding-right: 25px;
	}

	.single .sidebar .widget:first-of-type {
		margin-top: 0;
	}

	.blog .site-inner .content-sidebar-wrap {
		padding-top: 10px;
		flex-direction: column-reverse;
	}

	.single .related-post-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.blog .gp-featured-image {
		width: 33%;
	}
}

@media (max-width: 991px) {
	.gp-flex-widgets.widget-odd .featuredpost:last-of-type .entry,
	.gp-grid.archive:not(.woocommerce-page) .content .entry {
		width: 50%;
	}

	.gp-author-box .avatar {
		margin-left: 35px;
	}

	.gp-author-box,
	.sidebar .widget {
		padding: 0;
		margin-bottom: 0;
	}

	.gp-featured-image,
	.entry,
	.comment-respond,
	.entry-comments,
	.entry-pings {
		padding: 0;
	}

	.entry-footer {
		margin-left: 0;
	}

	.pagination {
		margin: 5% auto;
	}

	.archive-pagination li a {
		margin-bottom: 4px;
	}

	.gp-five-sixths,
	.gp-four-sixths,
	.gp-one-fourth,
	.gp-one-half,
	.gp-one-sixth,
	.gp-one-third,
	.gp-three-fourths,
	.gp-three-sixths,
	.gp-two-fourths,
	.gp-two-sixths,
	.gp-two-thirds {
		margin: 0;
		width: 100%;
	}

	.gp-flex-widgets .widget-title,
	.gp-flex-widgets .entry-title {
		font-size: 16px;
	}

	.gp-flex-widgets.widget-odd .featuredpost:last-of-type {
		padding-top: 20px;
	}

	.gp-featured-image::before,
	.featuredpost .has-post-thumbnail > a::before {
		left: -15px;
		width: calc(100% + 30px);
	}

	.gp-flex-widgets.widget-odd .featuredpost:last-of-type .entry,
	.gp-grid.archive:not(.woocommerce-page) .content .entry,
	body.blog .content .entry,
	.gp-flex-widgets.widget-odd .featuredpost:last-of-type .widget-title {
		padding-left: 20px;
		padding-right: 20px;
	}

	.gp-flex-widgets.widget-odd .featuredpost:last-of-type .more-posts {
		padding: 0 20px 10px;
	}

	.gp-flex-widgets .featuredpost .entry-title,
	.gp-grid.archive:not(.woocommerce-page) .entry-title,
	body.blog .entry-title {
		font-size: 22px;
	}
}

@media (max-width: 767px) {
	.entry-comments > h3,
	.entry-pings > h3,
	.comment-respond > h3 {
		font-size: 26px;
	}

	blockquote {
		margin-left: 15px;
		margin-right: 15px;
		margin-top: 0;
	}

	blockquote::before {
		position: relative;
		left: -8px;
		height: 80px;
		top: auto;
	}

	.gp-flex-widgets .featuredpost .more-posts,
	.gp-flex-widgets .featuredpost .widget-title {
		padding-left: 0;
		padding-right: 0;
	}

	.gp-featured-image::before,
	.featuredpost .has-post-thumbnail > a::before {
		display: none;
	}

	.single .related-post-grid {
		display: block;
	}

	.single .related-post-grid .related-post-column {
		margin-bottom: 15px;
	}

	body.blog .content article.entry {
		display: block;
		padding: 15px;
	}

	.blog .gp-featured-image {
		margin: 0 0 20px;
		width: 100%;
		flex-shrink: unset;
	}
}

@media (max-width: 600px) {
	.wrap {
		padding: 0;
	}

	.gp-grid.archive:not(.woocommerce-page) .content .entry,
	body.blog .content .entry {
		clear: both;
		float: none;
		position: static;
		padding-left: 0;
		padding-right: 0;
		max-width: none;
		width: 100%;
	}
}


/* ==========================================================================
   Utility Helpers
   ========================================================================== */

.z-index-0 { position: relative; z-index: 0; }
.z-index-1 { position: relative; z-index: 1; }
.z-index-2 { position: relative; z-index: 2; }
.z-index-3 { position: relative; z-index: 3; }
.z-index-4 { position: relative; z-index: 4; }
.z-index-5 { position: relative; z-index: 5; }

iframe {
	margin: 0;
	padding: 0;
	display: block;
}

.wp-block-image img {
	max-width: 100%;
	display: block;
}

.wp-block-image.fullwidth-img img {
	max-width: none;
	width: calc(100% + 40px);
	margin-left: -20px;
}

/* ==========================================================================
   Featured Services
   ========================================================================== */

.featured-services {
	align-items: stretch;
}

.featured-services > .wp-block-column.is-style-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	padding: 0;
}

.featured-services > .wp-block-column.is-style-card > .wp-block-image:first-child {
	margin: 0;
	width: 100%;
}

.featured-services > .wp-block-column.is-style-card > .wp-block-image:first-child img {
	aspect-ratio: 4 / 3;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.featured-services > .wp-block-column.is-style-card > :not(.wp-block-image):not(.wp-block-buttons) {
	padding-left: 32px;
	padding-right: 32px;
}

.featured-services > .wp-block-column.is-style-card > .wp-block-spacer {
	height: 20px !important;
}

.featured-services > .wp-block-column.is-style-card > .wp-block-buttons {
	margin-top: auto;
	padding: 0 32px 32px;
	width: 100%;
}

.featured-services > .wp-block-column.is-style-card > .wp-block-buttons .wp-block-button,
.featured-services > .wp-block-column.is-style-card > .wp-block-buttons .wp-block-button__link {
	width: 100%;
}

.featured-services-card {
	align-items: stretch;
	display: grid !important;
	gap: 24px;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	overflow: visible;
}

.featured-services-card > .wp-block-column.is-style-card {
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	display: flex;
	flex-basis: auto !important;
	flex-grow: 0 !important;
	overflow: visible;
	padding: 0;
	width: auto !important;
}

.benefit-card-icon {
	color: var(--primary);
	display: block;
	height: 72px;
	margin: 0 0 24px;
	width: 72px;
}

.benefit-card-icon svg {
	display: block;
	height: 100%;
	width: 100%;
}

.featured-services-card .wp-block-media-text {
	aspect-ratio: 416 / 550;
	background: #111;
	box-shadow: none;
	display: block;
	height: 100%;
	min-height: clamp(430px, 36vw, 550px);
	overflow: hidden;
	position: relative;
	transform-origin: center bottom;
	transition: box-shadow 260ms ease, transform 260ms ease;
	width: 100%;
}

.featured-services-card .wp-block-media-text::before {
	background: rgba(0, 0, 0, 0.2);
	content: "";
	inset: 0;
	position: absolute;
	transition: 300ms;
	z-index: 2;
}

.featured-services-card .wp-block-media-text__media,
.featured-services-card .wp-block-media-text__media img {
	height: 100%;
	margin: 0;
	width: 100%;
}

.featured-services-card .wp-block-media-text__media img {
	display: block;
	object-fit: cover;
}

.featured-services-card .wp-block-media-text__content {
	align-items: center;
	color: #fff;
	display: flex;
	flex-direction: column;
	inset: 0;
	justify-content: center;
	padding: 120px 30px 54px;
	position: absolute;
	text-align: center;
	transition: transform 260ms ease;
	z-index: 3;
	padding-left: 30px !important;
	padding-right: 30px !important;
	height: 100%;
	justify-content: end;
}

.featured-services-card .wp-block-heading,
.featured-services-card p {
	color: inherit;
	margin-left: auto;
	margin-right: auto;
	max-width: 420px;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.72);
}

.featured-services-card .wp-block-heading {
	font-size: clamp(20px, 1.35vw, 26px);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.12;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.featured-services-card p {
	font-size: clamp(14px, 0.9vw, 16px);
	font-weight: 400;
	line-height: 1.48;
	margin-bottom: 16px;
	overflow: hidden;
	transition: max-height 260ms ease, opacity 220ms ease, transform 220ms ease, margin 220ms ease;
}

.featured-services-card p em {
	font-style: normal;
}

.featured-services-card p:first-of-type {
	-webkit-box-orient: vertical;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	max-height: 64px;
}

.featured-services-card p:nth-of-type(n+2) {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.45;
	max-height: 0;
	opacity: 0;
	transform: translateY(10px);
}

.featured-services-card .wp-block-media-text:hover,
.featured-services-card .wp-block-media-text:focus-within {
	box-shadow: 0 24px 60px rgba(16, 18, 24, 0.2);
	transform: scale(1.035) translateY(-8px);
	z-index: 3;
}

.featured-services-card .wp-block-media-text:hover::before,
.featured-services-card .wp-block-media-text:focus-within::before {
	background: rgba(0, 0, 0, 0.5);
}

.featured-services-card .wp-block-media-text:hover .wp-block-media-text__content,
.featured-services-card .wp-block-media-text:focus-within .wp-block-media-text__content {
	transform: translateY(-20px);
}

.featured-services-card .wp-block-media-text:hover p:first-of-type,
.featured-services-card .wp-block-media-text:focus-within p:first-of-type {
	display: block;
	-webkit-line-clamp: unset;
	max-height: 180px;
}

.featured-services-card .wp-block-media-text:hover p:nth-of-type(n+2),
.featured-services-card .wp-block-media-text:focus-within p:nth-of-type(n+2) {
	max-height: 230px;
	opacity: 1;
	transform: translateY(0);
}

.featured-services-card .wp-block-buttons {
	justify-content: center;
	margin-top: 0;
	width: auto;
}

.featured-services-card .wp-block-button,
.featured-services-card .wp-block-button__link {
	width: auto;
}

.featured-services-card .wp-block-button__link {
	background: #c8a000;
	border-radius: 999px;
	box-shadow: 0 12px 26px rgba(0, 0, 0, 0.24);
	color: #fff;
	font-family: "Inter", sans-serif;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1;
	min-height: 44px;
	min-width: 136px;
	padding: 14px 28px !important;
	text-transform: uppercase;
	transition: background 220ms ease, transform 220ms ease;
}

.featured-services-card .wp-block-button__link:hover,
.featured-services-card .wp-block-button__link:focus {
	background: #d6ad00;
	transform: translateY(-2px);
}

@media (min-width: 1100px) {
	.featured-services-card:has(> .wp-block-column:nth-child(4)) {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.featured-services-card:has(> .wp-block-column:nth-child(5)) {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

@media (min-width: 900px) and (max-width: 1099px) {
	.featured-services-card {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.featured-services-card:has(> .wp-block-column:nth-child(4)) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 781px) {
	.featured-services-card {
		gap: 20px;
		grid-template-columns: 1fr;
	}

	.featured-services-card .wp-block-media-text {
		aspect-ratio: auto;
		min-height: 520px;
	}

	.featured-services-card .wp-block-media-text__content {
		padding: 92px 22px 42px;
	}

	.featured-services-card .wp-block-media-text:hover,
	.featured-services-card .wp-block-media-text:focus-within {
		transform: translateY(-6px);
	}

	.featured-services-card .wp-block-media-text:hover .wp-block-media-text__content,
	.featured-services-card .wp-block-media-text:focus-within .wp-block-media-text__content {
		transform: translateY(-12px);
	}
}

@media (min-width: 992px) {
	html .featured-services-card.wp-block-columns.alignwide .wp-block-column:not(:first-child) {
		 margin-left: 0px;
	}
}


@media (min-width: 1200px) {
	.wp-block-image img {
		image-rendering: -webkit-optimize-contrast;
	}
}

/* ==========================================================================
   GP Spacing Utilities
   ========================================================================== */

.gp-m-0  { margin: 0 !important; }
.gp-mt-0 { margin-top: 0 !important; }
.gp-mr-0 { margin-right: 0 !important; }
.gp-mb-0 { margin-bottom: 0 !important; }
.gp-ml-0 { margin-left: 0 !important; }
.gp-mt-auto { margin-top: auto !important; }
.gp-ml-auto { margin-left: auto !important; }
.gp-mr-auto { margin-right: auto !important; }
.gp-mb-auto { margin-bottom: auto !important; }

.gp-p-0  { padding: 0 !important; }
.gp-pt-0 { padding-top: 0 !important; }
.gp-pr-0 { padding-right: 0 !important; }
.gp-pb-0 { padding-bottom: 0 !important; }
.gp-pl-0 { padding-left: 0 !important; }

@media (min-width: 1200px) {
	.gp-pl-10 { padding-left: 10px !important; }
	.gp-pl-20 { padding-left: 20px !important; }
	.gp-pl-30 { padding-left: 30px !important; }
	.gp-pl-40 { padding-left: 40px !important; }
	.gp-pl-50 { padding-left: 50px !important; }

	.gp-pr-10 { padding-right: 10px !important; }
	.gp-pr-20 { padding-right: 20px !important; }
	.gp-pr-30 { padding-right: 30px !important; }
	.gp-pr-40 { padding-right: 40px !important; }
	.gp-pr-50 { padding-right: 50px !important; }

	.gp-pt-10 { padding-top: 10px !important; }
	.gp-pt-20 { padding-top: 20px !important; }
	.gp-pt-30 { padding-top: 30px !important; }
	.gp-pt-40 { padding-top: 40px !important; }
	.gp-pt-50 { padding-top: 50px !important; }

	.gp-pb-10 { padding-bottom: 10px !important; }
	.gp-pb-20 { padding-bottom: 20px !important; }
	.gp-pb-30 { padding-bottom: 30px !important; }
	.gp-pb-40 { padding-bottom: 40px !important; }
	.gp-pb-50 { padding-bottom: 50px !important; }
}


/* ==========================================================================
   Media Text Layouts
   ========================================================================== */

.wp-block-media-text.alignfull {
	padding: 0 !important;
}

.wp-block-media-text.alignfull > .wp-block-media-text__content > [class*="wp-block-"] > [class*="inner-container"] {
	padding: 0 95px;
}

.wp-block-media-text.fillcolumn > .wp-block-media-text__media,
.wp-block-media-text.alignfull > .wp-block-media-text__media {
	height: 100%;
}

.wp-block-media-text.fillcolumn > .wp-block-media-text__media img,
.wp-block-media-text.alignfull > .wp-block-media-text__media img {
	border-radius: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wp-block-media-text.alignfull.object-position-right > .wp-block-media-text__media img {
	object-position: 100% 50%;
}

.wp-block-media-text.alignfull.object-position-left > .wp-block-media-text__media img {
	object-position: 0% 50%;
}

.wp-block-media-text.alignfull > .wp-block-media-text__content {
	padding: 0;
	height: 100%;
}

.wp-block-media-text.alignfull > .wp-block-media-text__content > [class*="wp-block-"] {
	height: 100%;
	justify-content: flex-start;
	display: flex;
	align-items: center;
}

.wp-block-media-text.alignfull.has-media-on-the-right > .wp-block-media-text__content > [class*="wp-block-"] {
	justify-content: flex-end;
}

@media (min-width: 1600px) {
	.wp-block-media-text.alignfull.has-media-on-the-right > .wp-block-media-text__content > [class*="wp-block-"] > [class*="inner-container"] {
		padding-left: calc(10.45vw + 0px);
	}

	.wp-block-media-text.alignfull:not(.has-media-on-the-right) > .wp-block-media-text__content > [class*="wp-block-"] > [class*="inner-container"] {
		padding-right: calc(10.45vw + 0px);
	}
}

@media (max-width: 1200px) {
	.wp-block-media-text.alignfull > .wp-block-media-text__content > [class*="wp-block-"] > [class*="inner-container"] {
		padding: 0 50px;
	}
}

@media (max-width: 991px) {
	.wp-block-media-text.alignfull {
		display: flex;
		flex-wrap: wrap;
	}

	.wp-block-media-text.alignfull.has-media-on-the-right > div:nth-child(1) {
		order: 2;
	}

	.wp-block-media-text.alignfull.has-media-on-the-right > figure:nth-child(2) {
		order: 1;
	}

	.wp-block-media-text.alignfull > .wp-block-media-text__media {
		position: relative;
		background-image: unset !important;
		width: 100% !important;
	}

	.wp-block-media-text.alignfull > .wp-block-media-text__media img,
	.wp-block-media-text.fillcolumn > .wp-block-media-text__media img {
		position: relative;
		width: 100%;
		height: auto;
		padding: 0;
		margin: 0;
		overflow: unset;
		clip: unset;
		border: 0;
	}

	.wp-block-media-text.alignfull > .wp-block-media-text__content > [class*="wp-block-"] > [class*="inner-container"] {
		padding: 0 30px;
	}
}

@media (max-width: 767px) {
	.wp-block-media-text.alignwide.is-stacked-on-mobile > .wp-block-media-text__media {
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		width: 100vw;
	}

	.wp-block-media-text.alignwide.is-stacked-on-mobile > .wp-block-media-text__media img {
		border-radius: 0;
		display: block;
		width: 100%;
	}

	.wp-block-media-text.alignwide .wp-block-media-text__content {
		padding-left: 0;
		padding-right: 0;
	}

	html .wp-block-media-text.is-stacked-on-mobile {
		grid-template-columns: 100% !important;
	}

	html .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media {
		grid-column: 1;
		grid-row: 1;
	}

	html .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
		grid-column: 1;
		grid-row: 2;
	}
}

@media (max-width: 576px) {
	.wp-block-media-text.alignfull > .wp-block-media-text__content > [class*="wp-block-"] > [class*="inner-container"] {
		padding: 0 30px;
	}

	.wp-block-media-text.alignfull > .wp-block-media-text__content > [class*="wp-block-"] > [class*="inner-container"] > :last-child {
		margin-bottom: 0;
	}

	.wp-block-media-text.alignfull > .wp-block-media-text__content {
		padding: 0;
	}
}

html .alignwide .wp-block-media-text.alignwide {
	max-width: 100% !important;
}

html .alignwide .wp-block-media-text.alignwide.has-media-on-the-right > .wp-block-media-text__content {
	padding-left: 0;
}

html .alignwide .wp-block-media-text.alignwide:not(.has-media-on-the-right) > .wp-block-media-text__content {
	padding-right: 0;
}

html .wp-block-media-text.is-style-img-width-auto .wp-block-media-text__media img {
	width: auto;
	margin: auto;
	max-width: 100%;
}

@media (min-width: 1200px) {
	html .alignwide .wp-block-media-text {
		align-items: center;
		grid-template-columns: calc(50% - 20px) auto;
		grid-column-gap: 40px;
	}

	html .alignwide .wp-block-media-text > .wp-block-media-text__content {
		align-self: center;
		padding-right: 0;
		padding-left: 13%;
		padding-top: 0;
		padding-bottom: 0;
	}

	html .alignwide .wp-block-media-text.has-media-on-the-right {
		grid-template-columns: auto calc(50% - 20px);
	}

	html .alignwide .wp-block-media-text.has-media-on-the-right > .wp-block-media-text__content {
		padding-right: 13%;
		padding-left: 0;
	}
}

@media (max-width: 1199px) {
	.wp-block-media-text.is-stacked-on-tablet-large {
		display: flex;
		flex-direction: column;
	}

	.wp-block-media-text.is-stacked-on-tablet-large.has-media-on-the-right {
		flex-direction: column-reverse;
	}

	.wp-block-media-text.is-stacked-on-tablet-large > .wp-block-media-text__content {
		padding: 50px 0 0;
	}
}

@media (max-width: 991px) {
	.wp-block-media-text.is-stacked-on-tablet {
		display: flex;
		flex-direction: column;
	}

	.wp-block-media-text.is-stacked-on-tablet.has-media-on-the-right {
		flex-direction: column-reverse;
	}

	.wp-block-media-text.is-stacked-on-tablet > .wp-block-media-text__content {
		padding: 50px 0 0;
	}

	.wp-block-media-text .wp-block-media-text__media {
		width: 100%;
	}

	html .wp-block-media-text.is-image-fill .wp-block-media-text__media img {
		position: relative;
		width: 100%;
		height: auto;
		min-height: 100%;
		object-fit: cover;
	}
}


/* ==========================================================================
   Testimonials
   ========================================================================== */

.testimonials .wp-block-group__inner-container {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.testimonials .wp-block-media-text {
	width: calc(25% - 30px * 0.75);
	margin: 50px 0 0 !important;
	display: block;
	border-top: 10px solid var(--primary);
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
}

.testimonials .wp-block-media-text__media {
	border: 2px solid #000;
	border-radius: 50%;
	background-color: #fff;
	padding: 5px;
	position: relative;
	width: 120px;
	height: 120px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: -65px auto 0 !important;
}

.testimonials .wp-block-media-text__media::before {
	content: "";
	border: 2px dashed #000;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 105px;
	height: 105px;
}

.testimonials .wp-block-media-text__media img {
	width: 90px;
	height: 90px;
	border-radius: 50%;
	object-fit: cover;
}

.testimonials .wp-block-media-text__content {
	padding: 20px 30px 30px !important;
}

.testimonials .wp-block-media-text__content::before {
	content: "\f005 \f005 \f005 \f005 \f005";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	text-align: center;
	display: block;
	font-size: 14px;
	letter-spacing: 7px;
	color: #ffd43c;
	margin: 0 auto 20px;
}

@media (max-width: 1440px) {
	.testimonials .wp-block-media-text__content {
		padding: 20px 20px 30px !important;
	}
}

@media (max-width: 1199px) {
	.testimonials .wp-block-media-text {
		width: calc(33.33% - 30px * 0.66667);
	}
}

@media (max-width: 991px) {
	.testimonials .wp-block-media-text {
		width: calc(50% - 30px / 2);
	}
}

@media (max-width: 767px) {
	.testimonials .wp-block-media-text {
		width: 100%;
	}
}


/* ==========================================================================
   FAQ Accordion
   ========================================================================== */

html .gb-block-accordion {
	border: 1px solid #d4d4d4;
	margin: 0 0 -1px !important;
	position: relative;
}

html .gb-block-accordion .gb-accordion-title {
	background: transparent;
	box-sizing: border-box;
	cursor: pointer;
	color: var(--secondary);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.222;
	display: block;
	padding: 12px 20px 12px 45px;
	position: relative;
	width: 100%;
}

html .gb-block-accordion .gb-accordion-title::marker {
	display: none;
}

html .gb-block-accordion .gb-accordion-title::after {
	content: "\2b";
	font-family: "Font Awesome 6 Free";
	position: absolute;
	left: 20px;
	top: 50%;
	width: 1em;
	height: 1em;
	font-size: 1em;
	font-weight: 900;
	display: flex;
	justify-content: center;
	align-items: center;
	transform: translateY(-50%);
}

html .gb-block-accordion details[open] .gb-accordion-title::after {
	content: "\f068";
}

html .gb-block-accordion details[open] .gb-accordion-title {
	border-color: transparent;
}

html .gb-block-accordion .gb-accordion-text {
	padding: 0;
	line-height: 1.6;
}

html .gb-block-accordion .gb-accordion-text ul > li {
	margin-bottom: 0.5em;
}

html .gb-block-accordion .gb-accordion-text > :last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}

html .gb-block-accordion details[open] .gb-accordion-text {
	padding: 15px 20px;
	border-top: 1px solid #d4d4d4;
}

html .gb-block-accordion details[open] .gb-accordion-text > :last-child {
	padding-bottom: 10px;
}

@media (max-width: 767px) {
	html .gb-block-accordion .gb-accordion-title {
		font-size: 18px;
	}

	html .gb-block-accordion .gb-accordion-text {
		font-size: 16px;
	}
}

html .wp-block-accordion {
	margin-left: auto;
	margin-right: auto;
	max-width: 1120px;
}

html .wp-block-accordion-item {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.10);
	border-radius: 8px;
	box-shadow: 0 14px 40px rgba(0, 0, 0, 0.06);
	margin-bottom: 14px;
	overflow: hidden;
}

html .wp-block-accordion-heading {
	margin: 0;
}

html .wp-block-accordion-heading__toggle {
	align-items: center;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: var(--secondary);
	cursor: pointer;
	display: flex;
	font-family: var(--secondaryFontFamily);
	font-size: 24px;
	font-weight: 700;
	gap: 24px;
	justify-content: space-between;
	line-height: 1.25;
	padding: 24px 28px;
	text-align: left;
	width: 100%;
}

html .wp-block-accordion-heading__toggle:focus,
html .wp-block-accordion-heading__toggle:hover {
	background: rgba(0, 0, 0, 0.025) !important;
	color: var(--primary) !important;
}

html .wp-block-accordion-heading__toggle-title {
	display: block;
}

html .wp-block-accordion-heading__toggle-icon {
	align-items: center;
	background: var(--tertiary);
	border-radius: 999px;
	color: var(--secondary);
	display: inline-flex;
	flex: 0 0 36px;
	font-size: 24px;
	height: 36px;
	justify-content: center;
	line-height: 1;
	width: 36px;
}

html .wp-block-accordion-heading__toggle[aria-expanded="true"] {
	background: var(--tertiary) !important;
	color: var(--headingcolor) !important;
}

html .wp-block-accordion-heading__toggle[aria-expanded="true"] .wp-block-accordion-heading__toggle-icon {
	background: var(--secondary);
	color: #fff;
}

html .wp-block-accordion-panel {
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	color: var(--textcolor);
	font-size: 18px;
	line-height: 1.65;
	padding: 24px 28px 28px;
}

html .wp-block-accordion-panel > :last-child {
	margin-bottom: 0;
}

@media (max-width: 767px) {
	html .wp-block-accordion {
		max-width: 100%;
	}

	html .wp-block-accordion-item {
		border-radius: 6px;
		margin-bottom: 10px;
	}

	html .wp-block-accordion-heading__toggle {
		font-size: 18px;
		gap: 16px;
		padding: 18px 18px;
	}

	html .wp-block-accordion-heading__toggle-icon {
		flex-basis: 30px;
		font-size: 20px;
		height: 30px;
		width: 30px;
	}

	html .wp-block-accordion-panel {
		font-size: 16px;
		padding: 18px;
	}
}


/* ==========================================================================
   Gallery Link Section
   ========================================================================== */

html .pswp__bg {
	background-color: #000;
	opacity: 0.9 !important;
}

.gallery-link-title {
	margin: 0;
	font-size: 5em;
	line-height: 0.9;
}

.gallery-link-title strong {
	font-size: 0.7em !important;
}

.gallery-link-wrapper {
	background-color: #f0f0f0;
}

.gallery-link {
	padding: 0 50px !important;
}

.gallery-link a,
.gallery-link a:focus {
	color: inherit !important;
}

.gallery-link .gb-block-layout-column-inner {
	padding: 30px 60px;
	background-color: color-mix(in srgb, var(--primary) 85%, transparent) !important;
}

.gallery-link ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.gallery-link ul > li {
	list-style: none;
	margin: 1px 0;
	padding: 0;
}

.gallery-link ul > li:not(:first-child) {
	border-top: 1px solid;
}

.gallery-link ul > li a {
	padding: 40px 50px;
	font-size: 18px;
	line-height: 1.2;
	text-transform: uppercase;
	display: block;
	position: relative;
	text-decoration: none;
	letter-spacing: 1px;
	font-weight: 400;
}

.gallery-link ul > li a:hover {
	color: rgba(255, 255, 255, 0.8) !important;
	transition: ease-in-out 0.2s;
}

.gallery-link ul > li a::before,
.gallery-link ul > li a::after {
	font-size: 1.3em;
	font-weight: 900;
	font-family: "Font Awesome 6 Free";
	display: block;
	width: 1em;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	margin-top: -0.02em;
}

.gallery-link ul > li a::before {
	content: "\f302";
	left: 0;
}

.gallery-link ul > li a::after {
	content: "\f054";
	right: 15px;
	transition: ease-in-out 0.2s;
}

.gallery-link ul > li a::before,
.gallery-link ul > li a::after {
	color: #fff !important;
}

.gallery-link ul > li a:hover::after {
	right: 0;
}

@media (max-width: 1199px) {
	.gallery-link-title {
		font-size: 4em;
	}
}

@media (max-width: 991px) {
	.global-spacer-gallery {
		height: 100px !important;
	}
}

@media (max-width: 576px) {
	.gallery-link-title {
		font-size: 2.5em;
	}

	.gallery-link {
		padding: 0 30px !important;
	}

	.global-spacer-gallery {
		height: 50px !important;
	}

	.gallery-link-wrapper .wp-block-cover__image-background {
		object-position: 70% 0% !important;
	}

	.gallery-link .gb-block-layout-column-inner {
		padding: 10px 20px;
	}

	.gallery-link ul > li a {
		padding: 15px 35px;
		font-size: 13px;
	}

	.gallery-link ul > li a:not(:hover)::after {
		right: 5px;
	}
}

@media (max-width: 359px) {
	.gallery-link {
		padding: 0 20px !important;
	}

	.gallery-link ul > li a {
		font-size: 13px;
		letter-spacing: 0.5px;
	}
}


/* ==========================================================================
   Footer / Footer Widgets
   ========================================================================== */

/* Semi Footer / Action Pack
--------------------------------------------- */
.semi-footer {
	background: linear-gradient(
		160deg,
		var(--headingcolor) 0%,
		color-mix(in srgb, var(--headingcolor) 78%, #000) 100%
	);
	color: var(--lightcolor);
	overflow: hidden;
	padding-block: clamp(4rem, 8vw, 6rem);
	position: relative;
	padding: 20px;
}

.semi-footer__inner {
	margin-inline: auto;
	max-width: var(--wrapWidth, 1200px);
	/*padding-inline: 20px;*/
	position: relative;
	width: 100%;
	z-index: 1;
}

.semi-footer .disclaimer{
	font-size: 14px !important;
	text-align: left;
}
.semi-footer__widget {
	width: 100%;
}

.semi-footer .action-pack__grid {
	align-items: start;
	display: grid;
	gap: clamp(2rem, 5vw, 4rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
}

.semi-footer .eyebrow {
	color: var(--primary);
	margin: 0;
}

.semi-footer h1,
.semi-footer h2 {
	color: var(--lightcolor);
}

.semi-footer .action-pack__body h2 {
	margin: 0.75rem 0 0;
}

.semi-footer .action-pack__body > p:not(.eyebrow) {
	color: rgba(245, 247, 247, 0.82);
	margin: 1.25rem 0 0;
}

.semi-footer .action-pack__points {
	display: grid;
	gap: 0.75rem;
	margin: 1.5rem 0 0;
}

.semi-footer .action-pack__points > li {
	color: rgba(245, 247, 247, 0.9);
	font-size: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
	margin: 0;
}

.semi-footer .action-pack__form-column {
	min-width: 0;
	width: 100%;
}

.semi-footer .action-pack__form-card.is-style-card {
	color: var(--textcolor);
	padding: clamp(1.5rem, 3vw, 2.5rem);
	width: 100%;
}

.semi-footer .action-pack__form-card h3 {
	color: var(--headingcolor);
	margin: 0;
}

.semi-footer .action-pack__form-card .ep-iFrameContainer,
.semi-footer .action-pack__form-card .ep-wrapper {
	border-radius: 0.5rem !important;
	overflow: hidden;
	width: 100%;
}

.semi-footer .action-pack__form-card iframe {
	background-color: var(--lightcolor);
	border: 0;
	border-radius: 0.5rem;
	display: block;
	min-height: 548px;
	width: 100%;
}

.semi-footer .action-pack__form-card .disclaimer {
	color: color-mix(in srgb, var(--textcolor) 58%, transparent) !important;
	font-size: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem) !important;
	line-height: 1.5;
	margin: 1rem 0 0;
}

.semi-footer .action-pack__form-card .disclaimer a {
	color: inherit;
}
.semi-footer ul.is-style-checklist > li::before{
	background-color: transparent !important;
	color: var(--primary);
}

.semi-footer h3{
	font-size: 24px;
}
@media (max-width: 860px) {
	.semi-footer .action-pack__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 480px) {
	.semi-footer__inner {
		/*padding-inline: 16px;*/
		/*padding: 0 20px;*/
	}

	.semi-footer .action-pack__form-card.is-style-card {
		padding: 1.25rem;
	}
}

.site-footer {
	background: #143f49;
	color: rgba(245, 247, 247, 0.78);
	text-align: left;
}

.site-footer.footer .inside-site-info {
	display: block;
	padding: 64px 0px 40px;
}

.site-footer.footer .footer-bar,
.site-footer.footer .footer-bar .widget,
.site-footer.footer .footer-bar .widget_block {
	margin: 0;
	width: 100%;
}

.site-footer.footer .footer-bar .footer-bar-layout {
	align-items: start;
	border-bottom: 1px solid rgba(245, 247, 247, 0.14);
	display: grid;
	gap: 48px;
	grid-template-columns: minmax(0, 1.5fr) minmax(180px, 0.75fr) minmax(240px, 1fr);
	margin: 0;
	padding-bottom: 40px;
	width: 100%;
}

.site-footer.footer .footer-bar .footer-bar-layout > .wp-block-column {
	margin: 0;
	min-width: 0;
}

.site-footer.footer .footer-bar .footer-logo {
	margin: 0;
	text-align: left;
}

.site-footer.footer .footer-bar .footer-logo img {
	display: block;
	height: auto;
	max-width: none;
	padding: 0;
	background: transparent;
	border-radius: 0;
	width: 120px;
}

.site-footer.footer .footer-bar .footer-brand > p {
	font-size: 12px;
	line-height: 1.65;
	margin: 16px 0 0;
	max-width: 34ch;
}

.site-footer.footer .footer-bar .footer-link-column h3 {
	color: rgba(245, 247, 247, 0.55);
	font-family: var(--primaryFontFamily);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.4;
	margin: 0 0 16px;
	text-transform: uppercase;
}

.site-footer.footer .footer-bar .footer-links {
	display: grid;
	gap: 12px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-footer.footer .footer-bar .footer-links > li,
.site-footer.footer .footer-bar .footer-link-column > p {
	font-size: 14px;
	line-height: 1.5;
	margin: 0;
}

.site-footer.footer .footer-bar .footer-link-column a,
.site-footer.footer .footer-bar .footer-links a {
	color: rgba(245, 247, 247, 0.85);
	text-decoration: none;
	transition: color 0.2s ease;
}

.site-footer.footer .footer-bar .footer-link-column a:hover,
.site-footer.footer .footer-bar .footer-link-column a:focus,
.site-footer.footer .footer-bar .footer-links a:hover,
.site-footer.footer .footer-bar .footer-links a:focus {
	color: var(--primary);
}

.site-footer.footer .footer-bar .footer-meta {
	margin: 0;
}

.site-footer.footer .footer-bar .footer-disclaimer {
	color: rgba(245, 247, 247, 0.55);
	font-size: 12px;
	line-height: 1.65;
	margin: 32px 0 0;
	max-width: 90ch;
}

.site-footer.footer .footer-bar .footer-copyright {
	color: rgba(245, 247, 247, 0.55);
	font-size: 12px;
	line-height: 1.65;
	margin: 16px 0 0;
}

@media (max-width: 991px) {
	.site-footer.footer .footer-bar .footer-bar-layout {
		gap: 40px 32px;
		grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(180px, 1fr));
	}
}

@media (max-width: 767px) {
	.site-footer.footer .inside-site-info {
		padding: 48px 0px 32px;
	}

	.site-footer.footer .footer-bar .footer-bar-layout {
		gap: 32px;
		grid-template-columns: 1fr;
		padding-bottom: 32px;
	}

	.site-footer.footer .footer-bar .footer-brand > p {
		max-width: 42ch;
	}

	.site-footer.footer .footer-bar .footer-disclaimer {
		margin-top: 24px;
	}
}

.footer-widgets {
	text-align: left;
	clear: both;
	font-size: 16px;
	line-height: 1.5;
	background-color: #fff;
	border-top: 1px solid rgba(0, 0, 0, 0.02);
	padding: 0 20px 30px;
}

.footer-widgets a {
	color: var(--primary);
	text-decoration: none;
}

.footer-widgets a:hover {
	text-decoration: underline;
}

.footer-widgets a:hover img {
	opacity: 0.5;
	transition: ease-in-out 0.3s;
}

.footer-widgets .widget-column {
	padding: 75px 0;
}

.footer-widgets .widget .widgettitle,
.footer-widgets .widget .widget-title {
	font-size: inherit;
	font-weight: 600;
	margin: 0 0 1em;
}

.footer-widgets .widget ul {
	font-weight: 600;
}

.footer-widgets .widget ul.menu-list a:not(:hover) {
	color: inherit;
}

.footer-widgets .widget ul i {
	margin-right: 10px;
	color: var(--primary);
	font-size: 1em;
}

.footer-widgets .widget p {
	margin-bottom: 10px;
}

.footer-widgets .widget .copyright {
	padding: 20px 0;
}

.footer-widgets .widget .copyright p {
	margin-bottom: 0;
}

.footer-widgets .widget-column .gb-layout-column-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.footer-widgets .widget-column .gb-block-layout-column {
	width: auto;
	flex: 1 1 auto;
}

.footer-widgets .widget-column .gform_legacy_markup_wrapper,
.footer-widgets .widget-column li.gfield {
	margin: 25px 0 0 !important;
	padding: 0 !important;
}

.footer-widgets .widget-column div.ginput_container {
	margin: 0 !important;
	padding: 0 !important;
}

.footer-widgets .widget-column input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]) {
	border: 1px solid #cdcdcd;
	padding: 9px 13px !important;
	margin: 0 !important;
	font-weight: 700;
	width: 100%;
}

.footer-widgets .widget-column input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"])::placeholder {
	color: #cdcdcd;
}

.footer-widgets .widget-column input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]):focus {
	border-color: #232323;
}

.footer-widgets .widget-column input:not([type="radio"]):not([type="checkbox"]):not([type="image"]):not([type="file"]) {
	line-height: unset !important;
}

.footer-widgets .widget-column .gform_footer {
	padding: 0;
	margin: 25px 0 0;
}

.footer-widgets .widget-column .gform_legacy_markup_wrapper div.validation_error {
	padding: 10px;
}

@media (min-width: 1680px) {
	.footer-widgets .widget-column .gb-block-layout-column.footer-logo {
		width: 430px;
		flex: 0 0 auto;
	}

	.footer-widgets .widget-column .gb-block-layout-column.footer-newsletter {
		width: 307px;
		flex: 0 0 auto;
	}
}

@media (max-width: 1199px) {
	.footer-widgets .widget-column .gb-block-layout-column.footer-logo {
		width: 100%;
	}
}

@media (max-width: 767px) {
	.footer-widgets {
		padding-bottom: 70px;
	}

	.footer-widgets .widget-column {
		padding: 50px 0 0;
	}
}

@media (max-width: 567px) {
	.footer-widgets .widget-column .gb-block-layout-column {
		width: 100%;
		text-align: center;
	}

	.footer-widgets .widget-column .gb-block-layout-column:not(:first-child):not(.menu-1) {
		margin-bottom: 50px !important;
	}

	.footer-widgets .widget-column .gb-block-layout-column.footer-logo img {
		margin: auto;
	}
}


/* ==========================================================================
   Popup Maker
   ========================================================================== */

.pum-container.size-custom {
	max-width: 90% !important;
}

.pum-theme-enterprise-blue .pum-content + .pum-close:hover {
	color: var(--secondary);
}

/* ==========================================================================
   Proof Strip
   ========================================================================== */
.entry-content > .wp-block-group.alignfull.proof {
	background-color: var(--lightcolor);
	/*padding: 20px;*/
	/*border-bottom: 1px solid color-mix(in srgb, var(--textcolor) 12%, transparent);*/
	/*border-top: 1px solid color-mix(in srgb, var(--textcolor) 12%, transparent);*/
}

.proof .proof__grid {
	display: grid;
	gap: 2rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding-block: 3rem;
}

.proof .proof__item {
	align-items: flex-start;
	display: flex;
	gap: 1rem;
	margin: 0;
	min-width: 0;
}

.proof .proof__icon {
	color: var(--primary);
	flex: none;
	line-height: 0;
	margin-top: 0.15em;
}

.proof .proof__icon svg {
	display: block;
	height: 22px;
	width: 22px;
}

.proof .proof__title {
	color: var(--headingcolor);
	font-family: var(--secondaryFontFamily);
	font-weight: 700;
	margin: 0;
}

.proof .proof__text {
	color: color-mix(in srgb, var(--textcolor) 72%, transparent);
	font-size: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
	margin: 0;
}

.proof .proof__cfa {
	margin: 1rem 0 0;
	width: 126px;
}

.proof .proof__cfa img {
	display: block;
	height: auto;
	width: 126px;
}

@media (max-width: 860px) {
	.proof .proof__grid {
		gap: 1.5rem;
		grid-template-columns: 1fr;
	}
}

/* Tables
--------------------------------------------- */
table { background-color:transparent; width:100%; margin-bottom:15px; font-size:.9em; border-spacing:0; border-collapse:collapse }
table td,
table th { padding:15px; line-height:1.5; vertical-align:top; border:1px solid hsla(0,0%,50.2%,.5019607843137255) }
table th { font-weight:700 }
table tfoot th,
table thead th { font-size:1em }
table caption+thead tr:first-child td,
table caption+thead tr:first-child th,
table colgroup+thead tr:first-child td,
table colgroup+thead tr:first-child th,
table thead:first-child tr:first-child td,
table thead:first-child tr:first-child th { border-top:1px solid hsla(0,0%,50.2%,.5019607843137255) }
table tbody>tr:nth-child(odd)>td,
table tbody>tr:nth-child(odd)>th { background-color:hsla(0,0%,50.2%,.07058823529411765) }
table tbody tr:hover>td,
table tbody tr:hover>th { background-color:hsla(0,0%,50.2%,.10196078431372549) }
table tbody+tbody { border-top:2px solid hsla(0,0%,50.2%,.5019607843137255) }
@media (max-width:767px) {
	table table { font-size:.8em }
	table table td,
	table table th { padding:7px; line-height:1.3 }
	table table th { font-weight:400 }
}
