:root {
	/* @link https://utopia.fyi/space/calculator?c=480,16,1.2,1366,18,1.333,2,1,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l|m-xl|xs-m&g=s,l,xl,12 */
	/* Space 3xs: 4px → 5px */
	--space-3xs: clamp(0.25rem, 0.2161rem + 0.1129vw, 0.3125rem);
	/* Space 2xs: 8px → 9px */
	--space-2xs: clamp(0.5rem, 0.4661rem + 0.1129vw, 0.5625rem);
	/* Space xs: 12px → 14px */
	--space-xs: clamp(0.75rem, 0.6823rem + 0.2257vw, 0.875rem);
	/* Space s: 16px → 18px */
	--space-s: clamp(1rem, 0.9323rem + 0.2257vw, 1.125rem);
	/* Space m: 24px → 27px */
	--space-m: clamp(1.5rem, 1.3984rem + 0.3386vw, 1.6875rem);
	/* Space l: 32px → 36px */
	--space-l: clamp(2rem, 1.8646rem + 0.4515vw, 2.25rem);
	/* Space xl: 48px → 54px */
	--space-xl: clamp(3rem, 2.7968rem + 0.6772vw, 3.375rem);
	/* Space 2xl: 64px → 72px */
	--space-2xl: clamp(4rem, 3.7291rem + 0.9029vw, 4.5rem);
	/* Space 3xl: 96px → 108px */
	--space-3xl: clamp(6rem, 5.5937rem + 1.3544vw, 6.75rem);
  
	/* One-up pairs */
	/* Space 3xs-2xs: 4px → 9px */
	--space-3xs-2xs: clamp(0.25rem, 0.0807rem + 0.5643vw, 0.5625rem);
	/* Space 2xs-xs: 8px → 14px */
	--space-2xs-xs: clamp(0.5rem, 0.2968rem + 0.6772vw, 0.875rem);
	/* Space xs-s: 12px → 18px */
	--space-xs-s: clamp(0.75rem, 0.5468rem + 0.6772vw, 1.125rem);
	/* Space s-m: 16px → 27px */
	--space-s-m: clamp(1rem, 0.6275rem + 1.2415vw, 1.6875rem);
	/* Space m-l: 24px → 36px */
	--space-m-l: clamp(1.5rem, 1.0937rem + 1.3544vw, 2.25rem);
	/* Space l-xl: 32px → 54px */
	--space-l-xl: clamp(2rem, 1.2551rem + 2.4831vw, 3.375rem);
	/* Space xl-2xl: 48px → 72px */
	--space-xl-2xl: clamp(3rem, 2.1874rem + 2.7088vw, 4.5rem);
	/* Space 2xl-3xl: 64px → 108px */
	--space-2xl-3xl: clamp(4rem, 2.5102rem + 4.9661vw, 6.75rem);
  
	/* Custom pairs */
	/* Space s-l: 16px → 36px */
	--space-s-l: clamp(1rem, 0.3228rem + 2.2573vw, 2.25rem);
	/* Space m-xl: 24px → 54px */
	--space-m-xl: clamp(1.5rem, 0.4842rem + 3.386vw, 3.375rem);
	/* Space xs-m: 12px → 27px */
	--space-xs-m: clamp(0.75rem, 0.2421rem + 1.693vw, 1.6875rem);


	/* @link https://utopia.fyi/type/calculator?c=480,16,1.2,1366,18,1.333,5,1,&s=0.75|0.5|0.25,1.5|2|4|6|8,s-l|m-xl|xs-m&g=s,l,xl,12 */
	/* Step -1: 13.3333px → 13.5034px */
	--step--1: clamp(0.8333rem, 0.8276rem + 0.0192vw, 0.844rem);
	/* Step 0: 16px → 18px */
	--step-0: clamp(1rem, 0.9323rem + 0.2257vw, 1.125rem);
	/* Step 1: 19.2px → 23.994px */
	--step-1: clamp(1.2rem, 1.0377rem + 0.5411vw, 1.4996rem);
	/* Step 2: 23.04px → 31.984px */
	--step-2: clamp(1.44rem, 1.1372rem + 1.0095vw, 1.999rem);
	/* Step 3: 27.648px → 42.6347px */
	--step-3: clamp(1.728rem, 1.2206rem + 1.6915vw, 2.6647rem);
	/* Step 4: 33.1776px → 56.832px */
	--step-4: clamp(2.0736rem, 1.2727rem + 2.6698vw, 3.552rem);
	/* Step 5: 39.8131px → 75.7571px */
	--step-5: clamp(2.4883rem, 1.2713rem + 4.0569vw, 4.7348rem);
  

	/* @link https://utopia.fyi/type/calculator?c=480,16,1.2,1366,18,1.333,2,1,&s=0.75|0.5|0.25,1.5|2|4|6|8,s-l|m-xl|xs-m&g=s,l,xl,12 
	/* Text Small: 13.3333px → 13.5034px */
	--text-s: var(--step--1);
	/* Text Base (Medium): 16px → 18px */
	--text-base: var(--step-0);
	--text-m: var(--step-0);
	/* Text Large: 19.2px → 23.994px */
	--text-l: var(--step-1);
	/* Text Oversize (XL): 23.04px → 31.984px */
	--text-xl: var(--step-2);

    /* @link https://utopia.fyi/type/calculator?c=480,20,1.2,1366,24,1.25,5,0,&s=0.75|0.5|0.25,1.5|2|4|6|8,s-l|m-xl|xs-m&g=s,l,xl,12 */
	/* Headings XS: 20px → 24px */
    --headings-xs: clamp(1.25rem, 1.1146rem + 0.4515vw, 1.5rem);
	/* Headings S: 24px → 30px */
    --headings-s: clamp(1.5rem, 1.2968rem + 0.6772vw, 1.875rem);
    /* Headings M: 28.8px → 37.5px */
	--headings-m: clamp(1.8rem, 1.5054rem + 0.9819vw, 2.3438rem);
    /* Headings L: 34.56px → 46.875px */
	--headings-l: clamp(2.16rem, 1.743rem + 1.39vw, 2.9297rem);
    /* Headings XL: 41.472px → 58.5938px */
	--headings-xl: clamp(2.592rem, 2.0123rem + 1.9325vw, 3.6621rem);
    /* Headings XXL: 49.7664px → 73.2422px */
	--headings-xxl: clamp(3.1104rem, 2.3155rem + 2.6496vw, 4.5776rem);


	/* @link https://utopia.fyi/type/calculator?c=480,16,1.2,1366,18,1.333,5,0,&s=0.75|0.5|0.25,1.5|2|4|6|8,s-l|m-xl|xs-m&g=s,l,xl,12 */

	/* Headings XS: 13.3333px → 13.5034px */
	--headings-xs: var(--step--1);
	/* Headings S: 16px → 18px */
	--headings-s: var(--step-0);
	/* Headings M: 19.2px → 23.994px */
	--headings-m: var(--step-1);
	/* Headings L: 23.04px → 31.984px */
	--headings-l: var(--step-2);
	/* Headings XL: 27.648px → 42.6347px */
	--headings-xl: var(--step-3);
	/* Headings XXL: 33.1776px → 56.832px */
	--headings-xxl: var(--step-4);
	/* Headings Oversize: 39.8131px → 75.7571px */
	--headings-oversize: var(--step-5);

    /* Contextual Spacing */
    --content-gap: var(--space-m);
    --grid-gap: var(--space-s);
    --gutter: var(--space-s-l);
    --container-padding: var(--space-s-l);
    --section-padding: calc( 4 * var(--container-padding));
    /* Content Widths */
    --content-width--base: 1366px;
    --content-width--feature: calc(var(--content-width--base) * 1.25);
    --content-width--max: calc(var(--content-width--feature) * 1.25);
    /* Border Radius */
    --radius-s: var(--space-2xs);
    --radius: var(--space-s);
    --radius-l: var(--space-m);
    --container-radius: var(--radius-l);
	
	
	/* Color Palette */
	--color-primary-hue: 191;
	--color-primary-saturation: 55%;
	--color-primary-saturation-muted: 20%;

	--color-secondary-hue: 30;
	--color-secondary-saturation: 40%;
	--color-secondary-saturation-muted: 20%;

	--color-ultralight-lightness: 95%;
	--color-light-lightness: 65%;
	--color-base-lightness: 35%;
	--color-dark-lightness: 20%;
	--color-ultradark-lightness: 10%;
	--color-accent-lightness: 42%;
	--color-muted-lightness: 35%;


	/* --primary-override-ultralight-hue: var(--color-primary-hue); */
	/* --primary-override-ultralight-saturation: var(--color-primary-saturation); */
	/* --primary-override-ultralight-lightness: var(--color-ultralight-lightness); */

	/* --primary-override-light-hue: var(--color-primary-hue); */
	 --primary-override-light-saturation: 35%; 
	/* --primary-override-light-lightness: var(--color-light-lightness); */

	/* --primary-override-base-hue: var(--color-primary-hue); */
	/* --primary-override-base-saturation: var(--color-primary-saturation); */
	/* --primary-override-base-lightness: var(--color-base-lightness); */

	--primary-override-dark-hue: 205;
	/* --primary-override-dark-saturation: var(--color-primary-saturation) ; */
	/* --primary-override-dark-lightness: var(--color-dark-lightness); */

	--primary-override-ultradark-hue: 205;
	--primary-override-ultradark-saturation: 100%;
	/* --primary-override-ultradark-lightness: var(--color-ultradark-lightness); */

	/* --primary-override-accent-hue: var(--color-primary-hue); */
	--primary-override-accent-saturation: 100%;
	/* --primary-override-accent-lightness: var(--color-accent-lightness); */
	
	/* --primary-override-muted-hue: var(--color-primary-hue); */
	/* --primary-override-muted-lightness: var(--color-muted-lightness); */


	/* --secondary-override-ultralight-hue: var(--color-secondary-hue); */
	/* --secondary-override-ultralight-saturation: var(--color-secondary-saturation); */
	/* --secondary-override-ultralight-lightness: var(--color-ultralight-lightness); */

	/* --secondary-override-light-hue: var(--color-secondary-hue); */
	/* --secondary-override-light-saturation: var(--color-secondary-saturation); */
	/* --secondary-override-light-lightness: var(--color-light-lightness); */

	/* --secondary-override-base-hue: var(--color-secondary-hue); */
	/* --secondary-override-base-saturation: var(--color-secondary-saturation); */
	/* --secondary-override-base-lightness: var(--color-base-lightness); */

	/* --secondary-override-dark-hue: var(--color-secondary-hue); */
	/* --secondary-override-dark-saturation: var(--color-secondary-saturation); */
	/* --secondary-override-dark-lightness: var(--color-dark-lightness); */

	/* --secondary-override-ultradark-hue: var(--color-secondary-hue); */
	/* --secondary-override-ultradark-saturation: var(--color-secondary-saturation); */
	/* --secondary-override-ultradark-lightness: var(--color-ultradark-lightness); */

	/* --secondary-override-accent-hue: var(--color-secondary-hue); */
	/* --secondary-override-accent-saturation: var(--color-secondary-saturation); */
	/* --secondary-override-accent-lightness: var(--color-accent-lightness); */
	
	/* --secondary-override-muted-hue: var(--color-secondary-hue); */
	/* --secondary-override-muted-lightness: var(--color-muted-lightness); */


	/* --neutral-override-ultralight-lightness: var(--color-ultralight-lightness); */
	/* --neutral-override-light-lightness: var(--color-light-lightness); */
	/* --neutral-override-base-lightness: var(--color-base-lightness); */
	/* --neutral-override-dark-lightness: var(--color-dark-lightness); */
	/* --neutral-override-ultradark-lightness: var(--color-ultradark-lightness); */
	/* --neutral-override-accent-lightness: var(--color-accent-lightness); */
	/* --neutral-override-muted-lightness: var(--color-muted-lightness); */



	/* Define Theme Contexts */

	--theme-primary-hue: var(--color-primary-hue);
	--theme-primary-saturation: var(--color-primary-saturation);
	--theme-primary-muted-saturation: var(--color-primary-saturation-muted);

	--theme-secondary-hue: var(--color-secondary-hue);
	--theme-secondary-saturation: var(--color-secondary-saturation);
	--theme-secondary-muted-saturation: var(--color-secondary-saturation-muted);

	--theme-neutral-hue: 0;
	--theme-neutral-saturation: 0%;

	/* Default Theme Context */
	--theme-hue: var(--theme-primary-hue);
	--theme-saturation: var(--theme-primary-saturation);
	--theme-saturation-muted: var(--theme-primary-muted-saturation);
	--theme-saturation-accent: 100%;

	--white: hsl(0, 0%, 100%);
	--black: hsl(0, 0%, 0%);

	--neutral-ultralight: hsl(
		var(--theme-neutral-hue), 
		var(--theme-neutral-saturation), 
		var(--neutral-override-ultralight-lightness, var(--color-ultralight-lightness))
	);
	--neutral-light: hsl(
		var(--theme-neutral-hue),
		var(--theme-neutral-saturation),
		var(--neutral-override-light-lightness, var(--color-light-lightness))
	);
	--neutral-base: hsl(
		var(--theme-neutral-hue),
		var(--theme-neutral-saturation),
		var(--neutral-override-base-lightness, var(--color-base-lightness))
	);
	--neutral-dark: hsl(
		var(--theme-neutral-hue),
		var(--theme-neutral-saturation),
		var(--neutral-override-dark-lightness, var(--color-dark-lightness))
	);
	--neutral-ultradark: hsl(
		var(--theme-neutral-hue),
		var(--theme-neutral-saturation),
		var(--neutral-override-ultradark-lightness, var(--color-ultradark-lightness))
	);
	--neutral-accent: hsl(
		var(--theme-neutral-hue),
		var(--theme-neutral-saturation),
		var(--neutral-override-accent-lightness, var(--color-accent-lightness))
	);
	--neutral-muted: hsl(
		var(--theme-neutral-hue),
		var(--theme-neutral-saturation),
		var(--neutral-override-muted-lightness, var(--color-muted-lightness))
	);

	--primary-ultralight: hsl(
	var(--primary-override-ultralight-hue, var(--theme-primary-hue)),
	var(--primary-override-ultralight-saturation, var(--theme-primary-saturation)),
	var(--primary-override-ultralight-lightness, var(--color-ultralight-lightness))
	);

	--primary-light: hsl(
	var(--primary-override-light-hue, var(--theme-primary-hue)),
	var(--primary-override-light-saturation, var(--theme-primary-saturation)),
	var(--primary-override-light-lightness, var(--color-light-lightness))
	);

	--primary-base: hsl(
	var(--primary-override-base-hue, var(--theme-primary-hue)),
	var(--primary-override-base-saturation, var(--theme-primary-saturation)),
	var(--primary-override-base-lightness, var(--color-base-lightness))
	);

	--primary-dark: hsl(
	var(--primary-override-dark-hue, var(--theme-primary-hue)),
	var(--primary-override-dark-saturation, var(--theme-primary-saturation)),
	var(--primary-override-dark-lightness, var(--color-dark-lightness))
	);

	--primary-ultradark: hsl(
	var(--primary-override-ultradark-hue, var(--theme-primary-hue)),
	var(--primary-override-ultradark-saturation, var(--theme-primary-saturation)),
	var(--primary-override-ultradark-lightness, var(--color-ultradark-lightness))
	);

	--primary-accent: hsl(
	var(--primary-override-accent-hue, var(--theme-primary-hue)),
	var(--primary-override-accent-saturation, var(--theme-saturation-accent)),
	var(--primary-override-accent-lightness, var(--color-accent-lightness))
	);
	--primary-muted: hsl(
	var(--primary-override-muted-hue, var(--theme-primary-hue)),
	var(--theme-primary-muted-saturation),
	var(--primary-override-muted-lightness, var(--color-muted-lightness))
	);

	--secondary-ultralight: hsl(
	var(--secondary-override-ultralight-hue, var(--theme-secondary-hue)),
	var(--secondary-override-ultralight-saturation, var(--theme-secondary-saturation)),
	var(--secondary-override-ultralight-lightness, var(--color-ultralight-lightness))
	);

	--secondary-light: hsl(
	var(--secondary-override-light-hue, var(--theme-secondary-hue)),
	var(--secondary-override-light-saturation, var(--theme-secondary-saturation)),
	var(--secondary-override-light-lightness, var(--color-light-lightness))
	);

	--secondary-base: hsl(
	var(--secondary-override-base-hue, var(--theme-secondary-hue)),
	var(--secondary-override-base-saturation, var(--theme-secondary-saturation)),
	var(--secondary-override-base-lightness, var(--color-base-lightness))
	);

	--secondary-dark: hsl(
	var(--secondary-override-dark-hue, var(--theme-secondary-hue)),
	var(--secondary-override-dark-saturation, var(--theme-secondary-saturation)),
	var(--secondary-override-dark-lightness, var(--color-dark-lightness))
	);

	--secondary-ultradark: hsl(
	var(--secondary-override-ultradark-hue, var(--theme-secondary-hue)),
	var(--secondary-override-ultradark-saturation, var(--theme-secondary-saturation)),
	var(--secondary-override-ultradark-lightness, var(--color-ultradark-lightness))
	);

	--secondary-accent: hsl(
	var(--secondary-override-accent-hue, var(--theme-secondary-hue)),
	var(--secondary-override-accent-saturation, var(--theme-saturation-accent)),
	var(--secondary-override-accent-lightness, var(--color-accent-lightness))
	);
	--secondary-muted: hsl(
	var(--secondary-override-muted-hue, var(--theme-secondary-hue)),
	var(--theme-secondary-muted-saturation),
	var(--secondary-override-muted-lightness, var(--color-muted-lightness))
	);
}


