/* ==========================================================================
   EVO Medical Spa — site framework
   Our replacement for the Elementor/EAEL/theme CSS bundles. Implements the
   class contract the existing markup and frontend scripts rely on, covering
   only what this site uses. Per-page design values live in page-<slug>.css;
   font faces in fonts.css; the photo lightbox in jp-carousel.css.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Design tokens (global kit)
   -------------------------------------------------------------------------- */
.evo-kit {
  --e-global-color-primary: #6EC1E4;
  --e-global-color-secondary: #54595F;
  --e-global-color-text: #7A7A7A;
  --e-global-color-accent: #61CE70;
  --brand-gold: #D2AF76; /* brand gold */
  --brand-gold-light: #E8CA98; /* light gold */
  --brand-blue-gray: #A9B4BF;
  --brand-gray-light: #C6CED4;
  --brand-gray-lighter: #DCE0E4;
  --brand-white: #FFFFFF;
  --brand-charcoal: #242121;
  --brand-slate: #4C647F; /* slate blue */
  --brand-navy: #102D5E; /* navy */
  --e-global-typography-primary-font-family: "Roboto";
  --e-global-typography-primary-font-weight: 600;
  --e-global-typography-secondary-font-family: "Roboto Slab";
  --e-global-typography-secondary-font-weight: 400;
  --e-global-typography-text-font-family: "Roboto";
  --e-global-typography-text-font-weight: 400;
  --e-global-typography-accent-font-family: "Roboto";
  --e-global-typography-accent-font-weight: 500;
  background-color: #4C647F;
}
.evo-kit button,
.evo-kit input[type="button"],
.evo-kit input[type="submit"],
.evo-kit .elementor-button { background-color: var(--brand-gold-light); }
.evo-kit h1 { font-size: 5.1vw; }
.evo-kit h2 { font-size: 4.3vw; }
.evo-kit h3 { font-size: 2.7vw; }
.evo-kit h4 { font-size: 2.1vw; }
.evo-kit h5 { font-size: 1.6vw; }
.evo-kit h6 { font-size: 1.2vw; }
@media (max-width: 1024px) {
  .evo-kit h1 { font-size: 6vw; }
  .evo-kit h2 { font-size: 5vw; }
  .evo-kit h3 { font-size: 4.3vw; }
  .evo-kit h4 { font-size: 3.6vw; }
  .evo-kit h5 { font-size: 3vw; }
  .evo-kit h6 { font-size: 2.5vw; }
}
@media (max-width: 767px) {
  .evo-kit h1 { font-size: 7.5vw; }
  .evo-kit h2 { font-size: 6.9vw; }
  .evo-kit h3 { font-size: 6.7vw; }
  .evo-kit h4 { font-size: 6.4vw; }
  .evo-kit h5 { font-size: 5.8vw; }
  .evo-kit h6 { font-size: 5.2vw; }
}

/* --------------------------------------------------------------------------
   2. Reset + document base
   -------------------------------------------------------------------------- */
html { line-height: 1.15; -webkit-text-size-adjust: 100%; }
*, :after, :before { box-sizing: border-box; }
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji",
    "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #333;
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
html, body { min-height: 100%; display: flex; flex-direction: column; }
body { position: relative; min-height: 100vh; }

