/*!
* Optima Theme - Base Elements
* Version 1.0
*/


/* =========================================================
   BASE RESET
   ========================================================= */

html {
   height: 100%;
}
   
   body {
   margin: 0;
}
   
a,
input,
.tab-sm i,
.header,
.header .header-inner,
.header .cta .phone,
.header .cta a,
*:before,
*:after,
.mobile-nav.open,
.mobile-nav.close,
svg:hover,
a:hover svg {
  text-decoration: none!important;
}

.embed a[data-sb-event="link-call"],
.content a[data-sb-event="link-call"],
.sb-module a[data-sb-event="link-call"] {
  white-space: nowrap;
}

/*custom dropdown motion -- desktop*/
.header .nav .dropdown-wrapper,
.header .nav .dropdown-wrapper li {
  -ms-transition:transform 0.65s cubic-bezier(0.2,.8,.25,1),opacity 0.65s cubic-bezier(0.2,.8,.25,1);
  transition:transform 0.65s cubic-bezier(0.2,.8,.25,1),opacity 0.65s cubic-bezier(0.2,.8,.25,1);
  -webkit-transition: transform 0.65s cubic-bezier(0.2,.8,.25,1),opacity 0.65s cubic-bezier(0.2,.8,.25,1);
}

.sb-content a {
  text-decoration: underline;
}

@media screen and (max-width:1280px) {
.content img{
  max-width:100%;
  height: auto!important;
  display:block;
  margin-left: auto!important;
  margin-right: auto!important;
  float: none !important;
}
}

h1,
h2,
h3 {
  font-weight: 300;
  letter-spacing: 0px;
}

@media (min-width:949px) {

body:not(#page-home) 
.sb-content:not(.text--center) 
.content :is(h1,h2,h3){
  margin-inline:auto;
  text-align:left;
  padding-bottom:15px;
}
}

p {
  font-size: 16px!important;
  line-height: 1.5;
  margin-bottom: 20px;
}

aside {
  padding: 50px 0;
}
 
button:focus {
  outline: none;
}

.content ul {
  list-style-type: disc;
  padding-left: 1.2em;
}

@media (max-width: 948px) {
  .image img,
  .content img {
    display:block;
    margin-inline:auto;
    margin-bottom:1em;
    float:none;
  }
}

:where(
  .content-intro,
  .sb-feature-about1-row,
  .sb-feature-about2-row
) ul {
  list-style: none;
  padding-left: 0;
}

.body {
  background: transparent;
}

/* HR bars */


/* Global <hr> styling */
hr {
  display: block;
  height: 1px;              /* line thickness */
  border: 0;                /* remove default groove */
  background: currentColor; /* inherits text color */
  opacity: 0.15;            /* soften the line */
  margin: 35px 0px 35px;           /* vertical space (mobile) */
}

/* More breathing room on larger screens */
@media (min-width: 768px) {
  hr {margin: 35px 0px 35px;}
}


/* HR bars -- hide by default 
*/
 {
  display: none;
}

.form-inner p.submit {
  text-align: right;
  padding-top: 20px!important;
}


iframe {
  vertical-align: bottom;
} 

.content img,
.headline img,
.post .entry img {
  border: 0px!important;
}

 body.page-app [class*="elfsight-"] {
 display: none!important;
}

.sb-embed .box,
.box {
  padding: 0px;
  display: inline-block;
  width: 100%;
}

.sb-embed .box {
  display: inline-block;
  width: 100%;
}

.site-messages {
  display: none;
}

/* "l" seperater  */
.pipe {
  color: var(--color-brand);
  opacity: .65; /* optional polish */
}

/* =========================================================
   gallery reset - icons var3 system
========================================================= */
.gallery.var3 img{
  width:auto;
  height:auto;
}

/* =========================================================
   GLOBAL PRESETS
========================================================= */

/* Global Typography */
body,
.content,
.content h3,
.footer .locations_list,
.btn,
.btn-cta,
.module-form input:not([type=submit]),
.module-form textarea,
.module-form select,
.mobile-nav a,
.gallery .gallery-header p,
.headline h2 {
  font-family: 'Poppins', sans-serif;
}

/* Full Post Content (inherits body) */
.post h1.title,
.post h2.title,
.sb-full-post p,
.sb-full-post ul {
  font-family: inherit !important;
}


/* =========================================================
   H3 SIZE UTILITIES
========================================================= */

.h3-sm h3{
  font-size:18px!important;
}

.h3-md h3{
  font-size:22px!important;
}

.h3-lg h3{
  font-size:28px!important;
}


/* Global alignment */
.align-right {
  margin-right: auto;
  justify-content: flex-end;
  text-align: right;
}

.align-left {
  margin-left: auto;
  justify-content: flex-start;
  text-align: left;
}

.align-center {
  margin: auto;
  justify-content: center!important;
  text-align: center;
}

.is-centered {
  justify-content: center;
}

.is-spread {
  justify-content: space-between!important;
}

/* modifiers */

.align-left div {
    justify-content: left!important;
}

/* Vertical (NEW) */

.align-top {
  align-items: flex-start;
}

.align-middle {
  align-items: center;
}

.align-bottom {
  align-items: flex-end;
}


/* =========================================================
   ROW LAYOUT MODIFIERS
========================================================= */

.sb-bg-full-row > .sb-module {
  align-items: center;
}

/* =========================================================
   PADDING 
========================================================= */

@media screen and (min-width:949px) {
.pad-y-0  {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.pad-y-sm {
  padding-top: var(--sb-space-sm) !important;
  padding-bottom: var(--sb-space-sm) !important;
}

.pad-y {
  padding-top: var(--sb-space-default) !important;
  padding-bottom: var(--sb-space-default) !important;
}

.pad-y-lg {
  padding-top: var(--sb-space-lg) !important;
  padding-bottom: var(--sb-space-lg) !important;
}
}


/* =========================================================
   PADDING ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â HORIZONTAL (LEFT / RIGHT)
========================================================= */

@media screen and (min-width:949px) {
.pad-x-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.pad-x-sm {
  padding-left: var(--sb-gutter) !important;
  padding-right: var(--sb-gutter) !important;
}

.pad-x {
  padding-left: var(--sb-space-default) !important;
  padding-right: var(--sb-space-default) !important;
}

.pad-x-lg {
  padding-left: var(--sb-space-lg) !important;
  padding-right: var(--sb-space-lg) !important;
}

.pad-x-xl {
  padding-left: var(--sb-space-xl) !important;
  padding-right: var(--sb-space-xl) !important;
}

}

@media screen and (min-width:1281px) {
.pad-l-0   { padding-left: 0 !important; }
.pad-l-sm  { padding-left: var(--sb-gutter) !important; }
.pad-l     { padding-left: var(--sb-space-default) !important; }
.pad-l-lg  { padding-left: var(--sb-space-lg) !important; }

.pad-r-0   { padding-right: 0 !important; }
.pad-r-sm  { padding-right: var(--sb-gutter) !important; }
.pad-r     { padding-right: var(--sb-space-default) !important; }
.pad-r-lg  {padding-right: var(--sb-space-lg) !important;}
.pad-r-xl  {padding-right: var(--sb-space-xl) !important;}
}


/* =========================================================
   PADDING — VERTICAL OFFSET (TOP / BOTTOM)
   (follows existing naming + tokens)
========================================================= */


.pad-y-offset-sm {
  padding-top: var(--sb-space-lg) !important;
  padding-bottom: var(--sb-space-sm) !important;
}

.pad-y-offset {
  padding-top: var(--sb-space-xl) !important;
  padding-bottom: var(--sb-space-default) !important;
}

.pad-y-offset-lg {
  padding-top: var(--sb-space-lg) !important;
  padding-bottom: calc(var(--sb-space-xl) * 1.5) !important;
}


/* =========================================================
   MARGIN VERTICAL (TOP / BOTTOM)
========================================================= */

.mar-y-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.mar-y-sm {
  margin-top: var(--sb-space-sm) !important;
  margin-bottom: var(--sb-space-sm) !important;
}

.mar-y {
  margin-top: var(--sb-space-default) !important;
  margin-bottom: var(--sb-space-default) !important;
}

.mar-y-lg {
  margin-top: var(--sb-space-lg) !important;
  margin-bottom: var(--sb-space-lg) !important;
}


/* =========================================================
   GLOBAL SPACING + LAYOUT SYSTEM
   CMS-safe ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ LIVE-safe ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ JS-free
========================================================= */



/* =========================================================
   SB WRAP STRUCTURAL + BACKGROUND
========================================================= */

.sb-wrap {
  position: relative;
  margin: 0;
  padding: 0;
  clear: both;
  box-sizing: border-box;
  max-width: 100%;
  z-index: 0;
  background-position: 50% 0;
  background-size: cover !important;
  background-repeat: no-repeat;
  background-attachment: scroll !important;
}


/* =========================================================
   SB MODULE BEFORE / AFTER (GRAPHICS)
========================================================= */

.sb-wrap::before,
.sb-wrap::after,
.sb-bg-graphic1-row::before,
.sb-bg-graphic1-row::after,
.sb-bg-graphic2-row::before,
.sb-bg-graphic2-row::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}


/* =========================================================
   OVERLAY STACKING SAFETY
========================================================= */

/* Content layer */
.sb-wrap > *,
.sb-module {
  position: relative;
  z-index: 2;
}

/* CTA safety */
.sb-module a.btn {
  position: relative;
  z-index: 3;
}


/* =========================================================
   CMS WRAPPER RESET
========================================================= */

.body.body-innerstatic .wrapper {
  max-width: none !important;
  width: 100%;
  margin: 0;
  padding: 0;
}



/* =========================================================
   SPACING TOKENS 
========================================================= */

:root {
  --z-base: 1;
  --z-header: 100;
  --z-header-inner: 110;
  --z-nav: 120;
  --z-dropdown: 130;
  --z-overlay: 900;
  --z-modal: 1000;
  --sb-gutter: clamp(20px, 4vw, 32px);
  --sb-gutter-md: clamp(40px, 4vw, 32px);
  --sb-space-sm: clamp(40px, 6vw, 64px);
  --sb-space-default: clamp(60px, 8vw, 120px);
  --sb-space-lg: clamp(90px, 100vw, 140px);
  --sb-space-xl: clamp(90px, 100vw, 440px);
  --site-max: 1425px;        /* default container */
  --site-wide: 1680px;       /* optional wider */
  --site-full-pad: clamp(20px, 4vw, 60px);
  --sb-space-top-sm: var(--sb-space-sm);
  --sb-space-top:    var(--sb-space-default);
  --sb-space-top-lg: var(--sb-space-lg);
  --sb-space-bottom-sm: var(--sb-space-sm);
  --sb-space-bottom:    var(--sb-space-default);
  --sb-space-bottom-lg: var(--sb-space-lg);
  --sb-hero-pad: clamp(60px, 6vw, 140px);
  
 /* Surfaces */
  --surface-white: #ffffff;
  --surface-dark: #000000;
  --surface-brand: #000000; /* brand-specific */
  
  /* Core modes */
  --color-brand: #3c3a38;   /* overridden per site */
  --color-light: #ffffff;
  --color-dark:  #000000;  
  
  /* Base usage */
  --color-text-light: var(--color-light);
  --color-text-dark: var(--color-dark);
  --color-bg:   var(--color-light);
  --color-line: rgba(0,0,0,.15);
  --nav-toggle-color: #000; /* fallback */
  --logo-sm: 250px;
  --logo-md: 350px;
  --logo-lg: 400px;
  --logo-xl: 800px;

  /* Base usage */
  --font-body-light: 300;
  --font-body-regular: 400;
  --font-body-strong: 600;
  
  /* univeral icons */
  --icon-sm: 50px;
  --icon-md: 90px;
  --icon-lg: 110px;
  --icon-xl: 290px;
  --gap-xs: 8px;
  --gap-sm: 12px;
  --gap-md: 20px;
  --gap-lg: 30px;
  --gap-xl: 50px;
  }
  
  .nav-toggle__icon line {
  stroke: var(--nav-toggle-color);
  }


  /* States */
  
  .site-header.is-lines-dark {
  --nav-toggle-color: #000000;
  }
  
  .site-header.is-lines-light {
  --nav-toggle-color: #ffffff;
  }
  
  .site-header.is-lines-brand {
  --nav-toggle-color: var(--color-brand);
  }



/* =========================================================
   SPACING PRESETS
   (use on sb-wrap or columns)
========================================================= */

/* Even edges */

.has-space-sm { 
  margin-top: var(--sb-space-sm);
  margin-bottom: var(--sb-space-sm);
}

.has-space { 
  margin-top: var(--sb-space-default);
  margin-bottom: var(--sb-space-default);
}

.has-space-lg { 
  margin-top: var(--sb-space-lg);
  margin-bottom: var(--sb-space-lg);
}


/* Bottom edge */

.has-space-bottom-sm { margin-bottom: var(--sb-space-bottom-sm); }
.has-space-bottom    { margin-bottom: var(--sb-space-bottom); }
.has-space-bottom-lg {margin-bottom: var(--sb-space-bottom-lg);z-index: 2;}


/* Top edge */

.has-space-top-sm { margin-top: var(--sb-space-top-sm); }
.has-space-top    { margin-top: var(--sb-space-top); }
.has-space-top-lg { margin-top: var(--sb-space-top-lg); }


/* gap utilities */

.gap-none{ --grid-gap:0; }
.gap-sm{ --grid-gap:var(--gap-sm); }
.gap-md{ --grid-gap:var(--gap-md); }
.gap-lg{ --grid-gap:var(--gap-lg); }


/* =========================================================
   MOBILE COLUMN STACK SPACING
   - Adds vertical rhythm BETWEEN sb-cols
   - Top spacing only
   - Mobile-first (disabled on desktop)
========================================================= */

@media (max-width: 948px) {
  /* Target stacked columns */
  .sb-wrap .sb-col + .sb-col {
  margin-top: var(--sb-space-default);
  }
}

.sb-module {
  padding:
  var(--sb-space-default)
  var(--sb-gutter)
  0;
  box-sizing: border-box;
}

@media (min-width: 949px) {
.sb-col .sb-module {
  padding: 0;
}
}

/* Spacing modifiers */
.sb-module.sb-space-sm {
  padding-top: var(--sb-space-sm);
}

.sb-module.sb-space-lg {
  padding-top: var(--sb-space-lg);
}

/* Explicit opt-out */
.sb-module.sb-module--nomargin {
  padding: 0 !important;
}


/* =========================================================
   MOBILE COLUMN STACK SPACING
========================================================= */

@media (max-width: 948px) {
  .sb-wrap .sb-col + .sb-col {
  margin-top: var(--sb-space-default);
  }
}

/* =========================================================
   FULL SECTION RHYTHM
   - Maxwidth + Full BG rows
========================================================= */

.sb-roundedbox-row .sb-module.col-wrap {
   padding: var(--sb-space-default) var(--sb-gutter);
}

.sb-bg-full-row > .sb-module {
   padding: var(--sb-space-default) var(--sb-gutter);
}

.container > .columns .content  {
   padding: var(--sb-space-default) var(--sb-gutter-md);
}


/* =========================================================
   CMS ONLY  sb-bg-full MODULE SPACING
========================================================= */

.page-app .sb-module.sb-bg-full {
  padding-top: var(--sb-space-default);
  padding-bottom: var(--sb-space-default);
}

.page-app .sb-module.sb-bg-full.sb-space-sm {
  padding-top: var(--sb-space-sm);
  padding-bottom: var(--sb-space-sm);
}

.page-app .sb-module.sb-bg-full.sb-space-lg {
  padding-top: var(--sb-space-lg);
  padding-bottom: var(--sb-space-lg);
}

@media (min-width: 949px) {
/* Maxwidth + full-bg rows should NOT own horizontal gutters */
.sb-bg-full-row > .sb-module {
  padding-left: 0;
  padding-right: 0;
}
}

#page-home .sb-gallery-row .sb-gallery, .sb-wrap.sb-maxwidth-row > .sb-module {
  max-width: var(--site-max);
  margin-inline: auto;
}

/* =========================================================
   maxwidth module spacing
========================================================= */

/* Normalize readable content alignment */
.sb-maxwidth-row .sb-module.col-wrap{
  max-width: var(--site-max);
  margin-inline: auto;
  padding-inline: var(--sb-gutter);
}

/* Normalize readable content alignment */
.sb-maxwidth-row .sb-module.col-wrap .sb-module {
  padding: 0 !important;
}

/* =========================================================
   NO SECTION PADDING  MEDIA ROWS
   (Gallery, video, carousel, image-only rows)
========================================================= */

.sb-feature-cards1-row .sb-module:not(.col-wrap),
.sb-testimonials-var1-row .sb-module,
.sb-carousel-wrapper-row .sb-module,
.sb-gallery-row .sb-module {
  padding-top: 0 !important;
  padding-bottom: 0 !important;

}

/* =========================================================
   FLEX SAFETY (CMS FRIENDLY)
========================================================= */

.box,
.box-inner,
.content,
.embed,
.sb-module {
  min-width: 0;
  box-sizing: border-box;
  margin-left: auto!important;
  margin-right: auto!important;
  max-width: 100%;
}


/* =========================================================
   CENTERED CONTENT ROWS
========================================================= */

@media (min-width: 768px) {
  .sb-content-intro-row,
  .sb-feature-about1-row,
  .sb-feature-about2-row,
  .sb-feature-about3-row,
  .sb-feature-cta1-row,
  .sb-feature-cta2-row,
  .sb-feature-cta3-row {
  display: flex;
  justify-content: center;
  }
}


/* =========================================================
   CARD / GRID ROWS
========================================================= */

.sb-feature-plans1-row,
.sb-feature-plans2-row,
.sb-icon-steps-row {
  display: flex;
  justify-content: center;
}

.sb-feature-plans1 > div,
.sb-feature-plans2 > div,
.sb-icon-steps > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
}


/* =========================================================
   MEDIA ROWS (NO SPACING)
========================================================= */

.sb-feature-gallery-row,
.sb-gallery-row,
.sb-instagram-row,
.sb-carousel-wrapper-row,
.sb-video-row,
.sb-image-row {
  position: relative;
}


/* =========================================================
   LEGACY CMS COLUMN SUPPORT
========================================================= */

.sb-wrap > .sb-col {
  float: left;
  width: auto;
  max-width: none;
}


/* =========================================================
   MODERN LAYOUT OPT-IN
========================================================= */

.flex-row > .sb-col,
.sb-cols > .sb-col {
  float: none;
  width: auto !important;
  max-width: none !important;
  flex: 1 1 auto;
}


/* =========================================================
   SPLIT ROWS EVEN COLUMNS
========================================================= */

@media (min-width: 768px) {
  .col-wrap,
  .sb-content-intro-row,
  .sb-feature-about1--split-row,
  .sb-feature-about2--split-row,
  .sb-feature-about3--split-row {
  display: flex;
  align-items: flex-start;
  gap: clamp(32px, 5vw, 64px);
  }

  .sb-content-intro-row .sb-module .sb-col,
  .sb-feature-about1--split-row > .sb-col,
  .sb-feature-about2--split-row > .sb-col,
  .sb-feature-about3--split-row > .sb-col {
  float: none;
  width: auto !important;
  max-width: none !important;
  flex: 1 1 0;
  }
}


/* =========================================================
   BOOTSTRAP / CMS NEUTRALIZATION (SCOPED)
========================================================= */

.sb-wrap .row,
.sb-wrap [class*="col-"]:not(.col-wrap) {
  margin: 0;
  padding: 0;
}

.sb-wrap [class*="col-"]:not(.sb-col) {
  float: none;
  width: auto;
}


/* =========================================================
   GLOBAL ICON SYSTEM
========================================================= */

/* normalize icon images */

.has-icons img{
  /* display:block; */
  margin-left:auto;
  margin-right:auto;
  object-fit:contain;
}

/* default icon size */

.has-icons img{
  width:var(--icon-md);
  height:var(--icon-md);
}

/* size modifiers */

.has-icons.icon-sm img{
  width:var(--icon-sm);
  height:var(--icon-sm);
}

.has-icons.icon-md img{
  width:var(--icon-md);
  height:var(--icon-md);
}

.has-icons.icon-lg img{
  width:var(--icon-lg);
  height:var(--icon-lg);
}

.has-icons.icon-xl img{
  width:var(--icon-xl);
  height:var(--icon-xl);
}

/* mobile scale */

@media (max-width:948px){

.has-icons.icon-md img,
.has-icons img{
  width:var(--icon-md);
  height:var(--icon-md);
}

.has-icons.icon-xl img,
.has-icons.icon-lg img{
  width:var(--icon-md);
  height:var(--icon-md);

}
}

/*==================================================================================*/
/* INTERIOR FIRST MODULE HERO PADDING  */
/*==================================================================================*/

body:not(#page-home) .sb-seamlessbox-row .sb-module {
   padding: var(--sb-space-default) var(--sb-gutter);
}

@media (min-width: 949px) {
body:not(#page-home) .sb-seamlessbox-row .sb-module {
   padding: var(--sb-space-lg);
   }
}

/* =========================================================
   EMPTY SPACER ROW SYSTEM
   Layout-only, CMS-safe, editor-controlled
========================================================= */

/* Base spacer row */
body.page-app .sb-spacerdiv-row {
  display: block;
  width: 100%;
  height: var(--sb-space-default);
  min-height: var(--sb-space-default);
  pointer-events: none;
}

/* Size modifiers (optional) */
.sb-spacerdiv-row.sb-space-xs {
  height: var(--sb-space-xs);
  min-height: var(--sb-space-xs);
}

.sb-spacerdiv-row.sb-space-sm {
  height: var(--sb-space-sm);
  min-height: var(--sb-space-sm);
}

.sb-spacerdiv-row.sb-space-lg {
  height: var(--sb-space-lg);
  min-height: var(--sb-space-lg);
}

.sb-spacerdiv-row.sb-space-xl {
  height: var(--sb-space-xl);
  min-height: var(--sb-space-xl);
}

/* Ensure no accidental padding/margins interfere */
body.page-app .sb-spacerdiv-row > * {
  display: none !important;
}

/* Optional: editor-only visual hint */
html:not(.js-ready) .sb-spacerdiv-row,
body.page-app .sb-spacerdiv-row {
  outline: 1px dashed rgba(0, 0, 0, 0.15);
  background: repeating-linear-gradient(
  45deg,
  rgba(0, 0, 0, 0.04),
  rgba(0, 0, 0, 0.04) 10px,
  transparent 10px,
  transparent 20px
  );
}


.page-app .sb-row .sb-module {
  width: 100%;
}

.sb-module.spacer-marked:before {
    content: "Spacing Div";
  }
  
.sb-module.spacer-marked {
  content: "Spacing Div";
  display: block;
  background: color(srgb 0.95 0.95 0.95);
  border: 1px dotted color(srgb 0.554 0.554 0.554);
  margin: auto;
  position: relative;
  vertical-align: middle;
  text-align: center;
  padding: 0px!important;
  min-height: 100%!important;
  flex-grow: 1;
  }
  
.sb-module.spacer-marked:before {
  content: "Spacing Div";
  display: block;
  align-items: center;
  justify-content: center;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
  left: 0px;
  right: 0px;
    }
  
.sb-module.spacer-marked {
  content: "Spacing Div";
  display: block;
  background: color(srgb 0.95 0.95 0.95 / 0.5);
  border: 1px dotted color(srgb 0.554 0.554 0.554);
  margin: auto;
  position: relative;
  vertical-align: top;
  text-align: center;
  padding: 40px 0px 40px!important;
  position: relative;
  }

.sb-module.spacer-marked .sbuilder{
  position: absolute;
  width: 100%;
  top: 0px;
  }

@media (max-width: 948px) {
  .sb-col.empty {
  margin: 0px!important;
  }
  .sb-col.empty .sb-module {
  display: none;
  }
}


/* =========================================================
   EQUAL HEIGHT COLUMNS SPACER AWARE
   Only affects rows with empty spacer columns
========================================================= */

.page-app .sb-row:has(> .sb-col.empty) {
  display: flex;
  align-items: stretch;
}

/* Kill float ONLY in this case */
.page-app .sb-row:has(> .sb-col.empty) > .sb-col {
  float: none;
}

/* Ensure empty column stretches */
.page-app .sb-row:has(> .sb-col.empty) > .sb-col.empty {
  display: flex;
  align-items: stretch;
}

/* Spacer module fills column height */
.page-app .sb-row:has(> .sb-col.empty) .sb-module.spacer-marked {
  flex: 1;
  min-height: 100%;
}


/* style bg for app only */

.page-app .accordion-list2,
.page-app .accordion-list,
.page-app .sb-bg-img {
  background: radial-gradient(circle, rgba(150, 150, 150, 0.2) 10%, rgb(83 83 83 / 34%) 70%), #f0f0f0;
}



/* =====================================================

   sb-wrap inner bg

   ===================================================== */

   

.surface-white { background: var(--surface-white); 

  padding: 60px;

  border-radius: 20px;

}



.surface-brand { background: var(--surface-brand); 

  padding: 60px;

  border-radius: 20px;

}

/* =====================================================
   footer wrapper
   ===================================================== */

.footer .wrapper {
  width: 100%;
  padding-left: 30px;
  padding-right: 30px;
}

@media (min-width:949px) {
.footer .wrapper {
    padding-left: 0px;
   padding-right: 0px;
  }
}
  
.footer-box,
.footer-user-content {
  flex: 1 1 0;   /* ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â°ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â¦ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¸ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¹ÃƒÆ’Ã¢â‚¬Â¦ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â¹ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â  KEY LINE */
  min-width: 0;
}

.footer .wrapper {
  justify-content: space-between;
}

.footer .wrapper:has(.footer-user-content:empty) {
  justify-content: flex-start;
}


/* =====================================================
   BOTTOM BRANDING STRIP (OUTSIDE FOOTER)
   ===================================================== */

.by-optima {
  /* Reset text behavior */
  display: flex !important;
  align-items: center;
  justify-content: flex-end;

  /* Full-width bar */
  width: 100%!important;
  max-width: 100%;
  margin: 0;
  padding: 14px 24px;

  /* Visual style (light trim like example) */
  background: #f4f5f6;
  color: #6b6f75 !important;
  font-size: 12px !important;
  line-height: 1.4;
  font-weight: 500;
  border-top: 1px solid rgba(0, 0, 0, 0.06);

  /* Kill legacy inline styles */
  text-align: right;
  border-radius: 0;
  padding-right: 20px!important;
}

/* Link styling */
.by-optima a {
  color: inherit !important;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding-right: 2px;
}

/* Logo sizing */
.by-optima img {
  height: 34px;
  width: auto!important;
  display: block;
  opacity: 0.85;
}

/* Hover polish */
.by-optima a:hover img {
  opacity: 1;
}

/* Mobile handling */
@media (max-width: 768px) {
  .by-optima {
  justify-content: center;
  text-align: center;
  flex-wrap: wrap;
  }
}

/* --- Fix vertical misalignment of "by" text --- */

.by-optima {
  line-height: 34px !important;   /* match logo height */
}

.by-optima img {
  align-self: center;
}

.by-optima a {
  line-height: 34px;
  display: inline-flex;
  align-items: center;
}



.sb-bg-pattern-row {
  background-size: inherit!important;	
  background-repeat: repeat;
  }

body.page-app .sb-row {
  background-position: top center!important;
  background-size: cover!important;
  background-attachment: scroll;
  overflow: visible;
  z-index: 0;
}

@media screen and (max-width: 767px) {
.sb--bgcover,
.body,
.footer {
  background-position: top center!important;
  background-size: cover!important;
  background-attachment: scroll;
  overflow: visible;
  z-index: 0;
  }
}

.sb--bgcover {
  background-position: 50% 0;
  background-size: cover!important;	
  background-attachment: scroll!important;
  background-repeat: no-repeat;
  background-clip: padding-box; /* or border-box */
  }

.body {
  background-size: 100%!important;	
  background-repeat: repeat!important;
  background-size:inherit!important;
  }
 


/* =========================================================
   FOUC PREVENTION + SMOOTH REVEAL
   ========================================================= */

html.js-loading #header-logo {
   opacity: 0;
   }
   
html.js-ready #header-logo {
   opacity: 1;
   transition: opacity 0.2s ease;
   }
   
/* Hide JS-aligned modules before ready */
html:not(.js-ready) .sb-module {
  opacity: 0;
  pointer-events: none;
}

/* Reveal modules once ready */
html.js-ready .sb-module {
  opacity: 1;
  transition: opacity 0.2s ease-out;
  pointer-events: auto;
}

/* Prevent carousel flash during JS setup */
html.js-loading .carousel,
html.js-loading .carousel-inner {
  opacity: 0;
}

/* Reveal carousel smoothly once fully ready */
html.carousel-ready .carousel,
html.carousel-ready .carousel-inner {
  opacity: 1;
  transition: opacity 0.25s ease-out;
}

html.page-app .sb-module {
  opacity: 1 !important;
}

/* Prevent carousel animation during initial JS setup */
html:not(.carousel-ready) .carousel-inner,
html:not(.carousel-ready) .carousel-inner .item,
html:not(.carousel-ready) .carousel-inner .carousel-item {
  transition: none !important;
}

/* Prevent CMS background-image from ever flashing */
html.js-loading .carousel-wrapper,
html.js-loading .carousel-inner,
html.js-loading .carousel-inner .item,
html.js-loading .carousel-inner .carousel-item {
  background-image: none !important;
}

/* Carousel CLS guard */
.carousel-inner .item,
.carousel-inner .carousel-item {
  min-height: 750px;
  position: relative;
  overflow: hidden;
}

.carousel-lcp-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
  opacity: 0;
}

html.carousel-ready .carousel-lcp-img,
html.js-ready .carousel-lcp-img {
  opacity: 1;
  transition: opacity 0.25s ease-out;
}

/* Disable motion until JS + LCP are ready */
html:not(.carousel-ready) .carousel-inner,
html:not(.carousel-ready) .carousel-inner .item,
html:not(.carousel-ready) .carousel-inner .carousel-item {
  transition: none !important;
  transform: none !important;
}

/* Overlay content stays above image */
.carousel-inner .item-inner,
.carousel-inner .caption,
.carousel-inner .text-overlay {
  position: relative;
  z-index: 2;
}

/* HARD KILL CMS CAROUSEL BACKGROUNDS */
#page-home .carousel-wrapper,
#page-home .carousel-inner,
#page-home .carousel-inner .item,
#page-home .carousel-inner .carousel-item {
  background-image: none !important;
}

/* Default: header is transparent */
:where(html, body).has-header-overlay .site-header {
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Only animate AFTER JS-ready */
html.js-ready :where(html, body).has-header-overlay .site-header {
  transition: background-color 0.28s ease, backdrop-filter 0.28s ease;
}

/* Scrolled state */
:where(html, body).has-header-overlay.header-scrolled .site-header {
  background: rgba(255,255,255,0.9);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}


/* =========================================================
   CAROUSEL HEADER LOGO
   ========================================================= */

html.has-carousel-logo .body:not(#page-home) #header-logo {
  visibility: hidden;
}

html.has-carousel-logo body#page-home .carousel .logo-icon {
  display: block;
}



/* iframe control 
-------------------------------------------------*/


.sb-module iframe {
  width: 100%!important;
}

/*style iframe in fancybox*/

@media screen and (max-width:948px) {
.fancybox-content iframe {
  width: 100%;
  height: 30vh;
  }
}


/* =========================================================
   HEADER - TOOLBAR LINKS
========================================================= */

.site-header__cta .tool-links {
  display: block;
  font-size: 13px;
  line-height: 19px!important;
  font-weight: 400;
  text-align: center;
  }

@media (min-width:949px) {
.site-header__cta .tool-links {
  display: block;
  font-size: 12px;
  line-height: 25px!important;
  font-weight: 400;
  }
}