body[class*="elementor-kit"]{
	--e-global-color-primary: var(--primary-ultralight) !important;
    --e-global-color-secondary: var(--primary-light) !important;
    --e-global-color-text: var(--primary-base) !important;
    --e-global-color-accent: var(--primary-dark) !important;
    --e-global-color-b6f7857: var(--primary-ultradark) !important;
	--e-global-color-db58984: var(--primary-accent) !important;
    --e-global-color-d85c56c: var(--secondary-ultralight) !important;
    --e-global-color-eb8d421: var(--secondary-light) !important;
	--e-global-color-3e2e321: var(--secondary-base) !important;
	--e-global-color-5deaef1: var(--secondary-dark) !important;
	--e-global-color-4bf7045: var(--secondary-ultradark) !important;
	--e-global-color-9c9ee15: var(--secondary-accent) !important;
	--e-global-color-4ba4d76: var(--neutral-ultralight) !important;
	--e-global-color-8d45f67: var(--neutral-light) !important;
	--e-global-color-117bf7a: var(--neutral-base) !important;
	--e-global-color-d1daf29: var(--neutral-dark) !important;
	--e-global-color-18cf27b: var(--neutral-ultradark) !important;
	--e-global-color-d150ece: var(--white) !important;
    --e-global-color-319829d: var(--black) !important;
}




