.elementor-19298 .elementor-element.elementor-element-2d1870f{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--overlay-opacity:0.5;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:60px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;--z-index:0;}.elementor-19298 .elementor-element.elementor-element-2d1870f::before, .elementor-19298 .elementor-element.elementor-element-2d1870f > .elementor-background-video-container::before, .elementor-19298 .elementor-element.elementor-element-2d1870f > .e-con-inner > .elementor-background-video-container::before, .elementor-19298 .elementor-element.elementor-element-2d1870f > .elementor-background-slideshow::before, .elementor-19298 .elementor-element.elementor-element-2d1870f > .e-con-inner > .elementor-background-slideshow::before, .elementor-19298 .elementor-element.elementor-element-2d1870f > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-19298 .elementor-element.elementor-element-13f92df{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-19298 .elementor-element.elementor-element-d31b63d > .elementor-widget-container{margin:0px 0px 0px -2px;}.elementor-19298 .elementor-element.elementor-element-d31b63d{z-index:1;text-align:start;}.elementor-19298 .elementor-element.elementor-element-d31b63d img{width:300px;height:250px;object-fit:cover;object-position:center center;border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-accent );}.elementor-19298 .elementor-element.elementor-element-b8a77e0 > .elementor-widget-container{margin:-43px 0px 0px 143px;}.elementor-19298 .elementor-element.elementor-element-b8a77e0{z-index:0;text-align:start;}.elementor-19298 .elementor-element.elementor-element-b8a77e0 img{width:250px;height:300px;object-fit:cover;object-position:center center;border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-accent );}.elementor-19298 .elementor-element.elementor-element-fee0593{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-19298 .elementor-element.elementor-element-f4ba24a{width:var( --container-widget-width, 757px );max-width:757px;--container-widget-width:757px;--container-widget-flex-grow:0;text-align:center;}.elementor-19298 .elementor-element.elementor-element-c9a2304{width:var( --container-widget-width, 496px );max-width:496px;--container-widget-width:496px;--container-widget-flex-grow:0;text-align:center;}.elementor-19298 .elementor-element.elementor-element-c9a2304 p{margin-block-end:24px;}.elementor-19298 .elementor-element.elementor-element-d546ca4{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-end;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-19298 .elementor-element.elementor-element-20339e7 > .elementor-widget-container{--e-transform-translateX:3px;margin:0px 0px 0px 0px;}.elementor-19298 .elementor-element.elementor-element-20339e7{z-index:1;text-align:end;}.elementor-19298 .elementor-element.elementor-element-20339e7 img{width:250px;height:300px;object-fit:cover;object-position:center center;border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-accent );}.elementor-19298 .elementor-element.elementor-element-eaad173 > .elementor-widget-container{margin:-65px 90px 0px 0px;}.elementor-19298 .elementor-element.elementor-element-eaad173{z-index:1;text-align:end;}.elementor-19298 .elementor-element.elementor-element-eaad173 img{width:300px;height:250px;object-fit:cover;object-position:center center;border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-accent );}.elementor-19298 .elementor-element.elementor-element-36997e9{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}@media(max-width:1024px){.elementor-19298 .elementor-element.elementor-element-2d1870f{--padding-top:60px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-19298 .elementor-element.elementor-element-d31b63d{text-align:start;}.elementor-19298 .elementor-element.elementor-element-d31b63d img{width:136px;height:133px;}.elementor-19298 .elementor-element.elementor-element-b8a77e0 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-19298 .elementor-element.elementor-element-b8a77e0{text-align:end;}.elementor-19298 .elementor-element.elementor-element-b8a77e0 img{width:119px;height:167px;}.elementor-19298 .elementor-element.elementor-element-f4ba24a .elementor-heading-title{font-size:2.8rem;}.elementor-19298 .elementor-element.elementor-element-20339e7 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-19298 .elementor-element.elementor-element-20339e7 img{width:139px;height:169px;}.elementor-19298 .elementor-element.elementor-element-eaad173 > .elementor-widget-container{margin:-22px 0px 0px 0px;}.elementor-19298 .elementor-element.elementor-element-eaad173{text-align:start;}.elementor-19298 .elementor-element.elementor-element-eaad173 img{width:150px;height:133px;}}@media(min-width:768px){.elementor-19298 .elementor-element.elementor-element-2d1870f{--content-width:100%;}.elementor-19298 .elementor-element.elementor-element-13f92df{--width:50%;}.elementor-19298 .elementor-element.elementor-element-fee0593{--width:94%;}.elementor-19298 .elementor-element.elementor-element-d546ca4{--width:50%;}.elementor-19298 .elementor-element.elementor-element-36997e9{--content-width:1024px;}}@media(max-width:1366px) and (min-width:768px){.elementor-19298 .elementor-element.elementor-element-2d1870f{--content-width:100%;}.elementor-19298 .elementor-element.elementor-element-13f92df{--width:8%;}.elementor-19298 .elementor-element.elementor-element-fee0593{--width:53%;}.elementor-19298 .elementor-element.elementor-element-d546ca4{--width:8%;}.elementor-19298 .elementor-element.elementor-element-36997e9{--content-width:90%;}}@media(max-width:1024px) and (min-width:768px){.elementor-19298 .elementor-element.elementor-element-2d1870f{--content-width:100%;}}@media(max-width:1366px){.elementor-19298 .elementor-element.elementor-element-2d1870f{--padding-top:60px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-19298 .elementor-element.elementor-element-13f92df.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-19298 .elementor-element.elementor-element-d31b63d > .elementor-widget-container{margin:0px 0px 0px -3px;}.elementor-19298 .elementor-element.elementor-element-d31b63d img{width:200px;height:150px;}.elementor-19298 .elementor-element.elementor-element-b8a77e0 > .elementor-widget-container{margin:-26px 0px 0px 0px;}.elementor-19298 .elementor-element.elementor-element-b8a77e0{text-align:end;}.elementor-19298 .elementor-element.elementor-element-b8a77e0 img{width:150px;height:200px;}.elementor-19298 .elementor-element.elementor-element-f4ba24a{width:var( --container-widget-width, 583px );max-width:583px;--container-widget-width:583px;--container-widget-flex-grow:0;}.elementor-19298 .elementor-element.elementor-element-d546ca4{--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-19298 .elementor-element.elementor-element-d546ca4.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-19298 .elementor-element.elementor-element-20339e7 > .elementor-widget-container{margin:0px -3px 0px 0px;padding:0px 0px 0px 0px;}.elementor-19298 .elementor-element.elementor-element-20339e7 img{width:150px;height:200px;}.elementor-19298 .elementor-element.elementor-element-eaad173 > .elementor-widget-container{margin:-39px 0px 0px 0px;}.elementor-19298 .elementor-element.elementor-element-eaad173.elementor-element{--align-self:flex-start;}.elementor-19298 .elementor-element.elementor-element-eaad173{text-align:start;}.elementor-19298 .elementor-element.elementor-element-eaad173 img{width:200px;height:150px;}}@media(max-width:767px){.elementor-19298 .elementor-element.elementor-element-2d1870f{--content-width:85%;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-19298 .elementor-element.elementor-element-2d1870f.e-con{--align-self:center;}.elementor-19298 .elementor-element.elementor-element-13f92df{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-19298 .elementor-element.elementor-element-d31b63d > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-19298 .elementor-element.elementor-element-d31b63d{text-align:start;}.elementor-19298 .elementor-element.elementor-element-d31b63d img{width:184px;height:154px;}.elementor-19298 .elementor-element.elementor-element-b8a77e0 > .elementor-widget-container{margin:-34px 0px 0px 0px;}.elementor-19298 .elementor-element.elementor-element-b8a77e0 img{width:126px;height:170px;}.elementor-19298 .elementor-element.elementor-element-f4ba24a .elementor-heading-title{font-size:2.6rem;}.elementor-19298 .elementor-element.elementor-element-d546ca4{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-19298 .elementor-element.elementor-element-20339e7 > .elementor-widget-container{margin:0px 0px -46px 0px;}.elementor-19298 .elementor-element.elementor-element-20339e7 img{width:181px;height:200px;}.elementor-19298 .elementor-element.elementor-element-eaad173 > .elementor-widget-container{margin:0px 26px 0px 0px;}.elementor-19298 .elementor-element.elementor-element-eaad173{text-align:start;}.elementor-19298 .elementor-element.elementor-element-eaad173 img{width:164px;height:161px;}}/* Start custom CSS for shortcode, class: .elementor-element-02b608e *//* ==========================================================================
   Griffin Black — Gravity Forms (Gravity theme, no framework)
   Applies to every Gravity Form EXCEPT #17 (footer newsletter) and #22.
   Every rule starts with:
     .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22)
   To exclude another form, find/replace that string and add :not(#gform_wrapper_ID).
   ========================================================================== */

:root {
	--gb-gold: #B29456;
	--gb-gold-light: #F7D37B;
	--gb-cream: #FFFCF4;
	--gb-charcoal: #2D2C2D;
	--gb-white: #FFFFFF;
	--gb-input-h: 48px;
	--gb-choice-h: 38px;
}

/* ---------- Field rows ----------
   GF lays fields out in a CSS grid; the site/PowerPack currently sets row-gap to 16px
   (13px on the newsletter form). */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_fields {
	row-gap: 34px !important;
}

/* ---------- Text inputs, selects, textareas ---------- */
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) input[type="text"],
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) input[type="email"],
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) input[type="tel"],
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) input[type="url"],
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) input[type="number"],
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) input[type="password"],
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) input[type="date"],
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) select,
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) textarea {
	border: 1px solid var(--gb-gold) !important;
	border-radius: 0 !important;
	background-color: var(--gb-cream) !important;
	color: var(--gb-charcoal);
	height: var(--gb-input-h);
	min-height: var(--gb-input-h);
	padding: 0 14px;
	box-shadow: none !important;
	outline: none;
	font-family: inherit;
	font-size: 1rem;
	line-height: 1.2;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) textarea {
	height: auto;               /* paragraph field keeps its rows */
	min-height: 140px;
	padding: 12px 14px;
	resize: vertical;
}