.site-header__cta .tool-links a {
  margin: 0px 0px 0px 0px;
  font-size: 15px;
  line-height: 19px!important;
  font-weight: 500;
  display: inline;
  }

@media (min-width: 949px) {
.site-header__cta .tool-links a {
  margin: 0px 0px 0px 6px;
  font-size: 15px;
  line-height: 19px!important;
  font-weight: 400;
  text-align: center;
  }
}

.site-header__cta .tool-links a.phone {
  white-space: nowrap;
}


/* ==============================
   MAP SPLIT HERO (LAYOUT ONLY)
============================== */


/* no top spacing home only */

#page-home .has-space-top-lg.interior {
  margin-top: 0px;

}


.map-split {
  position: relative;
  display: grid;
  grid-template-columns: 60% 40%;
  height: 100%;
  overflow: hidden;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  border-radius: 30px;
  background: left center;
  align-items: center;
  align-self: center;
}

/* MAP SIDE */
.map-frame {
  position: relative;
  overflow: hidden;
}

.map-frame iframe {
  min-height: 700px;
  filter: brightness(100%) contrast(100%) saturate(100%) blur(0px)
  hue-rotate(0deg);
  border: none;
  line-height: 1;
  margin: 0px;
  max-width: 100%;
  width: 100%;
  transform: translateX(0);
  height: 500px;
  border-radius: 30px;
}

/* MOBILE */
@media (max-width: 900px) {
  .map-split {
  grid-template-columns: 1fr;
  height: auto;
  margin-left: 0px;
  margin-right: 0px;
  width: inherit;
  }

  .map-frame iframe {
  position: relative;
  width: 100%;
  height: 320px;
  transform: none;
  }
  
/* CONTENT SIDE */
.contact-block {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
}

.contact-block .content {
  width: 100%;
}

.contact-block .content h2 {
  font-weight: 600;
}
.contact-block .content {
  padding: 0px;
  width: 100%;
}
}
/* =====================================================
   CONTACT CONTENT  TYPOGRAPHY
===================================================== */

.contact-block .content h1 {
  font-size: 2em !important;
  line-height: 1.3em !important;
  font-weight: 400;
}

@media (min-width: 768px) {
  .contact-block .content h1 {
  font-size: 2em !important;
  line-height: 1.3em !important;
  }
}


/* =====================================================
   CONTACT CONTENT ADDRESS / PHONE / EMAIL
   (CHILD-SCOPED, NOT MAP-DEPENDENT)
===================================================== */

/* Shared row behavior */
.contact-block .content a.map,
.contact-block .content a.phone,
.contact-block .content a.mail,
.contact-block .content .hours::before {
  display: grid;
  grid-template-columns: 18px 1fr;
  column-gap: 8px;
  align-items: start;
  text-decoration: none;
  margin-bottom: 14px;
  line-height: 1.55;
}

/* ICON COLUMN */
.contact-block .content a.map::before,
.contact-block .content a.phone::before,
.contact-block .content a.mail::before,
.contact-block .content .hours::before {
  content: "";
  width: 16px;
  height: 16px;
  background:  var(--color-brand-primary);
  grid-column: 1;
  margin-top: 2px;
}

/* TEXT COLUMN */
.contact-block .content a.map .address-text,
.contact-block .content a.phone span,
.contact-block .content a.mail span {
  grid-column: 2;
  display: block;
}

/* Ensure wrapped address lines align cleanly */
.contact-block .content a.map .address-text span {
  display: inline;
}


/* =====================================================
   CONTACT CONTENT DIVIDER
===================================================== */

.contact-block .content hr {
  display: block;
  height: 1px;
  border: 0;
  opacity: 0.2;
  margin: 35px 0;
}


/* =====================================================
   ICON MASKS (UNCHANGED SVGs)
===================================================== */

/* ADDRESS */
.contact-block .content a.map::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/%3E%3C/svg%3E") no-repeat center;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/%3E%3C/svg%3E") no-repeat center;
}

/* PHONE */
.contact-block .content a.phone::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.01-.24c1.12.37 2.33.57 3.58.57a1 1 0 0 1 1 1v3.5a1 1 0 0 1-1 1C10.07 21 3 13.93 3 5.5a1 1 0 0 1 1-1H7.5a1 1 0 0 1 1 1c0 1.25.2 2.46.57 3.59a1 1 0 0 1-.25 1.01l-2.2 2.19z'/%3E%3C/svg%3E") no-repeat center;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.01-.24c1.12.37 2.33.57 3.58.57a1 1 0 0 1 1 1v3.5a1 1 0 0 1-1 1C10.07 21 3 13.93 3 5.5a1 1 0 0 1 1-1H7.5a1 1 0 0 1 1 1c0 1.25.2 2.46.57 3.59a1 1 0 0 1-.25 1.01l-2.2 2.19z'/%3E%3C/svg%3E") no-repeat center;
}

/* EMAIL */
.contact-block .content a.mail::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E") no-repeat center;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E") no-repeat center;
}


/* =====================================================
   CONTACT CONTENT HOURS GRID
===================================================== */

.contact-block .content .hours-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 15px;
  row-gap: 6px;
  max-width: 310px;
}


/* ==============================
   MAP SPLIT COLORS + TYPOGRAPHY
============================== */

.map-split .contact-block span,
.map-split .contact-block p,
.map-split .contact-block a {
  font-size: 13px!important;
  line-height: 1.5!important;
}

.map-split .contact-block {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  background: #d7d7d7;
}

.map-split .contact-block .content {
  width: 100%;
}


/* =====================================================
   CONTACT FEATURE GRID
===================================================== */


.contact-block.has-contact-cards .content a.map::before,
.contact-block.has-contact-cards .content a.phone::before,
.contact-block.has-contact-cards .content a.mail::before,
.contact-block.has-contact-cards .content .hours::before{
  content: "";
  width: 30px;
  height: 30px!important;
  grid-column: 1;
  /* margin-top: 2px; */
  z-index: 1;
}

.contact-block.has-contact-cards .contact-card{
  position:relative;
  display:grid;
  grid-template-columns:60px 1fr;
  gap:16px;
  align-items:start;
}



/* circle */
.contact-block.has-contact-cards .contact-card::before{
  margin: 0px!important;
  content:"";
  width:60px;
  height:60px;
  border-radius:50%;
  display: flex!important;
  align-items:center;
  justify-content:center;
  -webkit-mask-position: center!important;
  mask-position: center!important;
  -webkit-mask-size:24px;
  mask-size:24px;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  height: 40%!important;
  margin-top: 0px!important;
  z-index: 2!important;
}

/* icon */
.contact-block.has-contact-cards .contact-card::after{
  content:"";
  position:absolute;
  width:60px;
  height:60px;
  left: 0px;
  top: 0px;
  border-radius: 50px;
  background-color: var(--color-brand-accent);
  -webkit-mask-size:contain;
  mask-size:contain;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  z-index: -1;
}


.contact-block.has-contact-cards .contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px 40px;
  margin-top: 30px;
    margin-left: auto;
  max-width: 1200px;
  margin-right: auto;
}

@media (max-width:768px){

.contact-block.has-contact-cards .contact-grid{
  grid-template-columns:1fr;
  gap: 55px;
  margin: 0px;
}

.contact-block.has-contact-cards .contact-card{
  grid-template-columns:60px 1fr;
  align-items:center;
}

}


/* =====================================================
   CONTACT CARDS
===================================================== */

.contact-block.has-contact-cards .contact-card{
  display:flex!important;
  align-items: center!important;
  gap: 18px!important;
  text-decoration:none;
  text-align: left!important;
}


/* =====================================================
   ICON CIRCLE
===================================================== */

.contact-block.has-contact-cards .contact-card::before{
  content:"";
  width:60px;
  height:60px;
  flex: 0 0 60px;
  border-radius:50%;
  display:block;
}


/* =====================================================
   ICON MASK SETTINGS
===================================================== */

.contact-block.has-contact-cards .contact-card::before{
  -webkit-mask-size:22px;
  mask-size:22px;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
}


/* =====================================================
   TEXT BLOCK
===================================================== */

.contact-block.has-contact-cards .contact-text{
  display:block;
  line-height:1.45;
}


/* =====================================================
   HOURS GRID
===================================================== */

.contact-block.has-contact-cards .hours-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:14px;
  row-gap:4px;
  max-width:none;
  font-size:.95em;
}


/* =====================================================
   ADDRESS ICON
===================================================== */

.contact-card.map::before{
  background:currentColor;

  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/%3E%3C/svg%3E");

  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/%3E%3C/svg%3E");
}


/* =====================================================
   PHONE ICON
===================================================== */

.contact-card.phone::before{
  background:currentColor;

  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.01-.24c1.12.37 2.33.57 3.58.57a1 1 0 0 1 1 1v3.5a1 1 0 0 1-1 1C10.07 21 3 13.93 3 5.5a1 1 0 0 1 1-1H7.5a1 1 0 0 1 1 1c0 1.25.2 2.46.57 3.59a1 1 0 0 1-.25 1.01l-2.2 2.19z'/%3E%3C/svg%3E");

  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.01-.24c1.12.37 2.33.57 3.58.57a1 1 0 0 1 1 1v3.5a1 1 0 0 1-1 1C10.07 21 3 13.93 3 5.5a1 1 0 0 1 1-1H7.5a1 1 0 0 1 1 1c0 1.25.2 2.46.57 3.59a1 1 0 0 1-.25 1.01l-2.2 2.19z'/%3E%3C/svg%3E");
}


/* =====================================================
   EMAIL ICON
===================================================== */

.contact-card.mail::before{
  background:currentColor;

  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");

  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
}


/* =====================================================
   HOURS ICON
===================================================== */

.contact-card.hours::before{
  background:currentColor;

  -webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 1a11 11 0 1 0 11 11A11 11 0 0 0 12 1zm1 11h5v2h-7V6h2z'/%3E%3C/svg%3E");

  mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 1a11 11 0 1 0 11 11A11 11 0 0 0 12 1zm1 11h5v2h-7V6h2z'/%3E%3C/svg%3E");
}


/*==================================================================================*/
 /* add before element property */
 /*==================================================================================*/
 
 header .logo,
 .content h1,
 .sb-embed h1,
 .content h2,
 .sb-module .headline h2 {
   position: relative;
 }
 
 .testimonials figure:before,
 .sb-testimonials-row .testimonials:before,
 .image-row-one-wrap .image:before,
 .carousel-wrapper .item-content .item-content-inner:before,
 .gallery-item:before,
 header .logo:before,
 .carousel .item-content h2:before,
 body:not(.page-app) .content h1:before,
 body:not(.page-app) .sb-embed h1:before,
 body:not(.page-app) .content h2:before,
 .sb-module .headline h2:before {
   content: "";
   height: 100%;
   position: absolute;
   top: 0px;
   left: 0;
   width: 100%;
   z-index: 0;
   margin: 0px;
   right: 0px;
  }


/* transition speeds
-------------------------------------------------*/

a,
input,
.tab-sm i,
a i,
.header,
.header .header-inner,
#header-logo,
.header .nav,
.toolbar-links,
.header .cta .phone,
.header .cta a,
.sb-module *:not(.slick-slide):not(.slick-list):not(.slick-track):not(.module-mini-cta):not([class*='col-']),
.sb-gallery div,
*:before,
*:after,
#logoimg,
.nav .dropdown-wrapper,
.header-inner > .row,
.sb-feature-cta-col-row .sb-col,
.sb-feature-cards1-row .sb-col,
.sb-feature-cards2-row .sb-col,
.sb-feature-services-row .sb-col,
.hamburger-box,
.module-mini-cta [class*='col-'] a,
.sb-feature-services-row .sb-col-wrap:before {
  -webkit-transition: all .45s cubic-bezier(0.25, 1, 0.33, 1)!important;
  -moz-transition: all .45s cubic-bezier(0.25, 1, 0.33, 1)!important;
  transition: all .45s cubic-bezier(0.25, 1, 0.33, 1)!important;
}

.header {
  display: none;
}


/* =========================================================
   FOUC PREVENTION + FADE-IN
   ========================================================= */

/* Initial hidden state */
html.js-loading body {
  opacity: 0;
}

/* Ready ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¾ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ fade in */
html.js-ready body {
  opacity: 1;
  transition: opacity 0.35s cubic-bezier(0.25, 0.1, 0.25, 1);
}


/* =================================================
   HEADER LOGO ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â CLS SAFE BASELINE (FINAL)
================================================= */

/* Brand container */
.site-header__brand {
  display: flex;
  align-items: flex-end;
}

body {
  /* HEADER LOGO */
  --header-logo-height: 60px;
  --header-logo-height-desktop: 110px;

  /* CAROUSEL LOGO */
  --carousel-logo-height: 200px;
  --carousel-logo-height-desktop: 400px;
}

/* Header logo container controls size */
#header-logo {
  height: var(--header-logo-height);
  display: flex;
  align-items: center;
  overflow: hidden; /* clamps tall / wide logos */
}

/* Mobile default (implicit) */
#header-logo {
  height: var(--header-logo-height);
}

/* Desktop override */
@media (min-width: 949px) {
  #header-logo {
  height: var(--header-logo-height-desktop);
  }
}

/* Mobile default */
body#page-home .carousel .logo {
  height: var(--carousel-logo-height);
}

/* Desktop override */
@media (min-width: 949px) {
body#page-home .carousel .logo {
  height: var(--carousel-logo-height-desktop);
  }
}


/* Logo obeys container height, NOT width */
#header-logo {
  display: flex;
  align-items: center;
}

#header-logo * {
  height: 100%;
}

#header-logo img,
#header-logo svg {
  height: 100%!important;
  width: auto;
  max-width: none !important;
  padding: 5px 0px;
}

@media (min-width: 949px) {
#header-logo img,
#header-logo svg {
  padding: 10px 0px;
}
}

/* FIX LOGO LINK CLICKING */

.header {
  display: block; /* or remove rule entirely */
}

header .logo::before,
header .logo::after,
#header-logo::before,
#header-logo::after {
  pointer-events: none;
}

#header-logo a {
  position: relative;
  z-index: 5;
}


/* =================================================
   HEADER LOGO - Container
================================================= */

body#page-home .carousel .logo img  {
  height: 100% !important;
  width: auto;
  max-width: none !important;
}


 /*==================================================================================*/
 /* heading -- h3 stylized variation 1 */
 /*==================================================================================*/

 
 .content h3,
 .embed h3 {
   font-size: 22px;
   line-height: 1.3em;
 }

@media (min-width: 949px) {
  .content h3,
 .embed h3 {
   font-size: 24px;
 }
}

body .content h3, 
body .sb-embed h3 {
   font-family: Times, Georgia, serif;
   font-weight: 400;
   font-style: italic;
   padding-bottom: 15px!important;
 }

@media (min-width: 949px) {
  
body .content h3, 
body .sb-embed h3 {
  padding-bottom: 10px!important;
}
}
 
 

 /*==================================================================================*/
 /* heading -- default 2*/
 /*==================================================================================*/
 
 .content h1,
  .headline h1,
  .post .entry h1,
  .post h2.title,
  .post h1.title,
  .post h2 {
    text-transform: capitalize;
  }

 .content h1,
 .sb-embed h1,
 .content h2,
 .sb-module .headline h2,
 .footer h2,
 .sb-module h2,
.content h2 {
   font-size: 30px!important;
   line-height: 42px!important;
   font-weight: 500;
   letter-spacing: 0px;
   text-transform: capitalize;
   text-align: left;
   /*	width: 90%;*/
   margin: 0px auto;
  }
 
 @media (min-width: 768px) {
 .content h1,
 .sb-embed h1,
 .content h2,
 .sb-module .headline h2,
 .footer h2,
 .sb-module h2,
.content h2 {
   font-size: 1.5em!important;
   line-height: 1.2em!important;
   font-weight: 500;
   width: initial;
   margin: 0px;
   }
 }
 
 body.page-full-post h1.title {
   font-size: 40px!important;
   line-height: 55px!important;
 }
 
 @media (min-width: 768px) {
 body.page-full-post h1.title {
   font-size: 2.5em!important;
   line-height: 1.5em!important;
   }
 }
 .content-intro h1,
 .content h1,
 .sb-embed h1 {
   font-size: 22px!important;
   line-height: 42px!important;
 }
 
 @media (min-width: 768px) {
 .content-intro h1,
 .content h1,
 .sb-embed h1 {
   font-size: 50px!important;
   line-height: 60px!important;
  }
 }

 
 .content h1 span,
 .content h2 span,
 .content h1 strong,
 .content h2 strong,
 body:not(.page-app) .text--white h2 span {
   font-weight: 400!important;
 }
 
 /* home*/
 
 /* h1 */
 
 :where(html, body).has-heading-color .content h1 {
   font-size: 1.5em!important;
   line-height: 1.1em!important;
 }
 
 @media (min-width: 768px) {
 :where(html, body).has-heading-color .content h1 {
   font-size: 2em!important;
   line-height: 1.2em!important;
   }
 }
 
 /* h2 */
 
 body .content h2 {
   font-size: 1.2em!important;
   line-height: 1.1em!important;
   padding-bottom: 15px;
   font-weight: 600;
 }
 
 @media (min-width: 768px) {
 body .content h2 {
   font-size: 1.5em!important;
   line-height: 1.2em!important;
   }
 }

 
 /* h4 */
 
 body .content h4 {
   font-size: .9em!important;
   line-height: 1.2em!important;
   font-weight: 600;
 }
 
 @media (min-width: 768px) {
 body .content h4 {
   font-size: 1.0em!important;
   line-height: 1.7em!important;
   }
 }	


.content h1 + *{
  margin-top:.7em;
}

body:not(#page-home) * + h2 {
  margin-top: 1.2em;
  margin-bottom:0em;
  padding: 0px!important;
}


/*==================================================================================*/
 /* BUTTON SYSTEM Ã¢â‚¬â€ MODERN CORE (CMS SAFE / NON-LEGACY) */
 /*==================================================================================*/
 
 
 /* =====================================================
  0) BASE BUTTON RESET
 ===================================================== */
 
 a.btn,
 .btn,
 .carousel a,
 .sb-read-tag {   
   text-decoration: none;                      
   outline: none;
   border: 1px solid;
   border-radius: 50px;           
   font-size: 14px;
   font-weight: 500;
   line-height: 20px;
   text-transform: uppercase;
   display: inline-block;
   padding: 16px 38px;
   transform: translateY(0);
   box-shadow: 0 6px 12px rgba(0,0,0,0);
   transition:
   transform .25s ease,
   box-shadow .25s ease,
   background .25s ease;
 }
 
 
 /* Desktop refinement */
 
 @media (min-width: 768px) {
   a.btn,
   .btn,
   .carousel a,
   .sb-read-tag {
   padding: 14px 42px;
   }
 }
 
 
 /* =====================================================
  1) FLOW SPACING (REPLACES BUTTON GROUP LOGIC)
 ===================================================== */
 
 :where(.sb-module, .content, .embed) a.btn,
 :where(.sb-module, .content, .embed) .carousel a {
   margin-top: 1rem;
 }
 
 :where(.sb-module, .content, .embed) a.btn + a.btn,
 :where(.sb-module, .content, .embed) .carousel a + a {
   margin-top: 1rem;
 }
 
 
 /* =====================================================
  2) INTERACTION MOTION
 ===================================================== */
 
 a.btn:hover,
 .btn:hover,
 .carousel a:hover,
 .sb-read-tag:hover,
 a.btn:focus-visible,
 .btn:focus-visible,
 .carousel a:focus-visible, 
 .sb-read-tag:focus-visible {
   text-decoration: none;
   transform: translateY(-4px);
   box-shadow: 0 5px 10px rgba(0,0,0,0);
 }
 
 
 /* =====================================================
  3) HOVER TINT LAYER (THEME SAFE)
 ===================================================== */
 
 a.btn,
 .btn,
 .carousel a,
 .sb-read-tag {
   position: relative;
   overflow: hidden;
 }
 
 a.btn::before,
 .btn::before,
 .carousel a::before,
 .sb-read-tag::before {
   content: "";
   position: absolute;
   inset: 0;
   background: transparent;
   pointer-events: none;
   z-index: 0;
   transition: background .25s ease;
 }
 
 a.btn > *,
 .btn > *,
 .carousel a > *,
.sb-read-tag > * {
   position: relative;
   z-index: 1;
 }
 
 a.btn:hover::before,
 .btn:hover::before,
 .carousel a:hover::before,
 a.btn:focus-visible::before,
 .btn:focus-visible::before,
 .carousel a:focus-visible::before {
   background: rgba(255, 255, 255, 0.12);
 }
 
 
 /* Submit inputs */
 
 input[type="submit"]:hover {
   box-shadow: inset 0 0 0 999px rgba(255,255,255,0.12);
 }
 
 
 /* =====================================================
  4) SIZE MODIFIERS
 ===================================================== */
 
 .btn-sm {
   font-size: 12px;
   padding: 6px 14px;
 }
 
 .btn-lg {
   font-size: 18px;
   padding: 18px 45px;
 }
 
 
 /* =====================================================
  5) STYLE VARIANTS
 ===================================================== */
 
 
 /* Minimal */
 
 .btn-minimal {
   background: transparent;
   border-width: 1px;
   letter-spacing: 1px;
 }
 
 
 /* Solid */
 
 .btn-solid {
   background: currentColor;
   color: #fff;
 }
 
 
 /* Text-style */
 
 .btn-text {
   background: transparent;
   border: 0;
   padding: 0;
   text-transform: capitalize;
   font-size: 18px;
   font-weight: 700;
   text-decoration: underline;
   border-radius: 0;
 }
 
 
 /* Square */
 
 .btn-square {
   border-radius: 0;
 }
 
 
 /* Soft */
 
 .btn-soft {
   border-radius: 10px;
 }
 
 
 /* =====================================================
  6) ARROW / ICON VARIANT
 ===================================================== */
 
 .btn-arrow {
   display: inline-flex;
   align-items: center;
   gap: .65em;
   padding-right: 1.8em;
 }
 
 .btn-arrow::after {
   content: "";
   width: 1em;
   height: 1em;
   background: currentColor;
 
   -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4 L12 12 L4 20 Z M12 4 L20 12 L12 20 Z'/%3E%3C/svg%3E") center / contain no-repeat;
       mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4 L12 12 L4 20 Z M12 4 L20 12 L12 20 Z'/%3E%3C/svg%3E") center / contain no-repeat;
 
   transition: transform .25s ease;
 }
 
 .btn-arrow:hover::after {
   transform: translateX(2px);
 }
 
 
 /* =====================================================
  7) DECORATIVE INLINE ICON LINKS
 ===================================================== */
 
 
 /* Map */
 
 a.map {
   display: inline-flex;
   align-items: center;
   gap: .4em;
 }
 
 a.map::before {
   content: "";
   width: 1.05em;
   height: 1.25em;
   background: currentColor;
 
   -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c-3.866 0-7 3.134-7 7 0 5.25 7 13 7 13s7-7.75 7-13c0-3.866-3.134-7-7-7zm0 10.2a3.2 3.2 0 1 1 0-6.4 3.2 3.2 0 0 1 0 6.4z'/%3E%3C/svg%3E");
       mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c-3.866 0-7 3.134-7 7 0 5.25 7 13 7 13s7-7.75 7-13c0-3.866-3.134-7-7-7zm0 10.2a3.2 3.2 0 1 1 0-6.4 3.2 3.2 0 0 1 0 6.4z'/%3E%3C/svg%3E");
 
   -webkit-mask-repeat: no-repeat;
       mask-repeat: no-repeat;
 }
 
 
 /* Phone */
 
 a.phone::before {
   content: "";
   width: 1em;
   height: 1em;
   background: currentColor;
 
   -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.01-.24c1.12.37 2.33.57 3.58.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.07 21 3 13.93 3 5a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.46.57 3.59a1 1 0 0 1-.24 1.01l-2.2 2.19z'/%3E%3C/svg%3E");
       mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.01-.24c1.12.37 2.33.57 3.58.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.07 21 3 13.93 3 5a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.46.57 3.59a1 1 0 0 1-.24 1.01l-2.2 2.19z'/%3E%3C/svg%3E");
 
   -webkit-mask-repeat: no-repeat;
       mask-repeat: no-repeat;
 }


/* =====================================================
    8) EXTERNAL / NEW-WINDOW BUTTON ICON
    Adds an indicator to buttons using target="_blank"
 ===================================================== */

.carousel a[target="_blank"],
 a.btn[target="_blank"]{
   padding-right: 35px; /* adds space for icon */
 }

 .site-header__cta a.btn[target="_blank"]{
   padding: 9px 15px 9px 25px; /* adds space for icon */
 }

.carousel a[target="_blank"] {
   padding-right: 25px; /* adds space for icon */
 }

.carousel a[target="_blank"]::after,
 a.btn[target="_blank"]::after{
   content:"";
   display:inline-block;
   width:20px;
   height:20px;
   vertical-align:-4px;
   background:currentColor;
   -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 3h7v7h-2V6.41l-9.29 9.3-1.42-1.42 9.3-9.29H14V3z'/%3E%3Cpath d='M5 5h6v2H7v10h10v-4h2v6H5z'/%3E%3C/svg%3E") center / contain no-repeat;
   mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 3h7v7h-2V6.41l-9.29 9.3-1.42-1.42 9.3-9.29H14V3z'/%3E%3Cpath d='M5 5h6v2H7v10h10v-4h2v6H5z'/%3E%3C/svg%3E") center / contain no-repeat;
   margin-left: 10px;
 }

/*==================================================================================*/
/* LINK LIST ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â GRID SAFE (NO OVERFLOW, MOBILE SAFE) */
/*==================================================================================*/

.sb-content-block-row ul,
.sb-content-intro-row ul,
.sb-feature-about1-row ul,
.sb-feature-about2-row ul {
  list-style: disc;
  margin: 0;
  padding: 0;
}

.sb-content-block-row li,
.sb-content-intro-row li,
.sb-feature-about1-row li,
.sb-feature-about2-row li {
  margin: 0;
  padding: 0;
  margin-left: 20px;
  border-bottom: 1px solid rgb(0 0 0 / 0%);
}

/* Anchor = grid container */
.sb-content-block-row li > a,
.sb-content-intro-row li > a,
.sb-feature-about1-row li > a,
.sb-feature-about2-row li > a {
  display: grid;
  grid-template-columns: 1fr auto; /* text | arrow */
  align-items: center;
  column-gap: 16px;

  padding: 14px 0;
  font-size: 18px;
  line-height: 1.5;
  font-weight: 500;
  text-decoration: none;

  /* HARD SAFETY */
  max-width: 100%;
  overflow: hidden;
}

/* Arrow lives IN layout (no absolute positioning) */
.sb-content-block-row li > a::after,
.sb-content-intro-row li > a::after,
.sb-feature-about1-row li > a::after,
.sb-feature-about2-row li > a::after {
  content: "";
  width: 26px;
  height: 16px;
  flex-shrink: 0;

  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  pointer-events: none;

  background-color: #000;

  mask-image: url("data:image/svg+xml;utf8,\
  <svg width='38' height='16' viewBox='0 0 38 16' xmlns='http://www.w3.org/2000/svg'>\
  <path d='M1 7C0.447715 7 0 7.44772 0 8C0 8.55228 0.447715 9 1 9V7ZM37.2125 8.70711C37.6031 8.31658 37.6031 7.68342 37.2125 7.29289L30.8486 0.928932C30.4581 0.538408 29.8249 0.538408 29.4344 0.928932C29.0438 1.31946 29.0438 1.95262 29.4344 2.34315L35.0912 8L29.4344 13.6569C29.0438 14.0474 29.0438 14.6805 29.4344 15.0711C29.8249 15.4616 30.4581 15.4616 30.8486 15.0711L37.2125 8.70711ZM1 9H36.5054V7H1V9Z' fill='black'/>\
  </svg>");

  mask-repeat: no-repeat;
  mask-size: contain;
}

/* Hover motion (desktop only, layout-safe) */
@media (min-width: 949px) {
  .sb-content-intro-row li > a:hover::after,
  .sb-feature-about1-row li > a:hover::after,
  .sb-feature-about2-row li > a:hover::after {
  transform: translateX(6px);
  }
}

/* Mobile sizing */
@media (max-width: 948px) {
  .sb-content-intro-row li > a,
  .sb-feature-about1-row li > a,
  .sb-feature-about2-row li > a {
  font-size: 16px;
  padding: 16px 0;
  }
}

/* Remove last divider */
.sb-content-intro-row li:last-child,
.sb-feature-about1-row li:last-child,
.sb-feature-about2-row li:last-child {
  border-bottom: none;
}

/* =====================================================
   LIST COLUMNS ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â CMS-SAFE (list-col / list-cols)
===================================================== */


@media (min-width: 949px) {

  .list-cols ul {
  display: block !important;   /* kill flex/grid interference */
  column-count: 2;
  column-gap: 60px;
  width: 100%;
  }

  .list-cols li {
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  }
}



/* Text Alignment Presets ******************/

.text--center,
.text--center p,
.text--center h1,
.text--center h2,
.text--center h3,
.text--center .asset {
  text-align: center!important;
}

@media (min-width:1001px) {
.text--center,
.text--center p,
.text--center h1,
.text--center h2,
.text--center h4,
.text--center h3,
.text--center figure,
.text--center .asset {
  text-align: center!important;
  }
}

.text--center h3::after {
  left: 50%!important;
  transform: translateX(-50%);
}

.text--center .slick-slide img {
  display: inline-block;
}


.text--center .tab-sm {
  text-align: center;
}


@media (min-width:1001px) {
.sb-module.text--center .content a.map,
.text--center p {
  margin-left: auto!important;
  /* margin-right: auto!important; */
  }	
}

 .text--center .contact-block .content .hours-grid {
  margin: auto;
}


.sb-feature-cards1.text--center .cta-content {
  display: block;
}




.text--left img,
.text--left,
.text--left p:not(.sb-formfield),
.text--left h1,
.text--left h2,
.text--left h3,
.text--left img,
.text--left figure,
.text--left div,
.text--left .content div,
.text--left:not(.sb-gallery-row):not(.sb-image-row) div,
.text--left .sb-module.sb-hoursofoperation .headline h2,	
.text--left:not(.sb-gallery-row) a:not(.btn) {
  text-align: left!important;
  }

.text--left .sb-content img {
  margin: 0px!important;
  }

.text--left ul:not(.mod-errorlist):not([id^="id_"]) {
  list-style: none;
  margin-left: 0px;
  margin-right: 0px;
  text-align: left;
}

.text--left ul:not(.mod-errorlist):not([id^="id_"]) li {
  list-style: none;
  margin-bottom: 20px;
}

@media (min-width:1001px) {
.text--left ul:not(.mod-errorlist):not([id^="id_"]) {
  list-style-type: disc;
  margin: 0em;
  }
}

.sb-feature-plans-row.text--center ul {
  text-align: left!important;

}

.text--center ul {
  padding-top: 20px;
  text-align: center!important;
  margin-left: 0em;
}

.text--center .text-center.list-compact ul {
  padding-top: 20px;
  text-align: left!important;
  margin-left: 0em;
}

.sb-feature-plans.text--center ul {
  padding-top: 0px;
  text-align: left!important;
}

.text--center li {
  /* list-style-position: inside; */
}

.text--center i {
  display: inline-block;
  text-align: center;
  margin-left: 5px;
  position: relative;
}

.module-popup.text-center * {
  text-align: center!important;
}

.text-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px; /* space between columns */
}

@media (max-width: 768px) {
.text-cols {
  grid-template-columns: 1fr; /* stack on small screens */
  }
}


/*Module White Text Coloring*/
/*=========================================*/