body,
.theme-primary,
.theme-secondary,
.theme-neutral {
  --theme-ultralight: hsl(
	var(--theme-override-ultralight-hue, var(--theme-hue)),
	var(--theme-override-ultralight-saturation, var(--theme-saturation)),
	var(--theme-override-ultralight-lightness, var(--color-ultralight-lightness)
	)
  );

  --theme-light: hsl(
	var(--theme-override-light-hue, var(--theme-hue)), 
	var(--theme-override-light-saturation, var(--theme-saturation)), 
	var(--theme-override-light-lightness, var(--color-light-lightness))
  );
  --theme-base: hsl(
	var(--theme-override-base-hue, var(--theme-hue)), 
	var(--theme-override-base-saturation, var(--theme-saturation)), 
	var(--theme-override-base-lightness, var(--color-base-lightness))
  );
  --theme-dark: hsl(
	var(--theme-override-dark-hue, var(--theme-hue)), 
	var(--theme-override-dark-saturation, var(--theme-saturation)), 
	var(--theme-override-dark-lightness, var(--color-dark-lightness))
  );
  --theme-ultradark: hsl(
	var(--theme-override-ultradark-hue, var(--theme-hue)), 
	var(--theme-override-ultradark-saturation, var(--theme-saturation)), 
	var(--theme-override-ultradark-lightness, var(--color-ultradark-lightness))
  );
  --theme-accent: hsl(
	var(--theme-override-accent-hue, var(--theme-hue)), 
	var(--theme-override-accent-saturation, var(--theme-saturation)), 
	var(--theme-override-accent-lightness, var(--color-accent-lightness))
  );
  --theme-muted: hsl(
	var(--theme-override-muted-hue, var(--theme-hue)),
	var(--theme-saturation-muted),
	var(--theme-override-muted-lightness, var(--color-muted-lightness))
  );

  --theme-white: var(--white);
  --theme-black: var(--black);
}