.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 40px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%232D2C2D' stroke-width='1.5'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
}

.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):focus,
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) select:focus,
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) textarea:focus {
	border-color: var(--gb-charcoal) !important;
	box-shadow: 0 0 0 1px var(--gb-charcoal) !important;
}

.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) ::placeholder {
	color: rgba(45, 44, 45, .55);
	opacity: 1;
}

/* ---------- Radio + checkbox → buttons (excludes consent) ---------- */
/* Specificity bumped to beat GF's .gf_list_inline rules (inline-block + 16px padding-inline-end)
   and the .single-post-form .gchoice.gchoice { margin-bottom: 8px } rule from Elementor post-19294 */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield.gfield--type-radio .ginput_container .gfield_radio,
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield.gfield--type-checkbox .ginput_container .gfield_checkbox {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;           /* 10px between choices, row + column */
	margin: 0 !important;
	padding: 0 !important;
}

body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield.gfield--type-radio .gfield_radio .gchoice.gchoice,
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield.gfield--type-checkbox .gfield_checkbox .gchoice.gchoice {
	display: block !important;
	position: relative;
	margin: 0 !important;           /* only the gap creates space */
	padding: 0 !important;
	padding-inline-end: 0 !important;
}

/* hide native control but keep it focusable / accessible */
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield--type-radio .gfield-choice-input,
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield--type-checkbox .gfield-choice-input {
	position: absolute !important;
	opacity: 0 !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	pointer-events: none;
}