body:not(.page-app) .text--white,
body:not(.page-app) .text--white .content a:not(.btn-default),
body:not(.page-app) .text--white p,
body:not(.page-app) .text--white h1,
body:not(.page-app) .text--white h2,
body:not(.page-app) .text--white h3,
body:not(.page-app) .text--white li,
body:not(.page-app) .text--white li a,
body:not(.page-app) .text--white i:not(.fa),
body:not(.page-app) .text--white span,
body:not(.page-app) .text--white strong,
body:not(.page-app) .text--white blockquote:before,
body:not(.page-app) .text--white .gallery * {
  color: #fff!important;
}

body:not(.page-app) .text--white a:after {
    background-color: var(--color-light);
}

body:not(.page-app) .text--white .accordion-list li  {
  border-color: rgba(255, 255, 255, 0.5)!important;
}

body:not(.page-app) .text--white .content-intro ul a:after,
body:not(.page-app) .text--white .feature-about1 ul a:after,
body:not(.page-app) .text--white .feature-about2 ul a:after,
body:not(.page-app) .text--white .sb-feature-about2-row ul a:after,
body:not(.page-app) .text--white .sb-feature-about-row ul a:after {
  }




/*==================================================================================*/
/* row - maxwidth when narrow col active */
/*==================================================================================*/

.container >.columns.sb-maxwidth-row, 
#page-home .sb-gallery-row, 
.sb-maxwidth-row {
  position: relative;
  background-position-x: center;
  background-position-y: top;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: calc(-50vw);
  margin-right: calc(-50vw);
  width: 100vw;
  max-width: 100vw;
  border-radius: 0px!important;
  }


.container >.columns.sb-maxwidth-row .map-frame {
  border-radius: 0px!important;
  padding: 40px;
}


/* ======================================================================
   FEATURE FLAGS (has-*)
   ----------------------------------------------------------------------
   Body-level switches injected by CMS / templates.
   All flags are preserved for compatibility.
   Behavior is intentionally minimal unless noted.
   ====================================================================== */

/* =========================================================
   BODY WEIGHT MODIFIERS
========================================================= */

html.has-body-light,
html.has-body-light .item-content,
html.has-body-light .content p,
html.has-body-light .content ul,
html.has-body-light .gallery {
  font-weight: var(--font-body-light);
}

html.has-body-regular,
html.has-body-regular .item-content,
html.has-body-regular .content p,
html.has-body-regular .content ul,
html.has-body-regular .gallery {
  font-weight: var(--font-body-regular);
}

html.has-body-strong,
html.has-body-strong .item-content,
html.has-body-strong .content p,
html.has-body-strong .content ul,
html.has-body-strong .gallery {
  font-weight: var(--font-body-strong);
}


/* ----------------------------------------------------------------------
   HEADINGS / TYPOGRAPHY VARIANTS
---------------------------------------------------------------------- */
 
 /* has heading accents */
 
 #page-home.has-heading-accent .content h1:before,
 #page-home.has-heading-accent .sb-embed h1:before,
 #page-home.has-heading-accent .sb-embed h2:before,
 #page-home.has-heading-accent .content h2:before,
 #page-home.has-heading-accent .sb-module .headline h2:before {
   border-left: 4px solid #363636;
   position: relative;
   width: 2px;
   height: 100%;
   -webkit-transform: translateY(0px) translateX(35px) rotate(32deg);
   top: 0px;
   left: -20px;
 }


 /* h1 -- large */
 
 :where(html, body).has-heading-lg .sb-embed h1,
 :where(html, body).has-heading-lg .content h1,
 :where(html, body).has-heading-lg .text--white .content h1,
 :where(html, body).has-heading-lg .text--white:not(.sb-feature-cta1) .content h1,
 :where(html, body).has-heading-lg .text--white.sb-feature-cta1 .content h1 {
   font-size: 1.8em!important;
   line-height: 1.2em!important;

 }
 
 @media (min-width: 768px) {
 :where(html, body).has-heading-lg .sb-embed h1,
 :where(html, body).has-heading-lg .content h1,
 :where(html, body).has-heading-lg .text--white .content h1,
 :where(html, body).has-heading-lg .text--white:not(.sb-feature-cta1) .content h1,
 :where(html, body).has-heading-lg .text--white.sb-feature-cta1 .content h1 {
   font-size: 2.5em!important;
   line-height: 1.6em!important;
   }
 }
 
 @media (min-width: 768px) {
 :where(html, body).has-heading-lg .text--white .content h1 {
   font-size: 2.5em!important;
   line-height: 1.4em!important;

   }
 }


 /* h1 -- xlarge */
 
 :where(html, body).has-heading-xl .sb-embed h1,
 :where(html, body).has-heading-xl .content h1,
 :where(html, body).has-heading-xl .text--white .content h1,
 :where(html, body).has-heading-xl .text--white:not(.sb-feature-cta1) .content h1,
 :where(html, body).has-heading-xl .text--white.sb-feature-cta1 .content h1 {
    font-size: 2.5em!important;
    line-height: 1.4em!important;
 }
 
 @media (min-width: 768px) {
 :where(html, body).has-heading-xl .sb-embed h1,
 :where(html, body).has-heading-xl .content h1,
 :where(html, body).has-heading-xl .text--white .content h1,
 :where(html, body).has-heading-xl .text--white:not(.sb-feature-cta1) .content h1,
 :where(html, body).has-heading-xl .text--white.sb-feature-cta1 .content h1 {
   font-size: 3.2em!important;
   line-height: 1.3em!important;
   }
 }
 
 @media (min-width: 768px) {
 :where(html, body).has-heading-xl .text--white .content h1 {
   font-size: 2.5em!important;
   line-height: 1.4em!important;
   }
 }
 
 /* h1 -- xlarge */
  
  :where(html, body).has-heading-xxl .sb-embed h1,
  :where(html, body).has-heading-xxl .content h1,
  :where(html, body).has-heading-xxl .text--white .content h1,
  :where(html, body).has-heading-xxl .text--white:not(.sb-feature-cta1) .content h1,
  :where(html, body).has-heading-xxl .text--white.sb-feature-cta1 .content h1 {
    font-size: 2.7em!important;
    line-height: 1.4em!important;
   }
  
  @media (min-width: 768px) {
  :where(html, body).has-heading-xxl .sb-embed h1,
  :where(html, body).has-heading-xxl .content h1,
  :where(html, body).has-heading-xxl .text--white .content h1,
  :where(html, body).has-heading-xxl .text--white:not(.sb-feature-cta1) .content h1,
  :where(html, body).has-heading-xxl .text--white.sb-feature-cta1 .content h1 {
    font-size: 4.2em!important;
    line-height: 1.3em!important;
    }
  }
  
  @media (min-width: 768px) {
  :where(html, body).has-heading-xxl .text--white .content h1 {
    font-size: 2.5em!important;
    line-height: 1.4em!important;
    }
  }

 /* h1 -- 300 */
   
   :where(html, body).has-heading-100 .sb-embed h1,
   :where(html, body).has-heading-100 .content h1,
   :where(html, body).has-heading-100 .text--white .content h1,
   :where(html, body).has-heading-100 .text--white:not(.sb-feature-cta1) .content h1,
   :where(html, body).has-heading-100 .text--white.sb-feature-cta1 .content h1 {
     font-weight: 100;
   }
   
   @media (min-width: 768px) {
   :where(html, body).has-heading-100 .sb-embed h1,
   :where(html, body).has-heading-100 .content h1,
   :where(html, body).has-heading-100 .text--white .content h1,
   :where(html, body).has-heading-100 .text--white:not(.sb-feature-cta1) .content h1,
   :where(html, body).has-heading-100 .text--white.sb-feature-cta1 .content h1 {
     font-weight: 100;
     }
   }


 /* h1 -- 300 */
   
   :where(html, body).has-heading-300 .sb-embed h1,
   :where(html, body).has-heading-300 .content h1,
   :where(html, body).has-heading-300 .text--white .content h1,
   :where(html, body).has-heading-300 .text--white:not(.sb-feature-cta1) .content h1,
   :where(html, body).has-heading-300 .text--white.sb-feature-cta1 .content h1 {
     font-weight: 300;
   }
   
   @media (min-width: 768px) {
   :where(html, body).has-heading-300 .sb-embed h1,
   :where(html, body).has-heading-300 .content h1,
   :where(html, body).has-heading-300 .text--white .content h1,
   :where(html, body).has-heading-300 .text--white:not(.sb-feature-cta1) .content h1,
   :where(html, body).has-heading-300 .text--white.sb-feature-cta1 .content h1 {
     font-weight: 300;
     }
   }
   
   @media (min-width: 768px) {
   :where(html, body).has-heading-300 .text--white .content h1 {
     font-weight: 300;
     }
   }
   
 /* h1 -- 400 */
   
   :where(html, body).has-heading-400 .sb-embed h1,
   :where(html, body).has-heading-400 .content h1,
   :where(html, body).has-heading-400 .text--white .content h1,
   :where(html, body).has-heading-400 .text--white:not(.sb-feature-cta1) .content h1,
   :where(html, body).has-heading-400 .text--white.sb-feature-cta1 .content h1 {
     font-weight: 400;
   }
   
   @media (min-width: 768px) {
   :where(html, body).has-heading-400 .sb-embed h1,
   :where(html, body).has-heading-400 .content h1,
   :where(html, body).has-heading-400 .text--white .content h1,
   :where(html, body).has-heading-400 .text--white:not(.sb-feature-cta1) .content h1,
   :where(html, body).has-heading-400 .text--white.sb-feature-cta1 .content h1 {
     font-weight: 400;
     }
   }
   
   @media (min-width: 768px) {
   :where(html, body).has-heading-400 .text--white .content h1 {
     font-weight: 400;
     }
   }
   
html.has-heading-600 :is(
     .content h1,
     .sb-embed h1,
     .carousel h2,
     .item-content h2
   ){
     font-weight:600;
   }
   
html.has-heading-700 :is(
      .content h1,
      .sb-embed h1,
      .carousel h2,
      .item-content h2
    ){
      font-weight:700;
    }


/* headings -- uppercase */

:where(html, body).has-uppercase.has-footer-alternate1 .footer .footer-headline h1,
:where(html, body).has-uppercase .carousel .item-content h2,
:where(html, body).has-uppercase .sb-embed h1,
:where(html, body).has-uppercase .sb-embed h2,
:where(html, body).has-uppercase .content h1,
:where(html, body).has-uppercase .content h2,
:where(html, body).has-uppercase .text--white .content h1,
:where(html, body).has-uppercase .text--white .content h2,
:where(html, body).has-uppercase .text--white:not(.sb-feature-cta1) .content h1,
:where(html, body).has-uppercase .text--white:not(.sb-feature-cta1) .content h2,
:where(html, body).has-uppercase .text--white.sb-feature-cta1 .content h1,
:where(html, body).has-uppercase .text--white.sb-feature-cta1 .content h2,
:where(html, body).has-uppercase .gallery.var1 .gallery-item .gallery-header,
:where(html, body).has-uppercase .sb-feature-cards1-row .sb-col .content a {
  text-transform: uppercase!important;
}

/* headings -- letter spacing */


:where(html, body).has-letterspacing.has-footer-alternate1 .footer .footer-headline h1,
:where(html, body).has-letterspacing .carousel .item-content h2,
:where(html, body).has-letterspacing .sb-embed h1,
:where(html, body).has-letterspacing .sb-embed h2,
:where(html, body).has-letterspacing .content h1,
:where(html, body).has-letterspacing .content h2,
:where(html, body).has-letterspacing .text--white .content h1,
:where(html, body).has-letterspacing .text--white .content h2,
:where(html, body).has-letterspacing.text--white:not(.sb-feature-cta1) .content h1,
:where(html, body).has-letterspacing .text--white:not(.sb-feature-cta1) .content h2,
:where(html, body).has-letterspacing .text--white.sb-feature-cta1 .content h1,
:where(html, body).has-letterspacing .text--white.sb-feature-cta1 .content h2 {
  letter-spacing: 8px!important;
}

:where(html, body).has-letterspacing a.btn,
:where(html, body).has-letterspacing .gallery.var1 .gallery-item a.btn {
  letter-spacing: 3px!important;
}

:where(html, body).has-letterspacing .sb-feature-cards1-row .sb-col .content a  {
  letter-spacing: 4px!important;
}





 /* h2 */
 
 body .content h2 {
   font-size: 1.2em!important;
   line-height: 1.1em!important;
   padding-bottom: 15px;
   font-weight: 300;
  }
 
 @media (min-width: 768px) {
 body .content h2 {
   font-size: 2em!important;
   line-height: 1.4em!important;
   }
 }

 :where(html, body).has-heading-lg .content h3 {
   font-weight: 400!important;
 }
 
 body#page-home.has-heading-lg .content h3,
 body#page-home.has-heading-lg .sb-about h3,
 body#page-home.has-heading-lg .embed h3 {
   letter-spacing: 0px!important;
 }

 /* h1 -- var1 */
 
 :where(html, body).has-heading-var1 .sb-embed h1,
 :where(html, body).has-heading-var1 .content h1,
 :where(html, body).has-heading-var1 .text--white .content h1,
 :where(html, body).has-heading-var1 .text--white:not(.sb-feature-cta1) .content h1,
 :where(html, body).has-heading-var1 .text--white.sb-feature-cta1 .content h1 {
   font-size: 1.5em!important;
   line-height: 1.4em!important;
   font-weight: 400;
  text-transform: uppercase;
 }
 
 @media (min-width: 768px) {
 :where(html, body).has-heading-var1 .sb-embed h1,
 :where(html, body).has-heading-var1 .content h1,
 :where(html, body).has-heading-var1 .text--white .content h1,
 :where(html, body).has-heading-var1 .text--white:not(.sb-feature-cta1) .content h1,
 :where(html, body).has-heading-var1 .text--white.sb-feature-cta1 .content h1 {
   font-size: 2.5em!important;
   line-height: 1.2em!important;
   font-weight: 100;
   text-transform: uppercase;
   }
 }
 
 
 @media (min-width: 768px) {
 :where(html, body).has-heading-var1 .text--white .content h1 {
   font-size: 2.5em!important;
   line-height: 1.4em!important;
   font-weight: 300;
   }
 }

 :where(html, body).has-heading-var1 .content h3 {
  font-size: .9em!important;
   font-weight: 500!important;
  text-transform: uppercase;
 }
 
 body#page-home.has-heading-var1 .content h3,
 body#page-home.has-heading-var1 .sb-about h3,
 body#page-home.has-heading-var1 .embed h3 {
   letter-spacing: 0px!important;
 }
 

/* h1 -- var1 this is OLD */ 
 :where(html, body).has-heading-bold .carousel .item-content h2 {
   font-weight: 600!important;
  }
 
 :where(html, body).has-heading-bold .sb-embed h1,
 :where(html, body).has-heading-bold .content h1,
 :where(html, body).has-heading-bold .text--white .content h1,
 :where(html, body).has-heading-bold .text--white:not(.sb-feature-cta1) .content h1,
 :where(html, body).has-heading-bold .text--white.sb-feature-cta1 .content h1 {
 font-weight: 600!important;
 }
 
 @media (min-width: 768px) {
 :where(html, body).has-heading-bold .sb-embed h1,
 :where(html, body).has-heading-bold .content h1,
 :where(html, body).has-heading-bold .text--white .content h1,
 :where(html, body).has-heading-bold .text--white:not(.sb-feature-cta1) .content h1,
 :where(html, body).has-heading-bold .text--white.sb-feature-cta1 .content h1 {
   font-weight: bold!important;
 }
 }
 
 
 @media (min-width: 768px) {
 :where(html, body).has-heading-bold .text--white .content h1 {
font-weight: 600!important;
   }
 }

 :where(html, body).has-heading-bold .content h3 {
 font-weight: 600!important;
 }
 
 body#page-home.has-heading-bold:not(.has-testimonials-var1) .content h3,
 body#page-home.has-heading-bold:not(.has-testimonials-var1) .sb-about h3,
 body#page-home.has-heading-bold:not(.has-testimonials-var1) .embed h3 {
 font-weight: 600!important;
 }
 
 body#page-home.has-heading-bold .sb-testimonials-var1-row figure h3 strong {
 font-weight: bolder!important;
 }


/* show header -- logo icon */

/* for legacy sites and new gen */
.logo-icon {
  display: none;
}

html.has-carousel-logo #page-home .logo-icon {
  display: block;
}

/* for legacy sites and new gen */
.logo-icon {
  background: transparent;
}

.logo-icon img {
  background: transparent;
  width: 50px;
  height: auto;
  display: inline-block!important;
  position: relative;
  opacity: 1;
}


/* */


.has-logo-icon a.logo-icon {
  display: block!important;
}

.has-logo-icon .logo-icon {
  width: inherit;
  height: inherit;
  background: transparent;
  float: none;
  margin-right: 10px;
  background: transparent;
}

.has-logo-icon .logo-icon img {
  width: inherit;
  height: inherit;
  max-height: 35px!important;
  float: none;
  display: inline-block!important;
  visibility: visible;
  opacity: 1;
  transition: visibility 0s, opacity 0.5s linear;
  position: relative;
  top: 0px;
  filter: blur(0px);
}

.has-logo-icon .header.logoshow .logo-icon img {
  display: inline-block;
  visibility: visible;
  opacity: 1;
  position: relative;
  box-shadow: 0px 5px 10px 0px rgb(0 0 0 / 0%);
  }

.has-logo-icon .logo-icon img {
  display: block;
}

@media (min-width:949px) {
.has-logo-icon .logo-icon img {
  display: block!important;
}

.has-logo-icon .header.logoshow .logo-icon img {
  display: inline-block;
  visibility: visible;
  opacity: 1;
  position: relative;
  box-shadow: 0px 5px 10px 0px rgb(0 0 0 / 0%);
  }
}

.has-logo-icon .header.logoshow .logo-icon img {
  position: relative;
  display: inline-block!important;
  }


@media screen and (max-width:1279px) { 
.has-logo-icon .fcol-1 .box-nested > * {
  display: none!important; /* Hide all direct children */
  }
  
.has-logo-icon .fcol-1 .box-nested > a.logo-icon {
  display: block!important; /* Show only the logo */
  }
}


/* */

.has-logo-icon-scroll a.logo-icon {
  display: block!important;
}

.has-logo-icon-scroll .logo-icon {
  width: inherit;
  height: inherit;
  background: transparent;
  float: none;
  margin-right: 10px;
  background: transparent;
}

.has-logo-icon-scroll .logo-icon img {
  width: inherit;
  height: inherit;
  max-height: 35px!important;
  float: none;
  display: inline-block!important;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.5s linear;
  position: relative;
  top: 0px;
  filter: blur(0px);
}

.has-logo-icon-scroll .header.logoshow .logo-icon img {
  display: inline-block;
  visibility: visible;
  opacity: 1;
  position: relative;
  box-shadow: 0px 5px 10px 0px rgb(0 0 0 / 0%);
  }

.has-logo-icon-scroll .logo-icon img {
  display: block;
}

@media (min-width:949px) {
.has-logo-icon-scroll .logo-icon img {
  display: none!important;
}

.has-logo-icon-scroll .header.logoshow .logo-icon img {
  display: inline-block;
  visibility: visible;
  opacity: 1;
  position: relative;
  box-shadow: 0px 5px 10px 0px rgb(0 0 0 / 0%);
  }
}


.has-logo-icon-scroll .header.logoshow .logo-icon img {
  position: relative;
  display: inline-block!important;
  }


/* */

.has-logo-icon-swap a.logo-icon {
  display: block!important;
}

.has-logo-icon-swap .logo-icon {
  width: inherit;
  height: inherit;
  background: transparent;
  float: none;
  margin-right: 10px;
  background: transparent;
}

.has-logo-icon-swap .logo-icon img {
  width: inherit;
  height: inherit;
  max-height: 35px!important;
  float: none;
  display: none!important;
  visibility: visible;
  opacity: 1;
  transition: visibility 0s, opacity 0.5s linear;
  position: relative;
  top: 0px;
  filter: blur(0px);
}

.has-logo-icon-swap .header.logoshow .logo-icon img {
  display: inline-block!important;
  visibility: visible;
  opacity: 1;
  position: relative;
  box-shadow: 0px 5px 10px 0px rgb(0 0 0 / 0%);
  }

.has-logo-icon-swap .logo-icon img {
  display: block;
}

@media (min-width:949px) {
.has-logo-icon-swap .logo-icon img {
  display: none!important;
}

.has-logo-icon-swap .header.logoshow .logo-icon img {
  display: inline-block;
  visibility: visible;
  opacity: 1;
  position: relative;
  box-shadow: 0px 5px 10px 0px rgb(0 0 0 / 0%);
  }
}


.has-logo-icon-swap .header.logoshow .logo-icon img {
  position: relative;
  display: inline-block!important;
  max-height: 60px!important;
  }


.has-logo-icon-swap .header img#logoimg:not(.footer img) {
  display: inline-block;
  opacity: 1; /* Fully visible */
  visibility: visible;
  transition: opacity 0.5s ease!important; /* Smooth transition for opacity */
}

@media (min-width:1280px) {
.has-logo-icon-swap .header.logoshow img#logoimg:not(.footer img) {
  /* Note: display: none will still cause the element to disappear abruptly after the transition */
  opacity: 0; /* Fully transparent */
  visibility: hidden;
  transition: opacity 0.5s ease!important; /* Smooth transition for opacity */
  display: none;
}
}

@media (max-width: 768px) {
.has-mobile-logo-lg  img#logoimg,
body:not(#page-home).has-mobile-logo-lg img#logoimg {
  max-height: 45px !important;
}
}

/* has icons option */

.has-icons .btn {
  display: inline-block;
  align-items: center;
  padding: 16px 12px;
  text-decoration: none;
  color: #333;
}

.has-icons .btn::before {
  /* font-family: "Font Awesome 5 Pro"; */
  font-weight: 100; 
  margin-right: 8px; 
}

.has-icons .btn:nth-child(1)::before { content: "\f5da"; } /* Tooth */
.has-icons .btn:nth-child(2)::before { content: "\f5d9"; } /* Dental Hygiene */
.has-icons .btn:nth-child(3)::before { content: "\f5db"; } /* Dental Floss */
.has-icons .btn:nth-child(4)::before { content: "\f5d1"; } /* Toothbrush */


.has-icons .btn:hover {
  background-color: #f0f0f0; 
}


/* ----------------------------------------------------------------------
   IMGS
---------------------------------------------------------------------- */

/* imgs -- rounded images */