/* Utility for Theme Colors */
body,
.theme-primary {
	--theme-hue: var(--theme-primary-hue);
	--theme-saturation: var(--theme-primary-saturation);
	--theme-saturation-muted: var(--theme-primary-muted-saturation);


	/* Overrides for Hue (optional) */
	--theme-override-ultralight-hue: var(--primary-override-ultralight-hue);
	--theme-override-light-hue: var(--primary-override-light-hue);
	--theme-override-base-hue: var(--primary-override-base-hue);
	--theme-override-dark-hue: var(--primary-override-dark-hue);
	--theme-override-ultradark-hue: var(--primary-override-ultradark-hue);
	--theme-override-accent-hue: var(--primary-override-accent-hue);
	--theme-override-muted-hue: var(--primary-override-muted-hue);

	/* Overrides for Saturation (optional) */
	--theme-override-ultralight-saturation: var(--primary-override-ultralight-saturation);
	--theme-override-light-saturation: var(--primary-override-light-saturation);
	--theme-override-base-saturation: var(--primary-override-base-saturation);
	--theme-override-dark-saturation: var(--primary-override-dark-saturation);
	--theme-override-ultradark-saturation: var(--primary-override-ultradark-saturation);
	--theme-override-accent-saturation: var(--primary-override-accent-saturation);

	/* Overrides for Lightness (optional) */
	--theme-override-ultralight-lightness: var(--primary-override-ultralight-lightness);
	--theme-override-light-lightness: var(--primary-override-light-lightness);
	--theme-override-base-lightness: var(--primary-override-base-lightness);
	--theme-override-dark-lightness: var(--primary-override-dark-lightness);
	--theme-override-ultradark-lightness: var(--primary-override-ultradark-lightness);
	--theme-override-accent-lightness: var(--primary-override-accent-lightness);
	--theme-override-muted-lightness: var(--primary-override-muted-lightness);

}