.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield--type-radio .gchoice .gform-field-label,
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield--type-checkbox .gchoice .gform-field-label {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	height: var(--gb-choice-h);
	margin: 0 !important;
	padding: 0 18px !important;
	border: 1px solid var(--gb-gold);
	border-radius: 0;
	background-color: var(--gb-cream);
	color: var(--gb-charcoal);
	font-size: 0.9375rem;
	line-height: 1;
	cursor: pointer;
	user-select: none;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

/* kill GF's own pseudo checkmarks/dots if present */
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield--type-radio .gchoice .gform-field-label::before,
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield--type-radio .gchoice .gform-field-label::after,
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield--type-checkbox .gchoice .gform-field-label::before,
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield--type-checkbox .gchoice .gform-field-label::after {
	display: none !important;
}

/* hover + selected */
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield--type-radio .gchoice .gform-field-label:hover,
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield--type-checkbox .gchoice .gform-field-label:hover,
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield--type-radio .gfield-choice-input:checked + .gform-field-label,
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield--type-checkbox .gfield-choice-input:checked + .gform-field-label {
	border-color: var(--gb-charcoal);
	background-color: var(--gb-charcoal);
	color: var(--gb-white);
}

/* keyboard focus */
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield--type-radio .gfield-choice-input:focus-visible + .gform-field-label,
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield--type-checkbox .gfield-choice-input:focus-visible + .gform-field-label {
	outline: 2px solid var(--gb-gold);
	outline-offset: 2px;
}

/* "Other" choice text input inside radio group */
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield--type-radio .gchoice input[type="text"] {
	height: var(--gb-choice-h);
	min-height: var(--gb-choice-h);
	margin-left: 10px;
}

/* ---------- Consent checkbox (kept as a real checkbox) ---------- */
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield--type-consent input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	margin: 2px 10px 0 0;
	border: 1px solid var(--gb-gold);
	border-radius: 0;
	background-color: var(--gb-cream);
	cursor: pointer;
	display: inline-grid;
	place-content: center;
}
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield--type-consent input[type="checkbox"]:checked {
	background-color: var(--gb-charcoal);
	border-color: var(--gb-charcoal);
}
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield--type-consent input[type="checkbox"]:checked::before {
	content: "";
	width: 5px;
	height: 9px;
	border: solid var(--gb-white);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg) translate(-1px, -1px);
}
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .ginput_container_consent {
	display: flex;
	align-items: flex-start;
}