:where(html, body).has-img-rounded-10 .map-frame,
body.page-full-post.has-img-rounded-10 .sb-blog-row .sb-featured-image img,
body.page-feed-post.has-img-rounded-10 .post,
body:not(#page-home).has-img-dropshadow .sb-content img,
:where(html, body).has-img-rounded-10 .sb-image-row img,
:where(html, body).has-img-rounded-10 .sb-image-row.image-row-three-wrap.col-row-three-wrap img,
:where(html, body).has-img-rounded-10 .gallery-item-wrap,
:where(html, body).has-img-rounded-10 .gallery-item:before,
:where(html, body).has-img-rounded-10 .sb-feature-discount-row,
:where(html, body).has-img-rounded-10 .sb-wrap[class*='image-row-one-wrap'] img,
:where(html, body).has-img-rounded-10 .sb-wrap[class*='col-row-one-wrap'] img,
:where(html, body).has-img-rounded-10 .gallery img,
:where(html, body).has-img-rounded-10 .sb-fillbox-row .sb-wrap-inner,
:where(html, body).has-img-rounded-10 .sb-testimonials-var1-row:not(.sb-maxwidth-row),
:where(html, body).has-img-rounded-10 .post .entry img,
:where(html, body).has-img-rounded .posts .sb-featured-image img,
:where(html, body).has-img-rounded .video-wrapper iframe {
  border-radius: 10px;
}

:where(html, body).has-img-rounded-30 .map-frame,
body.page-full-post.has-img-rounded-30 .sb-blog-row .sb-featured-image img,
body.page-feed-post.has-img-rounded-30 .post,
body:not(#page-home).has-img-dropshadow .sb-content img,
:where(html, body).has-img-rounded-30 .sb-image-row img,
:where(html, body).has-img-rounded-30 .sb-image-row.image-row-three-wrap.col-row-three-wrap img,
:where(html, body).has-img-rounded-30 .gallery-item-wrap,
:where(html, body).has-img-rounded-30 .gallery-item:before,
:where(html, body).has-img-rounded-30 .sb-feature-discount-row,
:where(html, body).has-img-rounded-30 .sb-wrap[class*='image-row-one-wrap'] img,
:where(html, body).has-img-rounded-30 .sb-wrap[class*='col-row-one-wrap'] img,
:where(html, body).has-img-rounded-30 .gallery img,
:where(html, body).has-img-rounded-30 .sb-fillbox-row .sb-wrap-inner,
:where(html, body).has-img-rounded-30 .sb-testimonials-var1-row:not(.sb-maxwidth-row),
:where(html, body).has-img-rounded-30 .post .entry img,
:where(html, body).has-img-rounded-30 .posts .sb-featured-image img,
:where(html, body).has-img-rounded-30 .video-wrapper iframe {
  border-radius: 30px;
}    


/* ----------------------------------------------------------------------
   LAYOUT / WIDTH
---------------------------------------------------------------------- */

@media (min-width: 949px) {
.container > .columns,
.wrapper .columns {
   max-width: var(--site-max);
   margin-inline: auto;
}
}






/* ----------------------------------------------------------------------
   CONTENT / MODULE VARIANTS
---------------------------------------------------------------------- */

ul.accordion-list {
  max-width: 1005;
  margin: auto!important;
  padding: 0 15px;
  text-align: left!important;
  margin-top: 50px!important;
}

ul.accordion-list {
  text-align: left;
}

.accordion-list h1 {
  /* color: #f05454; */
  margin-bottom: 30px;
}

.accordion-list h2 {
  color: #47d8b2;
  /* font-family: 'hm_light', sans-serif; */
  font-size: 20px;
  text-align: left;
  line-height: 34px;
  padding: 30px 30px 0;
  text-transform: none;
  letter-spacing: 0px;
  font-weight: 300;
  display: block;
  margin: 0;
  cursor: pointer;
  transition: .2s;
}

body:not(#page-home) ul.accordion-list li h3,
body ul.accordion-list li h3 ,
body:not(#page-home) .body .sb-content:not(.text--left) .content ul.accordion-list li h3 {
  font-size: 1.6em!important;
  line-height: 1.1em!important;
  font-weight: 400!important;
  /* padding: 20px 0px!important; */
  margin: 0px!important;
  text-align: left!important;
  padding: 20px 70px 20px 0px !important;
}

@media (min-width: 949px) {
 body ul.accordion-list li h3 {
  font-size: 1.7em!important;
  line-height: 1.4em!important;
  font-weight: 400!important;
  /* padding: 20px 0px!important; */
  margin: 0px!important;
  text-align: left!important;
  padding: 20px 70px 20px 0px !important;
}
}

.accordion-list p {
  text-align: left;
  /* font-family: 'hm_light', sans-serif; */
  font-size: 14px;
  line-height: 1.45;
  position: relative;
  will-change: max-height;
  contain: layout;
  display: inline-block;
  opacity: 1;
  transform: translate(0,0);
  margin: 0px;
  transition: .3s opacity;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  z-index: 2;
  text-align: left;
  padding-bottom: 20px;

}

.content .accordion-list p {
  line-height: 23px!important;

}

.content .accordion-list .answer p {
  padding-top: 0px!important;
}


ul.accordion-list  {
  list-style: none;
  perspective: 900;
  padding: 0;
  margin: 0;
}

.sb-module *:not(.element-item):not(.element-item):not(.element-item):not(.slick-slide):not(.slick-list):not(.slick-track):not(.module-mini-cta):not([class*='col-']) > ul.accordion-list > li {
  position: relative;
  overflow: hidden;
  padding: 0px 40px!important;
  margin: 0;
  background: rgb(192 192 192 / 5%);
  box-shadow: 0 3px 10px -2px rgb(0 0 0 / 0%);
  -webkit-tap-highlight-color: transparent;
  border-radius: 0px;
  border-top: 2px solid #d5d5d5;
  padding-left: 20px;
  padding-right: 20px;
}

ul.accordion-list li + li {
  margin-top: 15px;
}

ul.accordion-list li:last-of-type {
  padding-bottom: 0;
}

ul.accordion-list li i {
  position: absolute;
  transform: translate(-6px, 0);
  margin-top: 28px;
  right: 15px;
}

ul.accordion-list li i:before,
ul.accordion-list li i:after {
  content: "";
  position: absolute;
  background-color: #354aa6;
  width: 3px;
  height: 9px;
}

ul.accordion-list li i:before {
  transform: translate(2px, 0) rotate(45deg);
}

ul.accordion-list li i:after {
  transform: translate(-2px, 0) rotate(-45deg);
}

ul.accordion-list li input[type=checkbox] {
  position: absolute;
  cursor: pointer;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0;
  touch-action: manipulation;
}

ul.accordion-list li input[type=checkbox]:checked ~ h2 {
  color: #101a2b;
}

ul.accordion-list li input[type=checkbox]:checked ~ p {
  margin: 10px;
  max-height: 0;
  transition: .3s;
  opacity: 0;
}

ul.accordion-list li input[type=checkbox]:checked ~ i:before {
  transform: translate(2px, 0) rotate(45deg);
  background: #57af9b;
}

ul.accordion-list li input[type=checkbox]:checked ~ i:after {
  transform: translate(-2px, 0) rotate(-45deg);
  background: #60c3aa;
}

ul.accordion-list li {
  cursor: pointer!important;
}

.sb-module *:not(.element-item):not(.element-item):not(.element-item):not(.slick-slide):not(.slick-list):not(.slick-track):not(.module-mini-cta):not([class*='col-']) ul.accordion-list .answer {
  cursor: auto!important;
  pointer-events: none;
  transition: none!important;
}

body.page-app ul.accordion-list .answer {
  display: block!important;
}


/* module accordion -- variant 2 (1 exists in base.themes) */

.accordion-list .accordion-list h3::after {
  display: none;
}

.accordion-list ul.accordion-list {
    max-width: 100%;
    margin: auto!important;
    padding: 0 15px;
    text-align: center;
    margin-top: 50px!important;
  }
  
.accordion-list .accordion-list ul {
  text-align: left;
}

 .accordion-list h1 {
  /* color: #f05454; */
  margin-bottom: 30px;
}

 .accordion-list h2 {
  color: #47d8b2;
  /* font-family: 'hm_light', sans-serif; */
  font-size: 20px;
  text-align: left;
  line-height: 34px;
  padding: 30px 30px 0;
  text-transform: none;
  letter-spacing: 0px;
  font-weight: 300;
  display: block;
  margin: 0;
  cursor: pointer;
  transition: .2s;
}

 .accordion-list h3 {
  margin: 0px!important;
}



 .accordion-list p {
  font-size: 14px!important;

}


@media (min-width: 949px) {
 .accordion-list p {
    text-align: left;
    /* font-family: 'hm_light', sans-serif; */
    font-size: 16px!important;
    line-height: 1.45;
    position: relative;
    will-change: max-height;
    contain: layout;
    display: inline-block;
    opacity: 1;
    transform: translate(0,0);
    margin: 0px;
    transition: .3s opacity;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    z-index: 2;
    text-align: left;
    padding-bottom: 20px;
  
  }
}

:where(.embed, .content) .accordion-list p {
  line-height: 30px!important;
}


 ul.accordion-list  {
  list-style: none;
  perspective: 900;
  padding: 0px 0px;
  margin: 0;
}

 .sb-module *:not(.element-item):not(.element-item):not(.element-item):not(.slick-slide):not(.slick-list):not(.slick-track):not(.module-mini-cta):not([class*='col-']) ul.accordion-list li {
  position: relative;
  overflow: hidden;
  padding: 0px 0px!important;
  margin: 0;
  background: rgb(192 192 192 / 0%);
  box-shadow: 0 3px 10px -2px rgb(0 0 0 / 0%);
  -webkit-tap-highlight-color: transparent;
  border-radius: 0px;
  border-top: 2px solid #d5d5d5;
  padding-left: 20px;
  padding-right: 20px;
  border-bottom: 0px;
}

@media (min-width: 949px) {
 .sb-module ul.accordion-list .answer {
  width: 60%;
  }
 ul.accordion-list  {
    padding: 0px 0px;
  }	
}

 ul.accordion-list li + li {
  margin-top: 15px;
}

 ul.accordion-list li:last-of-type {
  padding-bottom: 0;
}

 ul.accordion-list li i {
  position: absolute;
  transform: translate(-6px, 0);
  margin-top: 28px;
  right: 15px;
}

 ul.accordion-list li i:before,
 ul.accordion-list li i:after {
  content: "";
  position: absolute;
  background-color: #354aa6;
  width: 3px;
  height: 9px;
}

 ul.accordion-list li i:before {
  transform: translate(2px, 0) rotate(45deg);
}

 ul.accordion-list li i:after {
  transform: translate(-2px, 0) rotate(-45deg);
}

 ul.accordion-list li input[type=checkbox] {
  position: absolute;
  cursor: pointer;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0;
  touch-action: manipulation;
}

 ul.accordion-list li input[type=checkbox]:checked ~ h2 {
  color: #101a2b;
}

 ul.accordion-list li input[type=checkbox]:checked ~ p {
  margin: 10px;
  max-height: 0;
  transition: .3s;
  opacity: 0;
}

 ul.accordion-list li input[type=checkbox]:checked ~ i:before {
  transform: translate(2px, 0) rotate(45deg);
  background: #57af9b;
}

 ul.accordion-list li input[type=checkbox]:checked ~ i:after {
  transform: translate(-2px, 0) rotate(-45deg);
  background: #60c3aa;
}

 ul.accordion-list li {
  cursor: pointer!important;
}

 .sb-module *:not(.element-item):not(.element-item):not(.element-item):not(.slick-slide):not(.slick-list):not(.slick-track):not(.module-mini-cta):not([class*='col-']) ul.accordion-list .answer {
  cursor: auto!important;
  pointer-events: none;
  transition: none!important;
}

body.page-app ul.accordion-list .answer {
  display: block!important;
}
  
  
 ul.accordion-list li::before {
content: "+";
  display: inline-block;
  position: absolute;
  right: 10px;
  top: 20px;
  font-size: 30px;
  font-weight: bold;
  transition: none!important;
  }
  
 ul.accordion-list li.active::before {
  transform: rotate(45deg);
}



/* FLEX LAYOUT for plan cards when inside sb-feature-cards1-row */
.feature-cards1 > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 25px;
    margin-top: 30px;
  }
  
  /* EACH card */
.feature-cards1 > div > div {
    flex: 1 1 220px;
    max-width: 320px;
    border-radius: 12px;
    padding: 35px 25px;
    box-sizing: border-box;
  }

  
  /* Tablet */
  @media (max-width: 900px) {
.feature-cards1 > div > div {
    flex: 1 1 45%;
    max-width: 450px;
    }
  }
  
  /* Mobile */
  @media (max-width: 600px) {
.feature-cards1 > div > div {
    flex: 1 1 100%;
    max-width: 500px;
    }
  }

.feature-cards1 > div > div h2 {
  font-weight: 500;
  padding: 0px!important;
  line-height: 30px!important;
  font-size: 1.7em!important;
  }

.feature-cards1 > div > div img {
  max-width: 30%;
  padding-bottom: 10px;
  }



/* ----------------------------------------------------------------------
   MISC / LEGACY / FUTURE
---------------------------------------------------------------------- */

/* :where(html, body).has-rounded */

.sb-roundedbox-row  {
  border-radius: 10px;
  overflow: hidden!important;
  margin: 0px 20px;
  padding: 0px;
}

@media (max-width: 768px) {
.container > .columns  {
  margin: 0px 20px;
}
}

/* ----------------------------------------------------------------------
   STACKED MODULES 
---------------------------------------------------------------------- */

.sb-roundedbox-row + .sb-roundedbox-row {
margin-top: 40px!important;
}

/* boxes -- rounded images -- with fixed inner box width */

.sb-roundedbox-row.sb-fillbox-600-row {
  border-radius: 0px;
}
.sb-roundedbox-row.sb-fillbox-600-row .sb-wrap-inner {
  border-radius: 20px;
}

:where(html, body).has-animation {}
:where(html, body).has-scroll-effects {}

/* SAFETY CATCH ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â DO NOT REMOVE */
body[class*="has-"] {}



/*==================================================================================*/
/* FOOTER ALTERNATE LAYOUT 1 8/1/2023 */
/*==================================================================================*/

.footer .footer-box a {
  border-radius: 50px!important;
  text-align: center;
}

.footer .locations_footer .locations_list a[target="_blank"] {
  padding: 4px 0px 0px;
}


.social-module {
  padding-top: 20px;
  
}
.social-module a {
  border-radius: 100px;
  width: 35px;
  height: 35px;
  padding-top: 14px;
  display: inline-block;
  border: 1px solid;
  margin-left: 0px;
  margin-right: 5px;
  margin-bottom: 0px;
  text-align: center;
  font-weight: 500;
}

.social-module a .fa {
  font-size: 14px;
}


/* custom - footer */

.has-footer-alternate1 .footer-box a {
  font-size: 16px;
  line-height: 30px;
  font-variant-numeric: lining-nums;
}

.has-footer-alternate1 .footer-box p, 
.has-footer-alternate1 .footer-box h1, 
.has-footer-alternate1 .footer-box h2,
.has-footer-alternate1 .footer-box h3, 
.has-footer-alternate1 .footer-box h4, 
.has-footer-alternate1 .footer-box h5, 
.has-footer-alternate1 .footer-box h6,
.has-footer-alternate1 .footer-box ul, 
.has-footer-alternate1 .footer-box ol, 
.has-footer-alternate1 .footer-box li, 
.has-footer-alternate1 .footer-box li a, 
.has-footer-alternate1 .footer-box div {
  margin: 0;
  padding: 0;
}

.has-footer-alternate1.footer .nav .primary-link:last-child > a {
  margin: auto!important;
  padding: 0px!important;
  text-align: center!important;
  padding: 5px 15px!important;
  margin-top: 20px!important;
}

.has-footer-alternate1.footer .nav .primary-link:last-child > a:hover{
  text-decoration: none;
}

.has-footer-alternate1 .footer-box li a {
  text-transform: capitalize!important;
  padding: 0px!important;
}

.has-footer-alternate1 .footer-box ul, 
.has-footer-alternate1 .footer-box ol {
  list-style: none;
}

@media screen and (min-width: 949px) {
.has-footer-alternate1.footer .wrapper  {
  max-width: 1425px!important;
  padding: 0px!important;
  margin: auto;
}
}

.has-footer-alternate1  .footer {
  padding: 110px 0px!important;
}

.footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.footer-box {
  flex: 1 1 100%;
  margin-bottom: 10px;
  float: left!important;
}

.has-footer-alternate1 .footer-box .footer-logo-container {
  display: flex;
  align-items: flex-start;
}

.has-footer-alternate1 .footer-box .footer-logo-container img {
  max-width: 200px;
  margin-right: 20px;
}

.has-footer-alternate1 .footer-box .footer-logoname {
  align-self: flex-end;
  font-weight: bold;
}

.has-footer-alternate1 .footer-box .footer-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.has-footer-alternate1 .footer-box .footer-nav .nav-inner {
  flex-basis: 50%;
  margin-bottom: 10px;
}

.has-footer-alternate1 .footer-box .footer-nav ul {
  list-style: none;
  padding: 0;
}

.has-footer-alternate1 .footer-box .footer-nav li {
  margin-bottom: 5px;
}

.has-footer-alternate1 .footer-box .locations_footer {
  margin-top: 0px!important;
  margin-bottom: 10px!important;
  max-width: 400px!important;
  margin: 0px;
}

.has-footer-alternate1 .footer-box .footer-headline {
  padding: 0px 0px 0px;
  text-align: left;
}


@media screen and (min-width: 949px) {
.has-footer-alternate1 .footer-box .footer-headline h1 {
  padding: 20px 0px 100px;
  }
}


.has-footer-alternate1 .footer-box .nav-inner {
    display: flex;
   }
   
.has-footer-alternate1 .footer-box .nav-inner ul {
    list-style: none;
    padding: 0;
    margin: 0;
    flex: 1;
    margin-right: 20px;
   }

.has-footer-alternate1 .footer-box .nav-inner li {
    margin-bottom: 10px;
    display: block;
   }

   /* Styling for the h2 titles */
.has-footer-alternate1 .footer-box .nav-inner h2 {
    margin-top: 20px;
    font-size: 20px;
   }

.has-footer-alternate1.footer .footer-box .col-md-4:nth-child(2)  {
  padding-right: 30px;
  }

.has-footer-alternate1.footer .footer-box .col-md-4:nth-child(3)  {
  display: flex;
  }

.has-footer-alternate1.footer .footer-box .col-md-4:nth-child(3)  {
  margin-top: 0px;
  }

@media screen and (min-width: 949px) {
.has-footer-alternate1.footer .footer-box .col-md-4:nth-child(3)  {
  margin-top: 0px;
  }
}



  .has-footer-alternate1.footer .footer-box .col-md-4:nth-child(3) ul {
  list-style: none;
  padding: 0;
  margin: 0;
  padding-right: 20px!important;
  }

@media screen and (min-width: 949px) {
  .has-footer-alternate1.footer .footer-box .col-md-4:nth-child(3) ul {
  list-style: none;
  padding: 0;
  margin: 0;
  padding-right: 60px!important;
  }
}


    .has-footer-alternate1.footer .footer-box .col-md-4:nth-child(3) li {
    margin-bottom: 14px;
    display: block;
    }

    .has-footer-alternate1.footer .footer-box .col-md-4:nth-child(3) li a {
    line-height: 20px!important;
    }
    
    /* Styling for the h2 titles */
    .has-footer-alternate1.footer .footer-box .col-md-4:nth-child(3) h2 {
    margin-top: 20px;
    font-size: 15px!important;
    margin-bottom: 10px;
    } 

@media screen and (min-width: 949px) {
  
    .has-footer-alternate1.footer .footer-box .col-md-4:nth-child(3) li {
    margin-bottom: 10px;
    display: block;
    }

      .has-footer-alternate1.footer .footer-box .col-md-4:nth-child(3) li a {
    line-height: 26px!important;
    }
  
    .has-footer-alternate1.footer .footer-box .col-md-4:nth-child(3) h2 {
    margin-top: 10px;
    font-size: 14px!important;
    font-weight: 600;
    margin-bottom: 20px;
    } 
}




@media screen and (min-width: 949px) {
  /* Apply a font size to all links in the third .col-md-4 container, except the last one */
  .has-footer-alternate1.footer .footer-box li a {
    font-size: 16px!important;
  }
}

.has-footer-alternate1.footer .nav .primary-link:last-child > a {
  display: inline-block;
  font-size: 15px!important;
  font-weight: 600!important;
  margin-top: 10px!important;
}

@media screen and (min-width: 949px) {
.has-footer-alternate1.footer .footer-box .col-md-4:last-child > a {
font-size: 14px!important;

}
}

    /* Align all text to the left */
     .has-footer-alternate1.footer .footer .wrapper {
      text-align: left!important;
     }
    
     /* Align the navigation lists to the left */
     .has-footer-alternate1.footer .footer .col-md-4 nav ul {
      text-align: left!important;
     }
    
     /* Align social media icons to the left */
     .has-footer-alternate1.footer .footer .embed.social-module.sm-bg-colors-OFF {
      text-align: left!important;
     }
     
  .has-footer-alternate1.footer * {
      text-align: left!important;
     }	 
  .has-footer-alternate1.footer  .locations_list br {
      display: block;!important;
     }	 
    
   .has-footer-alternate1.footer .social-module a {
      text-align: center!important;
    }

   .has-footer-alternate1.footer .social-module a {
      margin-bottom: 10px;
   
    }
    
  .has-footer-alternate1.footer .footer-box span {
     padding-bottom: 0px!important;
    }

  .has-footer-alternate1.footer .footer-box .location_name {
     font-size: 18px!important;
     line-height: 25px;
    }


  .has-footer-alternate1.footer .footerlogoname,
  .has-footer-alternate1.footer img#logoimg {
  text-align: left!important;
  padding-top: 35px!important;
  margin: 0px!important;
  position: relative;
}


  .has-footer-alternate1.footer #logoimg {
  width: 1250px!important;
}

.has-footer-alternate1.footer h1 {
  font-size: 2.5em!important;
  line-height: 1.4em!important;
  font-weight: 300;
  background: linear-gradient(234.33deg, #dfdfdf -3.63%, #ffffff 89.96%);
}

@media (min-width: 768px) {
.has-footer-alternate1.footer h1 {
  font-size: 3.5em!important;
  line-height: 1.4em!important;
  font-weight: 300;
  }
}

.has-footer-alternate1.footer h1 {
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-box-decoration-break: clone;
}

.has-footer-alternate1.footer h1 {
  margin: 20px 0px;
}

.has-footer-alternate1.footer .locations_list {
  /* font-family: 'Montserrat', sans-serif; */
}	

.has-footer-alternate1.footer .footer-user-content {
 width: 100%!important;
 float: left;
 max-width: 100%!important;
 text-align: left!important;
 padding: 0 15px;
 padding-top: 50px;
}	

.has-footer-alternate1.footer .footer-user-content p:first-child {
 border-top: 1px solid rgb(57 57 57 / 5%);
 margin-top: 40px;
 padding-top: 80px;
}	


.has-footer-alternate1.footer .footer-user-content a,
.has-footer-alternate1.footer .footer-user-content p {
 font-size: 16px!important;
 text-align: left!important;
 line-height: 29px;
}

.has-footer-alternate1.footer .footer-user-content p {
  padding-bottom: 6px!important;
}


.has-footer-alternate1 .locations_list .social-module {
  padding-top: 20px;
  margin-bottom: 20px;
}

.has-footer-alternate1 .locations_list a {
  display: inline-block!important;
}


/* Footer logo stability */
.has-footer-alternate1 img#logoimg {
  max-width: 200px;
  height: auto;
  display: block;
}


/*==================================================================================*/
/* SET FOOTER */
/*==================================================================================*/

.footer {
  padding-top: 60px;
  padding-bottom: 60px;
  text-align: center;
  overflow: visible;
  border-top: 1px solid;
}

@media screen and (min-width: 949px) {
.footer .footer-box:nth-child(1),
.footer .footer-box:nth-child(2),
.footer .footer-box:nth-child(3) {
  padding: 0 15px;
  position: relative;
  min-height: 1px;
  width: 100%!important;
  text-align: center!important;
  }
}


.footer .footer-box {
  float: none!important;
}

.footer .nav ul {
  padding-bottom: 20px;
}

.footer .nav li {
  display: block;
  font-size: 20px;
}

@media screen and (min-width: 949px) {
.footer .nav li {
  display: inline;
  font-size: 20px;
  }
}

.footer .nav li a {
  font-size: 17px;
  padding: 10px;
  font-weight: 300;
}

.footer h3 {
  padding-top: 18px;
  padding-bottom: 0px;
}

body.logoshow footer img#logoimg, 
body.logoshow footer img#logoimg:not(.logo-color),
body footer img#logoimg, 
body footer img#logoimg:not(.logo-color) {
  margin: 0px;
  max-width: 180px!important;
  height: auto;
  margin: auto;
  /* clear: both; */
  /* display: block; */
}

@media screen and (min-width: 949px) {
body.logoshow footer img#logoimg, 
body.logoshow footer img#logoimg:not(.logo-color),
body footer img#logoimg, 
body footer img#logoimg:not(.logo-color) {
  max-width: 250px!important;
  height: auto;
}
}

.footer-user-content {
  padding: 0 15px;
  position: relative;
  min-height: 1px;
  width: 100%!important;
  text-align: center!important;
  margin: auto;
}

@media screen and (min-width: 949px) {
.footer-user-content {
  width: 80%!important;
  }
}

/*==================================================================================*/
/* extra footer instance fix -- remove 2nd instance */
/*==================================================================================*/

body  > .footer-box {
  display: none;
}


/* =========================================================
   CAROUSEL - MOBILE - ALIGN CENTER
========================================================= */

@media (max-width: 768px) {
.carousel-wrapper .align-left {
  margin-left: 0px;
  justify-content: center;
  text-align: center;
}
}

/* ---------------------------------------------------------
   CAROUSEL - HAS CLASSES
--------------------------------------------------------- */

@media screen and (min-width:949px) {
#page-home.has-carousel-bottom .carousel-wrapper .carousel .item-content {
  justify-content: flex-end;
}


#page-home.has-carousel-top .carousel-wrapper .carousel .item-content {
  justify-content: flex-start;
}
  }