.theme-secondary {
	--theme-hue: var(--theme-secondary-hue);
	--theme-saturation: var(--theme-secondary-saturation);
	--theme-saturation-muted: var(--theme-secondary-muted-saturation);
	
	/* Overrides for Hue (optional) */
	--theme-override-ultralight-hue: var(--secondary-override-ultralight-hue);
	--theme-override-light-hue: var(--secondary-override-light-hue);
	--theme-override-base-hue: var(--secondary-override-base-hue);
	--theme-override-dark-hue: var(--secondary-override-dark-hue);
	--theme-override-ultradark-hue: var(--secondary-override-ultradark-hue);
	--theme-override-accent-hue: var(--secondary-override-accent-hue);

	/* Overrides for Saturation (optional) */
	--theme-override-ultralight-saturation: var(--secondary-override-ultralight-saturation);
	--theme-override-light-saturation: var(--secondary-override-light-saturation);
	--theme-override-base-saturation: var(--secondary-override-base-saturation);
	--theme-override-dark-saturation: var(--secondary-override-dark-saturation);
	--theme-override-ultradark-saturation: var(--secondary-override-ultradark-saturation);
	--theme-override-accent-saturation: var(--secondary-override-accent-saturation);

	/* Overrides for Lightness (optional) */
	--theme-override-ultralight-lightness: var(--secondary-override-ultralight-lightness);
	--theme-override-light-lightness: var(--secondary-override-light-lightness);
	--theme-override-base-lightness: var(--secondary-override-base-lightness);
	--theme-override-dark-lightness: var(--secondary-override-dark-lightness);
	--theme-override-ultradark-lightness: var(--secondary-override-ultradark-lightness);
	--theme-override-accent-lightness: var(--secondary-override-accent-lightness);
}

