/*
FOOBAR
--CSS set or reset at page level--
max-width
body
a color
key color
accent color
font color
font family
Styles applied from top, resets should be at top
*/
html {box-sizing: border-box; scroll-behavior: smooth;}
*, *:before, *:after {box-sizing: inherit; /*outline:1px solid red;*/}
html,body {background:#fff; margin:0; padding:0 0 0 0; line-height: 1.5;}
body {/*display: grid; place-items: center;*/}
body,input,textarea,select,button,li,th,td{font-family: var(--font-family-sans,sans-serif); color: var(--font-color,#000000);-webkit-text-size-adjust: 100%; font-size:100%;}
iframe, img {display:block;}
a {color:hsl(var(--key-color-h,208), var(--key-color-s,89.2%), var(--key-color-l,29%));}
a[href^="tel:"], a[href^="sms:"] {text-decoration:inherit; color:inherit;}
.tcpa_disclosure, .ccpa_disclosure {font-size:11px!important; line-height:1.3!important; color:#757575!important; text-align:center!important; margin-top:20px!important;}
.donotsell_footer {white-space: nowrap; font-family: inherit!important;}
svg#sprite {display:block; height:0; margin:0 auto;} /* hack to eliminate extra space created by SVG zone */

/* selective resets when needed - simplified to be cascade friendly
a.reset {text-decoration:none; color:inherit;}
ul.reset, .reset li {padding:0; margin:0; font-size:inherit; list-style:none;}
h1.reset, h2.reset, h3.reset, h4.reset, h5.reset, h6.reset, p.reset {font-size:100%; line-height:inherit; font-weight:normal; padding:0; margin:0; color:inherit;}
button.reset {-webkit-appearance: none; line-height: normal; border: none; margin: 0; padding: 0; border-radius:0;}*/
.reset {text-decoration:none; list-style:none; font-size:100%; font-weight:normal; padding:0; margin:0; color:inherit; line-height: normal; border: none; border-radius:0; background:transparent; -webkit-appearance:none;}
.serif {font-family:var(--font-family-serif,serif);}
.sans {font-family:var(--font-family-sans,sans-serif);}
.button-base {display:block; width:fit-content; cursor: pointer; text-align: center; background:hsl(var(--key-color-h,0), var(--key-color-s,0%), var(--key-color-l,0%)); color:#fff; font-size:1rem; padding:6px 12px; transition-property: min-width, transform, border-radius; transition-duration: 0.0s; transition-timing-function: linear; transform-origin:center center; position:relative; overflow:hidden; border: none; -webkit-appearance:none; box-shadow:none; text-decoration:none;}
.button-maximal {padding:10px 24px; font-size:1.2rem; font-weight:700; border-radius:9px;}
.button-minimal {border-radius:5px; font-size:.85rem;}
.button-hover:hover {transition:all 0.3s ease-in-out; opacity:0.7}
/* forbutton colors and effects use class names like drop-shadow*/

section {width:100%;}
.flex-container {flex-wrap: wrap; gap:12px; justify-content:center; display: inline-flex; width:100%;}
.flex-container div {margin-left:auto; margin-right:auto;}
.flex-container div:not(li > div) {width:100%}
.flex-container div:not(li > div):only-child {margin-left:auto; margin-right:auto;}
.flex-container div:not(li > div):first-child {margin-right:auto;}
.flex-container div:not(li > div):last-child {margin-left:auto;}
.cover,.backdrop-option {position:absolute; top:0; right:0; bottom:0; left:0;}
.wrapper-for-hero-background-option {position:relative;}
.wrapper-for-hero-background-option section, .wrapper-for-hero-background-option div {position:relative; z-index:2;}
/*section *:not(.backdrop-option), div *:not(.backdrop-option) {position:relative; z-index:2;}*/
.backdrop-option {display:none}
.backdrop-option.filter {backdrop-filter: blur(6px); --webkit-backdrop-filter: blur(6px);}
.backdrop-option.lighten {background:rgba(255,255,255,0.8)}
.backdrop-option.darken {background:rgba(0,0,0,0.2)}
.center {text-align:center;}
.center.center {display:grid; place-items: center;} /*this doesn't really work */
.center-h {margin-left:auto; margin-right:auto;}
.center-v {display:grid; place-items: center; height:100%;}
.center-text {text-align:center;}
.left {text-align:left;}
.right {text-align:right;}
b {font-weight: 700;}
p + ul {padding-top:0; margin-top:-.8em;}
.show-on-desktop {display:none;}
.show-on-mobile {display:block}

/* left/right padding */
.padding-x-0 {padding-left:0!Important; padding-right:0!Important}
.padding-x-1, .padding-x {padding-left:var(--padding-unit,10px); padding-right:var(--padding-unit,10px);}
.padding-x-2 {padding-left:calc(var(--padding-unit,10px) * 2); padding-right:calc(var(--padding-unit,10px) * 2);}
.padding-x-3 {padding-left:calc(var(--padding-unit,10px) * 3); padding-right:calc(var(--padding-unit,10px) * 3);}
.padding-x-4 {padding-left:calc(var(--padding-unit,10px) * 4); padding-right:calc(var(--padding-unit,10px) * 4);}
.padding-x-5 {padding-left:calc(var(--padding-unit,10px) * 5); padding-right:calc(var(--padding-unit,10px) * 5);}
.padding-x-6 {padding-left:calc(var(--padding-unit,10px) * 6); padding-right:calc(var(--padding-unit,10px) * 6);}

/* top/bottom padding */
.padding-y-0 {padding-top:0!Important; padding-bottom:0!Important}
.padding-y-1, .padding-y {padding-top:var(--padding-unit,10px); padding-bottom:var(--padding-unit,10px);}
.padding-y-2 {padding-top:calc(var(--padding-unit,10px) * 2); padding-bottom:calc(var(--padding-unit,10px) * 2);}
.padding-y-3 {padding-top:calc(var(--padding-unit,10px) * 3); padding-bottom:calc(var(--padding-unit,10px) * 3);}
.padding-y-4 {padding-top:calc(var(--padding-unit,10px) * 4); padding-bottom:calc(var(--padding-unit,10px) * 4);}
.padding-y-5 {padding-top:calc(var(--padding-unit,10px) * 5); padding-bottom:calc(var(--padding-unit,10px) * 5);}
.padding-y-6 {padding-top:calc(var(--padding-unit,10px) * 6); padding-bottom:calc(var(--padding-unit,10px) * 6);}

/* left/right margin */
.margin-x-0 {margin-left:0!Important; margin-right:0!Important;}
.margin-x-1, .margin-x {margin-left:var(--margin-unit,10px); margin-right:var(--margin-unit,10px);}
.margin-x-2 {margin-left:calc(var(--margin-unit,10px) * 2); margin-right:calc(var(--margin-unit,10px) * 2);}
.margin-x-3 {margin-left:calc(var(--margin-unit,10px) * 3); margin-right:calc(var(--margin-unit,10px) * 3);}
.margin-x-4 {margin-left:calc(var(--margin-unit,10px) * 4); margin-right:calc(var(--margin-unit,10px) * 4);}
.margin-x-5 {margin-left:calc(var(--margin-unit,10px) * 5); margin-right:calc(var(--margin-unit,10px) * 5);}
.margin-x-6 {margin-left:calc(var(--margin-unit,10px) * 6); margin-right:calc(var(--margin-unit,10px) * 6);}
.margin-x-auto {margin-left:auto; margin-right:auto;}

/* top/bottom padding */
.margin-y-0 {margin-top:0!Important; margin-bottom:0!Important;}
.margin-y-1, .margin-y {margin-top:var(--margin-unit,10px); margin-bottom:var(--margin-unit);}
.margin-y-2 {margin-top:calc(var(--margin-unit) * 2); margin-bottom:calc(var(--margin-unit) * 2);}
.margin-y-3 {margin-top:calc(var(--margin-unit) * 3); margin-bottom:calc(var(--margin-unit) * 3);}
.margin-y-4 {margin-top:calc(var(--margin-unit) * 4); margin-bottom:calc(var(--margin-unit) * 4);}
.margin-y-5 {margin-top:calc(var(--margin-unit) * 5); margin-bottom:calc(var(--margin-unit) * 5);}
.margin-y-6 {margin-top:calc(var(--margin-unit) * 6); margin-bottom:calc(var(--margin-unit) * 6);}
.margin-y-auto {margin-top:auto; margin-bottom:auto;}

/* font weights */
.font-thin {font-weight: 100;}
.font-extralight {font-weight: 200;}
.font-light {font-weight: 300;}
.font-normal, .normal {font-weight: 400;}
.font-medium {font-weight: 500;}
.font-semibold {font-weight: 600;}
.font-bold, .bold {font-weight: 700;}
.font-extrabold {font-weight: 800;}
.font-900 {font-weight: 900;}

/* font sizes */
.text-size-xs, .font-size-xs {font-size: 0.75rem; line-height: 1.4;}
.text-size-sm, .font-size-sm {font-size: 0.875rem; line-height: 1.4;}
.text-size-base, .font-size-base, .text-size-medium, .font-size-medium {font-size: 1rem; line-height: 1.4;}
.text-size-lg, .font-size-lg  {font-size: 1.125rem; line-height: 1.2;}
.text-size-xl, .text-size-1xl, .font-size-xl, .font-size-1xl {font-size: 1.25rem; line-height: 1.15;}
.text-size-2xl, .font-size-2xl, .text-size-xxl, .font-size-xxl {font-size: 1.5rem; line-height: 1.1;}
.text-size-3xl, .font-size-3xl, .text-size-xxxl, .font-size-xxxl {font-size: 2rem; line-height: 1;}
.text-size-4xl, .font-size-4xl, .text-size-xxxl, .font-size-xxxl {font-size: 2.25rem; line-height: 1;}
.text-size-5xl, .font-size-5xl {font-size: 2.5rem; line-height: 1;}
.text-size-6xl, .font-size-6xl {font-size: 3rem; line-height: 1;}

/* fluid font-size based on fluid-type-scale.com */
.text-size-xs-f, .font-size-xs-f {font-size:clamp(0.72rem, 0.08vw + 0.7rem, 0.76rem); line-height: 1.4;}
.text-size-xs-f, .font-size-sm-f {font-size:clamp(0.85rem, 0.19vw + 0.8rem, 0.95rem); line-height: 1.4;}
.text-size-base-f, .font-size-base-f {font-size:clamp(1rem, 0.34vw + 0.91rem, 1.19rem); line-height: 1.4;}
.text-size-lg-f, .font-size-lg-f {font-size:clamp(1.18rem, 0.55vw + 1.04rem, 1.48rem); line-height: 1.2;}
.text-size-xl-f, .font-size-xl-f {font-size:clamp(1.39rem, 0.84vw + 1.18rem, 1.86rem); line-height: 1.15;}
.text-size-2xl-f, .font-size-2xl-f, .text-size-xxl-f, .font-size-xxl-f {font-size:clamp(1.64rem, 1.23vw + 1.34rem, 2.32rem); line-height: 1.1;}
.text-size-3xl-f, .font-size-3xl-f, .text-size-xxxl-f, .font-size-xxxl-f {font-size:clamp(1.2rem, 1.75vw + 1rem, 2.0rem); line-height: 1;}


.hang-punctuation {padding-left: 1em; text-indent: -0.5em;}

/* border radii */
.round {border-radius:1500px;}
.rounded-sm, .radius-sm {border-radius:.5rem;}
.rounded, .radius {border-radius:1rem;}
#primary_form.rounded, #primary_form.rounded-sm {overflow:hidden; background:#fff; padding-top:10px;}

.border-1 {border:1px solid #ddd}
.border-2 {border:2px solid #ddd}
.border-3 {border:3px solid #ddd}
.border-4 {border:4px solid #ddd}

/* fill/background colors */
.fill-none {background:tranparent}
.fill-transparent {background:tranparent}
.fill-white {background:rgba(255,255,255,1)}
.fill-brand {background:hsl(var(--key-color-h,208), var(--key-color-s,89.2%), var(--key-color-l,29%));}
.fill-brand-05 {background: color-mix(in srgb, rgb(var(--key-color)) 5%, white);}
.fill-brand-10 {background: color-mix(in srgb, rgb(var(--key-color)) 10%, white);}
.fill-brand-20 {background: color-mix(in srgb, rgb(var(--key-color)) 20%, white);}
.fill-brand-40 {background: color-mix(in srgb, rgb(var(--key-color)) 40%, white);}
.fill-brand-60 {background: color-mix(in srgb, rgb(var(--key-color)) 60%, white);}
.fill-brand-80 {background: color-mix(in srgb, rgb(var(--key-color)) 80%, white);}
.fill-brand-accent {background:rgb(var(--accent-color-1,253,185,19))}
.fill-black {background:rgba(0,0,0,1)}
.fill-gray {background:rgba(221,221,221,1)}
.fill-gray-10 {background:rgba(250,250,250,1)}
.fill-gray-20 {background:rgba(245,245,245,1)} 
.fill-gray-30 {background:rgba(230,230,230,1)} 
.fill-gray-40 {background:rgba(210,210,210,1)} 
.fill-gray-50 {background:rgba(160,160,160,1)} 
.fill-gray-60 {background:rgba(110,110,110,1)} 
.fill-gray-70 {background:rgba(80,80,80,1)} 
.fill-gray-80 {background:rgba(60,60,60,1)} 
.fill-gray-90 {background:rgba(45,45,45,1)}
.fill-blue-10, .fill-blue {background:rgba(232,242,253,1)}
.fill-beige {background:rgba(255,253,231,1)}
.fill-orange {background:rgba(255,165,0,1)}

/* border/border-color colors */
.border-none {border-color:tranparent}
.border-transparent {border-color:tranparent}
.border-white {border-color:rgba(255,255,255,1)}
.border-brand {border-color:hsl(var(--key-color-h,208), var(--key-color-s,89.2%), var(--key-color-l,29%));}
.border-brand-accent {border-color:rgb(var(--accent-color-1,253,185,19))}
.border-black {border-color:rgba(0,0,0,1)}
.border-gray {border-color:rgba(221,221,221,1)}
.border-gray-10 {border-color:rgba(250,250,250,1)}
.border-gray-20 {border-color:rgba(245,245,245,1)} 
.border-gray-30 {border-color:rgba(230,230,230,1)} 
.border-gray-40 {border-color:rgba(210,210,210,1)} 
.border-gray-50 {border-color:rgba(160,160,160,1)} 
.border-gray-60 {border-color:rgba(110,110,110,1)} 
.border-gray-70 {border-color:rgba(80,80,80,1)} 
.border-gray-80 {border-color:rgba(60,60,60,1)} 
.border-gray-90 {border-color:rgba(45,45,45,1)}
.border-blue-10, .border-blue {border-color:rgba(232,242,253,1)}
.border-beige {border-color:rgba(255,253,231,1)}

 /* text colors */
.text-white, .font-white {color:rgba(255,255,255,1);}
.text-brand, .font-brand {color:hsl(var(--key-color-h,208), var(--key-color-s,89.2%), var(--key-color-l,29%));}
.text-brand-05, .font-brand-05 {color: color-mix(in srgb, rgb(var(--key-color)) 5%, white);}
.text-brand-10, .font-brand-10 {color: color-mix(in srgb, rgb(var(--key-color)) 10%, white);}
.text-brand-20, .font-brand-20 {color: color-mix(in srgb, rgb(var(--key-color)) 20%, white);}
.text-brand-40, .font-brand-40 {color: color-mix(in srgb, rgb(var(--key-color)) 40%, white);}
.text-brand-60, .font-brand-60 {color: color-mix(in srgb, rgb(var(--key-color)) 60%, white);}
.text-brand-80, .font-brand-80 {color: color-mix(in srgb, rgb(var(--key-color)) 80%, white);}
.text-brand-accent, .font-brand-accent {color:rgb(var(--accent-color-1,253,185,19))}
.text-black, .font-black {color:rgba(0,0,0,1)}
.text-gray, .font-gray {color:rgba(221,221,221,1)}
.text-gray-10, .font-gray-10 {color:rgba(250,250,250,1)}
.text-gray-20, .font-gray-20 {color:rgba(245,245,245,1)} 
.text-gray-30, .font-gray-30 {color:rgba(230,230,230,1)} 
.text-gray-40, .font-gray-40 {color:rgba(210,210,210,1)} 
.text-gray-50, .font-gray-50 {color:rgba(160,160,160,1)} 
.text-gray-60, .font-gray-60 {color:rgba(110,110,110,1)} 
.text-gray-70, .font-gray-70 {color:rgba(80,80,80,1)} 
.text-gray-80, .font-gray-80 {color:rgba(60,60,60,1)} 
.text-gray-90, .font-gray-90 {color:rgba(45,45,45,1)}

.drop-shadow-sm {box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;}
.drop-shadow {box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;}
.drop-shadow-lg {box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;}
.drop-shadow-xl {box-shadow: rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.04) 0px 10px 10px -5px;}
.cedar-shdaow {box-shadow: 0px 7px 15px 0px #496C8A24;}
/* button click add-on */
.ripple {
  transform: translate3d(0, 0, 0);
}
.ripple:after {
  content:'';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image: radial-gradient(circle, #fff 10%, transparent 10.01%);
  background-repeat: no-repeat;
  background-position: 50%;
  transform: scale(10, 10);
  opacity: 0;
  transition: transform .5s, opacity 1s;
}
.ripple:active:after {
  transform: scale(0, 0);
  opacity: .3;
  transition: 0s;
}

/* button attention getter */       
.pulse {
    box-shadow: 0px 3px 10px 0px rgba(var(--button-color-base,224,120,0),0.4), 0px 0px 0px 0px rgba(var(--button-color-base,224,120,0),0.0);
    -webkit-animation: pulseButton 3s infinite;
}
@keyframes pulseButton {
  0% {
      box-shadow: 0px 3px 10px 0px rgba(var(--button-color-base,224,120,0),0.4), 0px 0px 0px 0px rgba(var(--button-color-base,224,120,0),0.5);
  }
  30% {
      box-shadow: 0px 3px 10px 0px rgba(var(--button-color-base,224,120,0),0.4), 0px 0px 8px 15px rgba(var(--button-color-base,224,120,0),0.0);
  }
  100% {
      box-shadow: 0px 3px 10px 0px rgba(var(--button-color-base,224,120,0),0.4), 0px 0px 0px 0px rgba(var(--button-color-base,224,120,0),0.0);
  }
}

/* spinner animation on button click, requires js to addClass button_active_fancy */
/*.button-base:has(.loader) {min-width:245px;}*/
.button-base.button-maximal {min-width:245px;}
.button_active_fancy {
    pointer-events:none;
    transition-delay: 0.5s;
    transition-duration: 0.3s;
    padding:10px!Important;
    min-width:0px!Important;
    border-radius:100px!Important;
    font-size:0!Important;
}
.button_active_fancy img {
    display:none;
}
.button-base.button_active_fancy .loader {
    display:block;
}
.button-base .loader,
.button-base .loader:after {
  border-radius: 50%;
  width: 2.8em;
  height: 2.8em;
}
.button-base .loader {
  display:none;
  font-size:10px;
  margin: 0 auto;
  position: relative;
  border-top: 0.4em solid rgba(255, 255, 255, 0.4);
  border-right: 0.4em solid rgba(255, 255, 255, 0.4);
  border-bottom: 0.4em solid rgba(255, 255, 255, 0.4);
  border-left: 0.4em solid #ffffff;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: button-spinner 0.5s infinite linear;
  animation: button-spinner 0.5s infinite linear;
}
@-webkit-keyframes button-spinner {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes button-spinner {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.svg-color-blue {filter:invert(30%) sepia(24%) saturate(3315%) hue-rotate(181deg) brightness(81%) contrast(102%)}
/* desktop specific */
@media screen and (min-width:740px) {
  .flex-container {display:flex; flex-wrap: nowrap;}
  .left-on-desktop-only {text-align:left!important;}
  .show-on-desktop {display:block;}
  .show-on-mobile {display:none}
}