/* ---------------------------------------------------------
   Column spacing rules
--------------------------------------------------------- */
@media (min-width:949px) {

  html.has-banner-thin:not(#page-home)
  .sb-wrap-inner[class*="col-row-"]
  .sb-col:nth-of-type(1) .sb-module,

  html.has-banner-thin:not(#page-home)
  .sb-wrap-inner.image-row-two
  .sb-col.sb-image-row .sb-module,

  html.has-banner-thin:not(#page-home)
  .image-row-two-wrap
  .sb-col.sb-image-row .sb-module {
  padding: 0 !important;
  padding-bottom: 30px !important;
  }
}

html.has-banner-thin:not(#page-home)
.sb-wrap-inner[class*="col-row-"]
.sb-col:nth-of-type(1) .sb-module .box {
  padding-bottom: 30px !important;
  border-bottom: 1px solid #e1e1e1;
}


/* ---------------------------------------------------------
   Misc layout tweaks
--------------------------------------------------------- */
html.has-banner-thin:not(#page-home) .module-form {
  padding-top: 0;
  padding-bottom: 0 !important;
}

html.has-banner-thin:not(#page-home)
.sb-wrap.sb-image-row.image-row-one-wrap {
  overflow: visible;
}


/* ---------------------------------------------------------
   Button scale
--------------------------------------------------------- */
@media (min-width:949px) {

  html.has-banner-thin:not(#page-home).has-btn-lg
  a.btn-cta:not(.btn-reset) {
  padding: 9px 15px !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  }

  html.has-banner-thin:not(#page-home).has-btn-lg
  a.btn-cta:not(.btn-reset) i {
  display: none;
  }
}


/* ---------------------------------------------------------
   Header nav text
--------------------------------------------------------- */
html.has-banner-thin:not(#page-home)
.header .nav .primary-link > a {
  font-size: 13px;
}

/* =========================================================
   Interior banner ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â landing page thin style
   ROOT-DRIVEN (html.has-banner-thin)
========================================================= */

/* ---------------------------------------------------------
   Base height
--------------------------------------------------------- */
html.has-banner-thin:not(#page-home) > body > .container > .carousel-wrapper {
  height: 60px;
}


/* ---------------------------------------------------------
   Desktop adjustments
--------------------------------------------------------- */
@media (min-width:1280px) {

  html.has-banner-thin:not(#page-home)
  > body > .container > .carousel-wrapper {
  height: 165px;
  background-image: none !important;
  }

  html.has-banner-thin:not(#page-home)
  > body > .container > .carousel-wrapper
  .item-content-inner {
  display: flex !important;
  margin: 0;
  height: auto;
  align-self: flex-start;
  top: 40px !important;
  }

  html.has-banner-thin:not(#page-home)
  > body > .container > .carousel-wrapper
  img#logoimg:not(.footer img) {
  max-height: 60px !important;
  }

  html.has-banner-thin:not(#page-home)
  .header img#logoimg:not(.footer img) {
  max-height: 60px !important;
  }

  html.has-banner-thin:not(#page-home)
  > body > .container > .carousel-wrapper:before,
  html.has-banner-thin:not(#page-home)
  > body > .container > .carousel-wrapper
  .carousel-inner .item:before {
  background: linear-gradient(
    0deg,
    #8d929e 0%,
    #8d929e 40%,
    #8d929e 100%
  );
  }
}


/* ---------------------------------------------------------
   Body background
--------------------------------------------------------- */
html.has-banner-thin:not(#page-home) body {
  background: linear-gradient(
  0deg,
  #fcfdff 0%,
  #ffffff 40%,
  #acb0bb 100%
  );
}



/* Reserve header height */
header.header-static,
header.header.header-static {
  min-height: 120px;
}

/* Normalize icons only inside header/nav/footer */
header i.fa, header i.fas,
.nav i.fa, .nav i.fas,
.mobile-nav i.fa, .mobile-nav i.fas,
.footer i.fa, .footer i.fas {
  width: 1em;
  height: 1em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* SVG inside <i> inherits color/size */
header i svg, .nav i svg, footer i svg, .mobile-nav i svg {
  width: 1em;
  height: 1em;
  fill: currentColor;
}



/* ============================= */
/* TOP BAR */
/* ============================= */

.site-header.has-topbar .site-header__top {
  display: flex;
  align-items: center;          /* hard vertical lock */
  min-height: 40px;
  width: 95%;
  margin: 0 auto;
  gap: 24px;
  padding: 20px 20px;
  border-bottom: 1px solid rgba(0,0,0,0.05);
}

@media screen and (max-width:948px) {
.site-header.has-topbar .site-header__topr {
    display: inline-block;
}
}


/* =====================================================
   SITE HEADER CTA + ADDRESS (HTML-AWARE FIX)
===================================================== */


/* ============================= */
/* CTA WRAPPER */
/* ============================= */

.site-header__cta {
  display: flex;
  align-items: center;          /* vertical centering */
  gap: 28px;                    /* SPACE between address + button */
}



/* ============================= */
/* ADDRESS TOOL-LINK */
/* ============================= */

/* OVERRIDE inline styles safely */
.site-header__cta .tool-links {
  display: flex !important;     /* override inline-flex */
  align-items: center !important;
  /* max-width: none !important; */   /* CRITICAL ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â remove 190px choke */
  /* white-space: nowrap; */
  text-align: center;
}


/* Address link itself */
.site-header__cta .tool-link--address {
  font-size: 14px;
  line-height: 1.3;
  text-align: right;
}


/* ============================= */
/* PHONE CTA BUTTON */
/* ============================= */

.site-header__cta .btn {
  padding: 12px 22px;
  font-size: 14px;
  line-height: 1;
  white-space: nowrap;
}


/* ============================= */
/* MAIN HEADER BAR */
/* ============================= */

.site-header__main {
  display: flex;
  align-items: center;          /* hard vertical lock */
  justify-content: space-between;
  min-height: 80px;
  width: 100%;
  margin: 0 auto;
  gap: 24px;
  position: relative;
  z-index: var(--z-base);
  vertical-align: middle;
}

@media screen and (max-width:948px) {
.site-header__main.align-center {
  justify-content: flex-end!important;
}
}

@media (min-width: 1281px) {
/* Keep nav vertically aligned */
.site-header__main nav {
  display: flex;
  align-items: center;
}
}


/* ============================= */
/* NAV */
/* ============================= */

/* Hover polish (top-level only) */
.site-nav > .nav-list > .nav-item > a:hover {
   opacity: 0.85;
   }

.site-nav {
  display: flex;
}

.nav-list {
  display: flex;
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-item {
  position: relative;
}

.site-nav .nav-item > a {
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}

.site-nav .nav-arrow {
  transition: transform .25s ease;
}

/* rotate when dropdown open (if you add class later) */
.site-nav .nav-item:hover > a .nav-arrow {
  transform: rotate(180deg);
}


.mega-dropdown > a:hover .nav-arrow {
  transform: rotate(180deg);
}


/* =========================================
   MOBILE NAV ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â FINAL (CMS-SAFE)
========================================= */

/* NAV PANEL */
nav.mobile-nav {
  position: fixed;
  inset: 0;
  background: #000;
  padding: 90px 40px 0px;
  z-index: var(--z-base);
  transform: translateX(100%);
  transition: transform 0.35s ease;
  will-change: transform;
padding-bottom: 90px;
  overflow: auto!important;
  height: 100%;


  
}
  
  

/* NAV PANEL */
  nav.mobile-nav {
  background: var(--color-brand-primary);
}

body.nav-open nav.mobile-nav {
  transform: translateX(0);
}

/* ==============================
   TOGGLE VISIBILITY
================================ */

.nav-toggle {
  display: none;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 6px;
}

@media (max-width: 1281px) {
  .site-nav,
  .site-header__cta {
  display: none;
  }

  .nav-toggle {
  display: block;
  }
}

/* ==============================
   HAMBURGER ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¾ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ X
================================ */

.nav-toggle__icon {
  width: 24px;
  height: 24px;
}

.nav-toggle__icon line {
  stroke-linecap: round;
  stroke-width: 1.75;

  transform-box: fill-box;
  transform-origin: center;

  transition:
  transform 0.25s ease,
  opacity 0.2s ease,
  stroke-width 0.2s ease;
}

body.nav-open .nav-toggle__icon line:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

body.nav-open .nav-toggle__icon line:nth-child(2) {
  opacity: 0;
}

body.nav-open .nav-toggle__icon line:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

body.nav-open .nav-toggle__icon line {
  stroke-width: 1.25;
}


/* ==============================
   ACCORDION STRUCTURE
================================ */

.mobile-menu > .mobile-item {
  border-bottom: 1px solid rgb(215 215 214);
}

.mobile-link-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

/* ==============================
   TOGGLE BUTTON (+ / ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â¹ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¾ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢)
================================ */

.mobile-toggle {
  background: none;
  border: 0;
  padding: 6px;
  cursor: pointer;
  color: inherit;
  flex-shrink: 0;
}

.mobile-toggle svg {
  width: 16px;
  height: 16px;
  stroke: #28334a;
  stroke-width: 2;
  fill: none;
}

.mobile-toggle line {
  transition: opacity 0.2s ease;
}

/* ==============================
   SUBMENUS (TIER 1 + TIER 2)
================================ */

.mobile-submenu,
.mobile-submenu-2 {
  display: none;
  padding-left: 18px;
  overflow: hidden;
  transition: height 0.25s ease;
}

.mobile-item.is-open > .mobile-submenu {
  display: block;
}

.mobile-subitem.is-open > .mobile-submenu-2 {
  display: block;
}

/* ==============================
   PLUS ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¾ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ MINUS LOGIC
================================ */

.mobile-toggle line:first-child {
  opacity: 1; /* plus */
}

.mobile-item.is-open
  > .mobile-link-row
  .mobile-toggle
  line:first-child {
  opacity: 0; /* minus */
}

/* De-emphasize open parents */
.mobile-item.is-open > .mobile-link-row > a {
  font-size: 0.9em;
  opacity: 0.8;
}



/* =========================================================
   MEGA DROPDOWN — FULL SYSTEM (LAYOUT + ANIMATION + STYLE)
========================================================= */


/* ---------------------------------------
   PARENT
--------------------------------------- */
.site-nav .nav-item.mega-dropdown {
  position: relative;
}


/* ---------------------------------------
   HOVER BRIDGE (prevents flicker)
--------------------------------------- */
.site-nav .nav-item.mega-dropdown::after {
  content: "";
  position: absolute;
  left: -40px;
  right: -40px;
  bottom: -40px;
  height: 40px;
}

/* =========================================================
   DROPDOWN SYSTEM — MEGA + STANDARD (UNIFIED)
========================================================= */


/* ---------------------------------------
   PARENT
--------------------------------------- */
.site-nav .nav-item {
  position: relative;
}

.sub-nav {
  max-width: 100%;
}

/* ---------------------------------------
   HOVER BRIDGE (ALL DROPDOWNS)
--------------------------------------- */
.site-nav .nav-item::after {
  content: "";
  position: absolute;
  left: -40px;
  right: -40px;
  bottom: -40px;
  height: 40px;
}


/* ---------------------------------------
   BASE DROPDOWN (ALL)
--------------------------------------- */
.site-nav .dropdown-wrapper {
  position: absolute;
  left: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(10px);
  transform-origin: top center;
  z-index: var(--z-dropdown);
  margin-top: 20px;

  /* animation */
  transition:
    opacity 0.25s ease,
    transform 0.35s cubic-bezier(.22,.61,.36,1),
    visibility 0s linear 0.35s;

  /* GLASS STYLE */
  background: rgb(255 255 255 / 95%);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.08);
}


/* ---------------------------------------
   OPEN STATE
--------------------------------------- */
.site-nav .dropdown-wrapper.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;

  transform: translateY(0);

  transition:
    opacity 0.25s ease,
    transform 0.35s cubic-bezier(.22,.61,.36,1),
    visibility 0s linear 0s;
}


/* =========================================================
   MEGA DROPDOWN OVERRIDE (CENTERED FULL WIDTH)
========================================================= */

.site-nav .nav-item.mega-dropdown .dropdown-wrapper {
  position: fixed;
  left: 50%;
  right: 50%;
  width: 100%;
  max-width: 100%;
  transform: translate(-50%, 10px);
}

.site-nav .nav-item.mega-dropdown .dropdown-wrapper.open {
  transform: translate(-50%, 0);
}


/* =========================================================
   CONTENT LAYOUT
========================================================= */

/* columns (mega) */
.site-nav .nav-item.mega-dropdown .dropdown-wrapper > ul > li.secondary-link,
.site-nav .nav-item.mega-dropdown .dropdown-wrapper > ul > .orphan_links {
  display: inline-block;
  max-width: 250px;
  vertical-align: top;
  padding-right: 50px;
  padding-bottom: 30px;
}

/* inner spacing */
.site-nav .nav-item.mega-dropdown .dropdown-wrapper > ul {
  padding: 35px 25px;
}

.site-nav .nav-item .dropdown-wrapper > ul {
  padding: 15px 25px;
}
.site-nav .nav-item .dropdown-wrapper li.secondary-link > a {
  color: #1d1d1d;
  line-height: 20px;
}

/* =========================================================
   TYPOGRAPHY / STYLE
========================================================= */


.dropdown-wrapper ul.sub-nav {
  min-width: 250px;
  line-height: 30px;
}

/* headings */
.site-nav .dropdown-wrapper li.secondary-link > a {
  color: rgb(40 51 74 / 70%);
  font-weight: 400;
  font-size: 12px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  display: inline-block;
  padding-bottom: 10px!important;
}

/* links */
.site-nav .dropdown-wrapper ul li a {
  color: #28334a;
  opacity: 0.75;
  font-size: 14px;
  margin-top: 10px;

  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}

/* hover */
.site-nav .dropdown-wrapper ul li a:hover {
  opacity: 1;
  transform: translateY(2px);
}

/* selected */
.site-nav .secondary-link.selected > a,
.site-nav .sub-secondary-link.selected > a {
  font-weight: 600 !important;
  font-style: italic;
}

.site-nav .nav-item.mega-dropdown .dropdown-wrapper ul ul {
 line-height: 40px;
  }

/* =========================================================
   ITEM ANIMATION (ALL DROPDOWNS)
========================================================= */

.site-nav .dropdown-wrapper ul li {
  opacity: 0;
  transform: translateY(6px);

  transition:
    opacity 0.3s ease,
    transform 0.3s ease;
}

.site-nav .dropdown-wrapper.open ul li {
  opacity: 1;
  transform: translateY(0);
}


/* stagger */
.site-nav .dropdown-wrapper.open ul li:nth-child(1)  { transition-delay: 0.05s; }
.site-nav .dropdown-wrapper.open ul li:nth-child(2)  { transition-delay: 0.1s; }
.site-nav .dropdown-wrapper.open ul li:nth-child(3)  { transition-delay: 0.15s; }
.site-nav .dropdown-wrapper.open ul li:nth-child(4)  { transition-delay: 0.2s; }
.site-nav .dropdown-wrapper.open ul li:nth-child(5)  { transition-delay: 0.25s; }
.site-nav .dropdown-wrapper.open ul li:nth-child(6)  { transition-delay: 0.3s; }
.site-nav .dropdown-wrapper.open ul li:nth-child(7)  { transition-delay: 0.35s; }
.site-nav .dropdown-wrapper.open ul li:nth-child(8)  { transition-delay: 0.4s; }
.site-nav .dropdown-wrapper.open ul li:nth-child(9)  { transition-delay: 0.45s; }
.site-nav .dropdown-wrapper.open ul li:nth-child(10) { transition-delay: 0.5s; }


/* =========================================================
   SMALL DROPDOWN SPECIFIC (OPTIONAL POLISH)
========================================================= */

.site-nav .nav-item:not(.mega-dropdown) .dropdown-wrapper {
  min-width: 220px;
  border-radius: 6px;
}


/* =========================================================
   DESKTOP ALIGNMENT
========================================================= */

@media (min-width: 1281px) {

  .site-nav .nav-item.mega-dropdown .dropdown-wrapper ul {
    text-align: center;
  }

  .site-nav .nav-item.mega-dropdown .dropdown-wrapper ul > li.secondary-link {
    text-align: left;
  }

  .site-nav .nav-item.mega-dropdown .dropdown-wrapper ul ul {
    text-align: left;
  }

}




/* =========================================================
   TESTIMONIAL CONTENT WIDTH
========================================================= */

.testimonials-var1 .slick-slide > div{
  max-width:900px;
  margin:0 auto;
}


/* =========================================================
   TESTIMONIALS Ã¢â‚¬â€ SLICK CORE (SLIM)
========================================================= */

.testimonials-var1 .slick-track{
  display:flex;
  align-items: flex-start;
}

.testimonials-var1 .slick-slide{
  height:auto;
}

/* =========================================================
   ARROWS
========================================================= */

.testimonials-var1 .slick-prev,
.testimonials-var1 .slick-next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border:none;
  background:none;
  cursor:pointer;
  z-index:5;
}

.testimonials-var1 .slick-prev{
  left:0;
  display: none!important;!important;
}

.testimonials-var1 .slick-next{
  right:0;
  display: none!important;!important;
}

/* hide default slick icons */

.testimonials-var1 .slick-prev:before,
.testimonials-var1 .slick-next:before{
  display:none;
}

/* SVG arrows */

.testimonials-var1 .slick-prev::after,
.testimonials-var1 .slick-next::after{
  content:"";
  display:block;
  width:22px;
  height:22px;
  margin:auto;
  background-size:contain;
  background-repeat:no-repeat;
}

/* left arrow */

.testimonials-var1 .slick-prev::after{
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'/%3E%3C/svg%3E");
}

/* right arrow */

.testimonials-var1 .slick-next::after{
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E");
}

/* =========================================================
   DOTS
========================================================= */

.testimonials-var1 .slick-dots{
  margin-top:2rem;
  padding:0;
  list-style:none;
  display:flex;
  justify-content:center;
  gap:10px;
}

.testimonials-var1 .slick-dots li{
  width:10px;
  height:10px;
}

.testimonials-var1 .slick-dots button{
  width:10px;
  height:10px;
  padding:0;
  border-radius:50%;
  border:none;
  background:#bbb;
  font-size:0;
}

.testimonials-var1 .slick-dots .slick-active button{
  background:#333;
}


 
/* =========================================================
   Optional: quote mark (disabled by default)
========================================================= */

.testimonials-var1 .multiple-items blockquote::before {
  content: "\201C";
  font-family: Georgia, Merriweather, Arial;
  font-size: 114px;
  line-height: 80px;
  display: none; /* enable if desired */
}


/* =========================================================
   LIST ENGINE RESET (CMS BULLETPROOF)
========================================================= */

:where(
  .list-check,
  .list-compare,
  .list-inline,
  .list-links,
  .list-icons,
  .list-features,
  .list-steps
) :is(ul, ol) {
  padding: 0;
  margin: 0;
}

:where(
  .list-check,
  .list-compare,
  .list-inline,
  .list-links,
  .list-icons,
  .list-features,
  .list-steps
) li {
  list-style-type: none;
}

/* =========================================================
   LIST CHECK ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â BASE
========================================================= */

.list-check > ul {
  display: block;
}

@media (min-width: 949px) {x
  .list-check > ul {
  padding-left: 20px;
  }
}

.list-check > ul > li {
  position: relative;
  display: block;
  overflow: visible;
  left: 15px;
  padding-left: 5px !important;
}


/* =========================================================
   CHECK ICON
========================================================= */

.list-check > ul > li::before {
  content: url("data:image/svg+xml,%3Csvg%20width='23'%20height='17'%20viewBox='0%200%2023%2017'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M21.7562%201.15853C11.7776%2011.0038%206.78824%2015.9264%206.78824%2015.9264C6.78824%2015.9264%204.79251%2013.9574%200.801056%2010.0193'%20stroke='currentColor'%20stroke-width='1.18486'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E");
  position: absolute;
  left: -30px;
  top: 50%;
  transform: translateY(-50%);
  color: currentColor;
}

@media (min-width: 949px) {
  .list-check > ul > li::before {
  top: 18px;
  margin-right: 10px;
  }
}


/* =========================================================
   FIRST ITEM VARIANT
========================================================= */

.list-check > ul > li:first-child::before {
  color: black;
}


/* =========================================================
   TYPOGRAPHY
========================================================= */

.list-check.sb-bold ul li {
  font-weight: 600;
}

.list-check > ul > li a {
  padding: 0;
  letter-spacing: 0;
  font-weight: normal;
  max-width: 100%;
}

@media (min-width: 949px) {
  .list-check > ul > li a {
  text-transform: capitalize;
  }
}


/* =========================================================
   COLUMN / GRID VARIANTS
========================================================= */

.list-check [class*="list-cols"] > ul a {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: uppercase;
  display: inline;
  padding: 0;
}


/* =========================================================
   DISABLE LINK ICONS (CMS SAFETY)
========================================================= */

body:not(.page-app) .content-intro.list-check > ul a::before,
.list-check [class*="list-cols"] > ul a::before {
  display: none;
}


a.btn.white{
  color: #ffffff!important;
  background: rgba(0, 0, 0, 0)!important;
  border-color: #ffffff!important;
}


/* =========================================================
   LIST CHECK ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â CIRCLE VARIANT (RELIABLE COLOR)
   Usage: .list-check.is-circle
========================================================= */


.list-check.is-circle > ul > li {
  position: relative;
  display: block;
  overflow: visible;
  left: 5px;
  padding-left: 18px !important;
}

.list-check.is-circle {
  --check-bg: #758237;     /* circle background */
  --check-color: #ffffff;  /* checkmark color */
  --check-size: 14px;      /* check icon size */
  --circle-size: 28px;     /* circle size */
}

/* spacing */
.list-check.is-circle > ul > li{
  position: relative;
  padding-left: 44px; /* room for circle */
}

/* circle */
.list-check.is-circle > ul > li::before{
  content:"";
  position:absolute;
  left: -20px;
  top: 1.15em;
  width: var(--circle-size);
  height: var(--circle-size);
  border-radius: 999px;
  background: var(--check-bg);
}

/* check (MASK = color-safe) */
.list-check.is-circle > ul > li::after{
  content:"";
  position:absolute;
  left: -19px;
  top: 0.15em;
  width: var(--circle-size);
  height: var(--circle-size);
  background: var(--check-color);

  /* center the mask inside the circle */
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2014%2010'%3E%3Cpath%20d='M13%201L5%209L1%205'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E") center / var(--check-size) var(--check-size) no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2014%2010'%3E%3Cpath%20d='M13%201L5%209L1%205'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E") center / var(--check-size) var(--check-size) no-repeat;
}


/* =========================================================
   LIST COMPARE
========================================================= */

.list-compare {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 1000px;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 24px 10px;
  align-items: center;
  background: rgb(255 255 255 / 50%);
  padding: 40px!important;
  border-radius: 12px;
}

/* headers */
.content .list-compare h3 {
  font-weight: 600;
  text-transform: uppercase;
  font-size: 18px!important;
  opacity: 0.65;
  padding-bottom: 6px;
  /* border-bottom: 1px solid rgba(0,0,0,0.1); */
}

/* rows */
.list-compare li {
  padding: 6px 0;
  border-bottom: 1px solid rgb(29 29 29 / 20%);
}

/* remove bottom border from last row */
.list-compare li:nth-last-child(-n+3) {
  border-bottom: none;
}

/* center icon columns */
.list-compare li:nth-child(3n-1),
.list-compare li:nth-child(3n) {
  text-align: center;
  font-size: 18px;
}

.list-compare {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;

  align-items: end;   /* ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â°ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¸ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¹Ã…â€œÃƒÆ’Ã¢â‚¬Â¹ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â  KEY CHANGE */
}

/* =========================================================
   LOCATIONS LIST ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â CLEANUP + SOCIAL ICON LAYOUT
   Scoped for mobile nav + reusable contexts
========================================================= */

/* Hide name + following breaks/links */
.mobile-nav .locations_list .location_name + br,
.mobile-nav .locations_list .location_name + a {
  display: none !important;
}

/* Base link spacing */
.mobile-nav .locations_list a {
  display: block !important;
  padding: 25px 0 5px;
  line-height: 0 !important;
}

/* External links (social / maps) */
.mobile-nav .locations_list a[target="_blank"] {
  padding: 16px 0 0;
}

/* Location text blocks */
.mobile-nav .locations_list span {
  display: block !important;
  margin: 0 !important;
  padding-bottom: 20px;
  line-height: 25px !important;
}

/* =========================================================
   SOCIAL MODULE ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â FLEX, NO MARGIN HACKS
========================================================= */

.mobile-nav .locations_list .social-module {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  text-align: initial;
  margin-top: 10px !important;
  margin-bottom: 40px !important;
}

/* Desktop adjustment */
@media (min-width: 949px) {
  .mobile-nav .locations_list .social-module {
  margin-bottom: 10px !important;
  }

  .mobile-nav .locations_list .social-module span {
  display: block !important;
  padding-top: 0;
  line-height: 15px !important;
  }
}

/* =========================================================
   SOCIAL ICON LINKS ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â CENTERED SQUARES
========================================================= */

.mobile-nav .locations_list .social-module a[target="_blank"] {
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  line-height: 1;
  text-decoration: none;
  position: relative;
}

/* Icon normalization */
.mobile-nav .locations_list .social-module a[target="_blank"] i {
  line-height: 0 !important;
}



.mobile-nav .locations_list span {
  padding-bottom: 10px!important;
  line-height: 15px!important;
}

.mobile-nav span.location_name {
  font-size: 18px!important;
  max-width: 80%;
  padding-bottom: 0px !important;
  line-height: 25px !important;
}

.mobile-nav .locations_list {
  margin-top: 35px!important;
  padding: 0px 20px;
}

.mobile-nav .locations_list a {
  font-size: 13px;
  line-height: 2px!important;
  font-weight: 300!important;
}


.mobile-nav .locations_list .social-module {
  padding-top: 0px!important;
  margin-bottom: 10px!important;
}

.mobile-nav .locations_list div span a {
  padding: 0px;
  background: transparent;
}


/* =========================================================
   FORMS 
========================================================= */

/* base */
.sb-formbuilder form,
.sb-contactform form {
  width: 100%;
}

.sb-formbuilder fieldset,
.sb-contactform fieldset {
  border: 0;
  padding: 0;
  margin: 0;
}

/* field blocks (covers .sb-formfield + plain <p>) */
.sb-formbuilder p,
.sb-contactform p {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 6px;
}

/* labels */
.sb-formbuilder label,
.sb-contactform label {
  display: inline-block;
  margin: 0;
  font-weight: 500;
  font-size: 1em;
}

/* inputs & textareas */
.sb-formbuilder input[type="text"],
.sb-formbuilder input[type="email"],
.sb-formbuilder input[type="tel"],
.sb-formbuilder textarea,
.sb-formbuilder .form-control,

.sb-contactform input[type="text"],
.sb-contactform input[type="email"],
.sb-contactform input[type="tel"],
.sb-contactform textarea {
  width: 100%;
  box-sizing: border-box;
}

/* =========================================================
   DATE INPUT ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â NORMALIZE (BOTH FORMS)
========================================================= */

.sb-formbuilder .input-group.date,
.sb-contactform .input-group.date {
  position: relative;
  display: flex;
  align-items: stretch;
  width: 100%;
}

.sb-formbuilder .input-group.date > .form-control,
.sb-contactform .input-group.date > .form-control {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
}

.sb-formbuilder .input-group.date > .input-group-addon,
.sb-contactform .input-group.date > .input-group-addon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  margin-left: 8px;
  border-radius: 6px;
  cursor: pointer;
  border: 1px solid #66a6ce;
  background: #e8f6ff;
}

.sb-formbuilder .input-group-addon .fa-calendar,
.sb-contactform .input-group-addon .fa-calendar {
  line-height: 1;
}

/* =========================================================
   SUBMIT BUTTONS
========================================================= */

.sb-formbuilder .submit,
.sb-contactform .submit {
  margin-top: 12px;
}

.sb-formbuilder input[type="submit"],
.sb-contactform input[type="submit"] {
  width: auto;
}

/* =========================================================
   MOBILE TWEAKS
========================================================= */

@media (max-width: 768px) {
  .sb-formbuilder .input-group.date > .input-group-addon,
  .sb-contactform .input-group.date > .input-group-addon {
  flex: 0 0 44px;
  margin-left: 6px;
  }
}


form input[type=email],
form input[type=text],
form input[type=url],
form input[type=number],
form textarea,
form select{
  border-radius:3px;
  font-family: inherit!important;
  padding:7px;
  border:1px solid #ccc;
  color:#ccc;
  background-color:#fff;
  font-size:1.0em!important;
  height:auto !important;
}

form select{
  color:#555;
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23666' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 10px center;
  background-size:10px;
  padding-right:28px;
}


/* =========================================================
   MULTI-ITEM FALLBACK (when Slick is NOT active)
   - 3-up desktop
   - 1-up mobile
========================================================= */

.testimonials-var1 .multiple-items {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

/* Mobile */
@media (max-width: 950px) {
  .testimonials-var1 .multiple-items {
  grid-template-columns: 1fr;
  }
}

/* =========================================================
   Slick layout overrides
   (Slick auto-overrides grid when initialized)
========================================================= */

.testimonials-var1 .multiple-items.slick-slider {
  display: block;
}

/* Slick gutters */
.testimonials-var1 .multiple-items .slick-slide {
  padding: 0 12px;
}

.testimonials-var1 .multiple-items .slick-list {
  margin: 0 -12px;
}


/* =========================================================
   Quote
========================================================= */

.testimonials-var1 figure {
  padding-top: 20px;
  color: #141414!important;
}


/* =========================================================
   Caption
========================================================= */

.testimonials-var1 figcaption.quotename {
  font-weight: 800;
  font-size: 14px;
  line-height: 1.4;
  margin-top: 6px;
}

/* =========================================================
   THEME: Card Style (safe to move to site-specific CSS)
========================================================= */

.sb-testimonials-var1-row .multiple-items figure {
  padding: 30px 45px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

/* Star image */
.sb-testimonials-var1-row figure img {
  width: 250px;
  margin-bottom: 10px;
  margin-left: auto;
  margin-right: auto;
}


/* =========================================================
   TESTIMONIALS Ã¢â‚¬â€ SLIDE MODE
   Behavior flag: .is-slide
  ========================================================= */
  
  .testimonials-var1.is-slide .multiple-items{
  display:flex;
  flex-wrap:nowrap;
  gap:24px;
  
  overflow-x:auto;
  overflow-y:visible;
  
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  }
  
  .testimonials-var1.is-slide .multiple-items::-webkit-scrollbar{
  display:none;
  }
 
 .testimonials-var1.is-slide .multiple-items > figure{
  scroll-snap-align: start;
  }
 
 @media (min-width: 949px) 
 .testimonials-var1.is-slide .multiple-items > figure{
  flex: 0 0 calc((100% / 3) - 16px);
  max-width: calc((100% / 3) - 16px);
  scroll-snap-align: start;
  }
 }
 
/* =========================================================
   Optional: quote mark (disabled by default)
========================================================= */

.testimonials-var1 .multiple-items blockquote::before {
  content: "\201C";
  font-family: Georgia, Merriweather, Arial;
  font-size: 114px;
  line-height: 80px;
  display: none; /* enable if desired */
}



/* =========================================================
   Carousel: hero graphic overlay (optional)
========================================================= */
 
 #page-home .carousel-inner .item::after {
   content: "";
   position: absolute;
   right: 6%;
   bottom: 6%;
   width: 600px;
   height: 600px;
   background-repeat: no-repeat;
   background-size: contain;
   background-position: bottom right;
   opacity: 0; /* base hidden */
   pointer-events: none;
   z-index: 2;
   will-change: transform, opacity;
 }
 
 /* keep text above */
 .carousel .item-content {
   position: relative;
   z-index: 3;
 }
 
 /* ENTRANCE ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â SOFT DIAGONAL BOUNCE + FADE */
 
 @keyframes starBounceIn {
   0% {
   opacity: 0;
   transform: translate(18px, 18px) scale(0.96);
   }
   60% {
   opacity: 1;
   transform: translate(-4px, -4px) scale(1.01);
   }
   100% {
   opacity: 1;
   transform: translate(0, 0) scale(1);
   }
 }
 
 /* IDLE FLOAT ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â TRANSFORM ONLY (IMPORTANT)  */
 
 @keyframes starFloat {
   0%   { transform: translate(0, 0); }
   50%  { transform: translate(-6px, -8px); }
   100% { transform: translate(0, 0); }
 }
 
 /* TRIGGER ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â AFTER CAROUSEL READY */
 
 html.carousel-images-ready
 #page-home .carousel-inner .item.active::after {
   opacity: 1; /* ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â°ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¸ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚ÂÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¾Ãƒâ€šÃ‚Â¢ LOCK VISIBLE */
 
   animation:
   starBounceIn 0.9s cubic-bezier(0.22, 1, 0.36, 1) both,
   starFloat 8s ease-in-out infinite;
 
   animation-delay: 0s, 0.9s;
 }
 
 /* MOBILE TUNING */
 
 @media (max-width: 767px) {
   #page-home .carousel-inner .item::after {
   width: 180px;
   height: 180px;
   right: 4%;
   bottom: 4%;
   opacity: 0.9;
   }
 }



 /*==================================================================================*/
 /*  carousel logo */
 /*==================================================================================*/
 
body#page-home .carousel .logo  {
   margin-bottom: 20px;
 }
   
 html.has-carousel-logo body#page-home header #header-logo {
   display: none;
 }
 
body#page-home .carousel .logo {
   margin-left: auto;
   margin-right: auto;
 }
 
 .page-app .logo img {
   display: none;
 }
 
 .page-app .logo {
   display: flex;
   align-items: center;
   justify-content: center;
 
   width: 180px;
   height: 180px;
 }
 
 .page-app .logo::before {
   content: "";
 
   width: 160px;
   height: 160px;
 
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='50' fill='%23666'/%3E%3Ctext x='50' y='55' font-size='12' text-anchor='middle' fill='white' font-family='Arial'%3ELOGO%3C/text%3E%3C/svg%3E");
 
   background-size: contain;
   background-repeat: no-repeat;
   background-position: center;
 }
 
.hero-logo img {
   width: var(--logo-md);   /* default */
   height: auto;
 }
 
 /* =========================================================
  LOGO SIZE MODIFIERS
 ========================================================= */
 
 .logo-sm  .hero-logo img { width: var(--logo-sm); }
 .logo-md  .hero-logo img { width: var(--logo-md); }
 .logo-lg  .hero-logo img { width: var(--logo-lg); }
 
 
 /* =========================================================
  BUILDER / EDITOR LOGO PLACEHOLDER
 ========================================================= */
 
 /* Only inside editor iframe */
 body[contenteditable="true"] .logo img {
   display: none;
 }
 
 /* Logo container */
 body[contenteditable="true"] .logo {
   display: flex;
   align-items: center;
   justify-content: center;
 
   width: 180px;
   height: 180px;
 }
 
 /* SVG placeholder */
 body[contenteditable="true"] .logo::before {
   content: "";
 
   width: 160px;
   height: 160px;
 
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='50' fill='%23666'/%3E%3Ctext x='50' y='55' font-size='12' text-anchor='middle' fill='white' font-family='Arial'%3ELOGO%3C/text%3E%3C/svg%3E");
 
   background-size: contain;
   background-repeat: no-repeat;
   background-position: center;
 }
 /* =========================================================
   BUILDER / EDITOR LOGO PLACEHOLDER
  ========================================================= */
  
  /* Only inside editor iframe */
  body[contenteditable="true"] .logo img {
  display: none;
  }
  
  /* Logo container */
  body[contenteditable="true"] .logo {
  display: flex;
  align-items: center;
  justify-content: center;
  
  width: 180px;
  height: 180px;
  }
  
  /* SVG placeholder */
  body[contenteditable="true"] .logo::before {
  content: "";
  
  width: 160px;
  height: 160px;
  
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='50' fill='%23666'/%3E%3Ctext x='50' y='55' font-size='12' text-anchor='middle' fill='white' font-family='Arial'%3ELOGO%3C/text%3E%3C/svg%3E");
  
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  }
  
 
 
 /* =========================================================
  SOCIAL ICONS (ANYWHERE)
 ========================================================= */
 .socials {
   display: inline-flex;
   justify-content: center;
   align-items: center;
   gap: 10px; /* Adjust spacing between icons */
 }

@media screen and (max-width:948px) { 
 .socials {
  display: none;
}
}
 
 .socials a {
   display: flex;
   justify-content: center;
   align-items: center;
   width: 30px; /* Set a uniform width for the icons */
   height: 30px; /* Set a uniform height for the icons */
   border: 0px solid #ccc; /* Add a border color */
   background-color: #f0f0f0; /* Add a background color */
   border-radius: 50%; /* Makes the icons circular */
   text-decoration: none;
   transition: all 0.3s ease; /* Smooth hover effect */
 }
 
 .socials a i {
   font-weight: normal!important;
   font-size: 12px!important; /* Adjust icon size */
   color: #333; /* Icon color */
 }
 
 .socials a:hover {
   background-color: #121212; /* Change background on hover */
   border-color: #121212; /* Change border color on hover */
   color: white; /* Change icon color on hover */
 }
 
 .socials a:hover i {
   color: white!important; /* Change icon color on hover */
 }
 
 .btn + .socials {padding-left: 20px;}


 
/* =========================================================
   BASE
========================================================= */

body,
.body,
.content {
  color: #141414;
  background-color: transparent;
}

body {
  background-color: var(--color-bg-page);
}


/* =========================================================
   LINKS
========================================================= */

.embed a,
.content a,
.sb-module a {
  color: var(--color-brand-primary);
}

a:hover {
  color: var(--color-text-subtle);
}


/* =========================================================
   HEADINGS
========================================================= */

.content h1,
.content h2,
.sb-module h2 {
  color: var(--color-text-primary);
}

.content h3 {
  color: var(--color-text-accent1);
}


/* =========================================================
   HEADER / NAV
========================================================= */

.site-header {
  background: var(--color-header-bg);
}

html.snapped body#page-home .site-header.has-header-overlay {
  background: var(--color-header-bg);
}

/* NAV PANEL */
nav.mobile-nav {
  background: var(--color-nav-bg);
}

/* NAV PANEL */
nav.mobile-nav {
  background: #f7f7f6!important;
}

/* style menu only */
.mobile-nav .mobile-menu a { 
  display: block;
  padding: 20px 2px;
  font-weight: 600;
  font-size: 15px;
}

/* global color */
.mobile-nav a {
  color: #28334a;
}

/* cta */
.mobile-nav  a { 
  padding: 10px 30px 10px 40px;
  font-weight: 600;
  font-size: 15px;
}

/* =========================================================
   HEADER LOGO BASE
========================================================= */

.site-header .logo img {
  width: var(--logo-size, var(--logo-md));
  height: auto;
  transition: width .35s ease;
}


/* =========================================================
   HERO / CAROUSEL LOGO BASE
========================================================= */

.hero-logo img {
  width: var(--hero-logo-size, var(--logo-lg));
  height: auto;
  transition: width .35s ease;
  padding-bottom: 20px;
}


/* =========================================================
   FOOTER
========================================================= */

.footer {
  background-image:
  linear-gradient(var(--color-text-inverse), var(--color-text-inverse)),
  url(/img/upload/000_custom_image91.jpg);
}

.footer,
.footer .footer-box h3,
.footer .footer-box a,
.footer .footer-user-content a,
.footer .footer-box span,
.footer .footer-box h2,
.footer .footerlogoname {
  color: var(--color-text-subtle);
}

.footer .footer-box a:hover {
  color: var(--color-brand-primary);
}

.by-optima,
.by-optima a {
  color: var(--color-text-secondary) !important;
}


/* =========================================================
   BUTTON SYSTEM
========================================================= */

a.btn,
.btn,
.btn-cta,
.btn-ph,
.gallery-item-wrap .btn,
.module-cta a.btn,
.module-cta .btn,
.sb-contactform-row input.btn,
.sb-formbuilder-row input.btn,
.carousel .item-content a,
.sb-read-tag,
.social-module a,
.footer .primary-link:last-child > a,
input[type="submit"] {
  color: var(--color-text-inverse) !important;
  background: var(--color-brand-primary) !important;
  border-color: var(--color-brand-primary) !important;
}

.btn-default,
a.btn.btn-default {
  color: var(--color-text-inverse) !important;
  background: var(--color-brand-primary) !important;
  border-color: var(--color-brand-primary) !important;
}



/* =========================================================
   CAROUSEL
========================================================= */

.carousel .item-content {
  color: var(--color-text-accent2);
}

.carousel-wrapper::before,
.carousel-inner .item::before {
  background: var(--color-overlay-dark);
}

#page-home .carousel-inner .item::after {
  background-image: var(--carousel-bg-image, none);
}

/* =========================================================
   GLOBAL SURFACE MOOD
========================================================= */

body {
  background-image: none;
  background-color: var(--color-bg-page1);
}

.body {
  background: linear-gradient(
  180deg,
  var(--color-bg-page2),
  var(--color-bg-page2)
  );
}


/* =========================================================
   ACCENT SECTIONS
========================================================= */

.accent--lite1 {
  background-color: var(--color-brand-primary);
}

.accent--lite2 {
  background-color: var(--color-brand-accent);
}

.accent--lite3 {
  background-color: var(--color-brand-soft);
}


/* =========================================================
   MODULE BG CONTROL
========================================================= */

.sb-content-intro-row,
.sb-module-mini-cta,
.sb-testimonials-row,
.sb-testimonials-var1-row,
.sb-feature-about-row,
.sb-feature-about1-row,
.sb-feature-about2-row,
.sb-feature-about3-row,
.sb-feature-services2-row,
.sb-feature-cta1-row,
.sb-feature-cta2-row,
.sb-feature-cta3-row,
.sb-feature-message1-row {
  background-image: none;
}


/* =========================================================
   MINI CTA
========================================================= */

.sb-module-mini-cta {
  background: var(--color-brand-secondary) !important;
}


/* =========================================================
   TESTIMONIALS
========================================================= */

.sb-testimonials-row {
  background: transparent !important;
}

.sb-testimonials-var1-row {
  background-color: var(--color-bg-page-soft) !important;
}


/* =========================================================
   HOMEPAGE GALLERY BG
========================================================= */

#page-home .sb-feature-gallery-row,
#page-home .sb-gallery-row {
  background: var(--color-brand-primary);
}


/* =========================================================
   CONTACT / FORMS
========================================================= */

#page-home .sb-contactform-row,
#page-home .sb-formbuilder-row {
  background-image: none;
}


/* =========================================================
   MAP SPLIT
========================================================= */

.map-split .contact-block {
  background: var(--color-brand-secondary);
}


/* =========================================================
   NARROW SITE ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â COLUMN SURFACE
========================================================= */

@media (min-width: 949px) {
  .container > .columns {
  background: var(--color-bg-page);
  }
}


/* =========================================================
   NAV TUNING
========================================================= */

.tool-links a,
.site-header .site-nav > .nav-list > .nav-item > a {
  color: var(--color-text-inverse);
}


/* =========================================================
   CAROUSEL CUSTOMIZATION
========================================================= */

#page-home > .container > .carousel-wrapper:first-of-type::before {
  background: var(--color-overlay-light);
}

#page-home .carousel-inner .item::after {
  background-image: url("/img/upload/northstarpediatric_bg_1.webp");
}


/* =========================================================
   GALLERY CARDS
========================================================= */

#page-home .gallery-item-wrap {
  background: transparent;
  box-shadow: -2px 1px 5px rgb(0 0 0 / 8%);
}

#page-home .gallery-item-wrap:hover {
  border-color: var(--color-brand-primary);
  background: var(--color-bg-soft);
  box-shadow: none;
}


/* =========================================================
   FEATURE CARDS
========================================================= */

.sb-feature-cards1-row :where(.embed, .content) .feature-cards1 > div > div {
  background-color: var(--color-bg-soft);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  isolation: isolate;              /* breaks stacking poison */
  will-change: backdrop-filter;    /* tells browser early */
  transform: translateZ(0);         /* forces compositor */
 }
  

/* =========================================================
   GLOBAL DECORATIVE GRAPHIC ENGINE
========================================================= */
 
[class*='sb-bg-graphic'].sb-wrap:after {

  background-repeat: no-repeat;
  background-origin: content-box;
  z-index: -1;

  background-position:
  var(--bg-pos-x-mobile, right)
  var(--bg-pos-y-mobile, 0);

  background-size: var(--bg-size-mobile, 200%);
  height: var(--bg-height-mobile, 2400px);
  opacity: var(--bg-opacity-mobile, .1);

  top: var(--bg-top-mobile, 0);
  transform: var(--bg-transform-mobile, scaleX(1));

  left: 50%;
  margin-left: -50vw;
  width: 100vw;
  max-width: 100vw;
}

@media (min-width: 949px) {

  [class*='sb-bg-graphic'].sb-wrap:after {

  background-position:
    var(--bg-pos-x-desktop, right)
    var(--bg-pos-y-desktop, 0);

  background-size: var(--bg-size-desktop, 75%);
  height: var(--bg-height-desktop, 1200px);
  opacity: var(--bg-opacity-desktop, 1);

  top: var(--bg-top-desktop, 0);
  transform: var(--bg-transform-desktop, scaleX(1));
  }

  /* LAYER PROTECTION */
  .sb-testimonials-row,
  .sb-gallery-row,
  .sb-content-row,
  .footer {
  position: relative;
  z-index: 2;
  }

}

/* -----------------------------------------
   Banner Thin ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â Page Background
----------------------------------------- */

html.has-banner-thin:not(#page-home) body {
  background: rgb(255 255 255);
}

/* Banner Thin ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â Carousel Overlay */

body:not(#page-home):not(.body).has-banner-thin > .container > .carousel-wrapper .carousel-inner .item:before,
body:not(#page-home):not(.body).has-banner-thin > .container > .carousel-wrapper:before {
  background: rgb(0 0 0 / 43%);
}

/* =================================================
   HERO VIDEO LAYER — FINAL (COVER SAFE)
================================================= */

#page-home > .container > .carousel-wrapper:first-of-type .video-wrapper {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden; /* ← IMPORTANT (you commented this out) */
}

