:root {

	/* ============================================================
	   THEME VARIABLES
	   ============================================================ */

	/* -- Color Palette -- */

	--color-galaxy-blue: #363667;
	--color-lake-blue: #5D98B9;
	--color-brilliance: #F9FAFB;
	--color-shadow-black: #4A5565;
	--color-midnight-black: #101828;
	--color-lilac-white: #E5E7EB;
	--color-white: #ffffff;

	/* -- Color Roles -- */

	--color-primary: var(--color-galaxy-blue);
	--color-secondary: var(--color-lake-blue);
	--color-accent-1: var(--color-lake-blue);
	--color-background-light: var(--color-brilliance);
	--color-background-dark: var(--color-midnight-black);
	--color-background-dark-pair: color-mix(in srgb, var(--color-background-dark) 5%, transparent);
	--color-border: var(--color-lilac-white);
	--color-text: var(--color-shadow-black);
	--color-text-link: var(--color-lake-blue);
	--color-headings: var(--color-midnight-black);
	--color-white-ui: var(--color-white);

	--color-primary-tint-10: color-mix(in srgb, var(--color-primary) 10%, transparent);
	--color-secondary-tint-20: color-mix(in srgb, var(--color-secondary) 20%, transparent);

	/* -- Typography -- */

	--font-family: "Inter", sans-serif;
	--font-family-headings: "Inter", sans-serif;
	--font-family-secondary: "Inter", sans-serif;

	--font-size-small: 16px;
	--font-size-medium: clamp(16px, 15.333px + 0.178vw, 18px);
	--font-size-large: clamp(18px, 17.333px + 0.178vw, 20px);
	--font-size-x-large: clamp(24px, 20px + 1.067vw, 36px); /* h3 font size */
	--font-size: var(--font-size-medium);

	--line-height-medium: 1.5;
	--line-height-large: 1.6;
	--line-height: var(--line-height-medium); /* backwards compatible */

	/* -- Spacing -- */

	--spacing-x-small: 24px;
	--spacing-small: 33px;
	--spacing-medium: clamp(30px, 18.333px + 3.111vw, 65px);
	--spacing-x-large: clamp(50px, 14px + 9.6vw, 130px);

	/* -- Layout -- */

	--width-small: 670px;
	--width-medium: 800px;
	--width-large: 1200px;
	--width-x-large: 1500px;

	--block-padding-x: 5%;
	--block-padding-y: var(--spacing-x-large);
	--side-spacing: var(--block-padding-x); /* backwards compatible */

	--gap-none: 0;
	--gap-small: 24px;
	--gap-medium: 32px;
	--gap-large: 48px;
	--gap-x-large: 64px;
	--gap-3x-large: clamp(60px, 33.333px + 7.111vw, 140px);

	/* -- Borders -- */

	--border-radius-none: 0;
	--border-radius-small: 14px;
	--border-radius-medium: 16px;
	--border-radius-large: 24px;
	--border-radius: var(--border-radius-large); /* backwards compatible */

	/* -- Motion -- */

	--transition: all 0.2s ease-in-out;

	/* ============================================================
	   SHARED BLOCK VARIABLES
	   ============================================================ */

	--inner-content-width: var(--width-large);

	/* -- Shared: layout boxed -- */
	
	--layout-boxed-width: 90%;
	--layout-boxed-max-width: var(--width-x-large);
	--layout-boxed-border: 1px solid var(--color-border);
	--layout-boxed-border-radius: var(--border-radius-large);

	/* -- Shared: top content -- */

	--top-content-width: var(--width-small);
	--top-content-margin-bottom: var(--spacing-medium);
	--top-content-text-size: var(--font-size);
	--top-content-text-line-height: var(--line-height-large);

	/* -- Shared: cards -- */

	--card-grid-column-gap: var(--gap-small);
	--card-grid-row-gap: var(--gap-small);
	--card-padding: var(--spacing-small);
	--card-border: 1px solid var(--color-border);
	--card-radius: var(--border-radius-medium);
	--card-icon-size: 56px;
	--card-icon-radius: var(--border-radius-small);
	--card-icon-background: var(--color-primary-tint-10);
	--card-heading-size: var(--font-size-large);
	--card-text-size: var(--font-size-small);
	--card-text-line-height: var(--line-height-large);
	--card-text-link-weight: 500;

	/* -- Shared: images -- */

	--image-border: 1px solid var(--color-border);
	--image-radius: var(--border-radius-medium);
	--image-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.10), 0 8px 10px -6px rgba(0, 0, 0, 0.10);
		


	/* ============================================================
	   BLOCK VARIABLES
	   ============================================================ */

	/* -- Hero -- */

	--hero-design-1-content-width: var(--width-medium);
	--hero-design-1-padding: var(--block-padding-y) var(--block-padding-x);
	--hero-design-1-min-height: 380px;
	--hero-design-1-background-opacity: 0.1;
	--hero-design-2-padding: var(--spacing-x-large) var(--block-padding-x);
	--hero-design-2-min-height: 70vh;
	--hero-subheader-size: clamp(18px, 14.667px + 0.889vw, 28px);

	/* -- Large Cards Grid -- */

	--large-card-top-content-width: var(--top-content-width);
	--large-card-grid-column-gap: var(--card-grid-column-gap);
	--large-card-grid-row-gap: var(--card-grid-row-gap);
	--large-card-radius: var(--card-radius);
	--large-card-padding: var(--card-padding);
	--large-card-four-columns-padding: var(--spacing-small) var(--spacing-x-small);
	--large-card-icon-size: var(--card-icon-size);
	--large-card-icon-radius: var(--card-icon-radius);
	--large-card-icon-background: var(--card-icon-background);
	--large-card-heading-size: var(--card-heading-size);
	--large-card-text-size: var(--card-text-size);
	--large-card-text-line-height: var(--card-text-line-height);

	/* -- Small Cards Grid -- */

	--small-cards-container-column-gap: var(--gap-x-large);
	--small-cards-container-row-gap: var(--gap-medium);
	--small-cards-grid-column-gap: var(--card-grid-column-gap);
	--small-cards-grid-row-gap: var(--card-grid-row-gap);
	--small-cards-grid-card-border: var(--card-border);
	--small-cards-grid-card-radius: var(--card-radius);
	--small-cards-grid-card-padding: var(--card-padding);
	--small-cards-grid-card-icon-small-size: var(--card-icon-size);
	--small-cards-grid-card-icon-small-background: var(--card-icon-background);
	--small-cards-grid-card-icon-small-radius: var(--card-icon-radius);
	--small-cards-grid-card-icon-large-size: var(--card-icon-size);
	--small-cards-grid-card-heading-size: var(--card-heading-size);
	--small-cards-grid-card-text-size: var(--card-text-size);
	--small-cards-grid-card-text-line-height: var(--card-text-line-height);

	/* -- Team Grid -- */

	--team-grid-top-content-width: var(--width-medium);
	--team-grid-column-gap: var(--gap-medium);
	--team-grid-row-gap: var(--gap-medium);
	--team-grid-card-background: var(--color-background-light);
	--team-grid-card-radius: var(--card-radius);
	--team-grid-card-border: var(--card-border);
	--team-grid-card-padding: var(--card-padding);
	--team-grid-image-radius: var(--border-radius-small);
	--team-grid-name-color: var(--color-headings);
	--team-grid-name-size: var(--card-heading-size);
	--team-grid-position-color: var(--color-secondary);
	--team-grid-position-size: var(--font-size-small);
	--team-grid-position-weight: 500;
	--team-grid-excerpt-size: var(--card-text-size);
	--team-grid-excerpt-line-height: var(--line-height-medium);

	/* -- Features & Image Columns -- */

	--faic-container-column-gap: var(--gap-x-large);
	--faic-container-row-gap: var(--gap-medium);
	--faic-feature-icon-size: var(--card-icon-size);
	--faic-feature-icon-background: var(--card-icon-background);
	--faic-feature-icon-radius: var(--card-icon-radius);
	--faic-feature-heading-size: var(--card-heading-size);
	--faic-feature-text-size: var(--card-text-size);
	--faic-feature-text-line-height: var(--card-text-line-height);
	--faic-image-border: var(--image-border);
	--faic-image-radius: var(--image-radius);
	--faic-image-shadow: var(--image-shadow);

	/* -- Accordion -- */

	--accordion-one-column-inner-width: var(--width-medium);
	--accordion-two-columns-inner-width: var(--width-large);
	--accordion-three-columns-inner-width: var(--width-x-large);
	--accordion-top-content-width: var(--top-content-width);
	--accordion-column-gap: var(--gap-medium);
	--accordion-row-gap: 17px;
	--accordion-item-background: var(--color-background-light);
	--accordion-item-toggle-color: var(--color-secondary);
	--accordion-item-border-radius: var(--border-radius-medium);
	--accordion-item-border-top-first-child: 1px solid var(--color-border);
	--accordion-item-border-top: 1px solid var(--color-border);
	--accordion-item-border-right: 1px solid var(--color-border);
	--accordion-item-border-bottom: 1px solid var(--color-border);
	--accordion-item-border-left: 1px solid var(--color-border);
	--accordion-item-header-size: var(--font-size-medium);
	--accordion-item-header-line-height: var(--line-height-medium);
	--accordion-item-header-weight: 500;
	--accordion-item-header-color: var(--color-headings);
	--accordion-item-header-padding: 24px 94px 24px 32px;
	--accordion-item-text-padding: 8px 32px 24px;
	--accordion-item-text-size: var(--font-size-small);
	--accordion-item-text-line-height: var(--line-height-large);

	/* -- Call to Action -- */

	--cta-block-padding-y: var(--spacing-medium);
	--cta-border: var(--layout-boxed-border);
	--cta-inner-content-width: var(--width-medium);

	/* -- Testimonial Grid -- */

	--testimonial-grid-top-content-width: var(--top-content-width);
	--testimonial-grid-column-gap: var(--gap-medium);
	--testimonial-grid-row-gap: var(--gap-medium);
	--testimonial-grid-card-border: var(--card-border);
	--testimonial-grid-card-radius: var(--card-radius);
	--testimonial-grid-card-padding: clamp(33px, 30.333px + 0.711vw, 41px) clamp(24px, 18.333px + 1.511vw, 41px) clamp(33px, 27.667px + 1.422vw, 49px);
	--testimonial-grid-card-color: var(--color-headings);
	--testimonial-grid-card-size: var(--font-size-large);
	--testimonial-grid-card-line-height: var(--line-height-large);	

	/* -- Testimonial Slider -- */

	--testimonial-slider-content-width: var(--width-medium);
	--testimonial-slider-heading-size: var(--font-size-x-large);
	--testimonial-slider-text-size: var(--font-size-medium);
	--testimonial-slider-text-line-height: var(--line-height-large);
	--testimonial-slider-author-size: var(--font-size-small);
	--testimonial-slider-author-line-height: var(--line-height-medium);

	/* -- Carousel Slider -- */

	--carousel-slider-radius: var(--border-radius-large);
	--carousel-slider-border: var(--card-border);
	--carousel-slider-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.08);
	--carousel-slider-text-padding: var(--card-padding);

	/* -- Contact Details -- */

	--contact-details-top-content-width: var(--top-content-width);
	--contact-details-column-gap: var(--gap-x-large);
	--contact-details-row-gap: var(--gap-medium);
	--contact-details-cards-column-gap: var(--gap-medium);
	--contact-details-cards-row-gap: var(--gap-medium);

	/* -- Form & Content -- */

	--fac-block-column-gap: var(--gap-x-large);
	--fac-block-row-gap: var(--gap-medium);
	--fac-block-form-padding: var(--spacing-medium);
	--fac-block-form-radius: var(--border-radius-medium);
	--fac-block-form-border: var(--card-border);
	--fac-block-content-padding: 40px 0 0;

	/* -- Media & Content -- */

	--media-content-column-gap: var(--gap-x-large);
	--media-content-row-gap: var(--gap-medium);
	--media-content-image-border: var(--image-border);
	--media-content-image-radius: var(--image-radius);
	--media-content-image-shadow: var(--image-shadow);
	--media-content-icon-background: var(--color-secondary-tint-20);
	--media-content-icon-box-size: 64px;
	--media-content-icon-size: 32px;
	--media-content-icon-radius: var(--border-radius-medium);

	/* -- Trust Logos -- */

	--trust-logos-padding-y: var(--spacing-medium);
	--trust-logos-inner-content-width: var(--inner-content-width);
	--trust-logos-grid-column-gap: clamp(20px, -5px + 5vw, 50px);
	--trust-logos-grid-row-gap: 10px;
	--trust-logos-image-height: 70px;
	--trust-logos-image-width: 300px;

	/* Video Embed */

	--video-embed-video-radius: var(--border-radius-large);
	--video-embed-video-shadow: var(--image-shadow);

}