.theme-neutral {
	--theme-hue: var(--theme-neutral-hue);
	--theme-saturation: var(--theme-neutral-saturation);
	--theme-saturation-muted: var(--theme-neutral-saturation);

	/* Overrides for Hue (Set to the "Theme Hue" because Neutral Palette is always 0 Hue) */
	--theme-override-ultralight-hue: var(--theme-hue);
	--theme-override-light-hue: var(--theme-hue);
	--theme-override-base-hue: var(--theme-hue);
	--theme-override-dark-hue: var(--theme-hue);
	--theme-override-ultradark-hue: var(--theme-hue);
	--theme-override-accent-hue: var(--theme-hue);
	--theme-override-muted-hue: var(--theme-hue);

	/* Overrides for Saturation (Set to the "Theme Saturation" because Neutral Palette is always 0% Saturation) */
	--theme-override-ultralight-saturation: var(--theme-saturation);
	--theme-override-light-saturation: var(--theme-saturation);
	--theme-override-base-saturation: var(--theme-saturation);
	--theme-override-dark-saturation: var(--theme-saturation);
	--theme-override-ultradark-saturation: var(--theme-saturation);
	--theme-override-accent-saturation: var(--theme-saturation);

	/* Overrides for Lightness (optional) */
	--theme-override-ultralight-lightness: var(--neutral-override-ultralight-lightness);
	--theme-override-light-lightness: var(--neutral-override-light-lightness);
	--theme-override-base-lightness: var(--neutral-override-base-lightness);
	--theme-override-dark-lightness: var(--neutral-override-dark-lightness);
	--theme-override-ultradark-lightness: var(--neutral-override-ultradark-lightness);
	--theme-override-accent-lightness: var(--neutral-override-accent-lightness);
	--theme-override-muted-lightness: var(--neutral-override-muted-lightness);
}


