.elementor-kit-1535{--e-global-color-primary:#393089;--e-global-color-secondary:#000000;--e-global-color-text:#000000;--e-global-color-accent:#393089;--e-global-color-48fcfe0:#FFFFFF;--e-global-color-6f8e18d:#000000;--e-global-color-9069f9b:#393089;--e-global-color-673a902:#6FB7F2;--e-global-typography-primary-font-family:"New Frank Bold";--e-global-typography-secondary-font-family:"Des Montilles";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Bilo Regular";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Bilo Regular";--e-global-typography-accent-font-weight:500;--e-global-typography-87dd206-font-size:var(--h1-size);--e-global-typography-a50f775-font-size:calc(var(--h1-size) * 0.85);--e-global-typography-a428c41-font-size:calc(var(--h1-size) * 0.75);--e-global-typography-9a8adf5-font-size:calc(var(--h1-size) * 0.65);--e-global-typography-a2d5b8d-font-size:calc(var(--h1-size) * 0.55);--e-global-typography-f53a1b9-font-size:calc(var(--h1-size) * 0.45);font-family:"Helvetica", Sans-serif;font-size:18px;--e-page-transition-entrance-animation:e-page-transition-fade-out;--e-page-transition-animation-duration:800ms;}.elementor-kit-1535 button,.elementor-kit-1535 input[type="button"],.elementor-kit-1535 input[type="submit"],.elementor-kit-1535 .elementor-button{background-color:var( --e-global-color-primary );font-size:22px;text-transform:uppercase;color:#FFF2F2;box-shadow:0px 2px 17px -2px rgba(0,0,0,0.5);border-style:none;border-radius:20px 0px 20px 0px;padding:22px 40px 18px 40px;}.elementor-kit-1535 button:hover,.elementor-kit-1535 button:focus,.elementor-kit-1535 input[type="button"]:hover,.elementor-kit-1535 input[type="button"]:focus,.elementor-kit-1535 input[type="submit"]:hover,.elementor-kit-1535 input[type="submit"]:focus,.elementor-kit-1535 .elementor-button:hover,.elementor-kit-1535 .elementor-button:focus{background-color:var( --e-global-color-673a902 );color:var( --e-global-color-48fcfe0 );box-shadow:0px 0px 0px 0px rgba(0,0,0,0.5);border-style:none;border-radius:20px 0px 20px 0px;}.elementor-kit-1535 e-page-transition{background-color:#E4E4E4;}.elementor-kit-1535 p{margin-block-end:1.6em;}.elementor-kit-1535 a{font-weight:bold;}.elementor-kit-1535 a:hover{font-weight:500;}.elementor-kit-1535 h2{font-weight:normal;}.elementor-kit-1535 h4{font-weight:normal;}.elementor-kit-1535 h5{font-weight:normal;}.elementor-kit-1535 h6{font-weight:400;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1260px;}.e-con{--container-max-width:1260px;--container-default-padding-top:40px;--container-default-padding-right:20px;--container-default-padding-bottom:80px;--container-default-padding-left:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ==================================================
   GLOBAL BASELINE CSS (Elementor Site Settings > Custom CSS)
   ================================================== */

/* Buttons */
.elementor-widget-button {
  cursor: pointer;
}

/* Root sizing: 1rem = 10px (easy math) */
html { font-size: 62.5%; }
body { margin: 0; padding: 0; }

/* Box sizing */
*, *::before, *::after { box-sizing: border-box; }

/* Text defaults */
p { line-height: 1.4; margin: 0; }

ul { padding: 0 10px 0 20px; }
li { line-height: 1.4; padding: 0 0 10px; }

/* HR */
hr {
  border: 0;
  border-top: 1px solid rgba(0,0,0,.11);
}

/* ==================================================
   GLOBAL EQUAL-HEIGHT FOR ELEMENTOR FLEX CONTAINERS
   (CTA cards + common “cards” end up same height)
   ================================================== */

/* 1) Parents stretch children */
.e-con.e-flex {
  align-items: stretch;
}

/* 2) Child containers can stretch */
.e-con.e-flex > .e-con {
  align-self: stretch;
}

/* 3) Common wrappers fill height */
.e-con.e-flex > .e-con > .elementor-element,
.e-con.e-flex > .e-con > .elementor-widget-wrap,
.e-con.e-flex > .e-con > .e-con-inner {
  /*height: 100%;*/
}

/* 4) CTA widgets fill height */
.e-con.e-flex .elementor-widget-call-to-action,
.e-con.e-flex .elementor-widget-call-to-action .elementor-widget-container,
.e-con.e-flex .elementor-cta {
  height: 100%;
}

/* Optional opt-out: add class "tfc-no-equalheight" to a parent container */
.tfc-no-equalheight.e-con.e-flex {
  align-items: flex-start;
}

/* ==================================================
   HEADINGS (Widget styles can override)
   ================================================== */

/* Global H tag base */
:where(h1, h2, h3, h4, h5, h6) {
  font-weight: normal;
}

/* Normalize Elementor headings + Text Editor headings */
/* Normalize Elementor headings + Text Editor headings */
.elementor-heading-title,
.elementor-widget-text-editor :is(h1,h2,h3,h4,h5,h6) {
  margin: 0 0 10px;
  font-weight: normal;
  /*line-height: 1.1em  ;*/
}


/* Optional: default Text Editor paragraph rhythm */
.elementor-widget-text-editor p { margin: 0 0 1.6rem; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }

html {
  /* 40px @ 360px to 62px @ 1280px */ 
  --h1-size: clamp(4rem, 3.0667rem + 2.9167vw, 6.2rem)
}

/* NOTE: IT'S SAFE TO CHANGE THE MIN AND MAX FONT VALUES UP TO 4px or .4rem --- CHANGING THOSE VALUES WILL SHIFT THE FLUID BREAKPOINTS. */

h1 { font-size: calc(var(--h1-size) * 1.00); } /* 40 > 62px */
h2 { font-size: calc(var(--h1-size) * 0.78); } /* 31 > 53px */
h3 { font-size: calc(var(--h1-size) * 0.62); } /* 25 > 42px */
h4 { font-size: calc(var(--h1-size) * 0.50); } /* 20 > 34px */
h5 { font-size: calc(var(--h1-size) * 0.40); } /* 16 > 27px */
h6 { font-size: calc(var(--h1-size) * 0.32); } /* 13 > 22px */



h1 { font-size: calc(var(--h1-size) * 0.78); } /* 31 > 53px */
h2 { font-size: calc(var(--h1-size) * 0.62); } /* 25 > 42px */
h3 { font-size: calc(var(--h1-size) * 0.50); } /* 20 > 34px */
h4 { font-size: calc(var(--h1-size) * 0.40); } /* 16 > 27px */
h5 { font-size: calc(var(--h1-size) * 0.32); } /* 13 > 22px */
h6 { font-size: calc(var(--h1-size) * 0.32); } /* 13 > 22px */



/* ==================================================
   PER-SITE HEADING FONT CONFIG (set per client)
   ================================================== */

/* Defaults (safe fallback = Elementor Primary) */
:root{
  --tfc-h1-font: "New Frank Bold", sans-serif;
  --tfc-h2-font: "New Frank Bold", sans-serif;
  --tfc-h3-font: "New Frank Bold", sans-serif;
  --tfc-h4-font: "New Frank Bold", sans-serif;
  --tfc-h5-font: "New Frank Bold", sans-serif;
  --tfc-h6-font: "New Frank Bold", sans-serif;
}

/* Apply to ALL headings everywhere */
h1 { font-family: var(--tfc-h1-font); }
h2 { font-family: var(--tfc-h2-font); }
h3 { font-family: var(--tfc-h3-font); }
h4 { font-family: var(--tfc-h4-font); }
h5 { font-family: var(--tfc-h5-font); }
h6 { font-family: var(--tfc-h6-font); }

/* Critical: make Elementor Heading widgets follow the same rules */
.elementor .elementor-widget-heading h1.elementor-heading-title { font-family: var(--tfc-h1-font); }
.elementor .elementor-widget-heading h2.elementor-heading-title { font-family: var(--tfc-h2-font); }
.elementor .elementor-widget-heading h3.elementor-heading-title { font-family: var(--tfc-h3-font); }
.elementor .elementor-widget-heading h4.elementor-heading-title { font-family: var(--tfc-h4-font); }
.elementor .elementor-widget-heading h5.elementor-heading-title { font-family: var(--tfc-h5-font); }
.elementor .elementor-widget-heading h6.elementor-heading-title { font-family: var(--tfc-h6-font); }





/* ==================================================
   MISC UI ENHANCEMENTS
   ================================================== */

/* ANIMATE BUTTONS WITH ICONS */
.elementor-button .elementor-button-icon {
  transition: transform 0.4s ease;
  transform: scale(.8);
}

/* Combine transforms into one declaration (so you don’t override yourself) */
.elementor-button:hover .elementor-button-icon {
  transform: translateX(8px) scale(1.05);
}

/* Gap between text and icon.
   NOTE: !important is fine here because Elementor sometimes inlines spacing */
.elementor-button .elementor-button-content-wrapper {
  gap: 8px !important;
}

 /*SVG ARROW (fallback) - show when NO icon is present */
.elementor-button .elementor-button-content-wrapper::after {
  transition: transform 0.6s ease;
  transform: scale(.8);
  content: "";
  display: inline-block;
  width: 32px;
  margin-top: -6px;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='white' d='M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z'/%3E%3C/svg%3E");

background-size: 22px 22px; /* or smaller */
background-repeat: no-repeat;
background-position: center;

}

/* Hide SVG arrow when icon is present (modern browsers)
   :has() support is good in modern Chrome/Safari; Firefox support has improved,
   but if you ever see inconsistency, use the no-arrow class below. */
.elementor-button .elementor-button-content-wrapper:has(.elementor-button-icon)::after {
  display: none !important;
}

.elementor-button:hover .elementor-button-content-wrapper::after {
  transform: translateX(8px) scale(1.04);
}

/* Manual override: hide both SVG and icon when this class is applied */
.no-arrow .elementor-button-content-wrapper::after {
  display: none !important;
}

.no-arrow .elementor-button-icon {
  display: none !important;
}

/* BOX SHADOWS */
.custom-box-shadow {
  transition: transform .3s, box-shadow .3s;
  box-shadow: 0 10px 15px -3px rgba(0,0,0,.10), 0 4px 6px -4px rgba(0,0,0,.10);
}

.custom-box-shadow:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0,0,0,.15);
}

.simple-box-shadow {
  box-shadow: 0 4px 6px -1px rgba(0,0,0,.10), 0 2px 4px -2px rgba(0,0,0,.10);
}






/* ------- *//* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'New Frank Bold';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://elohi.us/wp-content/uploads/NewFrank-Bold.woff2') format('woff2'),
		url('https://elohi.us/wp-content/uploads/NewFrank-Bold.woff') format('woff'),
		url('https://elohi.us/wp-content/uploads/NewFrank-Bold.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Des Montilles';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://elohi.us/wp-content/uploads/Des-Montilles.woff2') format('woff2'),
		url('https://elohi.us/wp-content/uploads/Des-Montilles.woff') format('woff'),
		url('https://elohi.us/wp-content/uploads/Des-Montilles.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Bilo Regular';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://elohi.us/wp-content/uploads/Bilo-Regular.woff2') format('woff2'),
		url('https://elohi.us/wp-content/uploads/Bilo-Regular.woff') format('woff'),
		url('https://elohi.us/wp-content/uploads/Bilo-Regular.ttf') format('truetype');
}
/* End Custom Fonts CSS */