/* Admin Block Styles - ORGANIZE THESE LATER
---------------------------------------------------------------------------- */

body .editor-styles-wrapper .wp-block:not(.editor-post-title) {
	max-width: 100%;
}

body .editor-styles-wrapper {
	box-sizing: border-box;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}



/* New Styles for Block Theme - ORGANIZE THESE LATER
---------------------------------------------------------------------------- */

body {
	font-family: var(--font-family);
	font-size: var(--font-size);
	line-height: var(--line-height);
	color: var(--color-text);
	font-optical-sizing: auto;
	text-wrap: pretty;
}

/* font styles */

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-family-headings);
	color: var(--color-headings);
	font-weight: 500;
}

h1 {
	font-size: clamp(38px, 30.667px + 1.956vw, 60px);
	line-height: 1.05;
}

h2 {
	font-size: clamp(32px, 26.667px + 1.422vw, 48px);
	line-height: 1;
}

h3 {
	font-size: clamp(24px, 20px + 1.067vw, 36px);
	line-height: 1.1;
	font-weight: 600;
}

h4 {
	font-size: 20px;
	line-height: 28px;
	font-weight: 600;
}


.small-heading {
	font-family: var(--font-family);
	color: var(--color-text);
	font-size: var(--font-size-small);
	line-height: var(--line-height-small);
	text-transform: uppercase;
	letter-spacing: var(--letter-spacing-small);
	font-weight: var(--font-weight-bold);
	margin: 0 0 30px;
}