/* consent checkbox label: description size, weight 600 */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield--type-consent .ginput_container_consent label {
	font-size: 0.875rem !important;  /* 14px, same as descriptions */
	font-weight: 600 !important;
	line-height: 1.5 !important;
}

/* hide the '"*" indicates required fields' legend */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_required_legend {
	display: none !important;
}

/* ---------- Phone field: country picker ----------
   NOTE: Elementor page/widget Custom CSS replaces the literal word "s-e-l-e-c-t-o-r"
   with the element's own class chain, so that word must never appear in this file.
   [class*="country-sel"] targets .gform-phone__country-s… without spelling it out. */
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform-phone__input-wrapper {
	align-items: flex-start;
	gap: 0;
}
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield--type-phone .gform-phone button[class*="country-sel"],
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield--type-phone .gform-phone button[class*="country-sel"]:hover,
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield--type-phone .gform-phone button[class*="country-sel"]:focus {
	height: var(--gb-input-h) !important;
	min-height: var(--gb-input-h) !important;
	padding: 0 12px !important;
	border: 1px solid var(--gb-gold) !important;
	border-right: none !important;
	border-radius: 0 !important;
	background-color: var(--gb-cream) !important;
	background-image: none !important;   /* block the kit's global button-hover gradient */
	color: var(--gb-charcoal) !important;
	box-shadow: none !important;
}
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform-phone__dropdown {
	border: 1px solid var(--gb-gold);
	border-radius: 0;
	background-color: var(--gb-cream);
}
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform-phone__search {
	height: 40px !important;
	min-height: 40px !important;
	padding-left: 36px !important;   /* clear the magnifier icon */
}