h1, h2, h3, h4, h5, h6 {
  margin-block-start: .5rem;
  margin-block-end: 1rem;
  font-family: inherit;
  font-weight: 500;
  line-height: 1.2;
  color: inherit;
}
h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }
p { margin-block-start: 0; margin-block-end: .9rem; }
hr { box-sizing: content-box; height: 0; overflow: visible; }
pre { font-family: monospace, monospace; font-size: 1em; white-space: pre-wrap; }
a { background-color: transparent; text-decoration: none; color: #c36; }
a:active, a:hover { color: #336; }
a:not([href]):not([tabindex]),
a:not([href]):not([tabindex]):focus,
a:not([href]):not([tabindex]):hover { color: inherit; text-decoration: none; }
a:not([href]):not([tabindex]):focus { outline: 0; }
abbr[title] { border-block-end: none; text-decoration: underline dotted; }
b, strong { font-weight: bolder; }
code, kbd, samp { font-family: monospace, monospace; font-size: 1em; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -.25em; }
sup { top: -.5em; }
img { border-style: none; height: auto; max-width: 100%; }
details { display: block; }
summary { display: list-item; }
figcaption { font-size: 16px; color: #333; line-height: 1.4; font-style: italic; font-weight: 400; }
[hidden], template { display: none; }
dd, dl, dt, li, ol, ul {
  margin-block-start: 0; margin-block-end: 0;
  border: 0; outline: 0; font-size: 100%; vertical-align: baseline;
  background: transparent;
}
.clearfix::before, .clearfix::after { content: " "; display: table; clear: both; }

/* Forms */
label { display: inline-block; line-height: 1; vertical-align: middle; }
button, input, optgroup, select, textarea { font-family: inherit; font-size: 1rem; line-height: 1.5; margin: 0; }
input[type=date], input[type=email], input[type=number], input[type=password],
input[type=search], input[type=tel], input[type=text], input[type=url],
select, textarea {
  width: 100%; border: 1px solid #666; border-radius: 3px;
  padding: .5rem 1rem; transition: all .3s;
}
input[type=date]:focus, input[type=email]:focus, input[type=number]:focus,
input[type=password]:focus, input[type=search]:focus, input[type=tel]:focus,
input[type=text]:focus, input[type=url]:focus, select:focus, textarea:focus { border-color: #333; }
button, input { overflow: visible; }
button, select { text-transform: none; }
[type=button], [type=reset], [type=submit], button { width: auto; -webkit-appearance: button; }
[type=button], [type=submit], button {
  display: inline-block; font-weight: 400; color: #c36; text-align: center;
  white-space: nowrap; user-select: none; background-color: transparent;
  border: 1px solid #c36; padding: .5rem 1rem; font-size: 1rem;
  border-radius: 3px; transition: all .3s;
}
[type=button]:focus:not(:focus-visible), [type=submit]:focus:not(:focus-visible),
button:focus:not(:focus-visible) { outline: none; }
[type=button]:focus, [type=button]:hover, [type=submit]:focus, [type=submit]:hover,
button:focus, button:hover { color: #fff; background-color: #c36; text-decoration: none; }
[type=button]:not(:disabled), [type=submit]:not(:disabled), button:not(:disabled) { cursor: pointer; }
fieldset { padding: .35em .75em .625em; }
legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
progress { vertical-align: baseline; }
textarea { overflow: auto; resize: vertical; }
[type=checkbox], [type=radio] { box-sizing: border-box; padding: 0; }
[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button { height: auto; }
[type=search] { -webkit-appearance: textfield; outline-offset: -2px; }
[type=search]::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
select { display: block; }

/* Tables */
table { background-color: transparent; width: 100%; margin-block-end: 15px; font-size: .9em; border-spacing: 0; border-collapse: collapse; }
table td, table th { padding: 15px; line-height: 1.5; vertical-align: top; border: 1px solid hsla(0, 0%, 50%, .5); }
table th { font-weight: 700; }
table tfoot th, table thead th { font-size: 1em; }
table caption + thead tr:first-child td, table caption + thead tr:first-child th,
table colgroup + thead tr:first-child td, table colgroup + thead tr:first-child th,
table thead:first-child tr:first-child td, table thead:first-child tr:first-child th { border-block-start: 1px solid hsla(0, 0%, 50%, .5); }
table tbody > tr:nth-child(odd) > td, table tbody > tr:nth-child(odd) > th { background-color: hsla(0, 0%, 50%, .07); }
table tbody tr:hover > td, table tbody tr:hover > th { background-color: hsla(0, 0%, 50%, .1); }
table tbody + tbody { border-block-start: 2px solid hsla(0, 0%, 50%, .5); }
@media (max-width: 767px) {
  table table { font-size: .8em; }
  table table td, table table th { padding: 7px; line-height: 1.3; }
  table table th { font-weight: 400; }
}

@media print {
  *, :after, :before { background: transparent !important; color: #000 !important; box-shadow: none !important; text-shadow: none !important; }
  a, a:visited { text-decoration: underline; }
  pre { white-space: pre-wrap !important; }
  blockquote, pre { break-inside: avoid; border: 1px solid #ccc; }
  thead { display: table-header-group; }
  img, tr { break-inside: avoid; }
  h2, h3, p { orphans: 3; widows: 3; }
  h2, h3 { break-after: avoid; }
}

/* --------------------------------------------------------------------------
   3. Page scaffold + accessibility helpers
   -------------------------------------------------------------------------- */
:root { --direction-multiplier: 1; --page-title-display: block; }
h1.entry-title { display: var(--page-title-display); }
.page-content a { text-decoration: underline; }
.elementor-screen-only, .screen-reader-text, .screen-reader-text span, .sr-only {
  clip: rect(0, 0, 0, 0); border: 0; height: 1px; margin: -1px;
  overflow: hidden; padding: 0; position: absolute; top: -10000em; width: 1px;
}
.screen-reader-text:focus {
  background-color: #eee; clip: auto !important; clip-path: none; color: #333;
  display: block; font-size: 1rem; height: auto; left: 5px; line-height: normal;
  padding: 12px 24px; text-decoration: none; top: 5px; width: auto; z-index: 100000;
}
.page-header .entry-title, body:not([class*=elementor-page-]) .site-main {
  margin-inline: auto; width: 100%;
}
@media (max-width: 575px) { .page-header .entry-title, body:not([class*=elementor-page-]) .site-main { padding-inline: 10px; } }
@media (min-width: 576px) { .page-header .entry-title, body:not([class*=elementor-page-]) .site-main { max-width: 500px; } }
@media (min-width: 768px) { .page-header .entry-title, body:not([class*=elementor-page-]) .site-main { max-width: 600px; } }
@media (min-width: 992px) { .page-header .entry-title, body:not([class*=elementor-page-]) .site-main { max-width: 800px; } }
@media (min-width: 1200px) { .page-header .entry-title, body:not([class*=elementor-page-]) .site-main { max-width: 1140px; } }
.elementor-location-header:before, .elementor-location-footer:before { content: ""; display: table; clear: both; }
.elementor-theme-builder-content-area { height: 400px; }

/* --------------------------------------------------------------------------
   4. Elementor element basics
   -------------------------------------------------------------------------- */
.elementor *, .elementor :after, .elementor :before { box-sizing: border-box; }
.elementor a { box-shadow: none; text-decoration: none; }
.elementor hr { background-color: transparent; margin: 0; }
.elementor img { border: none; border-radius: 0; box-shadow: none; height: auto; max-width: 100%; }
.elementor embed, .elementor iframe, .elementor object, .elementor video {
  border: none; line-height: 1; margin: 0; max-width: 100%; width: 100%;
}
.elementor-widget iframe { max-height: 100% !important; }
.elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure { margin: 0; }
.elementor-invisible { visibility: hidden; }

.elementor-element {
  --widgets-spacing: 20px 20px;
  --widgets-spacing-row: 20px;
  --widgets-spacing-column: 20px;
  --flex-direction: initial;
  --flex-wrap: initial;
  --justify-content: initial;
  --align-items: initial;
  --align-content: initial;
  --gap: initial;
  --flex-basis: initial;
  --flex-grow: initial;
  --flex-shrink: initial;
  --order: initial;
  --align-self: initial;
  align-self: var(--align-self);
  flex-basis: var(--flex-basis);
  flex-grow: var(--flex-grow);
  flex-shrink: var(--flex-shrink);
  order: var(--order);
}
.elementor-element:where(.e-con-full, .elementor-widget) {
  align-content: var(--align-content);
  align-items: var(--align-items);
  flex-direction: var(--flex-direction);
  flex-wrap: var(--flex-wrap);
  gap: var(--row-gap) var(--column-gap);
  justify-content: var(--justify-content);
}

/* Text alignment helpers */
.elementor-align-center { text-align: center; }
.elementor-align-right { text-align: right; }
.elementor-align-left { text-align: left; }
.elementor-align-center .elementor-button, .elementor-align-left .elementor-button,
.elementor-align-right .elementor-button { width: auto; }
@media (max-width: 1024px) {
  .elementor-tablet-align-center { text-align: center; }
  .elementor-tablet-align-left { text-align: left; }
  .elementor-tablet-align-center .elementor-button, .elementor-tablet-align-left .elementor-button { width: auto; }
  .elementor-tablet-align-justify .elementor-button { width: 100%; }
}
@media (max-width: 767px) {
  .elementor-mobile-align-center { text-align: center; }
  .elementor-mobile-align-center .elementor-button { width: auto; }
  .elementor-mobile-align-justify .elementor-button { width: 100%; }
}

/* Responsive visibility */
@media (max-width: 767px) { .elementor .elementor-hidden-mobile { display: none; } }
@media (min-width: 768px) and (max-width: 1024px) { .elementor .elementor-hidden-tablet { display: none; } }
@media (min-width: 1025px) { .elementor .elementor-hidden-desktop { display: none; } }

/* --------------------------------------------------------------------------
   5. Legacy layout: sections / columns
   -------------------------------------------------------------------------- */
.elementor-section { position: relative; flex: 1; }
.elementor-section .elementor-container { display: flex; margin-inline: auto; position: relative; }
@media (max-width: 1024px) { .elementor-section .elementor-container { flex-wrap: wrap; } }
.elementor-section.elementor-section-boxed > .elementor-container { max-width: 1140px; }
@media (max-width: 1024px) { .elementor-section.elementor-section-boxed > .elementor-container { max-width: 1024px; } }
@media (max-width: 767px) { .elementor-section.elementor-section-boxed > .elementor-container { max-width: 767px; } }
.elementor-section.elementor-section-stretched { position: relative; width: 100%; }
.elementor-section.elementor-section-items-middle > .elementor-container { align-items: center; }

.elementor-column { display: flex; min-height: 1px; position: relative; }
.elementor:not(.elementor-bc-flex-widget) .elementor-widget-wrap { display: flex; }
.elementor-widget-wrap { align-content: flex-start; flex-wrap: wrap; position: relative; width: 100%; }
.elementor-widget-wrap > .elementor-element { width: 100%; }
.elementor-widget-wrap.e-swiper-container { width: calc(100% - (var(--e-column-margin-left, 0px) + var(--e-column-margin-right, 0px))); }
.elementor-widget-wrap .elementor-element.elementor-widget__width-initial { max-width: 100%; }
@media (max-width: 767px) {
  .elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-initial { max-width: 100%; }
}

.elementor-column-gap-narrow > .elementor-column > .elementor-element-populated { padding: 5px; }
.elementor-column-gap-default > .elementor-column > .elementor-element-populated { padding: 10px; }
.elementor-column-gap-extended > .elementor-column > .elementor-element-populated { padding: 15px; }
.elementor-column-gap-wide > .elementor-column > .elementor-element-populated { padding: 20px; }
.elementor-column-gap-wider > .elementor-column > .elementor-element-populated { padding: 30px; }
.elementor-inner-section .elementor-column-gap-no .elementor-element-populated { padding: 0; }

@media (min-width: 768px) {
  .elementor-column.elementor-col-25 { width: 25%; }
  .elementor-column.elementor-col-33 { width: 33.333%; }
  .elementor-column.elementor-col-50 { width: 50%; }
  .elementor-column.elementor-col-100 { width: 100%; }
}
@media (max-width: 767px) {
  .elementor-column { width: 100%; }
  .elementor-reverse-mobile > .elementor-container > :first-child { order: 10; }
  .elementor-reverse-mobile > .elementor-container > :nth-child(2) { order: 9; }
  .elementor-reverse-mobile > .elementor-container > :nth-child(3) { order: 8; }
  .elementor-reverse-mobile > .elementor-container > :nth-child(4) { order: 7; }
  .elementor-reverse-mobile > .elementor-container > :nth-child(5) { order: 6; }
  .elementor-reverse-mobile > .elementor-container > :nth-child(6) { order: 5; }
}

/* Widget vertical rhythm */
.elementor-widget { position: relative; }
.elementor-widget:not(:last-child) { --kit-widget-spacing: 20px; margin-block-end: var(--kit-widget-spacing, 20px); }
.elementor-widget:not(:last-child).elementor-widget__width-initial { margin-block-end: 0; }
.elementor-widget:not(:has(.elementor-widget-container)) .elementor-widget-container { overflow: hidden; }

/* Basic grid helper (social icons a.o.) */
.elementor-grid { display: grid; grid-column-gap: var(--grid-column-gap); grid-row-gap: var(--grid-row-gap); }
.elementor-grid .elementor-grid-item { min-width: 0; }
.elementor-grid-0 .elementor-grid { display: inline-block; margin-block-end: calc(-1 * var(--grid-row-gap)); width: 100%; word-spacing: var(--grid-column-gap); }
.elementor-grid-0 .elementor-grid .elementor-grid-item { display: inline-block; margin-block-end: var(--grid-row-gap); word-break: break-word; }
.elementor .e-grid-base { display: grid; }
@media (max-width: 767px) { .elementor .e-grid-base { grid-template-columns: repeat(1, 1fr); } }

/* --------------------------------------------------------------------------
   6. Flexbox/grid containers (.e-con)
   -------------------------------------------------------------------------- */
.e-con {
  --border-radius: 0;
  --border-top-width: 0px;
  --border-right-width: 0px;
  --border-bottom-width: 0px;
  --border-left-width: 0px;
  --border-style: initial;
  --border-color: initial;
  --container-widget-width: 100%;
  --container-widget-height: initial;
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
  --container-max-width: 1140px;
  --content-width: min(100%, var(--container-max-width, 1140px));
  --width: 100%;
  --min-height: initial;
  --height: auto;
  --text-align: initial;
  --margin-top: 0px;
  --margin-right: 0px;
  --margin-bottom: 0px;
  --margin-left: 0px;
  --padding-top: var(--container-default-padding-top, 10px);
  --padding-right: var(--container-default-padding-right, 10px);
  --padding-bottom: var(--container-default-padding-bottom, 10px);
  --padding-left: var(--container-default-padding-left, 10px);
  --position: relative;
  --z-index: revert;
  --overflow: visible;
  --gap: var(--widgets-spacing, 20px);
  --row-gap: var(--widgets-spacing-row, 20px);
  --column-gap: var(--widgets-spacing-column, 20px);
  --overlay-mix-blend-mode: initial;
  --overlay-opacity: 1;
  --overlay-transition: 0.3s;
  --e-con-grid-template-columns: repeat(3, 1fr);
  --e-con-grid-template-rows: repeat(2, 1fr);
  --flex-wrap-mobile: wrap;
  border-radius: var(--border-radius);
  height: var(--height);
  min-height: var(--min-height);
  min-width: 0;
  overflow: var(--overflow);
  position: var(--position);
  width: var(--width);
  z-index: var(--z-index);
}
@media (max-width: 1024px) { .e-con { --container-max-width: 1024px; } }
@media (max-width: 767px) { .e-con { --container-max-width: 767px; } }
.e-con {
  --margin-block-start: var(--margin-top);
  --margin-block-end: var(--margin-bottom);
  --margin-inline-start: var(--margin-left);
  --margin-inline-end: var(--margin-right);
  --padding-inline-start: var(--padding-left);
  --padding-inline-end: var(--padding-right);
  --padding-block-start: var(--padding-top);
  --padding-block-end: var(--padding-bottom);
  --border-block-start-width: var(--border-top-width);
  --border-block-end-width: var(--border-bottom-width);
  --border-inline-start-width: var(--border-left-width);
  --border-inline-end-width: var(--border-right-width);
  margin-block-start: var(--margin-block-start);
  margin-block-end: var(--margin-block-end);
  margin-inline-start: var(--margin-inline-start);
  margin-inline-end: var(--margin-inline-end);
  padding-inline-start: var(--padding-inline-start);
  padding-inline-end: var(--padding-inline-end);
}
:is(.elementor-section-wrap, [data-elementor-id]) > .e-con {
  --margin-left: auto;
  --margin-right: auto;
  max-width: min(100%, var(--width));
}
.e-con.e-flex {
  --flex-direction: column;
  --flex-basis: auto;
  --flex-grow: 0;
  --flex-shrink: 1;
  flex: var(--flex-grow) var(--flex-shrink) var(--flex-basis);
}
.e-con, .e-con > .e-con-inner { display: var(--display); }
.e-con-full, .e-con > .e-con-inner {
  padding-block-start: var(--padding-block-start);
  padding-block-end: var(--padding-block-end);
  text-align: var(--text-align);
}
.e-con-full.e-flex, .e-con.e-flex > .e-con-inner { flex-direction: var(--flex-direction); }
.e-con.e-flex > .e-con-inner {
  align-content: var(--align-content);
  align-items: var(--align-items);
  align-self: auto;
  flex-basis: auto;
  flex-grow: 1;
  flex-shrink: 1;
  flex-wrap: var(--flex-wrap);
  justify-content: var(--justify-content);
}
.e-con.e-grid { --grid-justify-content: start; --grid-align-content: start; --grid-auto-flow: row; }
.e-con.e-grid, .e-con.e-grid > .e-con-inner {
  align-content: var(--grid-align-content);
  align-items: var(--align-items);
  grid-auto-flow: var(--grid-auto-flow);
  grid-template-columns: var(--e-con-grid-template-columns);
  grid-template-rows: var(--e-con-grid-template-rows);
  justify-content: var(--grid-justify-content);
  justify-items: var(--justify-items);
}
.e-con.e-grid > .e-con-inner { align-items: var(--align-items); justify-items: var(--justify-items); }
.e-con-boxed.e-flex { align-content: normal; align-items: normal; flex-direction: column; flex-wrap: nowrap; justify-content: normal; }
.e-con-boxed.e-grid { grid-template-columns: 1fr; grid-template-rows: 1fr; justify-items: legacy; }
.e-con-boxed { gap: initial; text-align: initial; }
.e-con > .e-con-inner {
  gap: var(--row-gap) var(--column-gap);
  height: 100%;
  margin: 0 auto;
  max-width: var(--content-width);
  padding-inline: 0;
  width: 100%;
}
@media (max-width: 767px) {
  .e-con.e-flex { --width: 100%; --flex-wrap: var(--flex-wrap-mobile); }
}

/* container borders / overlay pseudo-element */
.e-con:before,
:is(.e-con, .e-con > .e-con-inner) > .elementor-background-video-container:before {
  border-block-start-width: var(--border-block-start-width);
  border-block-end-width: var(--border-block-end-width);
  border-inline-start-width: var(--border-inline-start-width);
  border-inline-end-width: var(--border-inline-end-width);
  border-color: var(--border-color);
  border-radius: var(--border-radius);
  border-style: var(--border-style);
  content: var(--background-overlay);
  display: block;
  height: max(100% + var(--border-top-width) + var(--border-bottom-width), 100%);
  left: calc(0px - var(--border-left-width));
  mix-blend-mode: var(--overlay-mix-blend-mode);
  opacity: var(--overlay-opacity);
  position: absolute;
  top: calc(0px - var(--border-top-width));
  transition: var(--overlay-transition, .3s);
  width: max(100% + var(--border-left-width) + var(--border-right-width), 100%);
}
.e-con:before { transition: background var(--overlay-transition, .3s), border-radius var(--border-transition, .3s), opacity var(--overlay-transition, .3s); }
:is(.e-con, .e-con > .e-con-inner) > .elementor-background-video-container {
  border-block-start-width: var(--border-block-start-width);
  border-block-end-width: var(--border-block-end-width);
  border-inline-start-width: var(--border-inline-start-width);
  border-inline-end-width: var(--border-inline-end-width);
  border-color: var(--border-color);
  border-radius: var(--border-radius);
  border-style: var(--border-style);
  height: max(100% + var(--border-top-width) + var(--border-bottom-width), 100%);
  left: calc(0px - var(--border-left-width));
  top: calc(0px - var(--border-top-width));
  width: max(100% + var(--border-left-width) + var(--border-right-width), 100%);
}
:is(.e-con, .e-con > .e-con-inner) > .elementor-background-video-container:before { z-index: 1; }
@media (max-width: 767px) {
  :is(.e-con, .e-con > .e-con-inner) > .elementor-background-video-container.elementor-hidden-mobile { display: none; }
}

/* widgets inside containers */
.e-con .elementor-widget { min-width: 0; }
.e-con .elementor-widget.elementor-widget { margin-block-end: 0; }
.e-con .elementor-widget:not(:last-child) { --kit-widget-spacing: 0px; }
.e-con .elementor-widget-google_maps, .e-con .elementor-widget-video { width: 100%; }
.e-con > .e-con-inner > .elementor-widget > .elementor-widget-container,
.e-con > .elementor-widget > .elementor-widget-container { height: 100%; }
.e-con.e-con > .e-con-inner > .elementor-widget,
.elementor.elementor .e-con > .elementor-widget { max-width: 100%; }

/* --------------------------------------------------------------------------
   7. Background video + overlay (sections)
   -------------------------------------------------------------------------- */
.elementor .elementor-background-video-container {
  direction: ltr; inset: 0; overflow: hidden; position: absolute; z-index: 0;
  pointer-events: none; transition: opacity 1s;
}
.elementor .elementor-background-video-container.elementor-loading { opacity: 0; }
.elementor .elementor-background-video-hosted {
  inset-block-start: 50%; inset-inline-start: 50%; position: absolute;
  transform: translate(-50%, -50%); object-fit: cover;
}
.elementor .elementor-background-overlay { inset: 0; position: absolute; }

/* Background slideshow (swiper-driven, e.g. slideshow heroes). Doubled class
   beats the later `.swiper { position: relative; z-index: 1; }` base rule. */
.elementor-background-slideshow.elementor-background-slideshow {
  height: 100%; left: 0; position: absolute; top: 0; width: 100%; z-index: 0;
}
.elementor-background-slideshow__slide__image {
  background-position: 50% 50%; background-size: cover; height: 100%; width: 100%;
}

/* --------------------------------------------------------------------------
   8. Section shape dividers
   -------------------------------------------------------------------------- */
.elementor-shape { direction: ltr; left: 0; line-height: 0; overflow: hidden; position: absolute; width: 100%; }
.elementor-shape-top { top: -1px; }
.elementor-shape-top:not([data-negative=false]) svg { z-index: -1; }
.elementor-shape-bottom { bottom: -1px; }
.elementor-shape-bottom:not([data-negative=true]) svg { z-index: -1; }
.elementor-shape[data-negative=false].elementor-shape-bottom,
.elementor-shape[data-negative=true].elementor-shape-top { transform: rotate(180deg); }
.elementor-shape svg { display: block; left: 50%; position: relative; transform: translateX(-50%); width: calc(100% + 1.3px); }
.elementor-shape .elementor-shape-fill { fill: #fff; transform: rotateY(0deg); transform-origin: center; }

/* --------------------------------------------------------------------------
   9. Widgets
   -------------------------------------------------------------------------- */

/* Heading + text */
.elementor-heading-title { line-height: 1; margin: 0; padding: 0; }
.elementor-widget-heading .elementor-heading-title[class*=elementor-size-] > a { color: inherit; font-size: inherit; line-height: inherit; }
.e-heading-base a, .e-paragraph-base a { all: unset; cursor: pointer; }

/* Button */
.elementor-button {
  background-color: #69727d; border-radius: 3px; color: #fff; display: inline-block;
  fill: #fff; font-size: 15px; line-height: 1; padding: 12px 24px;
  text-align: center; transition: all .3s;
}
.elementor-button:focus, .elementor-button:hover, .elementor-button:visited { color: #fff; }
.elementor-button-content-wrapper { display: flex; flex-direction: row; gap: 5px; justify-content: center; }
.elementor-button-icon { align-items: center; display: flex; }
.elementor-button-icon svg { height: auto; width: 1em; }
.elementor-button-icon .e-font-icon-svg { height: 1em; }
.elementor-button-text { display: inline-block; }
.elementor-button.elementor-size-md { border-radius: 4px; font-size: 16px; padding: 15px 30px; }
.elementor-button.elementor-size-lg { border-radius: 5px; font-size: 18px; padding: 20px 40px; }
.elementor-button span { text-decoration: inherit; }

/* Icon */
.elementor-icon { color: #69727d; display: inline-block; font-size: 50px; line-height: 1; text-align: center; transition: all .3s; }
.elementor-icon:hover { color: #69727d; }
.elementor-icon i, .elementor-icon svg { display: block; height: 1em; position: relative; width: 1em; }
.elementor-icon i:before, .elementor-icon svg:before { left: 50%; position: absolute; transform: translateX(-50%); }
.elementor-shape-rounded .elementor-icon { border-radius: 10%; }
.elementor-shape-circle .elementor-icon { border-radius: 50%; }

/* Image */
.elementor-widget-image { text-align: center; }
.elementor-widget-image a { display: inline-block; }
.elementor-widget-image img { display: inline-block; vertical-align: middle; }

/* Image box / icon box */
.elementor-widget-image-box .elementor-image-box-content { width: 100%; }
.elementor-widget-image-box .elementor-image-box-title a { color: inherit; }
.elementor-widget-image-box .elementor-image-box-wrapper { text-align: center; }
.elementor-widget-image-box .elementor-image-box-description { margin: 0; }
.elementor-widget-icon-box .elementor-icon-box-wrapper { display: flex; flex-direction: column; text-align: center; }
.elementor-widget-icon-box .elementor-icon-box-content { flex-grow: 1; width: 100%; }
.elementor-widget-icon-box .elementor-icon-box-title a { color: inherit; }

/* Icon list */
.elementor-widget .elementor-icon-list-items { list-style-type: none; margin: 0; padding: 0; }
.elementor .elementor-element ul.elementor-icon-list-items { padding: 0; }
.elementor-widget .elementor-icon-list-item { margin: 0; padding: 0; position: relative; }
.elementor-widget .elementor-icon-list-item:after { inset-block-end: 0; position: absolute; width: 100%; }
.elementor-widget:not(.elementor-align-right) .elementor-icon-list-item:after { inset-inline-start: 0; }
.elementor-widget:not(.elementor-align-left) .elementor-icon-list-item:after { inset-inline-end: 0; }
.elementor-widget .elementor-icon-list-item,
.elementor-widget .elementor-icon-list-item a { align-items: var(--icon-vertical-align, center); display: flex; font-size: inherit; }
.elementor-widget .elementor-icon-list-icon + .elementor-icon-list-text { align-self: center; padding-inline-start: 5px; }
.elementor-widget .elementor-icon-list-icon { display: flex; inset-block-start: var(--icon-vertical-offset, initial); position: relative; }
.elementor-widget .elementor-icon-list-icon svg { height: var(--e-icon-list-icon-size, 1em); width: var(--e-icon-list-icon-size, 1em); }
.elementor-widget .elementor-icon-list-icon i { font-size: var(--e-icon-list-icon-size); width: 1.25em; }
.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon { text-align: var(--e-icon-list-icon-align); }
.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon svg { margin: var(--e-icon-list-icon-margin, 0 calc(var(--e-icon-list-icon-size, 1em) * .25) 0 0); }
.elementor-widget.elementor-list-item-link-full_width a { width: 100%; }
.elementor-widget.elementor-align-center .elementor-icon-list-item,
.elementor-widget.elementor-align-center .elementor-icon-list-item a { justify-content: center; }
.elementor-widget.elementor-align-center .elementor-icon-list-item:after { margin: auto; }
@media (max-width: 1024px) {
  .elementor-widget.elementor-tablet-align-center .elementor-icon-list-item,
  .elementor-widget.elementor-tablet-align-center .elementor-icon-list-item a { justify-content: center; }
  .elementor-widget.elementor-tablet-align-center .elementor-icon-list-item:after { margin: auto; }
  .elementor-widget:not(.elementor-tablet-align-right) .elementor-icon-list-item:after { inset-inline-start: 0; }
  .elementor-widget:not(.elementor-tablet-align-left) .elementor-icon-list-item:after { inset-inline-end: 0; }
}
@media (max-width: 767px) {
  .elementor-widget.elementor-mobile-align-center .elementor-icon-list-item,
  .elementor-widget.elementor-mobile-align-center .elementor-icon-list-item a { justify-content: center; }
  .elementor-widget.elementor-mobile-align-center .elementor-icon-list-item:after { margin: auto; }
  .elementor-widget:not(.elementor-mobile-align-right) .elementor-icon-list-item:after { inset-inline-start: 0; }
  .elementor-widget:not(.elementor-mobile-align-left) .elementor-icon-list-item:after { inset-inline-end: 0; }
}

/* Social icons */
.elementor-widget-social-icons.elementor-grid-0 .elementor-widget-container,
.elementor-widget-social-icons.elementor-grid-0:not(:has(.elementor-widget-container)) { font-size: 0; line-height: 1; }
.elementor-widget-social-icons .elementor-grid {
  grid-column-gap: var(--grid-column-gap, 5px);
  grid-row-gap: var(--grid-row-gap, 5px);
  grid-template-columns: var(--grid-template-columns);
  justify-content: var(--justify-content, center);
  justify-items: var(--justify-content, center);
}
.elementor-icon.elementor-social-icon {
  font-size: var(--icon-size, 25px);
  height: calc(var(--icon-size, 25px) + 2 * var(--icon-padding, .5em));
  line-height: var(--icon-size, 25px);
  width: calc(var(--icon-size, 25px) + 2 * var(--icon-padding, .5em));
}
.elementor-social-icon {
  --e-social-icon-icon-color: #fff;
  align-items: center; background-color: #69727d; cursor: pointer;
  display: inline-flex; justify-content: center; text-align: center;
}
.elementor-social-icon i { color: var(--e-social-icon-icon-color); }
.elementor-social-icon svg { fill: var(--e-social-icon-icon-color); }
.elementor-social-icon:last-child { margin: 0; }
.elementor-social-icon:hover { color: #fff; opacity: .9; }
.elementor-social-icon-facebook, .elementor-social-icon-facebook-f { background-color: #3b5998; }
.elementor-social-icon-google-plus-g { background-color: #dd4b39; }
.elementor-social-icon-instagram { background-color: #262626; }

/* Divider */
.elementor-widget-divider {
  --divider-border-style: none;
  --divider-border-width: 1px;
  --divider-color: #0c0d0e;
  --divider-icon-size: 20px;
  --divider-element-spacing: 10px;
  --divider-pattern-height: 24px;
  --divider-pattern-size: 20px;
  --divider-pattern-url: none;
  --divider-pattern-repeat: repeat-x;
}
.elementor-widget-divider .elementor-divider { display: flex; }
.elementor-widget-divider .elementor-icon { font-size: var(--divider-icon-size); }
.elementor-widget-divider .elementor-divider-separator { direction: ltr; display: flex; margin: 0; }
.elementor-widget-divider:not(.elementor-widget-divider--view-line_text):not(.elementor-widget-divider--view-line_icon) .elementor-divider-separator {
  border-block-start: var(--divider-border-width) var(--divider-border-style) var(--divider-color);
}
.elementor-widget-divider--separator-type-pattern { --divider-border-style: none; }
.elementor-widget-divider--separator-type-pattern.elementor-widget-divider--view-line .elementor-divider-separator,
.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:after,
.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:before,
.elementor-widget-divider--separator-type-pattern:not([class*=elementor-widget-divider--view]) .elementor-divider-separator {
  background-color: var(--divider-color);
  -webkit-mask-image: var(--divider-pattern-url);
  mask-image: var(--divider-pattern-url);
  -webkit-mask-repeat: var(--divider-pattern-repeat);
  mask-repeat: var(--divider-pattern-repeat);
  -webkit-mask-size: var(--divider-pattern-size) 100%;
  mask-size: var(--divider-pattern-size) 100%;
  min-height: var(--divider-pattern-height);
  width: 100%;
}
.elementor-widget-divider--no-spacing { --divider-pattern-size: auto; }
.e-con-inner > .elementor-widget-divider, .e-con > .elementor-widget-divider {
  width: var(--container-widget-width, 100%);
  --flex-grow: var(--container-widget-flex-grow);
}

/* Spacer */
.elementor-column .elementor-spacer-inner { height: var(--spacer-size); }
.e-con-inner > .elementor-widget-spacer, .e-con > .elementor-widget-spacer {
  width: var(--container-widget-width, var(--spacer-size));
  --align-self: var(--container-widget-align-self, initial);
  --flex-shrink: 0;
}
.e-con-inner > .elementor-widget-spacer > .elementor-widget-container,
.e-con > .elementor-widget-spacer > .elementor-widget-container { height: 100%; width: 100%; }
.e-con-inner > .elementor-widget-spacer > .elementor-widget-container > .elementor-spacer,
.e-con > .elementor-widget-spacer > .elementor-widget-container > .elementor-spacer { height: 100%; }
.e-con-inner > .elementor-widget-spacer:not(:has(> .elementor-widget-container)) > .elementor-spacer,
.e-con > .elementor-widget-spacer:not(:has(> .elementor-widget-container)) > .elementor-spacer { height: 100%; }
.e-con-inner > .elementor-widget-spacer > .elementor-widget-container > .elementor-spacer > .elementor-spacer-inner,
.e-con > .elementor-widget-spacer > .elementor-widget-container > .elementor-spacer > .elementor-spacer-inner,
.e-con-inner > .elementor-widget-spacer:not(:has(> .elementor-widget-container)) > .elementor-spacer > .elementor-spacer-inner,
.e-con > .elementor-widget-spacer:not(:has(> .elementor-widget-container)) > .elementor-spacer > .elementor-spacer-inner {
  height: var(--container-widget-height, var(--spacer-size));
}

/* Google maps */
.elementor-widget-google_maps .elementor-widget-container,
.elementor-widget-google_maps:not(:has(.elementor-widget-container)) { overflow: hidden; }
.elementor-widget-google_maps .elementor-custom-embed { line-height: 0; }
.elementor-widget-google_maps iframe { height: 300px; }

/* Video */
.elementor-widget-video .elementor-wrapper { aspect-ratio: var(--video-aspect-ratio); }
.elementor-widget-video .elementor-wrapper iframe,
.elementor-widget-video .elementor-wrapper video { background-color: #000; border: none; display: flex; height: 100%; width: 100%; }
.elementor-widget-video .e-hosted-video .elementor-video { object-fit: cover; }
.elementor-fit-aspect-ratio { position: relative; }

/* Forms (Elementor Pro contract; live forms have been replaced with static
   content + buttons, so only layout + messages are needed) */
.elementor-form-fields-wrapper { display: flex; flex-wrap: wrap; }
.elementor-field-group { align-items: center; flex-wrap: wrap; }
.elementor-field-group.elementor-field-type-submit { align-items: flex-end; }
.elementor-field-group .elementor-field-textual {
  background-color: transparent; border: 1px solid #69727d; color: #1f2124;
  flex-grow: 1; max-width: 100%; vertical-align: middle; width: 100%;
}
.elementor-field-group .elementor-field-textual::placeholder { color: inherit; font-family: inherit; opacity: .6; }
.elementor-field-textual { border-radius: 3px; font-size: 15px; line-height: 1.4; min-height: 40px; padding: 5px 14px; }
.elementor-field-type-tel input { direction: inherit; }
.e-form__buttons { display: flex; flex-wrap: wrap; }
.elementor-button-align-center .e-form__buttons,
.elementor-button-align-center .elementor-field-type-submit { justify-content: center; }
.elementor-button-align-center .elementor-field-type-submit:not(.e-form__buttons__wrapper) .elementor-button { flex-basis: auto; }
.elementor-form .elementor-button { border: none; padding-block: 0; }
.elementor-form .elementor-button-content-wrapper,
.elementor-form .elementor-button > span { display: flex; flex-direction: row; gap: 5px; justify-content: center; }
.elementor-form .elementor-button .elementor-button-content-wrapper { align-items: center; }
.elementor-form .elementor-button .elementor-button-text { white-space: normal; }
.elementor-form .elementor-button.elementor-size-sm { min-height: 40px; }
.elementor-form .elementor-button.elementor-size-md { min-height: 47px; }
.e-form-submit-button-base { cursor: pointer; box-sizing: border-box; }
.e-form-textarea-base:not([data-resizable]) { resize: none; }
form[data-element_type="e-form"].form-state-success [data-element_type="e-form-success-message"] { display: block; }
.elementor-message { font-size: 1em; line-height: 1; margin: 10px 0; }
.elementor-message.elementor-message-danger { color: #d9534f; }

/* Nav menu (markup + dropdown behaviour driven by evo-nav.js) */
.elementor-nav-menu { position: relative; z-index: 2; }
.elementor-nav-menu:after { clear: both; content: " "; display: block; font: 0/0 serif; height: 0; overflow: hidden; visibility: hidden; }
.elementor-nav-menu, .elementor-nav-menu li, .elementor-nav-menu ul {
  display: block; line-height: normal; list-style: none; margin: 0; padding: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.elementor-nav-menu ul { display: none; }
.elementor-nav-menu a, .elementor-nav-menu li { position: relative; }
.elementor-nav-menu li { border-width: 0; }
.elementor-nav-menu a { align-items: center; display: flex; }
.elementor-nav-menu a, .elementor-nav-menu a:focus, .elementor-nav-menu a:hover { line-height: 20px; padding: 10px 20px; }
.elementor-nav-menu a.current { background: #1f2124; color: #fff; }
.elementor-nav-menu ul ul a, .elementor-nav-menu ul ul a:active, .elementor-nav-menu ul ul a:focus, .elementor-nav-menu ul ul a:hover { border-left: 16px solid transparent; }
.elementor-nav-menu .sub-arrow { align-items: center; display: flex; line-height: 1; margin-block: -10px; padding: 10px; padding-inline-end: 0; }
.elementor-nav-menu .sub-arrow i { pointer-events: none; }
.elementor-nav-menu .sub-arrow .e-font-icon-svg { height: 1em; width: 1em; }
.elementor-nav-menu .sub-arrow .e-font-icon-svg.fa-svg-chevron-down { height: .7em; width: .7em; }
.elementor-item:after, .elementor-item:before {
  display: block; position: absolute; transition: .3s;
  transition-timing-function: cubic-bezier(.58, .3, .005, 1);
}
.elementor-item:not(:hover):not(:focus):not(.elementor-item-active):not(.highlighted):after,
.elementor-item:not(:hover):not(:focus):not(.elementor-item-active):not(.highlighted):before { opacity: 0; }
.elementor-item-active:after, .elementor-item-active:before,
.elementor-item.highlighted:after, .elementor-item.highlighted:before,
.elementor-item:focus:after, .elementor-item:focus:before,
.elementor-item:hover:after, .elementor-item:hover:before { transform: scale(1); }
.e--pointer-text.e--animation-float .elementor-item:focus,
.e--pointer-text.e--animation-float .elementor-item:hover { transform: translateY(-8px); }
.elementor-nav-menu--main .elementor-nav-menu a { transition: .4s; }
.elementor-nav-menu--main .elementor-nav-menu a,
.elementor-nav-menu--main .elementor-nav-menu a.highlighted,
.elementor-nav-menu--main .elementor-nav-menu a:focus,
.elementor-nav-menu--main .elementor-nav-menu a:hover { padding: 13px 20px; }
.elementor-nav-menu--main .elementor-nav-menu a.current { background: #1f2124; color: #fff; }
.elementor-nav-menu--main .elementor-nav-menu ul { border-style: solid; border-width: 0; padding: 0; position: absolute; width: 12em; }
.elementor-nav-menu--main .elementor-nav-menu--dropdown .sub-arrow .e-font-icon-svg,
.elementor-nav-menu--main .elementor-nav-menu--dropdown .sub-arrow i { transform: rotate(calc(-90deg * var(--direction-multiplier, 1))); }
.elementor-nav-menu--main .elementor-nav-menu--dropdown .sub-arrow .e-font-icon-svg { fill: currentColor; height: 1em; width: 1em; }
.elementor-nav-menu--layout-horizontal { display: flex; }
.elementor-nav-menu--layout-horizontal .elementor-nav-menu { display: flex; flex-wrap: wrap; }
.elementor-nav-menu--layout-horizontal .elementor-nav-menu a { flex-grow: 1; white-space: nowrap; }
.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li { display: flex; }
/* First-level dropdown only (`> ul`): nested flyouts align to their parent
   item (top: 0, evo-nav-css) and would be shoved a row down by this. */
.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li > ul { top: 100% !important; }
.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li:not(:first-child) > a { margin-inline-start: var(--e-nav-menu-horizontal-menu-item-margin); }
.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li:not(:last-child) > a { margin-inline-end: var(--e-nav-menu-horizontal-menu-item-margin); }
.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li:not(:last-child):after {
  align-self: center;
  border-color: var(--e-nav-menu-divider-color, #000);
  border-left-style: var(--e-nav-menu-divider-style, solid);
  border-left-width: var(--e-nav-menu-divider-width, 2px);
  content: var(--e-nav-menu-divider-content, none);
  height: var(--e-nav-menu-divider-height, 35%);
}
.elementor-nav-menu__align-end .elementor-nav-menu { justify-content: flex-end; margin-inline-start: auto; }
.elementor-widget-nav-menu:not(.elementor-nav-menu--toggle) .elementor-menu-toggle { display: none; }
.elementor-widget-nav-menu .elementor-widget-container,
.elementor-widget-nav-menu:not(:has(.elementor-widget-container)):not([class*=elementor-hidden-]) { display: flex; flex-direction: column; }
.elementor-menu-toggle {
  align-items: center; background-color: rgba(0, 0, 0, .05); border: 0 solid;
  border-radius: 3px; color: #33373d; cursor: pointer; display: flex;
  font-size: var(--nav-menu-icon-size, 22px); justify-content: center; padding: .25em;
}
.elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--open,
.elementor-menu-toggle:not(.elementor-active) .elementor-menu-toggle__icon--close { display: none; }
.elementor-menu-toggle .e-font-icon-svg { fill: #33373d; height: 1em; width: 1em; }
.elementor-menu-toggle svg { fill: var(--nav-menu-icon-color, currentColor); height: auto; width: 1em; }
span.elementor-menu-toggle__icon--close, span.elementor-menu-toggle__icon--open { line-height: 1; }
.elementor-nav-menu--dropdown { background-color: #fff; font-size: 13px; }
.elementor-nav-menu--dropdown.elementor-nav-menu__container {
  margin-top: 10px; overflow-x: hidden; overflow-y: auto;
  transform-origin: top; transition: max-height .3s, transform .3s;
}
.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-sub-item { font-size: .85em; }
.elementor-nav-menu--dropdown a { color: #33373d; }
.elementor-nav-menu--dropdown a.current { background: #1f2124; color: #fff; }
.elementor-nav-menu--dropdown .elementor-item.elementor-item-active,
.elementor-nav-menu--dropdown .elementor-item.highlighted,
.elementor-nav-menu--dropdown .elementor-item:focus,
.elementor-nav-menu--dropdown .elementor-item:hover,
.elementor-sub-item.elementor-item-active, .elementor-sub-item.highlighted,
.elementor-sub-item:focus, .elementor-sub-item:hover { background-color: #3f444b; color: #fff; }
ul.elementor-nav-menu--dropdown a, ul.elementor-nav-menu--dropdown a:focus,
ul.elementor-nav-menu--dropdown a:hover { border-inline-start: 8px solid transparent; text-shadow: none; }
.elementor-nav-menu__text-align-center .elementor-nav-menu--dropdown .elementor-nav-menu a { justify-content: center; }
.elementor-nav-menu--toggle { --menu-height: 100vh; }
.elementor-nav-menu--toggle .elementor-menu-toggle:not(.elementor-active) + .elementor-nav-menu__container { max-height: 0; overflow: hidden; transform: scaleY(0); }
.elementor-nav-menu--toggle .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container { animation: hide-scroll .3s backwards; max-height: var(--menu-height); transform: scaleY(1); }
.elementor-nav-menu--stretch .elementor-nav-menu__container.elementor-nav-menu--dropdown { position: absolute; z-index: 9997; }
@media (max-width: 1024px) {
  .elementor-nav-menu--dropdown-tablet .elementor-nav-menu--main { display: none; }
}
@media (min-width: 1025px) {
  .elementor-nav-menu--dropdown-tablet .elementor-menu-toggle,
  .elementor-nav-menu--dropdown-tablet .elementor-nav-menu--dropdown { display: none; }
  .elementor-nav-menu--dropdown-tablet nav.elementor-nav-menu--dropdown.elementor-nav-menu__container { overflow-y: hidden; }
}
@keyframes hide-scroll {
  0%, to { overflow: hidden; }
}

/* Price table */
.elementor-price-table { text-align: center; }
.elementor-price-table .elementor-price-table__header { background: var(--e-price-table-header-background-color, #555); padding: 20px 0; }
.elementor-price-table .elementor-price-table__heading { color: #fff; font-size: 24px; font-weight: 600; line-height: 1.2; margin: 0; padding: 0; }
.elementor-price-table .elementor-price-table__subheading { color: #fff; font-size: 13px; font-weight: 400; }
.elementor-price-table .elementor-price-table__price {
  align-items: center; color: #555; display: flex; flex-direction: row; flex-wrap: wrap;
  font-size: 65px; font-weight: 800; justify-content: center; padding: 40px 0;
}
.elementor-price-table .elementor-price-table__price .elementor-typo-excluded {
  font-size: medium; font-style: normal; font-weight: 400; letter-spacing: normal;
  line-height: normal; text-transform: none;
}
.elementor-price-table .elementor-price-table__after-price { align-items: flex-start; align-self: stretch; display: flex; flex-direction: column; flex-wrap: wrap; text-align: start; }
.elementor-price-table .elementor-price-table__integer-part { line-height: .8; }
.elementor-price-table .elementor-price-table__currency,
.elementor-price-table .elementor-price-table__fractional-part { font-size: .3em; line-height: 1; }
.elementor-price-table .elementor-price-table__currency { margin-inline-end: 3px; }
.elementor-price-table .elementor-price-table__period { font-size: 13px; font-weight: 400; width: 100%; }
.elementor-price-table .elementor-price-table__features-list { color: var(--e-price-table-features-list-color); line-height: 1; list-style-type: none; margin: 0; padding: 0; }
.elementor-price-table .elementor-price-table__features-list li { font-size: 14px; line-height: 1; margin: 0; padding: 0; }
.elementor-price-table .elementor-price-table__features-list li .elementor-price-table__feature-inner { margin-inline: 15px; }
.elementor-price-table .elementor-price-table__features-list li:not(:first-child):before { border: 0 solid hsla(0, 0%, 48%, .3); content: ""; display: block; margin: 10px 12.5%; }
.elementor-price-table .elementor-price-table__features-list i { font-size: 1.3em; margin-inline-end: 10px; }
.elementor-price-table .elementor-price-table__features-list svg { fill: var(--e-price-table-features-list-color); height: 1.3em; margin-inline-end: 10px; width: 1.3em; }
.elementor-price-table .elementor-price-table__features-list svg ~ * { vertical-align: text-top; }
.elementor-price-table .elementor-price-table__footer { padding: 30px 0; }
.elementor-price-table .elementor-price-table__additional_info { font-size: 13px; line-height: 1.4; margin: 0; }
.elementor-widget-price-table .elementor-widget-container,
.elementor-widget-price-table:not(:has(.elementor-widget-container)) { background-color: #f9fafa; overflow: hidden; }
.elementor-ribbon { height: 150px; inset-block-start: 0; inset-inline: auto 0; overflow: hidden; position: absolute; transform: rotate(90deg); width: 150px; z-index: 1; }
.elementor-ribbon-inner {
  background: #000; font-size: 13px; font-weight: 800; left: 0; line-height: 2;
  margin-block-start: 35px; text-align: center; text-transform: uppercase;
  transform: translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);
  width: 200%;
}
.elementor-ribbon.elementor-ribbon-right { left: auto; right: 0; transform: rotate(90deg); }

/* Nested tabs */
.elementor-widget-n-tabs {
  --n-tabs-color-accent-fallback: #61ce70;
  --n-tabs-color-secondary-fallback: #54595f;
  --n-tabs-default-padding-block: 15px;
  --n-tabs-default-padding-inline: 35px;
  --n-tabs-background-color: transparent;
  --n-tabs-display: flex;
  --n-tabs-direction: column;
  --n-tabs-gap: 10px;
  --n-tabs-heading-display: flex;
  --n-tabs-heading-direction: row;
  --n-tabs-heading-grow: initial;
  --n-tabs-heading-justify-content: center;
  --n-tabs-heading-width: initial;
  --n-tabs-heading-overflow-x: initial;
  --n-tabs-heading-wrap: nowrap;
  --n-tabs-border-width: 1px;
  --n-tabs-border-color: #d5d8dc;
  --n-tabs-content-display: flex;
  --n-tabs-title-color: var(--e-global-color-secondary, var(--n-tabs-color-secondary-fallback));
  --n-tabs-title-color-hover: #fff;
  --n-tabs-title-color-active: #fff;
  --n-tabs-title-background-color: #f1f2f3;
  --n-tabs-title-background-color-hover: var(--e-global-color-accent, var(--n-tabs-color-accent-fallback));
  --n-tabs-title-background-color-active: var(--e-global-color-accent, var(--n-tabs-color-accent-fallback));
  --n-tabs-title-width: initial;
  --n-tabs-title-height: initial;
  --n-tabs-title-font-size: 1rem;
  --n-tabs-title-white-space: initial;
  --n-tabs-title-justify-content-toggle: initial;
  --n-tabs-title-align-items-toggle: center;
  --n-tabs-title-justify-content: center;
  --n-tabs-title-align-items: center;
  --n-tabs-title-text-align: center;
  --n-tabs-title-direction: row;
  --n-tabs-title-gap: 10px;
  --n-tabs-title-flex-grow: 0;
  --n-tabs-title-flex-basis: content;
  --n-tabs-title-flex-shrink: initial;
  --n-tabs-title-order: initial;
  --n-tabs-title-padding-top: var(--n-tabs-default-padding-block);
  --n-tabs-title-padding-bottom: var(--n-tabs-default-padding-block);
  --n-tabs-title-padding-left: var(--n-tabs-default-padding-inline);
  --n-tabs-title-padding-right: var(--n-tabs-default-padding-inline);
  --n-tabs-title-border-radius: initial;
  --n-tabs-title-transition: 0.3s;
  --n-tabs-icon-color: var(--e-global-color-secondary, var(--n-tabs-color-secondary-fallback));
  --n-tabs-icon-color-hover: var(--n-tabs-title-color-hover);
  --n-tabs-icon-color-active: #fff;
  --n-tabs-icon-gap: 5px;
  max-width: 100%;
  width: 100%;
  --n-tabs-title-padding-inline-start: var(--n-tabs-title-padding-left);
  --n-tabs-title-padding-inline-end: var(--n-tabs-title-padding-right);
  --n-tabs-title-padding-block-start: var(--n-tabs-title-padding-top);
  --n-tabs-title-padding-block-end: var(--n-tabs-title-padding-bottom);
}
.elementor-widget-n-tabs .e-n-tabs { display: var(--n-tabs-display); flex-direction: var(--n-tabs-direction); gap: var(--n-tabs-gap); min-width: 0; text-align: start; }
.elementor-widget-n-tabs .e-n-tabs-heading {
  display: var(--n-tabs-heading-display);
  flex-basis: var(--n-tabs-heading-width);
  flex-direction: var(--n-tabs-heading-direction);
  flex-shrink: 0;
  flex-wrap: var(--n-tabs-heading-wrap);
  gap: var(--n-tabs-title-gap);
  justify-content: var(--n-tabs-heading-justify-content);
  overflow-x: var(--n-tabs-heading-overflow-x);
  scrollbar-width: none;
}
.elementor-widget-n-tabs .e-n-tabs-heading::-webkit-scrollbar { display: none; }
.elementor-widget-n-tabs .e-n-tabs-content { display: var(--n-tabs-content-display); flex-grow: 1; min-width: 0; }
.elementor-widget-n-tabs .e-n-tabs-content > .e-con:not(.e-active) { display: none; }
.elementor-widget-n-tabs .e-n-tab-title {
  align-items: var(--n-tabs-title-align-items-toggle, var(--n-tabs-title-align-items));
  background-color: initial;
  border-radius: var(--n-tabs-title-border-radius);
  border-style: none;
  border-width: var(--n-tabs-border-width);
  display: flex;
  flex-basis: var(--n-tabs-title-flex-basis);
  flex-direction: var(--n-tabs-title-direction);
  flex-grow: var(--n-tabs-title-flex-grow);
  flex-shrink: var(--n-tabs-title-flex-shrink);
  gap: var(--n-tabs-icon-gap);
  height: var(--n-tabs-title-height);
  justify-content: var(--n-tabs-title-justify-content-toggle, var(--n-tabs-title-justify-content));
  padding-block-start: var(--n-tabs-title-padding-block-start);
  padding-block-end: var(--n-tabs-title-padding-block-end);
  padding-inline-start: var(--n-tabs-title-padding-inline-start);
  padding-inline-end: var(--n-tabs-title-padding-inline-end);
  position: relative;
  transition: background var(--n-tabs-title-transition), color var(--n-tabs-title-transition), border var(--n-tabs-title-transition), transform var(--n-tabs-title-transition);
  user-select: none;
  white-space: var(--n-tabs-title-white-space);
  width: var(--n-tabs-title-width);
}
.elementor-widget-n-tabs .e-n-tab-title:focus:not(:focus-visible) { outline: none; }
.elementor-widget-n-tabs .e-n-tab-title span i, .elementor-widget-n-tabs .e-n-tab-title span svg { transition: color var(--n-tabs-title-transition), fill var(--n-tabs-title-transition); }
.elementor-widget-n-tabs .e-n-tab-title-text { align-items: center; display: flex; font-size: var(--n-tabs-title-font-size); text-align: var(--n-tabs-title-text-align); }
.elementor-widget-n-tabs .e-n-tab-title[aria-selected=false] { background-color: var(--n-tabs-title-background-color); }
.elementor-widget-n-tabs .e-n-tab-title[aria-selected=false],
.elementor-widget-n-tabs .e-n-tab-title[aria-selected=false] a { color: var(--n-tabs-title-color); }
.elementor-widget-n-tabs .e-n-tab-title[aria-selected=true],
.elementor-widget-n-tabs .e-n-tab-title[aria-selected=true] a { color: var(--n-tabs-title-color-active); }
.elementor-widget-n-tabs [data-touch-mode=false] .e-n-tab-title[aria-selected=false]:hover,
.elementor-widget-n-tabs [data-touch-mode=false] .e-n-tab-title[aria-selected=false]:hover a { color: var(--n-tabs-title-color-hover); }
.elementor-widget-n-tabs [data-touch-mode=true] .e-n-tab-title[aria-selected=false]:hover,
.elementor-widget-n-tabs [data-touch-mode=true] .e-n-tab-title[aria-selected=false]:hover a { color: var(--n-tabs-title-color-active); }
.elementor .elementor-element.elementor-widget-n-tabs:not(:has(> .elementor-widget-container)) > .e-n-tabs[data-touch-mode=false] > .e-n-tabs-heading .e-n-tab-title[aria-selected=false]:hover,
.elementor .elementor-element.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode=false] > .e-n-tabs-heading .e-n-tab-title[aria-selected=false]:hover {
  background-color: var(--n-tabs-title-background-color-hover); background-image: none;
}
.elementor .elementor-element.elementor-widget-n-tabs:not(:has(> .elementor-widget-container)) > .e-n-tabs > .e-n-tabs-heading .e-n-tab-title[aria-selected=true],
.elementor .elementor-element.elementor-widget-n-tabs:not(:has(> .elementor-widget-container)) > .e-n-tabs[data-touch-mode=true] > .e-n-tabs-heading .e-n-tab-title[aria-selected=false]:hover,
.elementor .elementor-element.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading .e-n-tab-title[aria-selected=true],
.elementor .elementor-element.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode=true] > .e-n-tabs-heading .e-n-tab-title[aria-selected=false]:hover {
  background-color: var(--n-tabs-title-background-color-active); background-image: none;
}
@media (max-width: 767px) {
  .elementor.elementor .elementor-widget-n-tabs.e-n-tabs-mobile { --n-tabs-direction: column; --n-tabs-heading-display: contents; --n-tabs-content-display: contents; }
  .elementor.elementor .elementor-widget-n-tabs.e-n-tabs-mobile .e-n-tabs { gap: 0; }
  .elementor.elementor .elementor-widget-n-tabs.e-n-tabs-mobile .e-n-tabs-content > .e-con { order: var(--n-tabs-title-order); }
  .elementor.elementor .elementor-widget-n-tabs.e-n-tabs-mobile .e-n-tab-title { order: var(--n-tabs-title-order); width: auto; }
  .elementor.elementor .elementor-widget-n-tabs.e-n-tabs-mobile .e-n-tab-title:not(:first-child) { margin-block-start: var(--n-tabs-title-gap); }
  .elementor.elementor .elementor-widget-n-tabs.e-n-tabs-mobile .e-n-tab-title[aria-selected=true] { margin-block-end: var(--n-tabs-gap); }
}

/* Flip box */
.elementor-flip-box { height: 280px; perspective: 1000px; position: relative; transform-style: preserve-3d; --e-flip-box-view-framed-stacked-icon-color: #fff; }
@media (max-width: 1024px) { .elementor-flip-box { cursor: pointer; } }
.elementor-flip-box__front { background-color: #1abc9c; }
.elementor-flip-box__back { background-color: #4054b2; display: block; }
.elementor-flip-box__layer { height: 100%; position: absolute; transition: all .6s ease-in-out; width: 100%; }
@media (prefers-reduced-motion: reduce) { .elementor-flip-box__layer { transition-duration: 0s; } }
.elementor-flip-box__layer__overlay {
  align-items: stretch; color: #fff; display: flex; flex-direction: column;
  height: 100%; justify-content: center; padding: 35px; text-align: center; width: 100%;
}
.elementor-flip-box .elementor-icon { color: var(--e-flip-box-view-framed-stacked-icon-color); }
.elementor-flip-box .elementor-icon svg { fill: var(--e-flip-box-view-framed-stacked-icon-color); }
.elementor-flip-box__button.elementor-button { align-self: center; background: transparent; border: 2px solid #fff; cursor: pointer; margin-inline: auto; }
.elementor-flip-box__button.elementor-button:focus-visible,
.elementor-flip-box__button.elementor-button:hover { background: transparent; text-decoration: none; }
.elementor-flip-box--3d .elementor-flip-box__layer__inner { transform: translateZ(90px) scale(.91); }
.elementor-flip-box--3d .elementor-flip-box__layer__overlay { transform: translateZ(.1px); transform-style: preserve-3d; }
.elementor-flip-box--effect-flip .elementor-flip-box { perspective: 1000px; transform-style: preserve-3d; }
.elementor-flip-box--effect-flip .elementor-flip-box__layer { backface-visibility: hidden; transform-style: preserve-3d; }
.elementor-flip-box--effect-flip .elementor-flip-box__front { transform: none; z-index: 1; }
.elementor-flip-box--effect-flip .elementor-flip-box:focus-visible .elementor-flip-box__back,
.elementor-flip-box--effect-flip .elementor-flip-box:focus-within .elementor-flip-box__back,
.elementor-flip-box--effect-flip .elementor-flip-box:hover .elementor-flip-box__back { transform: none; }
.elementor-flip-box--effect-flip.elementor-flip-box--direction-right .elementor-flip-box__back { transform: rotateX(0) rotateY(-180deg); }
.elementor-flip-box--effect-flip.elementor-flip-box--direction-right .elementor-flip-box:focus-visible .elementor-flip-box__front,
.elementor-flip-box--effect-flip.elementor-flip-box--direction-right .elementor-flip-box:focus-within .elementor-flip-box__front,
.elementor-flip-box--effect-flip.elementor-flip-box--direction-right .elementor-flip-box:hover .elementor-flip-box__front { transform: rotateX(0) rotateY(180deg); }
.e-con-inner > .elementor-widget-flip-box, .e-con > .elementor-widget-flip-box { width: var(--container-widget-width); --flex-grow: var(--container-widget-flex-grow); }

/* Gallery (widget skin + the e-gallery layout library its script drives) */
.elementor-gallery__container { min-height: 1px; }
.elementor-gallery-item { border: solid var(--image-border-width) var(--image-border-color); border-radius: var(--image-border-radius); display: block; overflow: hidden; position: relative; text-decoration: none; }
.elementor-gallery-item__content, .elementor-gallery-item__overlay { height: 100%; left: 0; position: absolute; top: 0; width: 100%; }
.elementor-gallery-item__overlay {
  mix-blend-mode: var(--overlay-mix-blend-mode);
  transition-duration: var(--overlay-transition-duration);
  transition-property: mix-blend-mode, transform, opacity, background-color;
}
.elementor-gallery-item__image.e-gallery-image { transition-duration: var(--image-transition-duration); transition-property: filter, transform; }
.elementor-gallery-item__content {
  align-items: center; display: flex; flex-direction: column;
  justify-content: var(--content-justify-content, center);
  padding: var(--content-padding); text-align: var(--content-text-align);
}
.elementor-gallery-item__content > div { transition-duration: var(--content-transition-duration); }
.elementor-gallery-item__description { color: var(--description-text-color, #fff); width: 100%; }
.elementor-gallery-item__title { color: var(--title-text-color, #fff); font-weight: 700; width: 100%; }
.elementor-gallery-item__title + .elementor-gallery-item__description { margin-top: var(--description-margin-top); }
.e-gallery-item.elementor-gallery-item { transition-property: all; }
.e-gallery-item:focus .elementor-gallery__item-overlay-bg,
.e-gallery-item:focus .elementor-gallery__item-overlay-content,
.e-gallery-item:hover .elementor-gallery__item-overlay-bg,
.e-gallery-item:hover .elementor-gallery__item-overlay-content { opacity: 1; }
.e-gallery-container { position: relative; display: flex; flex-wrap: wrap; }
.e-gallery-container:not(.e-gallery-grid) { transition: padding-bottom var(--animation-duration); }
.e-gallery-item { position: relative; flex-grow: 0; flex-shrink: 0; transition-property: all; transition-duration: var(--animation-duration); }
.e-gallery-item:not(:hover) .e-gallery-overlay { display: none; }
.e-gallery-item.e-gallery-item--hidden { transform: scale3d(0, 0, 0); opacity: 0; }
.e-gallery-image { background-position: center center; background-size: cover; width: 100%; transform-origin: center top; transition: var(--animation-duration); }
.e-gallery-overlay {
  position: absolute; inset: 0; display: flex; align-items: center;
  justify-content: space-evenly; flex-wrap: wrap; flex-direction: column;
  color: #fff; background-color: rgba(0, 0, 0, .5);
}
.e-gallery-overlay__title { font-size: 24px; }
.e-gallery-grid:not(.e-gallery--animated) { display: grid; grid-gap: var(--vgap) var(--hgap); grid-template-columns: repeat(var(--columns), 1fr); }
.e-gallery-grid:not(.e-gallery--animated) .e-gallery-item--hidden { position: absolute; }
.e-gallery-grid.e-gallery--animated { padding-bottom: var(--container-aspect-ratio); }
.e-gallery-grid.e-gallery--animated .e-gallery-item {
  --item-width: calc((100% - ((var(--columns) - 1) * var(--hgap))) / var(--columns));
  position: absolute;
  top: calc(((100% / var(--rows)) + (var(--vgap) / var(--rows))) * var(--row));
  width: var(--item-width);
}
.e-gallery-grid .e-gallery-image { padding-bottom: var(--aspect-ratio); }
.e-gallery-justified { padding-bottom: calc(var(--container-aspect-ratio) * 100%); }
.e-gallery-justified .e-gallery-item {
  position: absolute;
  width: calc(var(--item-width) * (100% - var(--hgap) * var(--gap-count)));
  height: var(--item-height);
  top: calc(var(--item-top) + (var(--row) * var(--vgap)));
}
.e-gallery-justified .e-gallery-image { height: 100%; }
.e-gallery-masonry { height: 0; margin-bottom: calc(var(--highest-column-gap-count) * var(--vgap)); }
.e-gallery-masonry .e-gallery-item {
  position: absolute;
  width: calc(100% / var(--columns) - (var(--hgap) * (var(--columns) - 1) / var(--columns)));
  top: calc(var(--percent-height) + (var(--items-in-column) * var(--vgap)));
}
.e-gallery-masonry .e-gallery-image { padding-bottom: var(--item-height); }
.e-gallery--ltr.e-gallery-grid.e-gallery--animated .e-gallery-item { left: calc(var(--item-width) * var(--column) + (var(--hgap) * var(--column))); }
.e-gallery--ltr.e-gallery-justified .e-gallery-item { left: calc(var(--item-start) * (100% - var(--hgap) * var(--gap-count)) + var(--hgap) * var(--item-row-index)); }
.e-gallery--ltr.e-gallery-masonry .e-gallery-item { left: calc((100% / var(--columns) - (var(--hgap) * (var(--columns) - 1) / var(--columns))) * var(--column) + (var(--hgap) * var(--column))); }
.e-gallery--lazyload .e-gallery-image:not(.e-gallery-image-loaded) { filter: opacity(0); transform: scale(.5); }
.e-con-inner > .elementor-widget-gallery, .e-con > .elementor-widget-gallery { width: var(--container-widget-width); --flex-grow: var(--container-widget-flex-grow); }

/* Testimonial carousel */
.elementor-testimonial__image { flex-shrink: 0; }
.elementor-testimonial__image img { border-radius: 999px; box-sizing: content-box; object-fit: cover; }
.elementor-testimonial__footer { display: flex; }
.elementor-testimonial__footer cite { display: flex; flex-direction: column; font-size: 14px; font-style: normal; line-height: 1.5; }
.elementor-testimonial__name { font-weight: 700; }
.elementor-testimonial--layout-image_above .elementor-testimonial { display: flex; flex-direction: column-reverse; }
.elementor-testimonial--layout-image_above .elementor-testimonial__footer { align-items: center; margin-bottom: 25px; }
.elementor-testimonial--layout-image_above .elementor-testimonial__image + cite { margin-inline-start: 20px; }
.elementor-testimonial--align-center .elementor-testimonial { text-align: center; }
.elementor-testimonial--align-center.elementor-testimonial--layout-image_above .elementor-testimonial__footer { justify-content: center; }
.elementor-testimonial--skin-default.elementor-testimonial--layout-image_above .elementor-testimonial__cite { display: flex; flex-direction: column; margin-top: 25px; width: 100%; }
.elementor-widget-testimonial-carousel .swiper-slide { padding: 20px; height: auto; }
.elementor-widget-testimonial-carousel .elementor-testimonial__text { font-size: 1.3em; font-style: italic; line-height: 1.5; }
.elementor-widget-testimonial-carousel .elementor-testimonial__image img { height: 50px; width: 50px; }
.elementor-widget-testimonial-carousel .elementor-main-swiper { width: 95%; }
.elementor-widget-testimonial-carousel .elementor-arrows-yes .elementor-main-swiper { width: calc(95% - 40px); }
.elementor-widget-testimonial-carousel .swiper-wrapper { align-items: stretch; display: flex; }
.elementor-widget-testimonial-carousel.elementor-pagination-type-bullets .swiper { padding-bottom: 40px; }
.elementor-widget-testimonial-carousel .elementor-swiper-button-prev { left: 0; right: unset; }
.elementor-widget-testimonial-carousel .elementor-swiper-button-next { left: unset; right: 0; }
.elementor-widget-testimonial-carousel.elementor-pagination-type-bullets .elementor-swiper-button-next,
.elementor-widget-testimonial-carousel.elementor-pagination-type-bullets .elementor-swiper-button-prev { top: calc(50% - 40px / 2); }

/* Swiper core (the subset the carousels on this site rely on) */
:root { --swiper-theme-color: #007aff; --swiper-navigation-size: 44px; }
.swiper {
  margin-left: auto; margin-right: auto; position: relative; overflow: hidden;
  list-style: none; padding: 0; z-index: 1;
}
.swiper-wrapper {
  position: relative; width: 100%; height: 100%; z-index: 1; display: flex;
  transition-property: transform; box-sizing: content-box;
  transform: translate3d(0, 0, 0);
}
.swiper-vertical > .swiper-wrapper { flex-direction: column; }
.swiper-slide { flex-shrink: 0; width: 100%; height: 100%; position: relative; transition-property: transform; }
.swiper-backface-hidden .swiper-slide { transform: translateZ(0); backface-visibility: hidden; }
.swiper-button-lock { display: none; }
.swiper-pagination { position: absolute; text-align: center; transition: .3s opacity; transform: translate3d(0, 0, 0); z-index: 10; }
.swiper-pagination.swiper-pagination-hidden { opacity: 0; }
.swiper-horizontal > .swiper-pagination-bullets { bottom: 10px; left: 0; width: 100%; }
.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block; border-radius: 50%;
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, .2);
}
button.swiper-pagination-bullet { border: none; margin: 0; padding: 0; box-shadow: none; appearance: none; }
.swiper-pagination-clickable .swiper-pagination-bullet { cursor: pointer; }
.swiper-pagination-bullet:only-child { display: none !important; }
.swiper-pagination-bullet-active { opacity: var(--swiper-pagination-bullet-opacity, 1); background: var(--swiper-pagination-color, var(--swiper-theme-color)); }
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet { margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px); }
.swiper-pagination-lock { display: none; }
.swiper-image-stretch .swiper-slide .swiper-slide-image { width: 100%; }

/* Image carousel + shared swiper glue (Elementor-side hooks) */
.elementor-element, .elementor-lightbox {
  --swiper-theme-color: #000;
  --swiper-navigation-size: 44px;
  --swiper-pagination-bullet-size: 6px;
  --swiper-pagination-bullet-horizontal-gap: 6px;
}
.elementor-element .swiper .swiper-slide figure, .elementor-lightbox .swiper .swiper-slide figure { line-height: 0; }
.elementor-element .swiper .elementor-swiper-button,
.elementor-element .swiper ~ .elementor-swiper-button,
.elementor-lightbox .swiper .elementor-swiper-button,
.elementor-lightbox .swiper ~ .elementor-swiper-button {
  color: hsla(0, 0%, 93%, .9); cursor: pointer; display: inline-flex; font-size: 25px;
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 1;
}
.elementor-element .swiper .elementor-swiper-button svg,
.elementor-element .swiper ~ .elementor-swiper-button svg,
.elementor-lightbox .swiper .elementor-swiper-button svg,
.elementor-lightbox .swiper ~ .elementor-swiper-button svg { fill: hsla(0, 0%, 93%, .9); height: 1em; width: 1em; }
.elementor-element .swiper .elementor-swiper-button-prev,
.elementor-element .swiper ~ .elementor-swiper-button-prev,
.elementor-lightbox .swiper .elementor-swiper-button-prev,
.elementor-lightbox .swiper ~ .elementor-swiper-button-prev { left: 10px; }
.elementor-element .swiper .elementor-swiper-button-next,
.elementor-element .swiper ~ .elementor-swiper-button-next,
.elementor-lightbox .swiper .elementor-swiper-button-next,
.elementor-lightbox .swiper ~ .elementor-swiper-button-next { right: 10px; }
.elementor-element .swiper .elementor-swiper-button.swiper-button-disabled,
.elementor-element .swiper ~ .elementor-swiper-button.swiper-button-disabled,
.elementor-lightbox .swiper .elementor-swiper-button.swiper-button-disabled,
.elementor-lightbox .swiper ~ .elementor-swiper-button.swiper-button-disabled { opacity: .3; }
.elementor-element .swiper .swiper-image-stretch .swiper-slide .swiper-slide-image,
.elementor-lightbox .swiper .swiper-image-stretch .swiper-slide .swiper-slide-image { width: 100%; }
.elementor-element .swiper .swiper-horizontal > .swiper-pagination-bullets,
.elementor-lightbox .swiper .swiper-horizontal > .swiper-pagination-bullets { bottom: 5px; }
.elementor-element :where(.swiper-horizontal) ~ .swiper-pagination-bullets,
.elementor-lightbox :where(.swiper-horizontal) ~ .swiper-pagination-bullets { bottom: 5px; left: 0; width: 100%; }
.elementor-element :where(.swiper-horizontal) ~ .swiper-pagination-bullets .swiper-pagination-bullet,
.elementor-lightbox :where(.swiper-horizontal) ~ .swiper-pagination-bullets .swiper-pagination-bullet { margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px); }
.elementor-element.elementor-pagination-position-outside .swiper,
.elementor-lightbox.elementor-pagination-position-outside .swiper { padding-bottom: 30px; }
.elementor-element.elementor-pagination-position-outside .swiper .elementor-swiper-button,
.elementor-element.elementor-pagination-position-outside .swiper ~ .elementor-swiper-button,
.elementor-lightbox.elementor-pagination-position-outside .swiper .elementor-swiper-button,
.elementor-lightbox.elementor-pagination-position-outside .swiper ~ .elementor-swiper-button { top: calc(50% - 30px / 2); }
.elementor-element .elementor-main-swiper, .elementor-lightbox .elementor-main-swiper { position: static; }
.swiper-pagination-bullets { color: #fff; cursor: default; }
.swiper-slide { border-style: solid; border-width: 0; overflow: hidden; transition-duration: .5s; transition-property: border, background, transform; will-change: transform; }
.swiper-slide a { display: inline; }
.swiper-slide a.elementor-button { display: inline-block; }
.elementor-widget-image-carousel .swiper { position: static; }
.elementor-widget-image-carousel .swiper .swiper-slide figure { line-height: inherit; }
.elementor-widget-image-carousel .swiper-slide { text-align: center; }
.elementor-image-carousel-wrapper:not(.swiper-initialized) .swiper-slide { max-width: calc(100% / var(--e-image-carousel-slides-to-show, 3)); }

/* EAEL advanced accordion (behaviour in EAEL/jQuery; design in page css) */
.elementor-widget-eael-adv-accordion .eael-accordion-content { position: relative; }

/* Embedpress documents (privacy policy) */
:root { --viewer-primary-color: #f2f2f6; --viewer-icons-color: #343434; --viewer-icons-hover-bgcolor: #e5e1e9; }
@media (prefers-color-scheme: dark) {
  :root { --viewer-primary-color: #343434; --viewer-icons-color: #f2f2f6; --viewer-icons-hover-bgcolor: #453838; }
}
.ep-elementor-content { position: relative; display: inline-block; max-width: 100%; }
.ep-embed-content-wraper { width: 100%; position: relative; }
.embedpress-document-embed { position: relative; height: auto !important; }
.embedpress-embed-document-pdf { max-width: 100%; position: relative; border: none; }
[data-type="embedpress/document"] iframe { margin: 0 auto; display: block; }
.ep-file-download-option-masked { position: relative; width: 100%; height: 100%; overflow: hidden; }
.ep-file-download-option-masked iframe { width: 100%; height: 100%; pointer-events: auto; }
.ep-file-download-option-masked:after {
  position: absolute; width: 100%; height: 30px; background: var(--viewer-primary-color);
  z-index: 1; bottom: 0; content: ""; left: 0; pointer-events: none;
}
.ep-file-download-option-masked.ep-file-docx:after { bottom: 0; background: #fff; }
.ep-file-download-option-masked.ep-file-docx.ep-powered-by-enabled:after { bottom: 0; background: #fff; height: 22px; }
.ep-external-doc-icons {
  position: absolute; display: flex; background: var(--viewer-primary-color);
  border-radius: 6px; z-index: 2; bottom: -18px; left: 50%;
  transform: translate(-50%, -50%); padding: 0 10px;
}
.ep-file-download-option-masked.ep-file-docx .ep-external-doc-icons {
  right: 12px; top: 12px; display: flex; flex-direction: column;
  background: var(--viewer-primary-color); border-radius: 6px;
  bottom: auto; left: auto; transform: translate(0);
}
.ep-external-doc-icons svg { width: 30px; height: 30px; cursor: pointer; transition: .3s; padding: 5px; border-radius: 4px; }
.ep-external-doc-icons svg path { fill: var(--viewer-icons-color); }
.ep-external-doc-icons svg:hover { background-color: var(--viewer-icons-hover-bgcolor); border-radius: 4px; }
.ep-doc-minimize-icon svg, .ep-doc-fullscreen-icon svg { padding: 6px; }
.ep-doc-draw-icon svg path { fill: var(--viewer-primary-color); stroke: var(--viewer-icons-color); }
.ep-doc-download-icon, .ep-doc-print-icon, .ep-doc-fullscreen-icon,
.ep-doc-draw-icon, .ep-doc-minimize-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; }
.embedpress-el-powered { text-align: center; margin-top: 10px !important; font-size: 16px !important; font-weight: 700; }
@media only screen and (max-width: 767px) {
  .ep-file-download-option-masked { height: 100%; }
  iframe.embedpress-embed-document-pdf { max-height: 480px; }
}

/* Feather icon font (one arrow glyph used in buttons) */
@font-face {
  font-family: feather;
  src: url(/wp-content/plugins/exclusive-addons-for-elementor/assets/fonts/feather-icon/feather.woff) format('woff'),
       url(/wp-content/plugins/exclusive-addons-for-elementor/assets/fonts/feather-icon/feather.ttf) format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: block;
}
.feather {
  font-family: feather !important; speak: none; font-style: normal;
  font-weight: 400; font-variant: normal; text-transform: none; line-height: 1;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.icon-arrow-right-circle:before { content: "\e911"; }

/* Exclusive Addons resets present on all pages */
.exclusive-addons-elementor { -webkit-font-smoothing: antialiased; }
.exclusive-addons-elementor h2:before { content: none; background: none; height: auto; margin: 0; }
.exclusive-addons-elementor h1:not(.site-title):before { content: none; background: 0 0; height: auto; margin: 0; }

/* Envato kit helpers used by the templates */
.envato-kit-141-top-0 h2, .envato-kit-141-top-0 p { margin-top: 0; }

/* --------------------------------------------------------------------------
   10. Effects: hover + entrance animations
   -------------------------------------------------------------------------- */
.elementor-animation-float { transition-duration: .3s; transition-property: transform; transition-timing-function: ease-out; }
.elementor-animation-float:active, .elementor-animation-float:focus, .elementor-animation-float:hover { transform: translateY(-8px); }
.elementor-animation-grow { transition-duration: .3s; transition-property: transform; }
.elementor-animation-grow:active, .elementor-animation-grow:focus, .elementor-animation-grow:hover { transform: scale(1.1); }

.animated { animation-duration: 1.25s; animation-fill-mode: both; }
.animated.animated-slow { animation-duration: 2s; }
.animated.animated-fast { animation-duration: .75s; }
.animated.fadeIn { animation-name: evo-fade-in; }
.animated.fadeInLeft { animation-name: evo-fade-in-left; }
.animated.fadeInUp { animation-name: evo-fade-in-up; }
@keyframes evo-fade-in {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes evo-fade-in-left {
  0% { opacity: 0; transform: translate3d(-100%, 0, 0); }
  100% { opacity: 1; transform: translateZ(0); }
}
@keyframes evo-fade-in-up {
  0% { opacity: 0; transform: translate3d(0, 100%, 0); }
  100% { opacity: 1; transform: translateZ(0); }
}
@media (prefers-reduced-motion: reduce) {
  .animated { animation: none !important; }
  html * { transition-delay: 0s !important; transition-duration: 0s !important; }
}

/* Sticky (Elementor Pro contract) */
.elementor-sticky--active { z-index: 99; }
.e-con.elementor-sticky--active { z-index: var(--z-index, 99); }

/* Transform controls (set per element in page css) */
.e-transform .elementor-widget-container,
.e-transform:not(:has(.elementor-widget-container)) {
  transform: perspective(var(--e-transform-perspective, 0)) rotate(var(--e-transform-rotateZ, 0)) rotateX(var(--e-transform-rotateX, 0)) rotateY(var(--e-transform-rotateY, 0)) translate(var(--e-transform-translate, 0)) translateX(var(--e-transform-translateX, 0)) translateY(var(--e-transform-translateY, 0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX, 0)) skewY(var(--e-transform-skewY, 0));
  transform-origin: var(--e-transform-origin-y) var(--e-transform-origin-x);
}

/* Google maps embed artifact fix */
div[style*="z-index: 2147483647"] div[style*="border-width: 11px"][style*="position: absolute"][style*="pointer-events: none"] { border-style: none; }