.preheading,
.bg-light .preheading,
.bg-color-white .preheading {
	display: flex;
	flex-wrap: nowrap;
	gap: 8px;
	font-family: var(--font-family-secondary);
	color: var(--color-primary);
	font-size: 16px;
	line-height: 24px;
	text-transform: none;
	letter-spacing: 0;
	font-weight: 600;
	margin: 0 0 24px;
}

.preheading svg {
	margin-top: 4px;
}

.blog article .preheading,
.archive article .preheading {
	font-size: var(--font-size);
}

.subheader {
	font-family: var(--font-family);
	color: var(--color-text);
	font-size: clamp(18px, 16.667px + 0.356vw, 22px);
	line-height: var(--line-height-medium);
	text-transform: none;
	font-style: normal;
	font-weight: 400;
	margin: 0 0 24px;
}

/* flexbox */

.flex-order-1 {
	order: 1;
}

.flex-order-2 {
	order: 2;
}

/* block margins & spacing */

.block-spacing-top {
	margin-top: var(--spacing-x-large);
}

.block-spacing-bottom {
	margin-bottom: var(--spacing-x-large);
}

.alignfull:not(.block-spacing-bottom):has(> :not(.has-background, .block-call-to-action, .block-hero)) + .alignfull:not(.block-spacing-top) > :not(.has-background),
.layout-fullwidth:not(.block-spacing-bottom):has(> :is(.bg-light, .bg-color-brilliance):not(.block-call-to-action)) + .layout-fullwidth:not(.block-spacing-top) > :is(.bg-light, .bg-color-brilliance) {
    padding-top: 0;
}