/* Text Color Utility Classes */
.text-ultralight {
	color: var(--theme-ultralight);
}
.text-light {
	color: var(--theme-light);
}
.text-base {
	color: var(--theme-base);
}
.text-dark {
	color: var(--theme-dark);
}
.text-ultradark {
	color: var(--theme-ultradark);
}
.text-accent {
	color: var(--theme-accent);
}

.text-muted {
	color: var(--theme-muted);
}

.text-white {
	color: var(--theme-white);
}
.text-black {
	color: var(--theme-black);
}

/* Background Color Utility Classes */
.bg-ultralight {
	background-color: var(--theme-ultralight);
}
.bg-light {
	background-color: var(--theme-light);
}
.bg-base {
	background-color: var(--theme-base);
}
.bg-dark {
	background-color: var(--theme-dark);
}
.bg-ultradark {
	background-color: var(--theme-ultradark);
}
.bg-accent {
	background-color: var(--theme-accent);
}
.bg-white {
	background-color: var(--theme-white);
}
.bg-black {
	background-color: var(--theme-black);
}

/* Border Color Utility Classes */
.border-ultralight {
	border-color: var(--theme-ultralight);
}
.border-light {
	border-color: var(--theme-light);
}
.border-base {
	border-color: var(--theme-base);
}
.border-dark {
	border-color: var(--theme-dark);
}
.border-ultradark {
	border-color: var(--theme-ultradark);
}
.border-accent {
	border-color: var(--theme-accent);
}
.border-white {
	border-color: var(--theme-white);
}
.border-black {
	border-color: var(--theme-black);
}
/* Border Radius Utility Classes */
.border-radius-s {
	border-radius: var(--radius-s);
}
.border-radius {
	border-radius: var(--radius);
}
.border-radius-l {
	border-radius: var(--radius-l);
}


.font-100{
	font-weight: 100;
}
.font-200{
	font-weight: 200;
}
.font-300{
	font-weight: 300;
}
.font-400{
	font-weight: 400;
}
.font-500{
	font-weight: 500;
}
.font-600{
	font-weight: 600;
}
.font-700{
	font-weight: 700;
}
.font-800{
	font-weight: 800;
}
.font-900{
	font-weight: 900;
}


/* Reset Default Padding for Containers within Parent Containers */
.e-con.e-child{
	--container-default-padding-inline-start: 0;
	--container-default-padding-inline-end: 0;
	--container-default-padding-block-start: 0;
	--container-default-padding-block-end: 0;
	--container-default-padding-top: 0;
	--container-default-padding-bottom: 0;
	--container-default-padding-left: 0;
	--container-default-padding-right: 0;
}

/* Provide default and consistent padding to a "Section" - note: The container must have 'section' chosen as the html element */
section.e-con{
	--padding-block-start: var(--section-padding);
	--padding-block-end: var(--section-padding);
}
/* set the bottom margin of the last paragraph in any given container as this can cause a double spacing issue */
.elementor-widget-container p:last-of-type:last-child{
	margin-bottom: 0;
}
/* Leave the bottom margin as the default spacing when they are the only paragraph in a container */
.elementor-widget-container p:only-of-type{
	margin-bottom: var(--content-gap);
}