/* ---------- Slider (GP Advanced Slider) ---------- */
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gps-slider__track { background-color: #FCF2D9 !important; border: none !important; }
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gps-slider__fill  { background-color: var(--gb-gold) !important; }
/* handle: solid, same gradient as the submit hover */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gps-slider .gps-slider__handle {
	background-color: transparent !important;
	background-image: linear-gradient(90deg, var(--e-global-color-accent, #F7D37B) 0%, var(--e-global-color-f58e7a6, #B29456) 100%) !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}

/* first/last tick labels flush with the slider ends instead of centered on the tick.
   GF positions ticks with inline left:% + translateX(-50%), and number labels also get a
   negative margin, so pin the ends explicitly. The tick row is inset 4px, hence -4px. */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gps-slider .gps-slider__tick:first-child {
	left: -4px !important;
	right: auto !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	transform: none !important;
	align-items: flex-start !important;
}
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gps-slider .gps-slider__tick:last-child {
	left: auto !important;
	right: -4px !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	transform: none !important;
	align-items: flex-end !important;
}

/* GP Page Transitions (Swiper) sets overflow:hidden on the form, which slices the slider
   handle at the form's edges. clip + a 12px clip margin lets the full circle show; the
   neighbouring pages sit 20px away, so they still stay hidden. */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) form.gppt-has-page-transitions {
	overflow: clip !important;
	overflow-clip-margin: 12px;
}

/* tick marks: hide the line but keep its box so the labels don't slide up under the handles */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gps-slider .gps-slider__tick::before {
	background: transparent !important;
}

/* tick labels */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gps-slider .gps-slider__tick-label {
	font-family: "Open Sans", sans-serif !important;
	font-size: 1rem !important;      /* 16px */
	font-style: normal !important;
	font-weight: 600 !important;
	line-height: normal !important;
	text-transform: uppercase !important;
	color: #090704 !important;
}

/* mobile: word tick labels (BEGINNER / DEVELOPING…) overlap at 16px, so step them down.
   Tested: 12px fits 375px+ phones, 11px fits down to 320px. */
@media (max-width: 640px) {
	body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gps-slider .gps-slider__tick-label {
		font-size: 0.75rem !important;    /* 12px */
	}
}
@media (max-width: 400px) {
	body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gps-slider .gps-slider__tick-label {
		font-size: 0.6875rem !important;  /* 11px */
	}
}


/* ---------- Descriptions (14px) ---------- */
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield_description,
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield_consent_description,
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .ginput_counter,
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform-field-label--type-sub {
	font-size: 0.875rem !important; /* 14px */
}

/* no space above descriptions (site currently adds 13px top padding) */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield .gfield_description {
	padding-top: 0 !important;
	margin-top: 0 !important;
	padding-bottom: 10px !important;
	line-height: 1.3rem !important;
}

/* ---------- Labels ----------
   Phone, radio, checkbox and consent fields use <fieldset><legend> instead of <label>.
   Legends inherit the body's 27px line-height while <label>s are 16px, which made the
   Phone label 12px taller and pushed its input out of line with Email. Normalize all. */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield .gfield_label {
	line-height: 1.3rem !important;
	padding: 0 !important;
	font-weight: 600 !important;
}
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield .gfield_label > span {
	line-height: inherit !important;
}

/* half the label → description space (8px → 4px) when the description sits above the input */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield.gfield--has-description.field_description_above .gfield_label {
	margin-bottom: 4px !important;
}

/* consent description: match the other descriptions.
   The box is on the inner .gfield_consent_description_text div (GF default:
   1px #ddd border, 6.4px 8px padding, 14.4px font). */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield .gfield_consent_description {
	border: none !important;
	padding: 0 0 10px !important;   /* same bottom spacing the other descriptions get */
	margin: 0 !important;
	line-height: 1.3rem !important;
	max-height: none !important;
	overflow: visible !important;
	background: none !important;
	box-shadow: none !important;
}
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield .gfield_consent_description .gfield_consent_description_text {
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	max-height: none !important;
	overflow: visible !important;
	background: none !important;
	font-size: inherit !important;  /* 0.875rem from parent, not GF's 14.4px */
	line-height: 1.3rem !important;
}

/* ---------- Submit ---------- */
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_footer .gform_button,
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_page_footer .gform_button,
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_page_footer .gform_next_button,
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_page_footer .gform_previous_button {
	border: none !important;
	background-color: var(--gb-charcoal) !important;
	background-image: none !important;
	color: var(--gb-white) !important;
	cursor: pointer;
	transition: color .2s ease;
}

.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_footer .gform_button:hover,
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_footer .gform_button:focus,
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_page_footer .gform_button:hover,
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_page_footer .gform_button:focus,
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_page_footer .gform_next_button:hover,
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_page_footer .gform_previous_button:hover {
	background-color: transparent !important;
	background-image: linear-gradient(90deg, var(--e-global-color-accent, #F7D37B) 0%, var(--e-global-color-f58e7a6, #B29456) 100%) !important;
	color: var(--e-global-color-text, #090704) !important;
}

/* ---------- Validation ---------- */
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield_error input:not([type="radio"]):not([type="checkbox"]),
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield_error select,
.gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield_error textarea {
	border-color: #C02B0A !important;
}

/* ---------- Space above submit ----------
   GF default is 6px margin + 16px padding (22px). +20px = 42px total. */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_footer,
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_page_footer {
	margin-top: 26px !important;
}

/* ---------- Links inside forms ---------- */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) a {
	text-decoration: underline !important;
	text-underline-offset: 2px;
}

/* ---------- Name field: stacked (add class "name-stack" to the field) ---------- */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield.name-stack .ginput_complex {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
}
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield.name-stack .ginput_complex > span {
	flex: 0 0 auto !important;
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* ---------- Section titles ---------- */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gsection .gsection_title {
	color: #090704 !important;
	font-family: "Bellefair", serif !important;
	font-size: 48px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: normal !important;
}
/* remove the rule under the section title */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield.gsection {
	border-bottom: none !important;
	padding-bottom: 10px !important;
}
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gsection .gsection_title {
	margin: 0 !important;
	padding: 0 !important;
}
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gsection .gsection_description {
	margin: 0 !important;
	padding: 0 !important;
	color: #090704 !important;
	font-family: "Open Sans", sans-serif !important;
	font-size: 18px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 160% !important;   /* 28.8px */
	max-width: 675px !important;    /* full width below 675px screens */
}

/* ---------- Save for Later ---------- */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_save_link {
	background-color: transparent !important;
	background-image: none !important;
	color: #090704 !important;
	box-shadow: none !important;
}
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_save_link svg path {
	fill: currentColor !important;   /* icon follows text color, incl. hover */
}
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_save_link:hover,
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_save_link:focus-visible {
	background-color: #090704 !important;
	background-image: none !important;
	color: #FFFFFF !important;
}

/* ---------- Sub-labels (name, address, phone, etc.) ---------- */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield .gform-field-label--type-sub {
	font-size: 0.875rem !important;  /* 14px */
	font-weight: 400 !important;
}

/* ---------- Extra space (+5px) above radio/checkbox button groups ----------
   no description: label 8px → 13px (with a description, the standard 10px applies) */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield.gfield--type-checkbox.gfield--no-description .gfield_label,
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gfield.gfield--type-radio.gfield--no-description .gfield_label {
	margin-bottom: 13px !important;
}

/* ---------- Multi-page: progress bar ----------
   Hidden on step 1. Shown from step 2 on, bottom-left, on the same line as the
   right-aligned page buttons.
   Two ways GF shows pages:
   - plain GF: inactive pages get inline style="display:none"
   - GP Page Transitions (form.gppt-has-page-transitions): Swiper, active page = .swiper-slide-active */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) form:not(.gppt-has-page-transitions):has(.gform_body > .gform_page:first-child:not([style*="display:none"]):not([style*="display: none"])) .gf_progressbar_wrapper,
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) form.gppt-has-page-transitions:has(.gform_body > .gform_page:first-child.swiper-slide-active) .gf_progressbar_wrapper,
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) form.gppt-has-page-transitions:has(.gform_body:not(.swiper-wrapper) > .gform_page:first-child:not([style*="display:none"]):not([style*="display: none"])) .gf_progressbar_wrapper {
	display: none !important;   /* last rule = before Swiper starts, so it doesn't flash on load */
}

body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) form:has(.gf_progressbar_wrapper) {
	position: relative;
}
/* sits in the page footer row: footer has 16px bottom padding, buttons are ~43px tall */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gf_progressbar_wrapper {
	position: absolute;
	left: 0;
	bottom: 16px;
	width: 40%;
	height: 43px;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	justify-content: center;
	z-index: 2;
}

/* bar look: #FCF2D9 track, #B29456 fill, percentage to the LEFT of the bar.
   The % text lives inside the fill in GF's markup, so it's pulled out with absolute
   positioning against .gf_progressbar and the bar gets a 48px left margin for it. */
/* hide the "Step 2 of 3" line */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gf_progressbar_wrapper .gf_progressbar_title {
	display: none !important;
}
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gf_progressbar_wrapper .gf_progressbar {
	position: relative !important;
	height: 8px !important;
	margin: 0 0 0 48px !important;
	padding: 0 !important;
	background: #FCF2D9 !important;
	border-radius: 4px !important;     /* same as the slider track */
	overflow: visible !important;
	box-shadow: none !important;
}
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gf_progressbar_wrapper .gf_progressbar_percentage {
	position: static !important;
	height: 100% !important;
	background: #B29456 !important;
	border-radius: inherit !important;
}
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gf_progressbar_wrapper .gf_progressbar_percentage span {
	position: absolute !important;
	left: -48px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 40px !important;
	margin: 0 !important;
	text-align: left !important;
	color: #090704 !important;
	font-size: 0.875rem !important;    /* 14px */
	font-weight: 600 !important;
	line-height: 1 !important;
}

/* page buttons (Previous / Continue / Submit / Save for Later) right-aligned */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_page_footer {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 8px;
}
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_page_footer > button,
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_page_footer > .button,
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_page_footer > input[type="submit"],
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_page_footer > input[type="button"] {
	margin: 0 !important;
}

/* small screens: not enough room side by side, so the bar drops below the buttons */
@media (max-width: 640px) {
	body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) form:has(.gf_progressbar_wrapper) {
		display: flex;
		flex-direction: column;
	}
	body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gf_progressbar_wrapper {
		position: static;
		order: 2;
		width: 100%;
		height: auto;
	}
	body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_page_footer {
		justify-content: flex-start;
	}
}

/* ---------- Previous button ---------- */
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_page_footer .gform_previous_button {
	background-color: transparent !important;
	background-image: none !important;
	color: #090704 !important;
	box-shadow: none !important;
}
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_page_footer .gform_previous_button:hover,
body .gform_wrapper.gravity-theme:not(#gform_wrapper_17):not(#gform_wrapper_22) .gform_page_footer .gform_previous_button:focus-visible {
	background-color: #090704 !important;
	background-image: none !important;
	color: #FFFFFF !important;
}/* End custom CSS */