.entry-content > *:first-child {
	margin-top: 0 !important;
}

.layout-boxed + p,
.layout-fullwidth + p {
	margin-top: 40px;
}


/* buttons */

.inner-block-buttons {
	display: flex;
	flex-wrap: wrap;
	column-gap: 20px;
	row-gap: 20px;
	margin-top: 35px;
}

.inner-block-buttons .button,
.gform_wrapper input[type="submit"],
.editor-styles-wrapper .inner-block-buttons .button,
.site-container .wp-block-button .wp-block-button__link {
	background: var(--color-primary);
	color: #fff;
	font-family: var(--font-family);
	font-size: 16px;
	line-height: 24px;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	text-decoration: none !important;
	text-align: center;
	border: 2px solid var(--color-primary);
	border-radius: 999px !important;
	padding: 17px 33px;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 10px 15px -3px rgba(54, 54, 103, 0.30), 0 4px 6px -4px rgba(54, 54, 103, 0.30);
	cursor: pointer;
	position: relative;
}

.inner-block-buttons .button:nth-child(1)::after {
	content: '';
	display: inline-block;
	width: 16px;
	height: 11px; 
	background-color: currentColor; /* follows text color automatically */
	-webkit-mask: url("data:image/svg+xml,%3Csvg width='16' height='11' viewBox='0 0 16 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 5.5H15M15 5.5L9.75 1M15 5.5L9.75 10' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;
	mask: url("data:image/svg+xml,%3Csvg width='16' height='11' viewBox='0 0 16 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 5.5H15M15 5.5L9.75 1M15 5.5L9.75 10' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;
	margin-left: 8px;
}

.inner-block-buttons .button:not(:nth-child(1)),
.inner-block-buttons .button.button-secondary,
body .gform_wrapper .gform-theme-button--secondary {
	color: var(--color-headings);
	border-radius: 33554428px;
	border: 1px solid #D1D5DC;
	background: #F3F4F6;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: none !important;
}

.gform_wrapper input[type="submit"],
.gform_wrapper input.gform_next_button,
.gform_wrapper input.gform_previous_button {
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.gform_wrapper input.gform_next_button:hover,
.gform_wrapper input.gform_next_button:focus,
.gform_wrapper input.gform_previous_button:hover,
.gform_wrapper input.gform_previous_button:focus {
	transform: scale(1.03);
}

.inner-block-buttons .button:hover,
.inner-block-buttons .button:focus,
.gform_wrapper input[type="submit"]:hover,
.gform_wrapper input[type="submit"]:focus,
.editor-styles-wrapper .inner-block-buttons .button:hover,
.editor-styles-wrapper .inner-block-buttons .button:focus,
.site-container .wp-block-button .wp-block-button__link:hover,
.site-container .wp-block-button .wp-block-button__link:focus {
	text-decoration: none !important;
	background: #4a4a8a;
	border: 2px solid #4a4a8a;
	color: #fff;
	box-shadow: 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 25px 50px -12px color-mix(in oklab, oklab(35.8656% .0164075 -.081742/.6) 100%, transparent);
	transform: scale(1.03);
}

.inner-block-buttons .button:not(:nth-child(1)):hover,
.inner-block-buttons .button:not(:nth-child(1)):focus,
.inner-block-buttons .button.button-secondary:hover,
.inner-block-buttons .button.button-secondary:focus,
body .gform_wrapper .gform-theme-button--secondary:hover,
body .gform_wrapper .gform-theme-button--secondary:focus {
	color: var(--color-headings);
	background-color: #e5e7eb;
	border: 1px solid #5d98b9;
	box-shadow: 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 20px 25px -5px color-mix(in oklab,oklab(65.2219% -.0460557 -.0640856/.2) 100%, transparent), 0 8px 10px -6px color-mix(in oklab,oklab(65.2219% -.0460557 -.0640856/.2) 100%, transparent) !important;
	transform: scale(1.03);
}

.bg-dark .inner-block-buttons .button:hover,
.bg-dark .inner-block-buttons .button:focus,
.bg-dark .gform_wrapper input[type="submit"]:hover,
.bg-dark .gform_wrapper input[type="submit"]:focus,
.bg-dark .editor-styles-wrapper .inner-block-buttons .button:hover,
.bg-dark .editor-styles-wrapper .inner-block-buttons .button:focus {
	background: transparent;
	color: #fff;
	border-color: #fff;
}

.inner-block-buttons .button.button-secondary-inverse {
	background: transparent;
	color: #fff;
	border-color: #fff;
}

.inner-block-buttons .button.button-secondary-inverse:hover,
.inner-block-buttons .button.button-secondary-inverse:focus {
	background: #fff;
	color: var(--color-text);
	border-color: #fff;
}

.inner-block-buttons .button.button-tertiary {
	background: var(--color-accent-1);
	color: #fff;
	border-color: var(--color-accent-1);
}

/* separators */

.bg-dark .separator-small {
	border-color: #fff;
}

.separator-small {
	max-width: 60px;
	border-top: 2px solid var(--color-primary);
	margin: 20px auto 30px;
}

/* gravity forms */

.gform_description:empty {
	display: none;
}



@media screen and (max-width: 500px) {

	.subheader {
		margin-bottom: 15px;
	}

	.inner-block-buttons {
		margin-top: 30px;
	}
}