/* VIDEO COVER BEHAVIOR */
#page-home > .container > .carousel-wrapper:first-of-type .video-wrapper iframe {
  position: absolute;
  top: 50%;
  left: 50%;

  width: 100vw;
  height: 56.25vw;

  min-width: 177.78vh;
  min-height: 100vh;

  transform: translate(-50%, -50%);
}

/* =================================================
   ENSURE PARENT CONTEXT
================================================= */

#page-home .carousel,
#page-home .carousel-inner,
#page-home .carousel .item {
  position: relative;
  min-height: 650px;
}

@media (min-width: 949px) {
  #page-home .carousel,
  #page-home .carousel-inner,
  #page-home .carousel .item {
    min-height: 950px;
  }
}

/* =========================================================
   UNIVERSAL GRID / COLUMN ENGINE
========================================================= */

/* modules that use grid */
.gallery,
.feature-grid,
.figure-grid,
.feature-cards1 > div{
  display:flex;
  flex-wrap:wrap;
  gap:var(--grid-gap,25px);
}

.gallery{
  --grid-cols:4;
}

/* =========================================================
   GALLERY ITEMS
========================================================= */

.gallery > .item{
  flex: 0 0 calc((100% - (var(--grid-gap,25px) * (var(--grid-cols,4) - 1))) / var(--grid-cols,4));
max-width: calc((100% - (var(--grid-gap,25px) * (var(--grid-cols,4) - 1))) / var(--grid-cols,4));
  box-sizing:border-box;
}

.columns-inner > :nth-last-child(1 of .sb-gallery-row) .gallery.has-breakout > .item{
max-width: 100%!important;
  box-sizing:border-box;
}


/* =========================================================
   FEATURE CARDS
   keeps div > div structure
========================================================= */

.feature-cards1 > div > div{
  flex:0 0 calc((100% / var(--grid-cols,3)) - var(--grid-gap));
  max-width:calc((100% / var(--grid-cols,3)) - var(--grid-gap));
}

/* =========================================================
   COLUMN MODIFIERS
========================================================= */

.is-1col{ --grid-cols:1; }
.is-2col{ --grid-cols:2;}
.is-3col{ --grid-cols:3; }
.is-4col{ --grid-cols:4; }
.is-5col{ --grid-cols:5; }

@media (max-width:948px){

.gallery[class*="col"]{
  --grid-cols: 2;
}
  
.var1.gallery[class*="col"]{
  --grid-cols: 1;
}
  
.gallery.is-slide[class*="col"]{
  --grid-cols:1;
}

  body:not(#page-home) .gallery[class*="col"]{
  --grid-cols: 2;
}
}

/* =========================================================
   GAP MODIFIERS
========================================================= */

.is-tight{ --grid-gap:10px; }
.is-normal{ --grid-gap:25px; }
.is-spacious{ --grid-gap:40px; }

/* =========================================================
   RESPONSIVE DEFAULTS
========================================================= */

@media (max-width:900px){

.gallery,
.feature-grid,
.figure-grid,
.feature-cards1{
  --grid-cols:2;
}
}

@media (max-width:600px){

.gallery,
.feature-grid,
.figure-grid,
.feature-cards1{
  --grid-cols:1;
}
}


/* =========================================================
   GALLERY SYSTEM Ã¢â‚¬â€ LEGACY VARS
   var1 = overlay
   var2 = cards
   is-slide = slider behavior
========================================================= */

/* =========================================================
   TOKEN ENGINE
========================================================= */

:where(html, body){
  --gallery-cols:3;
  --gallery-gap:20px;
}


/* =========================================================
   CORE GALLERY LAYOUT
========================================================= */

.gallery{
  display:flex;
  flex-wrap:wrap;
  width:100%;
  box-sizing:border-box;
  gap: var(--gap-md); 
}

@media (max-width:948px){

.gallery{
    justify-content:center;
  gap: 0;
}

.var1.gallery{
    justify-content:center;
  gap:var(--gap-md); 
}
}


/* =========================================================
   COLUMN ENGINE
========================================================= */

@media (min-width:949px){

#page-home .gallery > .col-sm-4{
  float:none;
  flex:0 0 calc((100% / var(--gallery-cols)) - var(--gallery-gap));
  max-width:calc((100% / var(--gallery-cols)) - var(--gallery-gap));
  box-sizing:border-box;
  padding:0 15px;
}

}

@media (max-width:768px){

.gallery > .col-sm-4{
  flex:0 0 100%;
  max-width:100%;
  padding:0;
}

}

/* =========================================================
   WRAPPER CONTRACT
========================================================= */

.gallery .gallery-item-wrap{
  height:450px;
  overflow:hidden;
  position:relative;
  margin-bottom:20px;
}

/* =========================================================
   BASE ITEM CONTRACT
========================================================= */

#page-home .gallery span.gallery-item{
  display:flex;
  flex-direction:column;
  margin:0;
  line-height:initial;
  vertical-align:top;
  background-repeat:no-repeat;
  background-position:center top;
  background-size:cover;
  transition:transform .5s ease;
}

#page-home .columns-inner > :nth-last-child(1 of .sb-gallery-row) .has-breakout span.gallery-item,
#page-home .gallery.var1 span.gallery-item{
  width:100%;
  height:100%;
}


/* =========================================================
   CAPTIONS
========================================================= */

.gallery .gallery-caption{
  text-align:center;
  margin-top:10px;
}

.gallery .gallery-caption a{
  display:inline-block;
  margin-top:10px;
  padding:10px 20px;
  text-decoration:none;
}

/* =========================================================
   HEADERS
========================================================= */

.gallery .gallery-header{
  text-align:center;
  text-transform:capitalize;
  position:relative;
}

.gallery .gallery-header h2{
  font-size:.8em!important;
  line-height: 1.0em!important;
  padding-bottom:5px;
  text-align:center;
}

.gallery .gallery-header p{
  font-size:15px!important;
  line-height:25px;
}


/* =========================================================
   RESPONSIVE HEADERS
========================================================= */

@media (max-width:768px){

.gallery .gallery-header{
  font-size:1em;
  line-height:.8em!important;
}

}

@media (min-width:949px){

.gallery .gallery-header{
  font-size:30px;
  line-height:30px;
}

.gallery .gallery-header h2{
  font-size:1.2em!important;
}

}

/* =========================================================
   CURSOR
========================================================= */

body:not(#page-home) span.gallery-item *{
  cursor:pointer;
  margin:auto;
}

/* =========================================================
   VAR1 Ã¢â‚¬â€ OVERLAY
========================================================= */

#page-home .columns-inner > :nth-last-child(1 of .sb-gallery-row) .has-breakout img,
#page-home .gallery.var1 img{
  display:none!important;
}

#page-home .columns-inner > :nth-last-child(1 of .sb-gallery-row) .has-breakout .gallery-header,
#page-home .gallery.var1 .gallery-header{
  width:100%;
}

#page-home .columns-inner > :nth-last-child(1 of .sb-gallery-row) .has-breakout .col-sm-2,
#page-home .gallery.var1 .col-sm-2{
  width:100%;
}

#page-home .columns-inner > :nth-last-child(1 of .sb-gallery-row) .has-breakout span.gallery-item,
#page-home .gallery.var1 span.gallery-item{
  position:relative;
  justify-content:flex-start;
  align-items:center;
  padding:0 40px;
}

/* background now applied to wrapper */

#page-home .columns-inner > :nth-last-child(1 of .sb-gallery-row) .has-breakout .gallery-item-wrap,
#page-home .gallery.var1 .gallery-item-wrap{
  background-repeat:no-repeat;
  background-position:center top;
  background-size: 145%;
}

@media (max-width:768px){

#page-home .columns-inner > :nth-last-child(1 of .sb-gallery-row) .has-breakout, 
#page-home .gallery.var1{
  display:flex;
}

#page-home .columns-inner > :nth-last-child(1 of .sb-gallery-row) .has-breakout .gallery-item-wrap,
#page-home .gallery.var1 .gallery-item-wrap{
  height:250px;
  width:100%;
  margin-bottom:20px;
}

#page-home .columns-inner > :nth-last-child(1 of .sb-gallery-row) .has-breakout span.gallery-item,
#page-home .gallery.var1 span.gallery-item{
  background-position:center center;
}

}

@media (min-width:949px){
.gallery .gallery-header{
  bottom:20px;
}
}

/* caption overlay */

#page-home .columns-inner > :nth-last-child(1 of .sb-gallery-row) .has-breakout .gallery-caption,
#page-home .gallery.var1 .gallery-caption{
  text-align:center;
  width:100%;
  background:rgb(0 0 0 / 0%);
  position:absolute;
  padding:0px 20px;
  display:block;
  bottom:0px;
  z-index:9;
  padding-bottom:20px;
}

#page-home .columns-inner > :nth-last-child(1 of .sb-gallery-row) .has-breakout .gallery-caption *,
#page-home .gallery.var1 .gallery-caption *{
  color:var(--color-text-accent2);
}
/* clip card */
#page-home .columns-inner > :nth-last-child(1 of .sb-gallery-row) .has-breakout .item,
#page-home .gallery.var1 .item{
  overflow:hidden;
}

/* background layer */
#page-home .columns-inner > :nth-last-child(1 of .sb-gallery-row) .has-breakout .gallery-item-wrap:hover,
#page-home .gallery.var1 .gallery-item-wrap:hover {
  background-size:120%;
}

/* hover */
#page-home .columns-inner > :nth-last-child(1 of .sb-gallery-row) .has-breakout .gallery-item-wrap,
#page-home .gallery.var1 .gallery-item-wrap {
  background-size: 105%;
}


#page-home .columns-inner > :nth-last-child(1 of .sb-gallery-row) .has-breakout .gallery-header,
#page-home .gallery.var1 .gallery-header {
   margin: auto;
   max-width: 60%;
}

#page-home .columns-inner > :nth-last-child(1 of .sb-gallery-row) .has-breakout .gallery-header h2,
#page-home .gallery.var1 .gallery-header h2 {
  font-size: 2em!important;
  line-height: 1.2em !important;
}

@media (min-width:949px){

#page-home .columns-inner > :nth-last-child(1 of .sb-gallery-row) .has-breakout .gallery-header,
#page-home .gallery.var1 .gallery-header {
   margin: auto;
   max-width: 60%;
}

#page-home .columns-inner > :nth-last-child(1 of .sb-gallery-row) .has-breakout .gallery-header h2,
#page-home .gallery.var1 .gallery-item-wrap {
  font-size: 1.1em!important;
  line-height: 1.2em !important;
}
}

#page-home .gallery.var1 .gallery-item-wrap {
    margin-bottom: 0px;
}



/* =========================================================
   BTN HIDE MODE
========================================================= */

.has-gallery-btn-hide .gallery-item img{
  cursor:pointer!important;
}

.has-gallery-btn-hide .gallery-item-wrap .btn{
  width:100%!important;
  height:100%;
  max-width:100%;
  position:absolute;
  margin:auto;
  bottom:0;
  left:0;
  right:0;
  top:0;
  opacity:0;
}

.has-gallery-btn-hide .gallery-item-wrap .btn:hover{
  opacity:0;
}

.has-gallery-btn-hide .gallery-caption{
  pointer-events:none;
}

/* =========================================================
   SLIDE MODE
========================================================= */

#page-home .gallery.is-slide{
  display:flex;
  flex-wrap:nowrap;
  position:relative;
  scroll-behavior:smooth;
  overflow-x:auto;
  overflow-y:visible;
  scrollbar-width:none;
  scroll-snap-type:x mandatory;
  justify-content:flex-start!important;
  pointer-events:auto;
}

.gallery.is-slide::-webkit-scrollbar{
  display:none;
}

@media (min-width:949px){

#page-home .gallery.is-slide > .col-sm-4{
  flex:0 0 calc((100% / var(--gallery-cols)));
  max-width:calc((100% / var(--gallery-cols)));
  scroll-snap-align:start;
}

}

@media (max-width:768px){

.gallery.is-slide > .col-sm-4{
  flex:0 0 85%;
  max-width:85%;
}

}

/* =========================================================
   SLIDER ARROWS
========================================================= */

.gallery-slider-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  width:42px;
  height:42px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 4px 12px rgba(0,0,0,.15);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
}

.gallery-slider-arrow.prev{ left:-20px; }
.gallery-slider-arrow.next{ right:-20px; }

.gallery-slider-arrow svg{
  width:14px;
  height:14px;
}

.gallery-slider-arrow svg *{
  stroke:#000000!important;
}

/* =========================================================
   INTERIOR GALLERY
========================================================= */

body:not(#page-home) span.gallery-item .gallery-image{
  display:block!important;
}

body:not(#page-home) .gallery span.gallery-item{
  float:none;
  width:auto;
}

body:not(#page-home) .gallery .gallery-item-wrap{
  position:relative;
  overflow:hidden;
  margin:0;
  height: auto;
}

body:not(#page-home) .gallery img{
  width:160px;
  height:160px;
  object-fit:cover;
  display:block;
  border:none!important;
  box-shadow:none!important;
}

body:not(#page-home) .gallery .btn{
  display:none;
}

body:not(#page-home) span.gallery-item *{
  cursor:pointer;
}

body:not(#page-home) span.gallery-item a{
  z-index:1;
  position:relative;
}

body:not(#page-home) .gallery-item-wrap{
  background: none!important;
  text-align: center;
}

body:not(#page-home) .gallery-item-wrap .btn {
  padding: 6px 20px!important;
}

body:not(#page-home) .gallery-caption {
  position:relative;
}

body:not(#page-home) .gallery-header{
   max-width: 100%;
}

.gallery .gallery-header{
  bottom:0px;
}

.gallery span.gallery-item{
  cursor:inherit;
}

.gallery span.gallery-item a{
  cursor:inherit;
}


/* icon hover */

body:not(#page-home) .gallery img{
  transform: scale(1);
}

body:not(#page-home) .gallery img:hover{
  transform: scale(1.1) translateY(-2px);
}


/* ===================================== ====================
   Hover
========================================================= */


.gallery .gallery-icon{
  display:block;
}

.gallery.var3 .gallery-icon{
  display:block;
  height:100%;
  width:100%;
  text-decoration:none;
  color:inherit;
}

/* ======================================================
   VAR3 Ã¢â‚¬â€ ICON CARD
====================================================== */

/* Neutralize CMS image defaults */

.gallery.var3 img{
  border-width: 0!important;
  box-shadow:none;
  background:none;
  max-width:none;
  max-height:none;
  cursor:pointer;
}

/* GALLERY VAR3 Ã¢â‚¬â€ ICON SIZE */

.gallery.var3 img.gallery-image{
  object-fit:contain;
  transform:scale(.92);
}


.gallery.var3 .gallery-item{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content: flex-start;
  text-align:center;
  width:100%;
  padding: 0px;
  height: 100%;
}

@media (max-width:948px){

.gallery.var3 .gallery-item{
  height:100%;
}

}

/* title */


@media (max-width:768px){
.gallery.var3 .gallery-header{
  line-height: 20px!important;
  max-width: 50%;
  margin: auto;
}
}

/* button */

.gallery.var3 .btn{
  margin-top:20px;
  display: none;
}


.gallery.var3 .gallery-item-wrap{
  height: auto;
  overflow:hidden;
  position:relative;
  margin-bottom:20px;
}

.columns-inner > :nth-last-child(1 of .sb-gallery-row) .has-breakout .gallery-item-wrap{
    height: 450px;
    overflow: hidden;
    position: relative;
    margin-bottom: 20px;
}


.gallery.var3 .gallery-item:before {
  background: linear-gradient(185deg, #00000000 25%, rgb(255 255 255 / 0%) 95%);
box-shadow: none!important;
 }


.gallery.var3 .gallery-header{
   margin: auto;
   max-width: 60%;
}

 body#page-home .gallery.var3 .gallery-header h2 {
  font-size: 1.2em!important;
  line-height: 1.4em !important;
}

@media (min-width:949px){

.gallery.var3 .gallery-header{
   margin: auto;
   max-width: 60%;
}

 body#page-home .gallery.var3 .gallery-header h2{
  font-size: .7em!important;
  line-height: 1.4em !important;
}
}

.gallery.var3 .gallery-caption{
  height: 100%;
  width:100%;
  text-decoration:none;
  color:inherit;
  display: inline-block;
  position: relative;
  margin-top: 10px;
}

@media (min-width:949px){

.gallery.var3 .gallery-caption{

  margin-top: 20px;
}
}

.gallery.var3 .gallery-header {
     bottom: 0px;
    }

.gallery.var3 .gallery-item:hover img.gallery-image{
      transform:scale(1.1);
      transform:translateY(-4px);
    }




/* ----------------------------------------------------------------------
   CONTENT / MODULE VARIANTS
---------------------------------------------------------------------- */

ul.accordion-list {
  max-width: 1005;
  margin: auto!important;
  padding: 0 15px;
  text-align: left!important;
  margin-top: 50px!important;
}

ul.accordion-list {
  text-align: left;
}

.accordion-list h1 {
  /* color: #f05454; */
  margin-bottom: 30px;
}

.accordion-list h2 {
  color: #47d8b2;
  /* font-family: 'hm_light', sans-serif; */
  font-size: 20px;
  text-align: left;
  line-height: 34px;
  padding: 30px 30px 0;
  text-transform: none;
  letter-spacing: 0px;
  font-weight: 300;
  display: block;
  margin: 0;
  cursor: pointer;
  transition: .2s;
}

body:not(#page-home) ul.accordion-list li h3,
body ul.accordion-list li h3 ,
body:not(#page-home) .body .sb-content:not(.text--left) .content ul.accordion-list li h3 {
  font-size: 1.5em!important;
  line-height: 1.1em!important;
  font-weight: 400!important;
  /* padding: 20px 0px!important; */
  margin: 0px!important;
  text-align: left!important;
  padding: 20px 40px 20px 0px !important;
}

@media (min-width: 949px) {
 body ul.accordion-list li h3 {
  font-size: 1.5em!important;
  line-height: 1.4em!important;
  font-weight: 400!important;
  /* padding: 20px 0px!important; */
  margin: 0px!important;
  text-align: left!important;
  padding: 20px 40px 20px 0px !important;
}
}

.accordion-list p {
  text-align: left;
  /* font-family: 'hm_light', sans-serif; */
  font-size: 14px;
  line-height: 1.45;
  position: relative;
  will-change: max-height;
  contain: layout;
  display: inline-block;
  opacity: 1;
  transform: translate(0,0);
  margin: 0px;
  transition: .3s opacity;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  z-index: 2;
  text-align: left;
  padding-bottom: 20px;

}

.content .accordion-list p {
  line-height: 23px!important;

}

.content .accordion-list .answer p {
  padding-top: 0px!important;
}


ul.accordion-list  {
  list-style: none;
  perspective: 900;
  padding: 0;
  margin: 0;
}

.sb-module *:not(.element-item):not(.element-item):not(.element-item):not(.slick-slide):not(.slick-list):not(.slick-track):not(.module-mini-cta):not([class*='col-']) > ul.accordion-list > li {
  position: relative;
  overflow: hidden;
  padding: 0px 40px!important;
  margin: 0;
  background: rgb(192 192 192 / 5%);
  box-shadow: 0 3px 10px -2px rgb(0 0 0 / 0%);
  -webkit-tap-highlight-color: transparent;
  border-radius: 0px;
  border-top: 2px solid #d5d5d5;
  padding-left: 20px;
  padding-right: 20px;
}

ul.accordion-list li + li {
  margin-top: 15px;
}

ul.accordion-list li:last-of-type {
  padding-bottom: 0;
}

ul.accordion-list li i {
  position: absolute;
  transform: translate(-6px, 0);
  margin-top: 28px;
  right: 15px;
}

ul.accordion-list li i:before,
ul.accordion-list li i:after {
  content: "";
  position: absolute;
  background-color: #354aa6;
  width: 3px;
  height: 9px;
}

ul.accordion-list li i:before {
  transform: translate(2px, 0) rotate(45deg);
}

ul.accordion-list li i:after {
  transform: translate(-2px, 0) rotate(-45deg);
}

ul.accordion-list li input[type=checkbox] {
  position: absolute;
  cursor: pointer;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0;
  touch-action: manipulation;
}

ul.accordion-list li input[type=checkbox]:checked ~ h2 {
  color: #101a2b;
}

ul.accordion-list li input[type=checkbox]:checked ~ p {
  margin: 10px;
  max-height: 0;
  transition: .3s;
  opacity: 0;
}

ul.accordion-list li input[type=checkbox]:checked ~ i:before {
  transform: translate(2px, 0) rotate(45deg);
  background: #57af9b;
}

ul.accordion-list li input[type=checkbox]:checked ~ i:after {
  transform: translate(-2px, 0) rotate(-45deg);
  background: #60c3aa;
}

ul.accordion-list li {
  cursor: pointer!important;
}

.sb-module *:not(.element-item):not(.element-item):not(.element-item):not(.slick-slide):not(.slick-list):not(.slick-track):not(.module-mini-cta):not([class*='col-']) ul.accordion-list .answer {
  cursor: auto!important;
  pointer-events: none;
  transition: none!important;
}

body.page-app ul.accordion-list .answer {
  display: block!important;
}


/* module accordion -- variant 2 (1 exists in base.themes) */

.accordion-list .accordion-list h3::after {
  display: none;
}

.accordion-list ul.accordion-list {
    max-width: 100%;
    margin: auto!important;
    padding: 0 15px;
    text-align: center;
    margin-top: 50px!important;
  }
  
.accordion-list .accordion-list ul {
  text-align: left;
}

 .accordion-list h1 {
  /* color: #f05454; */
  margin-bottom: 30px;
}

 .accordion-list h2 {
  color: #47d8b2;
  /* font-family: 'hm_light', sans-serif; */
  font-size: 20px;
  text-align: left;
  line-height: 34px;
  padding: 30px 30px 0;
  text-transform: none;
  letter-spacing: 0px;
  font-weight: 300;
  display: block;
  margin: 0;
  cursor: pointer;
  transition: .2s;
}

 .accordion-list h3 {
  margin: 0px!important;
}



 .accordion-list p {
  font-size: 14px!important;

}


@media (min-width: 949px) {
 .accordion-list p {
    text-align: left;
    /* font-family: 'hm_light', sans-serif; */
    font-size: 16px!important;
    line-height: 1.45;
    position: relative;
    will-change: max-height;
    contain: layout;
    display: inline-block;
    opacity: 1;
    transform: translate(0,0);
    margin: 0px;
    transition: .3s opacity;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    z-index: 2;
    text-align: left;
    padding-bottom: 20px;
  
  }
}

:where(.embed, .content) .accordion-list p {
  line-height: 30px!important;
}


 ul.accordion-list  {
  list-style: none;
  perspective: 900;
  padding: 0px 0px;
  margin: 0;
}

 .sb-module *:not(.element-item):not(.element-item):not(.element-item):not(.slick-slide):not(.slick-list):not(.slick-track):not(.module-mini-cta):not([class*='col-']) ul.accordion-list li {
  position: relative;
  overflow: hidden;
  padding: 0px 0px!important;
  margin: 0;
  background: rgb(192 192 192 / 0%);
  box-shadow: 0 3px 10px -2px rgb(0 0 0 / 0%);
  -webkit-tap-highlight-color: transparent;
  border-radius: 0px;
  border-top: 2px solid #d5d5d5;
  padding-left: 20px;
  padding-right: 20px;
  border-bottom: 0px;
}

@media (min-width: 949px) {
 .sb-module ul.accordion-list .answer {
  width: 60%;
  }
 ul.accordion-list  {
    padding: 0px 0px;
  }	
}

 ul.accordion-list li + li {
  margin-top: 15px;
}

 ul.accordion-list li:last-of-type {
  padding-bottom: 0;
}

 ul.accordion-list li i {
  position: absolute;
  transform: translate(-6px, 0);
  margin-top: 28px;
  right: 15px;
}

 ul.accordion-list li i:before,
 ul.accordion-list li i:after {
  content: "";
  position: absolute;
  background-color: #354aa6;
  width: 3px;
  height: 9px;
}

 ul.accordion-list li i:before {
  transform: translate(2px, 0) rotate(45deg);
}

 ul.accordion-list li i:after {
  transform: translate(-2px, 0) rotate(-45deg);
}

 ul.accordion-list li input[type=checkbox] {
  position: absolute;
  cursor: pointer;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0;
  touch-action: manipulation;
}

 ul.accordion-list li input[type=checkbox]:checked ~ h2 {
  color: #101a2b;
}

 ul.accordion-list li input[type=checkbox]:checked ~ p {
  margin: 10px;
  max-height: 0;
  transition: .3s;
  opacity: 0;
}

 ul.accordion-list li input[type=checkbox]:checked ~ i:before {
  transform: translate(2px, 0) rotate(45deg);
  background: #57af9b;
}

 ul.accordion-list li input[type=checkbox]:checked ~ i:after {
  transform: translate(-2px, 0) rotate(-45deg);
  background: #60c3aa;
}

 ul.accordion-list li {
  cursor: pointer!important;
}

 .sb-module *:not(.element-item):not(.element-item):not(.element-item):not(.slick-slide):not(.slick-list):not(.slick-track):not(.module-mini-cta):not([class*='col-']) ul.accordion-list .answer {
  cursor: auto!important;
  pointer-events: none;
  transition: none!important;
}

body.page-app ul.accordion-list .answer {
  display: block!important;
}
  
  
 ul.accordion-list li::before {
content: "+";
  display: inline-block;
  position: absolute;
  right: 10px;
  top: 20px;
  font-size: 30px;
  font-weight: bold;
  transition: none!important;
  }
  
 ul.accordion-list li.active::before {
  transform: rotate(45deg);
}




/* =========================================================
   GLOBAL FEATURE GRID ENGINE (AUTO)
   applies to ANY module starting with feature-
========================================================= */

[class^="feature-"],
[class*=" feature-"] {
}

/* direct child wrapper (your CMS pattern) */
[class^="feature-"] > div,
[class*=" feature-"] > div {
  display: flex;
  flex-wrap: wrap;
  --grid-gap: 25px;
}

/* actual items */
[class^="feature-"] > div > *,
[class*=" feature-"] > div > * {
  flex: 0 0 calc(
    (100% - (var(--grid-gap) * (var(--grid-cols) - 1)))
    / var(--grid-cols)
  );

  max-width: calc(
    (100% - (var(--grid-gap) * (var(--grid-cols) - 1)))
    / var(--grid-cols)
  );
}

.feature-cards1 > div > div h2 {
  font-weight: 500;
  padding: 0px!important;
  line-height: 30px!important;
  font-size: 1.7em!important;
  }

.feature-cards1 > div > div img {
  max-width: 30%;
  padding-bottom: 10px;
  }


/* ----------------------------------------------------------------------
   STACKED MODULES 
---------------------------------------------------------------------- */

.sb-roundedbox-row + .sb-roundedbox-row {
margin-top: 40px!important;
}

/* boxes -- rounded images -- with fixed inner box width */

.sb-roundedbox-row.sb-fillbox-600-row {
  border-radius: 0px;
}
.sb-roundedbox-row.sb-fillbox-600-row .sb-wrap-inner {
  border-radius: 20px;
}

:where(html, body).has-animation {}
:where(html, body).has-scroll-effects {}

/* SAFETY CATCH ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â DO NOT REMOVE */
body[class*="has-"] {}



/*==================================================================================*/
/* FOOTER ALTERNATE LAYOUT 1 8/1/2023 */
/*==================================================================================*/

.footer .footer-box a {
  border-radius: 50px!important;
  text-align: center;
}

.footer .locations_footer .locations_list a[target="_blank"] {
  padding: 4px 0px 0px;
}


.social-module {
  padding-top: 20px;
  
}
.social-module a {
  border-radius: 100px;
  width: 35px;
  height: 35px;
  padding-top: 14px;
  display: inline-block;
  border: 1px solid;
  margin-left: 0px;
  margin-right: 5px;
  margin-bottom: 0px;
  text-align: center;
  font-weight: 500;
}

.social-module a .fa {
  font-size: 14px;
}


/* custom - footer */

.has-footer-alternate1 .footer-box a {
  font-size: 16px;
  line-height: 30px;
  font-variant-numeric: lining-nums;
}

.has-footer-alternate1 .footer-box p, 
.has-footer-alternate1 .footer-box h1, 
.has-footer-alternate1 .footer-box h2,
.has-footer-alternate1 .footer-box h3, 
.has-footer-alternate1 .footer-box h4, 
.has-footer-alternate1 .footer-box h5, 
.has-footer-alternate1 .footer-box h6,
.has-footer-alternate1 .footer-box ul, 
.has-footer-alternate1 .footer-box ol, 
.has-footer-alternate1 .footer-box li, 
.has-footer-alternate1 .footer-box li a, 
.has-footer-alternate1 .footer-box div {
  margin: 0;
  padding: 0;
}

.has-footer-alternate1.footer .nav .primary-link:last-child > a {
  margin: auto!important;
  padding: 0px!important;
  text-align: center!important;
  padding: 5px 15px!important;
  margin-top: 20px!important;
}

.has-footer-alternate1.footer .nav .primary-link:last-child > a:hover{
  text-decoration: none;
}

.has-footer-alternate1 .footer-box li a {
  text-transform: capitalize!important;
  padding: 0px!important;
}

.has-footer-alternate1 .footer-box ul, 
.has-footer-alternate1 .footer-box ol {
  list-style: none;
}

@media screen and (min-width: 949px) {
.has-footer-alternate1.footer .wrapper  {
  max-width: 1425px!important;
  padding: 0px!important;
  margin: auto;
}
}

.has-footer-alternate1  .footer {
  padding: 110px 0px!important;
}

.footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.footer-box {
  flex: 1 1 100%;
  margin-bottom: 10px;
  float: left!important;
}

.has-footer-alternate1 .footer-box .footer-logo-container {
  display: flex;
  align-items: flex-start;
}

.has-footer-alternate1 .footer-box .footer-logo-container img {
  max-width: 200px;
  margin-right: 20px;
}

.has-footer-alternate1 .footer-box .footer-logoname {
  align-self: flex-end;
  font-weight: bold;
}

.has-footer-alternate1 .footer-box .footer-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.has-footer-alternate1 .footer-box .footer-nav .nav-inner {
  flex-basis: 50%;
  margin-bottom: 10px;
}

.has-footer-alternate1 .footer-box .footer-nav ul {
  list-style: none;
  padding: 0;
}

.has-footer-alternate1 .footer-box .footer-nav li {
  margin-bottom: 5px;
}

.has-footer-alternate1 .footer-box .locations_footer {
  margin-top: 0px!important;
  margin-bottom: 10px!important;
  max-width: 400px!important;
  margin: 0px;
}

.has-footer-alternate1 .footer-box .footer-headline {
  padding: 0px 0px 0px;
  text-align: left;
}


@media screen and (min-width: 949px) {
.has-footer-alternate1 .footer-box .footer-headline h1 {
  padding: 20px 0px 100px;
  }
}


.has-footer-alternate1 .footer-box .nav-inner {
    display: flex;
   }
   
.has-footer-alternate1 .footer-box .nav-inner ul {
    list-style: none;
    padding: 0;
    margin: 0;
    flex: 1;
    margin-right: 20px;
   }

.has-footer-alternate1 .footer-box .nav-inner li {
    margin-bottom: 10px;
    display: block;
   }

   /* Styling for the h2 titles */
.has-footer-alternate1 .footer-box .nav-inner h2 {
    margin-top: 20px;
    font-size: 20px;
   }

.has-footer-alternate1.footer .footer-box .col-md-4:nth-child(2)  {
  padding-right: 30px;
  }

.has-footer-alternate1.footer .footer-box .col-md-4:nth-child(3)  {
  display: flex;
  }

.has-footer-alternate1.footer .footer-box .col-md-4:nth-child(3)  {
  margin-top: 0px;
  }

@media screen and (min-width: 949px) {
.has-footer-alternate1.footer .footer-box .col-md-4:nth-child(3)  {
  margin-top: 0px;
  }
}



  .has-footer-alternate1.footer .footer-box .col-md-4:nth-child(3) ul {
  list-style: none;
  padding: 0;
  margin: 0;
  padding-right: 20px!important;
  }

@media screen and (min-width: 949px) {
  .has-footer-alternate1.footer .footer-box .col-md-4:nth-child(3) ul {
  list-style: none;
  padding: 0;
  margin: 0;
  padding-right: 60px!important;
  }
}


    .has-footer-alternate1.footer .footer-box .col-md-4:nth-child(3) li {
    margin-bottom: 14px;
    display: block;
    }

    .has-footer-alternate1.footer .footer-box .col-md-4:nth-child(3) li a {
    line-height: 20px!important;
    }
    
    /* Styling for the h2 titles */
    .has-footer-alternate1.footer .footer-box .col-md-4:nth-child(3) h2 {
    margin-top: 20px;
    font-size: 15px!important;
    margin-bottom: 10px;
    } 

@media screen and (min-width: 949px) {
  
    .has-footer-alternate1.footer .footer-box .col-md-4:nth-child(3) li {
    margin-bottom: 10px;
    display: block;
    }

      .has-footer-alternate1.footer .footer-box .col-md-4:nth-child(3) li a {
    line-height: 26px!important;
    }
  
    .has-footer-alternate1.footer .footer-box .col-md-4:nth-child(3) h2 {
    margin-top: 10px;
    font-size: 14px!important;
    font-weight: 600;
    margin-bottom: 20px;
    } 
}




@media screen and (min-width: 949px) {
  /* Apply a font size to all links in the third .col-md-4 container, except the last one */
  .has-footer-alternate1.footer .footer-box li a {
    font-size: 16px!important;
  }
}

.has-footer-alternate1.footer .nav .primary-link:last-child > a {
  display: inline-block;
  font-size: 15px!important;
  font-weight: 600!important;
  margin-top: 10px!important;
}

@media screen and (min-width: 949px) {
.has-footer-alternate1.footer .footer-box .col-md-4:last-child > a {
font-size: 14px!important;

}
}

    /* Align all text to the left */
     .has-footer-alternate1.footer .footer .wrapper {
      text-align: left!important;
     }
    
     /* Align the navigation lists to the left */
     .has-footer-alternate1.footer .footer .col-md-4 nav ul {
      text-align: left!important;
     }
    
     /* Align social media icons to the left */
     .has-footer-alternate1.footer .footer .embed.social-module.sm-bg-colors-OFF {
      text-align: left!important;
     }
     
  .has-footer-alternate1.footer * {
      text-align: left!important;
     }	 
  .has-footer-alternate1.footer  .locations_list br {
      display: block;!important;
     }	 
    
   .has-footer-alternate1.footer .social-module a {
      text-align: center!important;
    }

   .has-footer-alternate1.footer .social-module a {
      margin-bottom: 10px;
   
    }
    
  .has-footer-alternate1.footer .footer-box span {
     padding-bottom: 0px!important;
    }

  .has-footer-alternate1.footer .footer-box .location_name {
     font-size: 18px!important;
     line-height: 25px;
    }


  .has-footer-alternate1.footer .footerlogoname,
  .has-footer-alternate1.footer img#logoimg {
  text-align: left!important;
  padding-top: 35px!important;
  margin: 0px!important;
  position: relative;
}


  .has-footer-alternate1.footer #logoimg {
  width: 1250px!important;
}