/* Utility Classes */

/* mbz - a quick way to set Margin Bottom to Zero without having to affect default margins */
p.mbz,.elementor-element.mbz p{
	margin-bottom: 0;
}

/* lede - set the first paragraph to a slightly larger font-size while not affecting the remaining text. */
p.lede, .lede p:first-of-type:not(:only-of-type){
	font-size: var(--text-m);
}




/* readable-width | comfortable - set a maximum width for written content blocks. usually used with center aligned text to avoid long line lengths. */
.comfortable,
.comfortable p,
.comfortable h1,
.comfortable h2,
.comfortable h3,
.comfortable h4,
.comfortable h5,
.comfortable h6{
	max-inline-size: 65ch;
	text-wrap: balance;
}

@media (min-width:1024px){
	.comfortable,
	.comfortable p,
	.comfortable h1,
	.comfortable h2,
	.comfortable h3,
	.comfortable h4,
	.comfortable h5,
	.comfortable h6{
		max-inline-size: 80ch;
	}
}

/* pretty - Set text-wrapping to the new 'pretty' format with a fallback to 'balance' which improves the appearance of text by inserting linebreaks in more ideal places to avoid orphans/widows and jagged edges */

.pretty{
	text-wrap: balance;
	text-wrap: pretty;
}

/* balance - Set text-wrapping to 'balance' */
.balance{
	text-wrap: balance;
}

/* text-upper - uppercase the text */
.text-upper *, .text-upper{
	text-transform: uppercase;
}

.text-small *,.text-small{
	font-size: var(--text-s);
}

.text-medium *,.text-medium{
	font-size: var(--text-base);
}
.text-large *,.text-large{
	font-size: var(--text-l);
}

.headings-xxl{
	font-size: var(--headings-xxl);
}
.headings-xl{
	font-size: var(--headings-xl);
}
.headings-l{
	font-size: var(--headings-l);
}
.headings-m{
	font-size: var(--headings-m);
}
.headings-s{
	font-size: var(--headings-s);
}
.headings-xs{
	font-size: var(--headings-xs);
}

/* ar-16/9 - control the aspect-ratio for images */

.ar-16\/9 img, img.ar-16\/9{
	aspect-ratio: 16/9;
}

/* cover - easily set the image to "cover" for responsive sizing */
.cover img, img.cover{
	object-fit: cover;
}
/* object-center - center the image when using cover as the object-fit */
.object-center img, img.object-center{
	object-position: center center;
}

.gform-conversational.gform-theme--framework{
	--gf-convo-welcome-title-font-family: var(--e-global-typography-371452b-font-family);
	--gf-convo-welcome-message-font-family: var(--e-global-typography-primary-font-family);
	
}

.gform-theme--framework{

	--gf-ctrl-btn-bg-color-primary: var(--theme-accent);
	--gf-ctrl-btn-bg-color-secondary: var(--theme-dark);
	--gf-ctrl-btn-radius: 999px;

}

.gform-theme--framework .gform-field-label--type-sub,
.gform-theme--framework .gform-field-label{
	
	--gf-local-font-family: var(--e-global-typography-primary-font-family);
}


.cta-link{
	--cta-bg: var(--white);
	--cta-link-color: var(--theme-accent);
	--cta-link-hover-color: var(--theme-dark);

	background: var(--cta-bg);
}
.cta-link__text{
	transition: color 250ms ease;
	color: var(--cta-link-color);
	margin-bottom: 0;
	text-transform: uppercase;
	text-wrap: pretty;

}
.cta-link__icon svg{
    transition: color 250ms ease, transform 250ms ease;
	transform: translateX(0);
    color: var(--cta-link-color);
}

.cta-link:hover .cta-link__text{
	color: var(--cta-link-hover-color) !important;
}

.cta-link:hover .cta-link__icon svg{
    transform: translateX(8px);
    color: var(--cta-link-hover-color) !important;
}

.cta-link.inverse{
	--cta-bg: var(--theme-ultradark);
	--cta-link-color: var(--white);
	--cta-link-hover-color: var(--theme-accent);
}