.has-footer-alternate1.footer h1 {
  font-size: 2.5em!important;
  line-height: 1.4em!important;
  font-weight: 300;
  background: linear-gradient(234.33deg, #dfdfdf -3.63%, #ffffff 89.96%);
}

@media (min-width: 768px) {
.has-footer-alternate1.footer h1 {
  font-size: 3.5em!important;
  line-height: 1.4em!important;
  font-weight: 300;
  }
}

.has-footer-alternate1.footer h1 {
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-box-decoration-break: clone;
}

.has-footer-alternate1.footer h1 {
  margin: 20px 0px;
}

.has-footer-alternate1.footer .locations_list {
  /* font-family: 'Montserrat', sans-serif; */
}	

.has-footer-alternate1.footer .footer-user-content {
 width: 100%!important;
 float: left;
 max-width: 100%!important;
 text-align: left!important;
 padding: 0 15px;
 padding-top: 50px;
}	

.has-footer-alternate1.footer .footer-user-content p:first-child {
 border-top: 1px solid rgb(57 57 57 / 5%);
 margin-top: 40px;
 padding-top: 80px;
}	


.has-footer-alternate1.footer .footer-user-content a,
.has-footer-alternate1.footer .footer-user-content p {
 font-size: 16px!important;
 text-align: left!important;
 line-height: 29px;
}

.has-footer-alternate1.footer .footer-user-content p {
  padding-bottom: 6px!important;
}


.has-footer-alternate1 .locations_list .social-module {
  padding-top: 20px;
  margin-bottom: 20px;
}

.has-footer-alternate1 .locations_list a {
  display: inline-block!important;
}


/* Footer logo stability */
.has-footer-alternate1 img#logoimg {
  max-width: 200px;
  height: auto;
  display: block;
}


/*==================================================================================*/
/* SET FOOTER */
/*==================================================================================*/

.footer {
  padding-top: 60px;
  padding-bottom: 60px;
  text-align: center;
  overflow: visible;
  border-top: 1px solid;
}

@media screen and (min-width: 949px) {
.footer .footer-box:nth-child(1),
.footer .footer-box:nth-child(2),
.footer .footer-box:nth-child(3) {
  padding: 0 15px;
  position: relative;
  min-height: 1px;
  width: 100%!important;
  text-align: center!important;
  }
}


.footer .footer-box {
  float: none!important;
}

.footer .nav ul {
  padding-bottom: 20px;
}

.footer .nav li {
  display: block;
  font-size: 20px;
}

@media screen and (min-width: 949px) {
.footer .nav li {
  display: inline;
  font-size: 20px;
  }
}

.footer .nav li a {
  font-size: 17px;
  padding: 10px;
  font-weight: 300;
}

.footer h3 {
  padding-top: 18px;
  padding-bottom: 0px;
}

body.logoshow footer img#logoimg, 
body.logoshow footer img#logoimg:not(.logo-color),
body footer img#logoimg, 
body footer img#logoimg:not(.logo-color) {
  margin: 0px;
  max-width: 180px!important;
  height: auto;
  margin: auto;
  /* clear: both; */
  /* display: block; */
}

@media screen and (min-width: 949px) {
body.logoshow footer img#logoimg, 
body.logoshow footer img#logoimg:not(.logo-color),
body footer img#logoimg, 
body footer img#logoimg:not(.logo-color) {
  max-width: 250px!important;
  height: auto;
}
}

.footer-user-content {
  padding: 0 15px;
  position: relative;
  min-height: 1px;
  width: 100%!important;
  text-align: center!important;
  margin: auto;
}

@media screen and (min-width: 949px) {
.footer-user-content {
  width: 80%!important;
  }
}

/*==================================================================================*/
/* extra footer instance fix -- remove 2nd instance */
/*==================================================================================*/

body  > .footer-box {
  display: none;
}


/* ============================= */
/* CAROUSEL ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â HERO RESET SYSTEM */
/* ============================= */

.carousel-arrows-shadowed .carousel-control {display: none}

/* =========================================================
   01. CMS HARD RESET (CRITICAL)
========================================================= */

/* set wrapper */
.carousel-wrapper {
  position: relative;
  z-index: 0;
  background-attachment: scroll !important;
}

/* Kill builder background panels */
.carousel-wrapper .item-content,
.carousel-wrapper .item-content-inner,
.carousel-wrapper.carousel-full-background-with-content .item-content {
  background: transparent !important;
  background-color: transparent !important;
}

/* Kill width restrictions */
.carousel,
.carousel-inner,
.carousel .item,
.carousel .item-inner,
.carousel .item-content {
  width: 100% !important;
  max-width: none !important;
}

/* Remove builder positioning weirdness */
.carousel .item-content,
.carousel .item-content-inner {
  position: relative;
  inset: auto;
  top: auto;
  left: auto;
  right: auto;
  bottom: auto;
  width: 100%;
}

/* Remove inherited padding junk */
.carousel-wrapper .item-content .item-content-inner {
  padding: 0;
  margin: 0 auto;
}

/* Remove text alignment conflicts */
.carousel-wrapper .item-content {
  text-align: inherit !important;
}




/* =========================================================
   03. BACKGROUND IMAGE BEHAVIOR
========================================================= */

.carousel .item {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
}


/* =========================================================
   04. TRUE HERO CENTERING (FIXES TOP-STICK ISSUE)
========================================================= */

.carousel .item-inner {
  height: 100%;
  display: flex;
}

.carousel .item-content {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-align: center;
  z-index: 2;
}

@media (min-width: 949px) {
.carousel .item-content {
  align-items: center;
}
}

/* Inner content container */
.carousel .item-content-inner {
  max-width: 1480px;
  margin: auto;
}

.carousel-wrapper .item-content .item-content-inner {
   padding-inline: var(--sb-hero-pad);
   padding: var(--sb-space-default);
   padding: var(--sb-gutter);
   padding-bottom: 0px;
   padding-top: 0px;
}

@media (min-width: 949px) {
.carousel-wrapper .item-content .item-content-inner {
   padding-top: 100px;
}
}


/* =========================================================
   05. TYPOGRAPHY
========================================================= */

.carousel .item-content h2 {
  font-size: 45px;
  line-height: 55px;
  font-weight: 300;
  margin-bottom: 10px;
}

@media (min-width: 949px) {
  .carousel .item-content h2 {
  font-size: 80px;
  line-height: 90px;
  }
}

.carousel .item-content h3 {
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
  margin-bottom: 20px;
  
}

@media (min-width: 949px) {
  .carousel .item-content h3 {
  font-size: 19px;
  }
}

.carousel .item-content p {
  font-size: 17px;
  line-height: 22px;
  margin-top: 20px;
  font-weight: 300;
}

@media (min-width: 949px) {
  .carousel .item-content p {
  font-size: 22px;
  }
}


/* =========================================================
   06. BUTTONS / LINKS
========================================================= */

.carousel .item-content a {
  display: inline-block;
  margin-top: 25px;
}


/* =========================================================
   07. OVERLAY (RESTORED TRUE LEGACY BEHAVIOR)
========================================================= */

/* Base layer */
.carousel .carousel-inner .item:before,
.carousel .carousel-inner:before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--color-carousel-overlay);
  z-index: 1;
}

/* ÃƒÂ¢Ã¢â‚¬Â Ã‚Â THIS is your original system logic */
.carousel .carousel-inner .item::before {
  opacity: 0.6;
}


.carousel .carousel-inner .item:before,
 body:not(#page-home) .carousel-wrapper:before {
  content: "";
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2;
}

#page-home .sb-carousel-wrapper-row .carousel-inner:before,
#page-home .sb-carousel-wrapper-row .carousel-inner. item:before,
body:not(#page-home) .sb-carousel-wrapper-row .carousel-inner:before,
body:not(#page-home) .sb-carousel-wrapper-row .carousel-inner .item:before {
  opacity: 1;
    background: linear-gradient(185deg, rgb(182 56 56 / 0%) 25%, rgb(3 3 3 / 70%) 95%);
}



/* =========================================================
   09. SAFE BACKGROUND ZOOM (LEGACY FRIENDLY)
========================================================= */

/* IMPORTANT: Animate IMAGE, not container */

.carousel .carousel-lcp-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  animation: heroZoom 18s ease-in-out infinite;
}

@keyframes heroZoom {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.06); }
  100% { transform: scale(1); }
}


/* =========================================================
   10. OPTIONAL ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â ARROWS (UNCHANGED / HIDDEN)
========================================================= */

.carousel .slick-prev,
.carousel .slick-next {
  display: none;
}


/* =========================================================
   11. MICRO TEXT / KEYWORDS
========================================================= */

.carousel .hero-meta {
  font-size: 85%;
  font-style: italic;
  margin-top: 35px;
  color: inherit;
}


/* =========================================================
   HERO HEIGHT CHAIN (UNCHANGED)
========================================================= */

.carousel {
  height: 700px;
}

.carousel-inner,
.carousel .item,
.carousel .item-inner {
  height: 100%;
}

@media (min-width: 949px) {
  .carousel {
    height: 950px;
  }
}

/* =========================================================
   CAROUSEL - MOBILE - ALIGN CENTER
========================================================= */

@media (max-width: 768px) {
.carousel-wrapper .align-left {
  margin-left: 0px;
  justify-content: center;
  text-align: center;
}
}

/* ---------------------------------------------------------
   CAROUSEL - HAS CLASSES
--------------------------------------------------------- */

@media screen and (min-width:949px) {
#page-home.has-carousel-bottom .carousel-wrapper .carousel .item-content {
  justify-content: flex-end;
}


#page-home.has-carousel-top .carousel-wrapper .carousel .item-content {
  justify-content: flex-start;
}
  }



/* ---------------------------------------------------------
   CAROUSEL - ellipses
--------------------------------------------------------- */

.carousel-indicators li {
  background-color: rgb(255 255 255);
  border: 0px solid #fff;
  border-radius: 10px;
  width: 5px;
  height: 5px;
  margin: 3px;
}

.carousel-indicators .active {
  width: 10px;
  height: 10px;
}


/* ---------------------------------------------------------
   Column spacing rules
--------------------------------------------------------- */
@media (min-width:949px) {

  html.has-banner-thin:not(#page-home)
  .sb-wrap-inner[class*="col-row-"]
  .sb-col:nth-of-type(1) .sb-module,

  html.has-banner-thin:not(#page-home)
  .sb-wrap-inner.image-row-two
  .sb-col.sb-image-row .sb-module,

  html.has-banner-thin:not(#page-home)
  .image-row-two-wrap
  .sb-col.sb-image-row .sb-module {
  padding: 0 !important;
  padding-bottom: 30px !important;
  }
}

html.has-banner-thin:not(#page-home)
.sb-wrap-inner[class*="col-row-"]
.sb-col:nth-of-type(1) .sb-module .box {
  padding-bottom: 30px !important;
  border-bottom: 1px solid #e1e1e1;
}


/* ---------------------------------------------------------
   Misc layout tweaks
--------------------------------------------------------- */
html.has-banner-thin:not(#page-home) .module-form {
  padding-top: 0;
  padding-bottom: 0 !important;
}

html.has-banner-thin:not(#page-home)
.sb-wrap.sb-image-row.image-row-one-wrap {
  overflow: visible;
}


/* ---------------------------------------------------------
   Button scale
--------------------------------------------------------- */
@media (min-width:949px) {

  html.has-banner-thin:not(#page-home).has-btn-lg
  a.btn-cta:not(.btn-reset) {
  padding: 9px 15px !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  }

  html.has-banner-thin:not(#page-home).has-btn-lg
  a.btn-cta:not(.btn-reset) i {
  display: none;
  }
}


/* ---------------------------------------------------------
   Header nav text
--------------------------------------------------------- */
html.has-banner-thin:not(#page-home)
.header .nav .primary-link > a {
  font-size: 13px;
}

/* =========================================================
   Interior banner ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â landing page thin style
   ROOT-DRIVEN (html.has-banner-thin)
========================================================= */

/* ---------------------------------------------------------
   Base height
--------------------------------------------------------- */
html.has-banner-thin:not(#page-home) > body > .container > .carousel-wrapper {
  height: 60px;
}


/* ---------------------------------------------------------
   Desktop adjustments
--------------------------------------------------------- */
@media (min-width:1280px) {

  html.has-banner-thin:not(#page-home)
  > body > .container > .carousel-wrapper {
  height: 165px;
  background-image: none !important;
  }

  html.has-banner-thin:not(#page-home)
  > body > .container > .carousel-wrapper
  .item-content-inner {
  display: flex !important;
  margin: 0;
  height: auto;
  align-self: flex-start;
  top: 40px !important;
  }

  html.has-banner-thin:not(#page-home)
  > body > .container > .carousel-wrapper
  img#logoimg:not(.footer img) {
  max-height: 60px !important;
  }

  html.has-banner-thin:not(#page-home)
  .header img#logoimg:not(.footer img) {
  max-height: 60px !important;
  }

  html.has-banner-thin:not(#page-home)
  > body > .container > .carousel-wrapper:before,
  html.has-banner-thin:not(#page-home)
  > body > .container > .carousel-wrapper
  .carousel-inner .item:before {
  background: linear-gradient(
    0deg,
    #8d929e 0%,
    #8d929e 40%,
    #8d929e 100%
  );
  }
}


/* ---------------------------------------------------------
   Body background
--------------------------------------------------------- */
html.has-banner-thin:not(#page-home) body {
  background-color: var(--color-bg-page1);
  );
}


/* ---------------------------------------------------------
   Forms
--------------------------------------------------------- */
.sb-module.sb-formbuilder .box,
.sb-module.sb-contactform .box,
  html.has-banner-thin .sb-module.sb-formbuilder .box,
  html.has-banner-thin .sb-module.sb-contactform .box {
  background: #fff !important;
  box-shadow: 0 0 10px rgb(0 0 0 / 25%);
  border-radius: 12px;
  padding: 10px 30px;
}



  html.has-banner-thin:not(#page-home) .wrap-inner {
  padding-left: 120px;
  padding-right: 120px;
  overflow: visible;
  }

.sb-module.sb-formbuilder .box,
.sb-module.sb-contactform .box,
  html.has-banner-thin .sb-module.sb-formbuilder .box,
  html.has-banner-thin .sb-module.sb-contactform .box {
  padding: 10px 30px !important;
  box-shadow: 0 6px 16px rgb(0 0 0 / 5%);
  border: 1px solid #dfdfdf;
  }

@media (min-width:949px) {
  .sb-module.sb-formbuilder .box,
.sb-module.sb-contactform .box,
  html.has-banner-thin .sb-module.sb-formbuilder .box,
  html.has-banner-thin .sb-module.sb-contactform .box {
  padding: 40px 60px !important;
  }
}


/* Reserve header height */
header.header-static,
header.header.header-static {
  min-height: 120px;
}

/* Normalize icons only inside header/nav/footer */
header i.fa, header i.fas,
.nav i.fa, .nav i.fas,
.mobile-nav i.fa, .mobile-nav i.fas,
.footer i.fa, .footer i.fas {
  width: 1em;
  height: 1em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* SVG inside <i> inherits color/size */
header i svg, .nav i svg, footer i svg, .mobile-nav i svg {
  width: 1em;
  height: 1em;
  fill: currentColor;
}






/* =====================================================
   HEADER STICKY / FIXED (PAGE-SCOPED)
===================================================== */
:where(html, body).has-header-overlay.snapped .site-header {
  box-shadow: 0px 1px 5px 0px rgb(0 0 0 / 0%);
}

:where(html, body).has-header-overlay.snapped .site-header {
  background: rgba(0, 0, 0, 0);
}


/* Default Ã¢â‚¬â€ matche s site max */
.site-header.is-contained .site-header__inner {
  max-width: var(--site-max);
}

/* Wider version */
.site-header.is-wide .site-header__inner {
  max-width: var(--site-wide);
}

/* True full bleed */
.site-header.is-full .site-header__inner {
  max-width: none;
  padding-inline: var(--site-full-pad);
}


/* =========================
   BASE (ALL PAGES)
========================= */

.site-header__inner {
  width: 100%;
  max-width: var(--site-max);
  margin-inline: auto;
  padding-inline: var(--sb-gutter);
}

.site-header {
  position: sticky;
  top: 0;
  z-index: var(--z-header);
  transition:
    background 0.3s ease,
    backdrop-filter 0.3s ease,
    -webkit-backdrop-filter 0.3s ease;
}

/* Kill legacy pseudo fills */
.site-header::before,
.site-header::after {
  display: none !important;
}

/* =========================
   HOME ONLY ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â FIXED OVERLAY
   (#page-home is key)
========================= */
body#page-home .site-header.has-header-overlay {
  position: fixed;
  left: 0;
  right: 0;
  background: rgb(255 255 255 / 0%);
}

.site-header {
  background: rgb(255 255 255);
}


/* =========================
   INTERIOR SAFETY
   (forces sticky everywhere else)
========================= */
body:not(#page-home) .site-header {
  position: sticky;
}


/* =========================
   HEADER ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â BASE BEHAVIOR
========================= */

.site-header {
  position: sticky;
  top: 0;
  z-index: var(--z-header);
}

/* Overlay override */
body#page-home .site-header.has-header-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  align-self: center;
}

/* Transitions */
.site-header.has-topbar .site-header__main {
  transition: transform .35s ease, padding .35s ease, background .35s ease;
}

.site-header.has-topbar .site-header__top {
display: block;
  transition: transform .35s ease, opacity .25s ease;
}

.site-header .site-header__top {
  display: none;
}


/* Top bar slide away */
html.snapped .site-header__top {
  display: none!important;
}

/* Main bar shift */
html.snapped .site-header.has-topbar  {
  transform: translateY(0%);
  padding-top: 0px;
  padding-bottom: 0px;
}

/* Performance hint */
.site-header.has-topbar .site-header__main,
.site-header.has-topbar .site-header__top {
  will-change: transform;
}



/* ============================= */
/* TOP BAR */
/* ============================= */

.site-header.has-topbar .site-header__top {
  display: flex;
  align-items: center;          /* hard vertical lock */
  min-height: 40px;
  width: 100%;
  margin: 0 auto;
  gap: 24px;
  padding: 20px 20px;
  border-bottom: 1px solid rgba(0,0,0,0.05);
}

@media screen and (max-width:948px) {
.site-header.has-topbar .site-header__topr {
    display: inline-block;
}
}


/* =====================================================
   SITE HEADER CTA + ADDRESS (HTML-AWARE FIX)
===================================================== */


/* ============================= */
/* CTA WRAPPER */
/* ============================= */

.site-header__cta {
  display: flex;
  align-items: center;          /* vertical centering */
  gap: 15px;                    /* SPACE between address + button */
}



/* ============================= */
/* ADDRESS TOOL-LINK */
/* ============================= */

/* OVERRIDE inline styles safely */
.site-header__cta .tool-links {
  display: flex !important;     /* override inline-flex */
  align-items: center !important;
  /* max-width: none !important; */   /* CRITICAL ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â remove 190px choke */
  /* white-space: nowrap; */
  text-align: center;
}


/* Address link itself */
.site-header__cta .tool-link--address {
  font-size: 14px;
  line-height: 1.3;
  text-align: right;
}


/* ============================= */
/* PHONE CTA BUTTON */
/* ============================= */

.site-header__cta .btn {
  padding: 12px 22px;
  font-size: 14px;
  line-height: 1;
  white-space: nowrap;
}


/* ============================= */
/* MAIN HEADER BAR */
/* ============================= */

.site-header__main {
  display: flex;
  align-items: center;          /* hard vertical lock */
  justify-content: space-between;
  min-height: 80px;
  width: 100%;
  margin: 0 auto;
  gap: 24px;
  position: relative;
  z-index: var(--z-base);
  vertical-align: middle;
}

@media screen and (max-width:948px) {
.site-header__main.align-center {
  justify-content: flex-end!important;
}
}

@media (min-width: 1281px) {
/* Keep nav vertically aligned */
.site-header__main nav {
  display: flex;
  align-items: center;
}
}


/* ============================= */
/* NAV */
/* ============================= */

/* Hover polish (top-level only) */
.site-nav > .nav-list > .nav-item > a:hover {
   opacity: 0.85;
   }

.site-nav {
  display: flex;
}

.nav-list {
  display: flex;
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-item {
  position: relative;
}

.site-nav .nav-item > a {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}

.site-nav .nav-arrow {
  transition: transform .25s ease;
}

/* rotate when dropdown open (if you add class later) */
.site-nav .nav-item:hover > a .nav-arrow {
  transform: rotate(180deg);
}


.mega-dropdown > a:hover .nav-arrow {
  transform: rotate(180deg);
}




/* ==============================
   TOGGLE VISIBILITY
================================ */

.nav-toggle {
  display: none;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 6px;
}

@media (max-width: 1281px) {
  .site-nav,
  .site-header__cta {
  display: none;
  }

  .nav-toggle {
  display: block;
  }
}

/* ==============================
   HAMBURGER ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¾ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ X
================================ */

.nav-toggle__icon {
  width: 24px;
  height: 24px;
}

.nav-toggle__icon line {
  stroke-linecap: round;
  stroke-width: 1.75;

  transform-box: fill-box;
  transform-origin: center;

  transition:
  transform 0.25s ease,
  opacity 0.2s ease,
  stroke-width 0.2s ease;
}

body.nav-open .nav-toggle__icon line:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

body.nav-open .nav-toggle__icon line:nth-child(2) {
  opacity: 0;
}

body.nav-open .nav-toggle__icon line:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

body.nav-open .nav-toggle__icon line {
  stroke-width: 1.25;
}

/* ==============================
   BASE LIST RESET (CMS OVERRIDE)
================================ */

.mobile-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mobile-nav li {
  margin: 0;
  padding: 0;
}


/* ==============================
   ACCORDION STRUCTURE
================================ */

.mobile-menu > .mobile-item {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.mobile-link-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

/* ==============================
   TOGGLE BUTTON (+ / ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â¹ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¾ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢)
================================ */

.mobile-toggle {
  background: none;
  border: 0;
  padding: 6px;
  cursor: pointer;
  color: inherit;
  flex-shrink: 0;
}


.mobile-toggle line {
  transition: opacity 0.2s ease;
}

/* ==============================
   SUBMENUS (TIER 1 + TIER 2)
================================ */

.mobile-submenu,
.mobile-submenu-2 {
  display: none;
  padding-left: 18px;
  overflow: hidden;
  transition: height 0.25s ease;
}

.mobile-item.is-open > .mobile-submenu {
  display: block;
}

.mobile-subitem.is-open > .mobile-submenu-2 {
  display: block;
}

/* ==============================
   PLUS ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¾ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ MINUS LOGIC
================================ */

.mobile-toggle line:first-child {
  opacity: 1; /* plus */
}

.mobile-item.is-open
  > .mobile-link-row
  .mobile-toggle
  line:first-child {
  opacity: 0; /* minus */
}

/* De-emphasize open parents */
.mobile-item.is-open > .mobile-link-row > a {
  font-size: 0.9em;
  opacity: 0.8;
}





/* =========================================================
   LIST ENGINE RESET (CMS BULLETPROOF)
========================================================= */

:where(
  .list-check,
  .list-compare,
  .list-inline,
  .list-links,
  .list-icons,
  .list-features,
  .list-steps
) :is(ul, ol) {
  padding: 0;
  margin: 0;
}

:where(
  .list-check,
  .list-compare,
  .list-inline,
  .list-links,
  .list-icons,
  .list-features,
  .list-steps
) li {
  list-style-type: none;
}

/* =========================================================
   LIST CHECK ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â BASE
========================================================= */

.list-check > ul {
  display: block;
  margin-bottom: 20px;
}

@media (min-width: 949px) {x
  .list-check > ul {
  padding-left: 20px;
  }
}

.list-check > ul > li {
  position: relative;
  display: block;
  overflow: visible;
  left: 15px;
  padding-left: 5px !important;
}


/* =========================================================
   CHECK ICON
========================================================= */

.list-check > ul > li::before {
  content: url("data:image/svg+xml,%3Csvg%20width='23'%20height='17'%20viewBox='0%200%2023%2017'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M21.7562%201.15853C11.7776%2011.0038%206.78824%2015.9264%206.78824%2015.9264C6.78824%2015.9264%204.79251%2013.9574%200.801056%2010.0193'%20stroke='currentColor'%20stroke-width='1.18486'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E");
  position: absolute;
  left: -30px;
  top: 50%;
  transform: translateY(-50%);
  color: currentColor;
}

@media (min-width: 949px) {
  .list-check > ul > li::before {
  top: 18px;
  margin-right: 10px;
  }
}


/* =========================================================
   FIRST ITEM VARIANT
========================================================= */

.list-check > ul > li:first-child::before {
  color: black;
}


/* =========================================================
   TYPOGRAPHY
========================================================= */

.list-check.sb-bold ul li {
  font-weight: 600;
}

.list-check > ul > li a {
  padding: 0;
  letter-spacing: 0;
  font-weight: normal;
  max-width: 100%;
}

@media (min-width: 949px) {
  .list-check > ul > li a {
  text-transform: capitalize;
  }
}


/* =========================================================
   COLUMN / GRID VARIANTS
========================================================= */

.list-check [class*="list-cols"] > ul a {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: uppercase;
  display: inline;
  padding: 0;
}


/* =========================================================
   DISABLE LINK ICONS (CMS SAFETY)
========================================================= */

body:not(.page-app) .content-intro.list-check > ul a::before,
.list-check [class*="list-cols"] > ul a::before {
  display: none;
}


a.btn.white{
  color: #ffffff!important;
  background: rgba(0, 0, 0, 0)!important;
  border-color: #ffffff!important;
}


/* =========================================================
   LIST CHECK ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â CIRCLE VARIANT (RELIABLE COLOR)
   Usage: .list-check.is-circle
========================================================= */


.list-check.is-circle > ul > li {
  position: relative;
  display: block;
  overflow: visible;
  left: 5px;
  padding-left: 18px !important;
}

.list-check.is-circle {
  --check-bg: #758237;     /* circle background */
  --check-color: #ffffff;  /* checkmark color */
  --check-size: 14px;      /* check icon size */
  --circle-size: 28px;     /* circle size */
}

/* spacing */
.list-check.is-circle > ul > li{
  position: relative;
  padding-left: 44px; /* room for circle */
}

/* circle */
.list-check.is-circle > ul > li::before{
  content:"";
  position:absolute;
  left: -20px;
  top: 1.15em;
  width: var(--circle-size);
  height: var(--circle-size);
  border-radius: 999px;
  background: var(--check-bg);
}

/* check (MASK = color-safe) */
.list-check.is-circle > ul > li::after{
  content:"";
  position:absolute;
  left: -19px;
  top: 0.15em;
  width: var(--circle-size);
  height: var(--circle-size);
  background: var(--check-color);

  /* center the mask inside the circle */
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2014%2010'%3E%3Cpath%20d='M13%201L5%209L1%205'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E") center / var(--check-size) var(--check-size) no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2014%2010'%3E%3Cpath%20d='M13%201L5%209L1%205'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E") center / var(--check-size) var(--check-size) no-repeat;
}


/* =========================================================
   LIST COMPARE
========================================================= */

.list-compare {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 1000px;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 24px 10px;
  align-items: center;
  background: rgb(255 255 255 / 50%);
  padding: 40px!important;
  border-radius: 12px;
}

/* headers */
.content .list-compare h3 {
  font-weight: 600;
  text-transform: uppercase;
  font-size: 18px!important;
  opacity: 0.65;
  padding-bottom: 6px;
  /* border-bottom: 1px solid rgba(0,0,0,0.1); */
}

/* rows */
.list-compare li {
  padding: 6px 0;
  border-bottom: 1px solid rgb(29 29 29 / 20%);
}

/* remove bottom border from last row */
.list-compare li:nth-last-child(-n+3) {
  border-bottom: none;
}

/* center icon columns */
.list-compare li:nth-child(3n-1),
.list-compare li:nth-child(3n) {
  text-align: center;
  font-size: 18px;
}

.list-compare {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;

  align-items: end;   /* ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â°ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¸ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¹Ã…â€œÃƒÆ’Ã¢â‚¬Â¹ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â  KEY CHANGE */
}

/* =========================================================
   LOCATIONS LIST ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â CLEANUP + SOCIAL ICON LAYOUT
   Scoped for mobile nav + reusable contexts
========================================================= */

/* Hide name + following breaks/links */
.mobile-nav .locations_list .location_name + br,
.mobile-nav .locations_list .location_name + a {
  display: none !important;
}

/* Base link spacing */
.mobile-nav .locations_list a {
  display: block !important;
  padding: 25px 0 5px;
  line-height: 0 !important;
}

/* External links (social / maps) */
.mobile-nav .locations_list a[target="_blank"] {
  padding: 16px 0 0;
}

/* Location text blocks */
.mobile-nav .locations_list span {
  display: block !important;
  margin: 0 !important;
  padding-bottom: 20px;
  line-height: 25px !important;
}

/* =========================================================
   SOCIAL MODULE ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â FLEX, NO MARGIN HACKS
========================================================= */

.mobile-nav .locations_list .social-module {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  text-align: initial;
  margin-top: 10px !important;
  margin-bottom: 40px !important;
}

/* Desktop adjustment */
@media (min-width: 949px) {
  .mobile-nav .locations_list .social-module {
  margin-bottom: 10px !important;
  }

  .mobile-nav .locations_list .social-module span {
  display: block !important;
  padding-top: 0;
  line-height: 15px !important;
  }
}

/* =========================================================
   SOCIAL ICON LINKS ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â CENTERED SQUARES
========================================================= */

.mobile-nav .locations_list .social-module a[target="_blank"] {
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  line-height: 1;
  text-decoration: none;
  position: relative;
}

/* Icon normalization */
.mobile-nav .locations_list .social-module a[target="_blank"] i {
  line-height: 0 !important;
}



.mobile-nav .locations_list span {
  padding-bottom: 10px!important;
  line-height: 15px!important;
}

.mobile-nav span.location_name {
  font-size: 18px!important;
  max-width: 80%;
  padding-bottom: 0px !important;
  line-height: 25px !important;
}

.mobile-nav .locations_list {
  margin-top: 35px!important;
  padding: 0px 20px;
}

.mobile-nav .locations_list a {
  font-size: 13px;
  line-height: 2px!important;
  font-weight: 300!important;
}


.mobile-nav .locations_list .social-module {
  padding-top: 0px!important;
  margin-bottom: 10px!important;
}

.mobile-nav .locations_list div span a {
  padding: 0px;
  background: transparent;
}


/* =========================================================
   FORMS ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â UNIFIED STYLING (sb-formbuilder + sb-contactform)
   CMS-safe ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ legacy-safe ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ no markup assumptions
========================================================= */

/* base */
.sb-formbuilder form,
.sb-contactform form {
  width: 100%;
}

.sb-formbuilder fieldset,
.sb-contactform fieldset {
  border: 0;
  padding: 0;
  margin: 0;
}

/* field blocks (covers .sb-formfield + plain <p>) */
.sb-formbuilder p,
.sb-contactform p {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 6px;
}

/* labels */
.sb-formbuilder label,
.sb-contactform label {
  display: inline-block;
  margin: 0;
  font-weight: 500;
  font-size: 1em;
}

/* inputs & textareas */
.sb-formbuilder input[type="text"],
.sb-formbuilder input[type="email"],
.sb-formbuilder input[type="tel"],
.sb-formbuilder textarea,
.sb-formbuilder .form-control,

.sb-contactform input[type="text"],
.sb-contactform input[type="email"],
.sb-contactform input[type="tel"],
.sb-contactform textarea {
  width: 100%;
  box-sizing: border-box;
}

/* =========================================================
   DATE INPUT ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â NORMALIZE (BOTH FORMS)
========================================================= */

.sb-formbuilder .input-group.date,
.sb-contactform .input-group.date {
  position: relative;
  display: flex;
  align-items: stretch;
  width: 100%;
}

.sb-formbuilder .input-group.date > .form-control,
.sb-contactform .input-group.date > .form-control {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
}

.sb-formbuilder .input-group.date > .input-group-addon,
.sb-contactform .input-group.date > .input-group-addon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  margin-left: 8px;
  border-radius: 6px;
  cursor: pointer;
  border: 1px solid #66a6ce;
  background: #e8f6ff;
}

.sb-formbuilder .input-group-addon .fa-calendar,
.sb-contactform .input-group-addon .fa-calendar {
  line-height: 1;
}

/* =========================================================
   SUBMIT BUTTONS
========================================================= */

.sb-formbuilder .submit,
.sb-contactform .submit {
  margin-top: 12px;
}

.sb-formbuilder input[type="submit"],
.sb-contactform input[type="submit"] {
  width: auto;
}

/* =========================================================
   MOBILE TWEAKS
========================================================= */

@media (max-width: 768px) {
  .sb-formbuilder .input-group.date > .input-group-addon,
  .sb-contactform .input-group.date > .input-group-addon {
  flex: 0 0 44px;
  margin-left: 6px;
  }
}

  .sb-formbuilder .helptext,
  .sb-contactform .helptext {
  display: inline-block;
  padding: 15px 5px 10px 5px;
  font-size: 11px;
  line-height: 1.8em!important;
  text-align: left;
}



/* =========================================================
   Carousel: hero graphic overlay (optional)
========================================================= */
 
 #page-home .carousel-inner .item::after {
   content: "";
   position: absolute;
   right: 6%;
   bottom: 6%;
   width: 600px;
   height: 600px;
   background-repeat: no-repeat;
   background-size: contain;
   background-position: bottom right;
   opacity: 0; /* base hidden */
   pointer-events: none;
   z-index: 2;
   will-change: transform, opacity;
 }
 
 /* keep text above */
 .carousel .item-content {
   position: relative;
   z-index: 3;
 }
 
 /* ENTRANCE ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â SOFT DIAGONAL BOUNCE + FADE */
 
 @keyframes starBounceIn {
   0% {
   opacity: 0;
   transform: translate(18px, 18px) scale(0.96);
   }
   60% {
   opacity: 1;
   transform: translate(-4px, -4px) scale(1.01);
   }
   100% {
   opacity: 1;
   transform: translate(0, 0) scale(1);
   }
 }
 
 /* IDLE FLOAT ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â TRANSFORM ONLY (IMPORTANT)  */
 
 @keyframes starFloat {
   0%   { transform: translate(0, 0); }
   50%  { transform: translate(-6px, -8px); }
   100% { transform: translate(0, 0); }
 }
 
 /* TRIGGER ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â AFTER CAROUSEL READY */
 
 html.carousel-images-ready
 #page-home .carousel-inner .item.active::after {
   opacity: 1; /* ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â°ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¸ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚ÂÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¾Ãƒâ€šÃ‚Â¢ LOCK VISIBLE */
 
   animation:
   starBounceIn 0.9s cubic-bezier(0.22, 1, 0.36, 1) both,
   starFloat 8s ease-in-out infinite;
 
   animation-delay: 0s, 0.9s;
 }
 
 /* MOBILE TUNING */
 
 @media (max-width: 767px) {
   #page-home .carousel-inner .item::after {
   width: 180px;
   height: 180px;
   right: 4%;
   bottom: 4%;
   opacity: 0.9;
   }
 }



 /*==================================================================================*/
 /*  carousel logo */
 /*==================================================================================*/
 
body#page-home .carousel .logo  {
   margin-bottom: 20px;
 }
   
 html.has-carousel-logo body#page-home header #header-logo {
   display: none;
 }
 
body#page-home .carousel .logo {
   margin-left: auto;
   margin-right: auto;
 }
 
 .page-app .logo img {
   display: none;
 }
 
 .page-app .logo {
   display: flex;
   align-items: center;
   justify-content: center;
 
   width: 180px;
   height: 180px;
 }
 
 .page-app .logo::before {
   content: "";
 
   width: 160px;
   height: 160px;
 
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='50' fill='%23666'/%3E%3Ctext x='50' y='55' font-size='12' text-anchor='middle' fill='white' font-family='Arial'%3ELOGO%3C/text%3E%3C/svg%3E");
 
   background-size: contain;
   background-repeat: no-repeat;
   background-position: center;
 }
 
.hero-logo img {
   width: var(--logo-md);   /* default */
   height: auto;
 }
 
 /* =========================================================
  LOGO SIZE MODIFIERS
 ========================================================= */
 
  .logo-sm  .hero-logo img { width: var(--logo-md); }
  .logo-md  .hero-logo img { width: var(--logo-md); }
  .logo-lg  .hero-logo img { width: var(--logo-sm); }
  .logo-xl .hero-logo img { width: var(--logo-md); }

@media (min-width: 949px) {
  .logo-sm  .hero-logo img { width: var(--logo-sm); }
  .logo-md  .hero-logo img { width: var(--logo-md); }
  .logo-lg  .hero-logo img { width: var(--logo-lg); }
  .logo-xl  .hero-logo img { width: var(--logo-xl); }
}
}
 
 /* =========================================================
  BUILDER / EDITOR LOGO PLACEHOLDER
 ========================================================= */
 
 /* Only inside editor iframe */
 body[contenteditable="true"] .logo img {
   display: none;
 }
 
 /* Logo container */
 body[contenteditable="true"] .logo {
   display: flex;
   align-items: center;
   justify-content: center;
 
   width: 180px;
   height: 180px;
 }
 
 /* SVG placeholder */
 body[contenteditable="true"] .logo::before {
   content: "";
 
   width: 160px;
   height: 160px;
 
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='50' fill='%23666'/%3E%3Ctext x='50' y='55' font-size='12' text-anchor='middle' fill='white' font-family='Arial'%3ELOGO%3C/text%3E%3C/svg%3E");
 
   background-size: contain;
   background-repeat: no-repeat;
   background-position: center;
 }
 /* =========================================================
   BUILDER / EDITOR LOGO PLACEHOLDER
  ========================================================= */
  
  /* Only inside editor iframe */
  body[contenteditable="true"] .logo img {
  display: none;
  }
  
  /* Logo container */
  body[contenteditable="true"] .logo {
  display: flex;
  align-items: center;
  justify-content: center;
  
  width: 180px;
  height: 180px;
  }
  
  /* SVG placeholder */
  body[contenteditable="true"] .logo::before {
  content: "";
  
  width: 160px;
  height: 160px;
  
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='50' fill='%23666'/%3E%3Ctext x='50' y='55' font-size='12' text-anchor='middle' fill='white' font-family='Arial'%3ELOGO%3C/text%3E%3C/svg%3E");
  
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  }
  
 
 
 /* =========================================================
  SOCIAL ICONS (ANYWHERE)
 ========================================================= */
 .socials {
   display: inline-flex;
   justify-content: center;
   align-items: center;
   gap: 10px; /* Adjust spacing between icons */
 }

@media screen and (max-width:948px) { 
 .socials {
  display: none;
}
}
 
 .socials a {
   display: flex;
   justify-content: center;
   align-items: center;
   width: 30px; /* Set a uniform width for the icons */
   height: 30px; /* Set a uniform height for the icons */
   border: 0px solid #ccc; /* Add a border color */
   background-color: #f0f0f0; /* Add a background color */
   border-radius: 50%; /* Makes the icons circular */
   text-decoration: none;
   transition: all 0.3s ease; /* Smooth hover effect */
 }
 
 .socials a i {
   font-weight: normal!important;
   font-size: 12px!important; /* Adjust icon size */
   color: #333; /* Icon color */
 }
 
 .socials a:hover {
   background-color: #121212; /* Change background on hover */
   border-color: #121212; /* Change border color on hover */
   color: white; /* Change icon color on hover */
 }
 
 .socials a:hover i {
   color: white!important; /* Change icon color on hover */
 }
 
 .btn + .socials {padding-left: 20px;}


 
/* =========================================================
   BASE
========================================================= */

body,
.body,
.content {
  color: #141414;
  background-color: transparent;
}

body {
  background-color: var(--color-bg-page);
}


/* =========================================================
   LINKS
========================================================= */

.embed a,
.content a,
.sb-module a {
  color: var(--color-brand-primary);
}

a:hover {
  color: var(--color-text-subtle);
}


/* =========================================================
   HEADINGS
========================================================= */

.content h1,
.content h2,
.sb-module h2 {
  color: var(--color-text-primary);
}

.content h3 {
  color: var(--color-text-accent1);
}


/* =========================================================
   HEADER / NAV
========================================================= */

.site-header {
  background: var(--color-header-bg);
}

html.snapped body#page-home .site-header.has-header-overlay {
  background: var(--color-header-bg);
}

/* NAV PANEL */
nav.mobile-nav {
  background: var(--color-brand-primary);
}


/* =========================================================
   HEADER LOGO BASE
========================================================= */

.site-header .logo img {
  width: var(--logo-size, var(--logo-md));
  height: auto;
  transition: width .35s ease;
}


/* =========================================================
   HERO / CAROUSEL LOGO BASE
========================================================= */

.hero-logo img {
  width: var(--hero-logo-size, var(--logo-lg));
  height: auto;
  transition: width .35s ease;
  padding-bottom: 20px;
}


/* =========================================================
   FOOTER
========================================================= */

.footer {
  background-image:
  linear-gradient(var(--color-bg-footer1), var(--color-bg-footer1)),
  url(/img/upload/000_custom_image91.jpg);
}

.footer .footer-box h3,
.footer .footer-box a,
.footer .footer-user-content a,
.footer .footer-box span,
.footer .footer-box h2,
.footer .footerlogoname {
  color: var(--color-text-subtle);
}

.footer {
  color: var(--color-bg-footer1);
}

.footer .footer-box a:hover {
  color: var(--color-brand-primary);
}

.by-optima,
.by-optima a {
  color: var(--color-text-secondary) !important;
}




/* =========================================================
   BTN — TEXT VARIANT (LIGHTWEIGHT LINK BUTTON)
========================================================= */

a.btn-text {
  display: inline-flex;
  align-items: center;

  /* typography */
  font-size: 1.3em;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;

  /* color (token-driven) */
  color: var(--color-text-secondary) !important;
  background: transparent !important;
  border: none !important;

  /* spacing (SAFE — no left push issues) */
  padding: 6px 0;
  margin: 0 12px 0 0;

  /* reset junk */
  box-shadow: none !important;
  text-transform: none;
  border-radius: 0;
  width: auto;

  /* behavior */
  text-decoration: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

/* hover */
a.btn-text:hover {
  opacity: 0.7;
  transform: translateY(1px);
}

/* last one — remove gap */
a.btn-text:last-child {
  margin-right: 0;
}


/* =========================================================
   CAROUSEL
========================================================= */

.carousel .item-content {
  color: var(--color-text-accent2);
}

.carousel-wrapper::before,
.carousel-inner .item::before {
  background: var(--color-overlay-dark);
}

#page-home .carousel-inner .item::after {
  background-image: var(--carousel-bg-image, none);
}

/* =========================================================
   GLOBAL SURFACE MOOD
========================================================= */

body {
  background-image: none;
  background-color: var(--color-bg-page1);
}

.body {
  background: linear-gradient(
  180deg,
  var(--color-bg-page2),
  var(--color-bg-page2)
  );
}


/* =========================================================
   MINI CTA
========================================================= */

.sb-module-mini-cta {
  background: var(--color-brand-secondary) !important;
}


/* =========================================================
   TESTIMONIALS
========================================================= */

.sb-testimonials-row {
  background: transparent !important;
}

.sb-wrap.sb-testimonials-var1-row:not(.sb-maxwidth-row) .sb-module .box {
  background: transparent !important;
}


/* =========================================================
   HOMEPAGE GALLERY BG
========================================================= */

#page-home .sb-feature-gallery-row,
#page-home .sb-gallery-row {
  background: var(--color-brand-primary);
}


/* =========================================================
   CONTACT / FORMS
========================================================= */

#page-home .sb-contactform-row,
#page-home .sb-formbuilder-row {
  background-image: none;
}


/* =========================================================
   MAP SPLIT
========================================================= */

.map-split .contact-block {
  background: var(--color-brand-secondary);
}


/* =========================================================
   NARROW SITE ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â COLUMN SURFACE
========================================================= */


  .container > .columns {
  background: var(--color-bg-footer3);
  }



/* =========================================================
   NAV TUNING
========================================================= */

/* Base nav color */
.tool-links a,
.site-header .site-nav > .nav-list > .nav-item > a {
  color: var(--color-text-nav);
}

/* Interior nav */
body:not(#page-home) .site-header.has-header-overlay.has-nav-interior {
  --color-text-nav: var(--color-text-nav-interior);
}

/* Snapped overlay */
.snapped .site-header.has-header-overlay.has-nav-invert {
  --color-text-nav: var(--color-text-nav-overlay);
}

/* Toggle icon matches nav */
.nav-toggle__icon line {
  stroke: var(--color-text-nav);
}


/* =========================================================
   CAROUSEL CUSTOMIZATION
========================================================= */

#page-home > .container > .carousel-wrapper:first-of-type::before {
  background: var(--color-overlay-light);
}

#page-home .carousel-inner .item::after {
  background-image: url("/img/upload/northstarpediatric_bg_1.webp");
}


/* =========================================================
   GALLERY CARDS
========================================================= */

#page-home .gallery-item-wrap {
  background: transparent;
  box-shadow: -5px 3px 5px rgb(0 0 0 / 0%);
}

#page-home .gallery-item-wrap:hover {
  border-color: var(--color-brand-primary);
  background: var(--color-bg-soft);
  box-shadow: none;
}


/* =========================================================
   FEATURE CARDS
========================================================= */

.sb-feature-cards1-row :where(.embed, .content) .feature-cards1 > div > div {
  background-color: var(--color-brand-soft);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  isolation: isolate;              /* breaks stacking poison */
  will-change: backdrop-filter;    /* tells browser early */
  transform: translateZ(0);         /* forces compositor */
 }

/* =================================================
   FEATURE CARDS — HOVER LIFT + SCALE
================================================= */

.sb-feature-cards1-row :where(.embed, .content) .feature-cards1 > div {
  overflow: visible;
}

.sb-feature-cards1-row :where(.embed, .content) .feature-cards1 > div > div {
  transition: transform .45s cubic-bezier(0.25, 1, 0.33, 1);
  will-change: transform;
}

.sb-feature-cards1-row :where(.embed, .content) .feature-cards1 > div > div:hover {
  transform: scale(1.04) translateY(-4px);
}
  

/* =========================================================
   GLOBAL DECORATIVE GRAPHIC ENGINE
========================================================= */
 
[class*='sb-bg-graphic'].sb-wrap:after {

  background-repeat: no-repeat;
  background-origin: content-box;
  z-index: -1;

  background-position:
  var(--bg-pos-x-mobile, right)
  var(--bg-pos-y-mobile, 0);

  background-size: var(--bg-size-mobile, 200%);
  height: var(--bg-height-mobile, 2400px);
  opacity: var(--bg-opacity-mobile, .1);

  top: var(--bg-top-mobile, 0);
  transform: var(--bg-transform-mobile, scaleX(1));

  left: 50%;
  margin-left: -50vw;
  width: 100vw;
  max-width: 100vw;
}

@media (min-width: 949px) {

  [class*='sb-bg-graphic'].sb-wrap:after {

  background-position:
    var(--bg-pos-x-desktop, right)
    var(--bg-pos-y-desktop, 0);

  background-size: var(--bg-size-desktop, 75%);
  height: var(--bg-height-desktop, 1200px);
  opacity: var(--bg-opacity-desktop, 1);

  top: var(--bg-top-desktop, 0);
  transform: var(--bg-transform-desktop, scaleX(1));
  }

  /* LAYER PROTECTION */
  .sb-feature-cards1-row,
  .sb-testimonials-var1-row,
  .sb-gallery-row,
  .sb-content-row,
  .footer {
  position: relative;
  z-index: 2;
  }

}

/* -----------------------------------------
   Banner Thin ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â Page Background
----------------------------------------- */

html.has-banner-thin:not(#page-home) body {
  background-color: var(--color-bg-page1);
}

/* Banner Thin ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â Carousel Overlay */

body:not(#page-home):not(.body).has-banner-thin > .container > .carousel-wrapper .carousel-inner .item:before,
body:not(#page-home):not(.body).has-banner-thin > .container > .carousel-wrapper:before {
  background: rgb(0 0 0 / 43%);
}


#page-home .columns-inner > :nth-last-child(1 of .sb-gallery-row) .has-breakout .gallery-item:before,
 body#page-home .gallery.var1 .gallery-item:before {
  background: linear-gradient(185deg, #00000000 25%, rgb(3 3 3 / 70%) 95%);
  opacity: 1;
 }


/* BASE STATE (visible) */
.has-topbar {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);

  transition:
    opacity 0.25s ease,
    transform 0.35s cubic-bezier(.22,.61,.36,1),
    visibility 0s linear 0.35s;
}

/* HIDDEN STATE */
.nav-open .has-topbar {

  transform: translateY(-60px);


  transition:
    opacity 0.25s ease,
    transform 0.35s cubic-bezier(.22,.61,.36,1),
    visibility 0s linear 0s;
}

/* =========================================================
   FEATURE LOCATIONS 1
========================================================= */

.feature-locations1 {
  margin-top: 30px;
}

/* Card */
.feature-locations1 .location-card {
}

/* Name */
.feature-locations1 .location_name {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 5px;
  line-height: 1.3;
}

/* Address */
.feature-locations1 .location-address {
  display: block;
  margin-bottom: 5px;
  line-height: 1.6;
  text-decoration: none;
  color: inherit;
  padding: 0px;
  font-weight: 400;
}

.feature-locations1 .location-address:hover {
  opacity: 0.75;
}

/* Contact */
.feature-locations1 .location-contact {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 0px;
}

/* Phone */
.feature-locations1 .location-phone a {
  padding: 0px;
  text-decoration: none;
  color: var(--color-text-secondary);
  font-size: 13px;
  font-weight: 500;
  margin-top: 5px;
}

/* Fax */
.feature-locations1 .location-fax {
  font-size: 13px;
  font-weight: 500;
}

/* Social */
.feature-locations1 .feature-socialmedia {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 15px;
}

.feature-locations1 .feature-socialmedia:empty {
  display: none;
}

.feature-locations1 .feature-socialmedia a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0px;
}

.feature-locations1 .feature-socialmedia i {
  line-height: 1;
}

/* =========================================================
   MOBILE
========================================================= */

.mobile-nav .feature-locations1 .location-card {
  padding: 0px;
}

.mobile-nav .feature-locations1 .location_name {
  font-size: 14px;
}

.mobile-nav .feature-locations1 .location-address,
.mobile-nav .feature-locations1 .location-contact {
  font-size: 12px;
}

.mobile-nav .feature-locations1 .location-card {
  margin-bottom: 25px;
  padding: 0 10px 0px 0px;
}


/* hide both by default */
 .hours-set-1,
 .hours-set-2{
 display:none;
 }
 
 /* first location shows hours 1 */
 .content .location-block:nth-of-type(1) .hours-set-2{
display: none;
 }
 
 /* second location shows hours 2 */
 .content .location-block:nth-of-type(2) .hours-set-1{
display: none;
 }
 
 /* =========================================================
    08. LOAD ANIMATION (FINAL)
 ========================================================= */
 
.hero-logo {
   opacity: 0;
   transform: translateY(14px);
   animation: carouselFadeUp 0.8s ease forwards;
   animation-delay: 0.15s; /* comes after text */
 }
 
 /* Base animation — EXCLUDE logo */
 .carousel .item-content-inner > *:not(.hero-logo) {
   opacity: 0;
   transform: translateY(14px);
   animation: carouselFadeUp 0.8s ease forwards;
 }
 
 /* Stagger delays */
 .carousel .item-content-inner > *:nth-child(1) { animation-delay: 0.15s; }
 .carousel .item-content-inner > *:nth-child(2) { animation-delay: 0.3s; }
 .carousel .item-content-inner > *:nth-child(3) { animation-delay: 0.45s; }
 .carousel .item-content-inner > *:nth-child(4) { animation-delay: 0.6s; }
 
 /* Fade up */
 @keyframes carouselFadeUp {
   to {
     opacity: 1;
     transform: translateY(0);
   }
 }
 
 /* =========================================================
    ANIMATION UTILITIES
 ========================================================= */
 
 /* Base utility */
 .anim {
   animation-fill-mode: forwards;
 }
 
 /* Bounce (used for logo) */
 .hero-logo.anim-bounce {
   animation: uiBounce 0.8s cubic-bezier(.18,.9,.32,1.2) forwards;
   animation-delay: 0.7s;
 }
 
 /* Optional global use (safe) */
 .anim-bounce {
   animation: uiBounce 0.8s cubic-bezier(.18,.9,.32,1.2) forwards;
 }
 
 /* Bounce keyframes */
 @keyframes uiBounce {
 
   0% {
     opacity: 0;
     transform: translateY(30px) scale(0.92);
   }
 
   40% {
     opacity: 1;
     transform: translateY(-8px) scale(1.04);
   }
 
   65% {
     transform: translateY(4px) scale(0.98);
   }
 
   85% {
     transform: translateY(-2px) scale(1.01);
   }
 
   100% {
     opacity: 1;
     transform: translateY(0) scale(1);
   }
 
 }

/* =========================================================
   BLOG — CLEAN + BALANCED (FINAL)
========================================================= */

.post h2.title {
  font-size: 45px!important;
  color: #0c0c0c;
  margin-top: 0px;
  margin-bottom: 16px;
  line-height: 1.2em!important;
  text-transform: capitalize;
  font-style: normal;
}

.posts .post {
  text-align: left;
}

.posts .post img {
  max-width: 100%;
  height: auto;
}

/* Sidebar list */
.sb-blog-row .list li {
  display: block;
  padding: 2px 0;
  border: 0;
}

.sb-blog-row .list li a {
  color: #6f6f6f;
}

.sb-blog-row .list li {
  font-size: 0;
}

.sb-blog-row .list li a {
  font-size: 16px!important;
}

/* Sidebar headings */
.sb-blogarchives h3,
.sb-blogcategories h3 {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 12px;
}

/* Container */
@media (min-width: 949px) {
  .sb-blog-row {
    max-width: 68rem;
    margin: 0 auto;
  }
}

/* =========================================================
   LAYOUT — DESKTOP
========================================================= */
@media (min-width: 949px) {

  .sb-blog-row .col-wrap {
    display: flex;
    gap: 40px;
    align-items: flex-start;
  }

  /* kill inline widths */
  .sb-blog-row .col-wrap > .sb-col {
    width: auto !important;
    max-width: none !important;
  }

  /* MAIN */
  .sb-blog-row .col-wrap > .sb-col:first-child {
    flex: 1 1 auto !important;

    /* 👇 THIS is the divider */
    border-right: 1px solid #e3e3e3;

    /* 👇 THIS centers it visually */
    padding-right: 40px;   /* half gap */
    margin-right: 0px;    /* other half */
  }

  /* SIDEBAR */
  .sb-blog-row .col-wrap > .sb-col:last-child {
    flex: 0 0 200px !important;
  }

}

.time {
  display: block;
  margin-bottom: 40px;
}

/* =========================================================
   BLOG HERO — HIDE ON SINGLE POSTS
========================================================= */

.page-full-post .sb-embed-row {
  display: none;
}

/* =========================================================
   MOBILE — CLEAN STACK
========================================================= */

@media (max-width: 948px) {

  .sb-blog-row .col-wrap {
    display: block;
  }

  .sb-blog-row .col-wrap::after {
    display: none;
  }

  .sb-blog-row .col-wrap > .sb-col {
    width: 100% !important;
    max-width: none !important;
  }

  .sb-blog-row .col-wrap > .sb-col:last-child {
    margin-top: 30px;
  }

}

/* =========================================================
   BREADCRUMB — CLEAN / MINIMAL
========================================================= */

.breadcrumb {
  font-size: 16px;
  color: #8a8a8a;
  margin: 90px 0px 0px 0px;
  max-width: 68rem;
  background: none;
  padding: 0px;
}

@media (max-width: 948px) {
  .breadcrumb {
  font-size: 12px;
  margin:40px 0px 0px 0px;
  max-width: 68rem;
  background: none;
  padding: 0px 20px;
}
}


.breadcrumb li {
  display: inline;
}

.breadcrumb li + li::before {
  content: " / ";
  margin: 0 6px;
  color: #c2c2c2;
}

.breadcrumb a {
  color: #6f6f6f;
  text-decoration: none;
  transition: color .2s ease;
}

.breadcrumb a:hover {
  color: #000;
}

/* last item */
.breadcrumb li:last-child {
  color: #111;
}

.breadcrumb + .sb-module {
padding: 0px;
}



/*==================================================================================*/
/* legacy -- module -- content tabs */
/*==================================================================================*/

.arrow-tabs iframe body {
  background-color: rgb(0 0 0 / 0%)!important;
}

 .arrow-tabs {
   width: 100%;
   margin: auto;
   padding: 0px;
}
 .arrow-tabs > ul {
   text-align: center;
   font-weight: 500;
   padding: 0;
   position: relative;
   z-index: 1;
   margin-left: 0px;
   margin-right: 0px;
   margin-top: 0px;
   margin-bottom: 60px;
}

 .arrow-tabs > ul > li {
   display: block;
   background: rgb(0 0 0 / 0%);
   padding: 0.6em 0;
   position: relative;
   width: 100%;
   margin: 0;
}

 .arrow-tabs > ul > li a {
  font-weight: 700;
  font-size: 16px;
  line-height: 24px!important;
  display: block;
}

@media screen and (min-width:949px) {
 .arrow-tabs > ul > li a {
  font-weight: 600;
  font-size: 18px;
  line-height: 29px!important;
  display: block;
  }
  
 .arrow-tabs > ul > li {
   display: inline-block;
   width: 33%;
   margin: 0 0 0 -4px;
}
  
}
  
 .arrow-tabs > ul > li:before, .arrow-tabs > ul > li:after {
   opacity: 0;
   transition: 0.3s ease;
}
 .arrow-tabs > ul > li.ui-tabs-active:before, .arrow-tabs > ul > li.ui-tabs-active:after {
   opacity: 1;
}
 .arrow-tabs > ul > li.ui-tabs-active a {
   color: #009994;
}
 .arrow-tabs > ul > li:hover:before, .arrow-tabs > ul > li:focus:before, .arrow-tabs > ul > li:hover:after, .arrow-tabs > ul > li:focus:after {
   opacity: 1;
}
 .arrow-tabs > ul > li:before, .arrow-tabs > ul > li.ui-state-active:hover:before, .arrow-tabs > ul > li.ui-state-active:focus:before {
   content: "";
   position: absolute;
   z-index: -1;
   top: 50%;
   bottom: 0px;
   left: 5px;
   right: 5px;
   /* border-radius: 100px / 10px; */
}
 .arrow-tabs > ul > li:after, .arrow-tabs > ul > li.ui-state-active:hover:after, .arrow-tabs > ul > li.ui-state-active:focus:after {
   content: "";
   background: #fafafa;
   position: absolute;
   width: 12px;
   height: 12px;
   left: 50%;
   bottom: -6px;
   margin-left: -6px;
   transform: rotate(45deg);
  display: none;
}
 .arrow-tabs > ul > li:hover:before, .arrow-tabs > ul > li:focus:before {
}
 .arrow-tabs > ul > li:hover:after, .arrow-tabs > ul > li:focus:after {
   
}
 .arrow-tabs > ul > li:focus {
   outline: none;
}
 .arrow-tabs > ul > li a {
   color: #444;
   text-decoration: none;
}
 .arrow-tabs > ul > li a:focus {
   outline: none;
   text-decoration: none;
}
 .arrow-tabs > ul > li a span {
   position: relative;
   top: 0;
}

 .arrow-tabs.dark > ul > li {
   background: #352624;
}
 .arrow-tabs.dark > ul > li a {
   color: white;
}
 .arrow-tabs.dark > ul > li.ui-tabs-active a {
   color: #009994;
}
 .darkpage {
   background: #352624;
   color: white;
}
 .darkpage, .lightpage {
   padding: 50px 0;
}

 
 

