/*
 * Emovéo — static rebuild of emoveo.ca
 * Plain CSS: base, grid, header, page content, carousels, footer, lightbox.
 * Breakpoints follow the original theme: 1199/1200, 1023/1024, 991/992, 767/768, 550.
 */

:root {
  --gold: #daa520;
  --teal: #4aa3b5;
  --sea: #117777;
  --navy: #110033;
  --orange: #f5a64b;
  --text: #595959;
}

/* ------------------------------------------------------------------ */
/* Base                                                                 */
/* ------------------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }
html { font-size: 10px; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
body {
  margin: 0;
  font-family: Barlow, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 2em;
  color: var(--text);
  background: #fff;
  -webkit-font-smoothing: antialiased;
}
a { color: #000; text-decoration: none; outline: none; transition: all .25s; }
a:hover, a:focus { color: #000; }
p { margin: 0 0 25px; line-height: 36px; }
strong { font-weight: 700; }
img { max-width: 100%; height: auto; vertical-align: middle; border: 0; }
figure { margin: 0; }
iframe { max-width: 100%; border: 0; }
ul { margin: 0 0 10px; }
button { font: inherit; color: inherit; }
h3, h4, h5, h6, .h5 { font-family: Barlow, sans-serif; color: #000; padding: 0; margin: 0 0 8px; }
h3 { font-size: 36px; font-weight: 600; line-height: 48px; margin-bottom: 30px; }
h4 { font-size: 30px; font-weight: 600; line-height: 36px; letter-spacing: -.2px; margin-bottom: 25px; }
h5, .h5 { font-size: 24px; font-weight: 600; line-height: 30px; margin-bottom: 20px; }
h6 { font-size: 20px; font-weight: 600; line-height: 24px; margin-bottom: 15px; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.text-transform { text-transform: uppercase !important; }
.no_deco { text-decoration: none !important; }
.aligncenter { display: block; margin: 5px auto; clear: both; }
img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 .07em !important; vertical-align: -.1em !important; background: none !important; padding: 0 !important; }
.skip-link { position: absolute; left: -9999px; }
@media (max-width: 1023px) {
  body { font-size: 16px; line-height: 24px; }
}
@media (max-width: 769px) {
  img.aligncenter { margin-bottom: 15px !important; }
}
@media (max-width: 550px) {
  h3 { font-size: 30px !important; line-height: 1.2 !important; }
}

#wrapper { position: relative; overflow: hidden; z-index: 100; }

/* ------------------------------------------------------------------ */
/* Grid (WPBakery rows and columns)                                     */
/* ------------------------------------------------------------------ */
.container, .container-fluid { padding-left: 15px; padding-right: 15px; margin-left: auto; margin-right: auto; }
.container::before, .container::after, .container-fluid::before, .container-fluid::after,
.row::before, .row::after, .vc_row::before, .vc_row::after,
.vc_column-inner::before, .vc_column-inner::after, .vc_clearfix::before, .vc_clearfix::after, .clearfix::before, .clearfix::after { content: " "; display: table; }
.container::after, .container-fluid::after, .row::after, .vc_row::after, .vc_column-inner::after, .vc_clearfix::after, .clearfix::after { clear: both; }
@media (min-width: 768px) { .container { width: 750px; } }
@media (min-width: 992px) { .container { width: 970px; } }
@media (min-width: 1200px) { .container { width: 1140px; } }
.container .container { max-width: 100%; }
.container .vc_container { width: 100%; }
.vc_container-fluid .container { max-width: 100%; }
.vc_container, .vc_container-fluid { position: relative; z-index: 10; }
.post-container .vc_container { padding: 0; }
.row { margin-left: -15px; margin-right: -15px; }
.vc_row > .container > .row { padding: 0; }
.vc_row { position: relative; margin-left: -15px; margin-right: -15px; }
.overlap { position: relative; z-index: 15 !important; }
.vc_column_container { width: 100%; padding-left: 0; padding-right: 0; position: relative; min-height: 1px; }
.vc_column_container > .vc_column-inner { box-sizing: border-box; padding-left: 15px; padding-right: 15px; width: 100%; }
@media (min-width: 768px) {
  .vc_col-sm-2, .vc_col-sm-4, .vc_col-sm-5, .vc_col-sm-6, .vc_col-sm-7, .vc_col-sm-8, .vc_col-sm-10, .vc_col-sm-12 { float: left; }
  .vc_col-sm-12 { width: 100%; }
  .vc_col-sm-10 { width: 83.33333333%; }
  .vc_col-sm-8 { width: 66.66666667%; }
  .vc_col-sm-7 { width: 58.33333333%; }
  .vc_col-sm-6 { width: 50%; }
  .vc_col-sm-5 { width: 41.66666667%; }
  .vc_col-sm-4 { width: 33.33333333%; }
  .vc_col-sm-2 { width: 16.66666667%; }
}
@media (min-width: 992px) { .vc_col-md-6 { float: left; width: 50%; } }
@media (min-width: 1200px) { .vc_col-lg-6 { float: left; width: 50%; } }
@media (max-width: 769px) { .vc_col-sm-6:nth-of-type(2n+1) { clear: both; } }
@media (max-width: 767px) { .vc_hidden-xs { display: none !important; } }
.vc_row.vc_column-gap-25 { margin-left: -27.5px; margin-right: -27.5px; }
.vc_row.vc_column-gap-25 > .vc_column_container { padding: 12.5px; }
.vc_row.vc_column-gap-5 { margin-left: -17.5px; margin-right: -17.5px; }
.vc_row.vc_column-gap-5 > .vc_column_container { padding: 2.5px; }
.vc_row-has-fill > .vc_column_container > .vc_column-inner { padding-top: 35px; }
.vc_section { padding-left: 15px; padding-right: 15px; margin-left: -15px; margin-right: -15px; }
.vc_section.vc_section-has-fill { padding-top: 35px; }
.wpb-content-wrapper { margin: 0; padding: 0; border: none; display: block; }
.wpb_content_element { margin-bottom: 35px; }
.wpb_text_column :last-child, .wpb_text_column p:last-child { margin-bottom: 0; }

/* Spacers: the original sets a height per screen size */
.sp { height: var(--lg); }
@media (min-width: 992px) and (max-width: 1025px) { .sp { height: var(--sml); } }
@media (min-width: 768px) and (max-width: 991px) { .sp { height: var(--sm); } }
@media (max-width: 767px) { .sp { height: var(--xs); } }

/* ------------------------------------------------------------------ */
/* Header — desktop                                                     */
/* ------------------------------------------------------------------ */
.stm-header { position: relative; margin-bottom: 60px; font-size: 18px; line-height: 36px; }
.hdr-top { position: relative; z-index: 21; padding: 9px 0 2px; background: #fff; color: #000; }
.hdr-top::after { content: ""; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 1110px; max-width: 100%; height: 1px; background: #bfbfbf; }
.hdr-socials { display: flex; justify-content: flex-end; margin: 0 -8px; }
.social { display: block; width: 30px; height: 30px; line-height: 30px; margin: 0 8px; border-radius: 50%; text-align: center; color: #000; font-size: 16px; }
.social:hover { color: #202a4a; }
.social i { font-style: normal; font-family: 'fa-brands'; font-size: 16px; line-height: 1; display: inline-block; -webkit-font-smoothing: antialiased; }
.ico-fb::before { content: "\f39e"; }
.ico-ig::before { content: "\f16d"; }

.hdr-main { position: relative; z-index: 20; background: #fff; color: #000; transition: all .3s; }
.hdr-main::before { content: ""; position: absolute; inset: 0; border-bottom: 1px solid #bfbfbf; pointer-events: none; }
.hdr-row { position: relative; z-index: 50; display: flex; }
.hdr-logo { display: flex; flex: 1 0 auto; align-items: center; justify-content: flex-start; }
.hdr-logo img { width: 200px; }
.hdr-nav { display: flex; flex-shrink: 0; align-items: center; margin-left: 30px; font-size: 14px; font-weight: 700; }
.hdr-nav ul { list-style: none; margin: 0; padding: 0; }
.hdr-nav > ul { margin: 0 -15px; display: flex; }
.hdr-nav > ul > li { position: relative; }
.hdr-nav > ul > li::before { content: ""; display: block; position: absolute; left: 15px; right: 15px; bottom: -5px; height: 4px; background: var(--gold); opacity: 0; visibility: hidden; pointer-events: none; transition: .25s; }
.hdr-nav > ul > li:hover::before { opacity: 1; visibility: visible; bottom: 0; }
.hdr-nav a { display: block; color: #000; font-weight: 600; text-decoration: none; }
.hdr-nav > ul > li > a { padding: 40px 15px; letter-spacing: 2px; line-height: 36px; font-size: 14px; }
.hdr-nav li:hover > a, .hdr-nav a:hover { color: var(--orange); }
.hdr-nav > ul > li > a:hover { color: var(--gold); }
.hdr-nav .sub-menu {
  position: absolute; top: 102%; left: 15px; width: 260px; padding: 10px 0;
  background: #fff; box-shadow: 0 0 10px rgba(0, 0, 0, .28);
  opacity: 0; visibility: hidden; transition: all 0s;
}
.hdr-nav .sub-menu::after { content: ""; position: absolute; top: -15px; left: 0; width: 260px; height: 15px; }
.hdr-nav > ul > li:hover > .sub-menu { top: 100%; opacity: 1; visibility: visible; transition: .25s; }
.hdr-nav .sub-menu a { padding: 10px 20px; font-size: 14px; font-weight: 600; line-height: 18px; text-transform: uppercase; letter-spacing: .3px; }
.sub-toggle { display: none; }
.hdr-cta { display: flex; flex-shrink: 0; align-items: center; margin-left: 30px; }
.hdr-cta .btn { text-align: center; }

/* Sticky menu bar: hides off-screen after 200px, slides in after 400px (desktop only) */
.sticky-holder { height: 116px; }
.hdr-main.is-fixed { position: fixed; top: 0; left: 0; right: 0; z-index: 99; transform: translateY(-100%); box-shadow: 0 0 10px rgba(0, 0, 0, .05); transition: none; }
.hdr-main.is-fixed.is-shown { transform: translateY(0); transition: .3s; }
.hdr-main.is-shown .logo { display: none !important; }

.hdr-overlay { display: none; }
.mobile-header { display: none; }

/* ------------------------------------------------------------------ */
/* Header — tablet and phone (slide-out menu)                           */
/* ------------------------------------------------------------------ */
@media (max-width: 1023px) {
  .stm-header {
    position: fixed; top: 0; bottom: 0; left: -270px; z-index: 100;
    width: 270px; margin: 0 !important; padding: 16px 0;
    background: #fff; box-shadow: -1px 3px 5px rgba(0, 0, 0, .2);
    overflow-x: hidden; overflow-y: auto;
    font-size: 16px; line-height: 24px;
    transition: all .25s;
  }
  .stm-header.active { left: 0; z-index: 200; }
  .stm-header .container { width: auto; max-width: 100%; padding: 0; display: flow-root; }
  .hdr-top, .hdr-main { padding: 0 !important; transition: none; }
  .hdr-top { background: none; }
  .hdr-top::after { width: 1110px; }
  .sticky-holder { display: none; }
  .hdr-socials { margin: 0 0 30px; padding: 0 7px; justify-content: flex-start; }
  .hdr-row { display: block; }
  .hdr-logo { padding: 0 15px; margin-bottom: 30px; }
  .hdr-logo img { width: 200px; }
  .hdr-nav { display: block; margin: 0 0 30px; padding: 0 15px; }
  .hdr-nav > ul { display: block; margin: 0; }
  .hdr-nav > ul > li { width: 100%; }
  .hdr-nav > ul > li::before { display: none; }
  .hdr-nav > ul > li > a { position: relative; padding: 10px 15px 10px 0; line-height: 24px; }
  .hdr-nav .sub-menu { position: static; display: none; width: 100%; padding: 15px 0; box-shadow: none; opacity: 1; visibility: visible; transition: none; }
  .hdr-nav .has-sub.active > .sub-menu { display: block; }
  .hdr-nav .sub-menu::after { display: none; }
  .sub-toggle { display: block; position: absolute; top: 0; right: 0; width: 50px; height: 100%; font-family: stmicons; font-size: 5px; line-height: 12px; color: #000; }
  .sub-toggle::before { content: "\e683"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) rotate(180deg); transition: all .25s ease; }
  .hdr-cta { display: block; margin: 0 0 30px; padding: 0 15px; }
  .hdr-main.is-shown .logo { display: block !important; }

  .hdr-overlay { display: block; position: fixed; top: 0; bottom: 0; left: 0; right: -100%; z-index: 99; background: rgba(0, 0, 0, .5); opacity: 0; visibility: hidden; transition: .3s; }
  .hdr-overlay.active { right: 0; opacity: 1; visibility: visible; z-index: 19; }

  .mobile-header { display: block; padding: 30px 15px; }
  .mobile-row { display: flex; align-items: center; flex-wrap: nowrap; width: 100%; }
  .mobile-logo { max-width: 40%; min-width: 300px; }
  .mobile-logo img { display: block; }
  .mobile-switcher { position: relative; z-index: 999; margin: 0 0 0 auto; padding: 0 0 0 15px; background: none; border: 0; cursor: pointer; }
  .mobile-switcher span { display: block; width: 28px; height: 4px; margin-bottom: 7px; border-radius: 2px; background: var(--gold); }
  .mobile-switcher span:first-child { position: relative; top: 0; transition: top .3s .3s, transform .3s; }
  .mobile-switcher span:nth-child(2) { opacity: 1; transition: opacity .3s; }
  .mobile-switcher span:last-child { margin-bottom: 0; position: relative; top: 0; transition: top .3s .3s, transform .3s; }
  .mobile-switcher.active span:first-child { top: 11px; transform: rotate(-45deg); transition: top .3s 0s, transform .3s .3s; }
  .mobile-switcher.active span:nth-child(2) { opacity: 0; }
  .mobile-switcher.active span:last-child { top: -11px; transform: rotate(45deg); transition: top .3s 0s, transform .3s .3s; }
}
@media (max-width: 550px) {
  .mobile-logo { max-width: 50%; min-width: 200px; }
}
@media (max-width: 450px) {
  .mobile-header { padding-left: 0; padding-right: 0; }
}

/* ------------------------------------------------------------------ */
/* Buttons                                                              */
/* ------------------------------------------------------------------ */
.stm-button { display: inline-block; vertical-align: top; }
.btn {
  position: relative; display: inline-block; margin: 0; vertical-align: middle;
  padding: 20px 34px 19px; border: 1px solid var(--gold); border-radius: 0;
  background: var(--gold); color: #fff;
  font-family: Barlow, sans-serif; font-size: 18px; font-weight: 600; line-height: 19px; letter-spacing: 2.2px;
  text-align: center; text-transform: uppercase; white-space: nowrap; cursor: pointer;
  transition: all .25s;
}
.btn:hover, .btn:focus { background: var(--navy); border-color: var(--navy); color: #fff; }
.btn__text, .btn__label { position: relative; }
.btn__icon { position: absolute; top: -4px; bottom: -4px; right: 17px; width: 40px; display: flex; align-items: center; justify-content: center; font-style: normal; font-size: 18px; font-weight: 400; line-height: 18px; transition: all .25s; }
.btn_icon-right { padding-right: 53px; }
.btn_icon-right .btn__label { margin-right: 26px; }
.stmicon-lawyer_arrow::before { content: "\7004"; font-family: 'stmicons-lawyer'; font-size: 18px; line-height: 1; font-weight: normal; -webkit-font-smoothing: antialiased; }
.stmicon-portfolio_next::before { content: "\ec90"; font-family: 'stmicons'; font-size: 18px; line-height: 1; font-weight: normal; -webkit-font-smoothing: antialiased; }
/* black text, teal on hover */
.btn--dark { color: #000; }
.btn--dark .btn__icon { width: 53px; color: #000; }
.btn--dark:hover, .btn--dark:focus { background: var(--teal); border-color: var(--teal); color: #fff; }
.btn--dark:hover .btn__icon { color: var(--orange); }
/* white with gold text, gold on hover */
.btn--light { background: #fff; color: var(--gold); border-color: var(--gold); }
.btn--light:hover, .btn--light:focus { background: var(--gold); border-color: var(--gold); color: #000; }
@media (max-width: 400px) {
  .btn.btn_solid { padding: 20px 25px 19px; }
  .btn.btn_solid.btn_icon-right { padding-right: 53px; }
}
@media (max-width: 350px) {
  .btn.btn_solid, .btn.btn_solid.btn_icon-right { padding: 20px 25px 19px !important; }
  .btn.btn_solid span { margin: 0 !important; }
  .btn.btn_solid .btn__icon { display: none; }
}

/* underlined text link ("How it works") */
strong a { position: relative; padding-bottom: 7px; font-weight: 600; letter-spacing: 1.2px; text-decoration: none !important; }
strong a::after { content: ""; display: block; position: absolute; bottom: 0; left: 0; width: 60%; height: 2px; background: var(--gold); transition: all .35s cubic-bezier(.52, .01, .16, 1); }
strong a:hover::after { width: 100%; }

/* ------------------------------------------------------------------ */
/* Content blocks                                                       */
/* ------------------------------------------------------------------ */
.stm_custom_heading__side { display: flex; align-items: center; }
.stm_custom_heading__side h5 { margin-bottom: 0; }
.stm_custom_heading__side_line { position: relative; top: 3px; width: 78px; height: 2px; background: var(--gold); }
.stm_custom_heading__side_line_right { margin-left: 30px; }
.stm_custom_heading__side_line_left { margin-right: 30px; }

.wpb_text_column ul { list-style: none; padding-left: 0; }
.wpb_text_column ul li { position: relative; margin-bottom: 5px; padding-left: 18px; }
.wpb_text_column ul li::before { content: ""; position: absolute; top: 10px; left: 0; width: 6px; height: 6px; background: var(--gold); transform: rotate(50deg) skew(15deg); }

.stm_separator { display: block; width: 46px; height: 5px; margin: 0 0 21px; }

/* video */
.wpb_video_widget .wpb_wrapper { position: relative; width: 100%; }
.wpb_video_widget.vc_video-align-left .wpb_wrapper { float: left; }
.wpb_video_widget .wpb_video_wrapper { position: relative; width: 100%; padding-top: 56.25%; }
.wpb_video_widget .wpb_video_wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; margin: 0; }

/* single images */
.wpb_single_image.vc_align_left { text-align: left; }
.wpb_single_image.vc_align_center { text-align: center; }
.wpb_single_image.vc_align_right { text-align: right; }
.wpb_single_image .vc_figure { display: inline-block; vertical-align: top; margin: 0; max-width: 100%; }
.wpb_single_image .vc_single_image-wrapper { display: inline-block; vertical-align: top; max-width: 100%; }
.wpb_single_image img { height: auto; max-width: 100%; vertical-align: top; }
.wpb_single_image a { border: none; outline: 0; }
.wpb_single_image .vc_box_shadow_3d { position: relative; z-index: 0; margin-bottom: 15px; }
.wpb_single_image .vc_box_shadow_3d::before, .wpb_single_image .vc_box_shadow_3d::after {
  content: ""; position: absolute; z-index: -1; left: 5px; right: 50%; bottom: 8px; height: 30%;
  box-shadow: 0 15px 10px rgba(0, 0, 0, .6); transform-origin: 0 0; transform: skewY(-6deg);
}
.wpb_single_image .vc_box_shadow_3d::after { left: 50%; right: 5px; transform: skewY(6deg); transform-origin: 100% 0; }
@media (max-width: 1023px) {
  .wpb_single_image.vc_align_center .wpb_wrapper, .wpb_single_image.vc_align_center .vc_single_image-wrapper { width: 100%; }
}

/* icon boxes (Electrolysis) */
.stmicon-bon_appetit_diamond { font-style: normal; }
.stmicon-bon_appetit_diamond::before { content: "\ec8a"; font-family: 'stmicons'; font-weight: normal; -webkit-font-smoothing: antialiased; }
.stm_iconbox_style_9 { border: 0; }
.stm_iconbox_style_9 .stm_iconbox__icon { display: block; float: left; width: 50px; }
.stm_iconbox_style_9 .stm_iconbox__icon i { display: inline-block; font-size: 65px; line-height: 65px; color: var(--gold); }
.stm_iconbox_style_9 .stm_iconbox__text { overflow: hidden; }
.stm_iconbox_style_9 .stm_iconbox__text h5 { margin-bottom: 14px; font-size: 18px; line-height: 30px; color: var(--gold); }
.stm_iconbox_style_9 .stm_iconbox__text h5 span { display: block; padding-bottom: 13px; position: relative; color: #000; }
.stm_iconbox_style_9 .stm_iconbox__text h5 span::before, .stm_iconbox_style_9 .stm_iconbox__text h5 span::after {
  content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background: #000; opacity: .1; transition: width .5s;
}
.stm_iconbox_style_9 .stm_iconbox__text h5 span::after { width: 20%; opacity: 1; background: var(--gold); }
.stm_iconbox_style_9:hover .stm_iconbox__text h5 span::after { width: 100%; }
.stm_iconbox_style_9 .stm_iconbox__text p { font-size: 14px; line-height: 24px; margin-bottom: 0; }

/* FAQ toggles */
.vc_toggle { display: block; font-size: 1em; margin-bottom: 22px; }
.vc_toggle:last-of-type { margin-bottom: 35px; }
.vc_toggle_title { position: relative; display: block; margin: 0; padding: 0; cursor: pointer; user-select: none; font-weight: 400; }
.vc_toggle_title > h4 { display: inline; }
.vc_toggle_icon { position: relative; display: inline-block; vertical-align: middle; width: 28px; height: 28px; margin-left: 14px; }
.vc_toggle_icon::before, .vc_toggle_icon::after {
  content: ""; position: absolute; left: 50%; top: 50%; box-sizing: border-box; display: block;
  width: 14px; height: 14px; margin-left: -7px; border: 2px solid #00c1cf; transform: rotate(45deg);
}
.vc_toggle_icon::before { margin-top: -14px; border-left: none; border-top: none; }
.vc_toggle_icon::after { margin-top: -7px; border-right: none; border-bottom: none; visibility: hidden; }
.vc_toggle_title:hover .vc_toggle_icon::before, .vc_toggle_title:hover .vc_toggle_icon::after { border-color: #00919c; }
.vc_toggle_active .vc_toggle_icon::before { visibility: hidden; }
.vc_toggle_active .vc_toggle_icon::after { visibility: visible; }
.vc_toggle_content { display: none; overflow: hidden; margin: 1em 0 21.74px; padding: 0; }
.vc_toggle_active .vc_toggle_content { display: block; }

/* contact details */
.widget { margin-bottom: 30px; }
.widget.wpb_content_element { margin-bottom: 70px; }
.widget_contacts_inner { border-radius: 2px; }
.stm-icontext { display: flex; align-items: flex-start; margin-bottom: 19px; }
.stm-icontext__icon {
  position: relative; top: 1px; display: block; min-width: 20px; margin-right: 15px;
  font-family: 'stmicons'; font-style: normal; font-size: 16px; line-height: 1; text-align: center; color: var(--gold);
  -webkit-font-smoothing: antialiased;
}
.ico-home::before, .fa-home::before { content: "\e988"; }
.ico-phone::before, .fa-phone-square::before { content: "\e98a"; }
.ico-mail::before, .fa-envelope::before { content: "\e985"; font-size: 13px; position: relative; top: 3px; }
.stm-icontext__text { display: block; font-size: 14px; line-height: 20px; }
.stm-icontext__text a { opacity: 1; }

/* "Book your FREE consultation" banner on the service pages */
.left-to-right.wpb_start_animation { animation: wpb_ltr .7s cubic-bezier(.175, .885, .32, 1.275) 0s 1 normal none running; }
@keyframes wpb_ltr { 0% { transform: translate(-10%, 0); opacity: 0; } 100% { transform: translate(0, 0); opacity: 1; } }

/* ------------------------------------------------------------------ */
/* Scroll-in animations (WPBakery + animate.css)                        */
/* ------------------------------------------------------------------ */
/* hidden until their animation starts (only when JavaScript is running) */
.js .wpb_animate_when_almost_visible:not(.wpb_start_animation) { opacity: 0; }
.wpb_animate_when_almost_visible:not(.wpb_start_animation) { animation: none; }
.animated { animation-duration: 1s; animation-fill-mode: both; }
.wpb_start_animation.fadeInUp { animation-name: fadeInUp; }
.wpb_start_animation.slideInDown { animation-name: slideInDown; }
.wpb_start_animation.slideInUp { animation-name: slideInUp; }
@keyframes fadeInUp { 0% { opacity: 0; transform: translate3d(0, 100%, 0); } to { opacity: 1; transform: translateZ(0); } }
@keyframes slideInDown { 0% { transform: translate3d(0, -100%, 0); visibility: visible; } to { transform: translateZ(0); } }
@keyframes slideInUp { 0% { transform: translate3d(0, 100%, 0); visibility: visible; } to { transform: translateZ(0); } }
@media (prefers-reduced-motion: reduce) {
  .wpb_start_animation, .left-to-right.wpb_start_animation { animation: none !important; }
}

/* ------------------------------------------------------------------ */
/* Carousels (built by main.js from the original item markup)           */
/* ------------------------------------------------------------------ */
.car { position: relative; }
.car__outer { position: relative; overflow: hidden; touch-action: pan-y; }
.car__stage { position: relative; display: flex; align-items: flex-start; }
.car__item { position: relative; flex: none; }
.car__item img { display: block; width: 100%; }
.car.is-dragging .car__stage { transition: none !important; }
.car__dots { }
.car__dot { display: inline-block; padding: 0; border: 0; cursor: pointer; }
.stm_owl__glitches { position: absolute; opacity: 0; visibility: hidden; }
.stm_owl__glitches:first-child, .car .stm_owl__glitches { position: relative; opacity: 1; visibility: visible; }

/* services (home) */
.stm_services_carousel { position: relative; padding-top: 90px; }
.stm_services_carousel .item_thumbnail { position: relative; }
.stm_services_carousel .content {
  position: absolute; inset: 0; display: flex; flex-wrap: wrap; align-content: flex-end; padding: 25px 40px;
  background-image: linear-gradient(to top, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, 0) 50%);
}
.stm_services_carousel .content > * { position: relative; z-index: 20; }
.stm_services_carousel .content_layer { position: absolute; inset: 0; z-index: 15; opacity: 0; background: var(--sea); transition: all .8s cubic-bezier(.2, 1, .2, 1) .15s; }
.stm_services_carousel .content:hover .content_layer { opacity: .9; transition-delay: 0s; }
.stm_services_carousel .content h5, .stm_services_carousel .content .h5 {
  display: block; width: 100%; margin: 0 0 15px; color: #fff; transform: translateY(0);
  transition: all .8s cubic-bezier(.2, 1, .2, 1) !important; text-decoration: none !important;
}
.stm_services_carousel .content:hover h5, .stm_services_carousel .content:hover .h5 { transform: translateY(-40px); }
.stm_services_carousel .content:hover h5.stm_counter { color: var(--gold); }
.stm_services_carousel .content a.no_deco {
  position: absolute; bottom: 0; width: 100%; opacity: 0; color: #fff; font-size: 16px;
  transition: all 1s cubic-bezier(.2, 1, .2, 1) !important;
}
.stm_services_carousel .content:hover a.no_deco { transform: translateY(-25px); opacity: 1; }
.stm_services_carousel .content a.no_deco::after { content: ""; position: relative; top: -4px; left: -25px; display: inline-block; width: 0; height: 1px; background: #fff; opacity: 0; transition: all .33s cubic-bezier(.12, .75, .4, 1); }
.stm_services_carousel .content a.no_deco:hover::after { left: -7px; width: 18px; opacity: 1; }
.stm_services_carousel .content a.no_deco i { position: relative; display: inline-block; margin-left: 5px; width: 5px; height: 16px; font-style: normal; }
.stm_services_carousel .content a.no_deco i::before { content: "\f105"; position: absolute; top: 2px; font-family: 'fa-angle'; font-size: 17px; line-height: 1; transition: all .33s cubic-bezier(.2, 1, .2, 1); }
.stm_services_carousel .content a.no_deco:hover i::before { transform: translateX(14px); }
.car__nav { position: absolute; top: 1px; right: 0; }
.car__prev, .car__next {
  position: relative; display: inline-block; width: 32px; height: 45px; overflow: hidden; padding: 0; margin: 0;
  border: 0; background: none; cursor: pointer; text-align: center; vertical-align: top; user-select: none;
}
.car__prev { transform: rotate(180deg) translateY(5px); transform-origin: center center; }
.car__next { margin-left: 30px; }
.car__prev::before, .car__next::before, .car__prev::after, .car__next::after {
  content: "\ec90"; font-family: 'stmicons'; font-size: 18px; transition: all .2s ease-in-out; -webkit-font-smoothing: antialiased;
}
.car__prev::before, .car__next::before { display: inline-block; line-height: 40px; color: var(--sea); }
.car__prev::after, .car__next::after { position: absolute; top: 2px; left: 2px; line-height: 36px; color: var(--gold); transform: translateX(-50px); }
.car__prev:hover::before, .car__next:hover::before { transform: translateX(50px); }
.car__prev:hover::after, .car__next:hover::after { transform: translateX(0); }

/* studio photos (home) */
.stm_carousel_style_3 { margin-bottom: 50px; }
.stm_carousel_style_3 .stm_carousel__big { position: relative; margin-bottom: 40px; }
.stm_carousel_style_3 .stm_carousel__single_big { min-height: 90px; }
.stm_carousel .stm_carousel__single img { transition: .3s; }
.stm_carousel_style_3 .car__dots, .stm_testimonials .car__dots { margin-top: 15px; }
.stm_carousel_dots_bottom .car__dots { text-align: center; }
.car__dot { width: 6px; height: 6px; margin: auto 10px; border-radius: 50%; background: rgba(0, 0, 0, .15); transition: .3s; }
.car__dot:first-child { margin-left: 0; }
.car__dot.active { background: var(--gold); transform: scale(1.3); }
@media (max-width: 550px) {
  .stm_carousel { max-width: 100% !important; }
  .stm_carousel .car__dots { display: none !important; }
}

/* testimonials (home) */
.stm_testimonials { margin: 0 -15px; }
.stm_testimonials_style_1 { margin-bottom: 30px; }
.stm_testimonials .car__dots { margin-top: 20px; }
.stm_testimonials .car__dot { width: 10px; height: 10px; background: #ccc; }
.stm_testimonials .car__dot.active { background: var(--gold); }
.stm_testimonials__item { margin: 0 15px; }
.stm_testimonials__review { position: relative; margin: 0 0 23px; padding: 30px; background: #f7f7f7; font-size: 16px; font-style: italic; line-height: 26px; }
.stm_testimonials__review::after { content: ""; position: absolute; bottom: -16px; left: 0; border-width: 8px 12px; border-style: solid; border-color: #d6d6d6 #d6d6d6 transparent transparent; }
.stm_testimonials__meta { display: flex; align-items: center; padding-left: 27px; }
.stm_testimonials__info { margin-left: 16px; }
.stm_testimonials__info h6 { margin-bottom: 2px; }

/* home sections */
#testimonials { position: relative; overflow: hidden; margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; transition: opacity .5s; }
@media (max-width: 767px) { #testimonials { padding-left: 15px !important; padding-right: 15px !important; } }

/* ------------------------------------------------------------------ */
/* "Think about..." slider (Electrolysis)                               */
/* ------------------------------------------------------------------ */
.think { position: relative; height: calc(400px * var(--s, 1)); margin-left: calc(50% - 50vw + var(--sb, 0px) / 2); width: calc(100vw - var(--sb, 0px)); overflow: hidden; }
.think__grid { position: absolute; top: 0; left: var(--gx, 0); width: calc(1240px * var(--s, 1)); height: calc(400px * var(--s, 1)); }
.think__slide { position: absolute; inset: 0; visibility: hidden; }
.think__slide.is-active { visibility: visible; }
.think__slide > div { position: absolute; font-family: Roboto, sans-serif; font-weight: 400; white-space: normal; opacity: 0; transition: opacity .2s cubic-bezier(.25, .46, .45, .94); }
.think__slide.is-active > div { opacity: 1; transition-delay: .24s; }
.think__label { left: 39px; top: 45px; font-size: 35px; line-height: 62px; color: #8e8e93; white-space: nowrap !important; }
.think__title { left: 270px; top: 105px; font-size: 25px; line-height: 44px; color: #000; white-space: nowrap !important; }
.think__text { left: 270px; top: 153px; width: 797px; font-size: 15px; line-height: 24px; letter-spacing: 1px; color: #000; }
.think__num { left: 160px; top: 170px; height: 105px; font-size: 150px; line-height: 18px; color: rgba(199, 199, 204, .27); }
.think__bullets { position: absolute; top: 67px; left: 50%; margin-left: -332.5px; height: 17px; display: flex; gap: 10px; z-index: 5; }
.think__bullet { position: relative; width: 17px; height: 17px; padding: 0; border: 2px solid var(--gold); border-radius: 50%; background: none; cursor: pointer; }
.think__bullet::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: var(--gold); transform: scale(0); transition: all .3s ease-in-out; }
.think__bullet:hover::after, .think__bullet.is-active::after { transform: scale(1.2); }
.think__tip { position: absolute; top: 100%; left: 50%; width: 135px; margin: 20px 0 0 -67.5px; font: 600 13px/15px Barlow, sans-serif; color: #fff; text-align: center; opacity: 0; transition: all .3s ease-in-out; pointer-events: none; }
.think__bullet:hover .think__tip { opacity: 1; }

/* ------------------------------------------------------------------ */
/* Footer                                                               */
/* ------------------------------------------------------------------ */
.stm-footer { position: relative; overflow: hidden; padding: 67px 0 0; background: #fff; color: #191919; }
.stm-footer > .container { position: relative; z-index: 20; }
.stm-footer a { color: #191919; }
.footer-widgets { display: flex; flex-wrap: wrap; margin: 0 -15px; padding-bottom: 8px; }
.footer-widgets aside.widget { width: 33%; padding: 0 15px; margin-bottom: 24px; }
.footer-widgets .widgettitle { margin-bottom: 27px; }
.footer-widgets .widgettitle h4 { margin: 0 0 25px; font-size: 22px; line-height: 36px; color: #fff; text-transform: none; }
.footer-widgets .widget_media_image img { width: 100%; max-width: 100%; height: auto; }
.footer-bottom { position: relative; padding: 14px 0 16px; border-top: 1px solid rgba(255, 255, 255, .25); }
.copyright { font-size: 14px; }
@media (max-width: 1024px) { .footer-widgets aside.widget { width: 50%; } }
@media (max-width: 550px) { .footer-widgets aside.widget { width: 100%; } }

/* ------------------------------------------------------------------ */
/* Lightbox (replaces lightGallery)                                     */
/* ------------------------------------------------------------------ */
.lb-backdrop { position: fixed; inset: 0; z-index: 1040; background: #000; opacity: 0; transition: opacity .15s ease 0s; }
.lb-backdrop.in { opacity: 1; }
.lb { position: fixed; inset: 0; z-index: 1050; opacity: 0; outline: none; transition: opacity .15s ease 0s; font-family: Barlow, sans-serif; }
.lb.visible { opacity: 1; }
.lb__inner { position: absolute; inset: 0; overflow: hidden; }
.lb__item { position: absolute; inset: 0; text-align: center; opacity: 0; display: none; }
.lb__item.prev, .lb__item.next, .lb__item.current { display: block; transition: transform .6s cubic-bezier(.25, 0, .25, 1), opacity .1s ease; }
.lb__item.prev { transform: translate3d(-100%, 0, 0); }
.lb__item.next { transform: translate3d(100%, 0, 0); }
.lb__item.current { transform: translate3d(0, 0, 0); opacity: 1; z-index: 1060; }
.lb.no-trans .lb__item { transition: none !important; }
.lb.dragging .lb__item { transition: none !important; opacity: 1; }
.lb__wrap { position: absolute; inset: 0; padding: 0 5px; }
.lb__item::before, .lb__wrap::before { content: ""; display: inline-block; height: 50%; width: 1px; margin-right: -1px; }
.lb__img { display: inline-block; vertical-align: middle; max-width: 100%; max-height: 100%; width: auto; height: auto; cursor: grab; user-select: none; -webkit-user-drag: none; }
.lb.dragging .lb__img { cursor: grabbing; }
.lb .lb__img { transform: scale3d(.5, .5, .5); opacity: 0; transition: transform 250ms cubic-bezier(0, 0, .25, 1) 0s, opacity 250ms cubic-bezier(0, 0, .25, 1); transform-origin: 50% 50%; }
.lb .lb__item.complete .lb__img { transform: scale3d(1, 1, 1); opacity: 1; }
.lb__toolbar { position: absolute; top: 0; left: 0; width: 100%; height: 48px; z-index: 1082; background: rgba(0, 0, 0, .45); }
.lb__icon { float: right; width: 50px; height: 47px; padding: 10px 0; border: 0; background: none; color: #999; cursor: pointer; font-family: 'lg'; font-size: 24px; line-height: 27px; text-align: center; text-decoration: none !important; transition: color .2s linear; }
.lb__icon:hover { color: #fff; }
.lb__close::after { content: "\e070"; }
.lb__download::after { content: "\e0f2"; }
.lb__counter { display: inline-block; padding: 12px 0 0 20px; color: #999; font-size: 16px; line-height: 36px; vertical-align: top; }
.lb__prev, .lb__next {
  position: absolute; top: 50%; z-index: 1080; display: block; margin-top: -10px; padding: 8px 10px 9px;
  border: none; border-radius: 2px; outline: none; background: rgba(0, 0, 0, .45); color: #999; cursor: pointer;
  font-family: 'lg'; font-size: 22px; line-height: 22px;
  transition: transform .35s cubic-bezier(0, 0, .25, 1) 0s, opacity .35s cubic-bezier(0, 0, .25, 1) 0s, color .2s linear;
}
.lb__prev:hover, .lb__next:hover { color: #fff; }
.lb__prev { left: 20px; }
.lb__next { right: 20px; }
.lb__prev::after { content: "\e094"; }
.lb__next::before { content: "\e095"; }
.lb__sub { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1080; padding: 10px 40px; background: rgba(0, 0, 0, .45); color: #eee; font-size: 16px; line-height: 36px; text-align: center; }
.lb__sub:empty { display: none; }
.lb.hide-items .lb__toolbar { opacity: 0; transform: translate3d(0, -10px, 0); }
.lb.hide-items .lb__prev { opacity: 0; transform: translate3d(-10px, 0, 0); }
.lb.hide-items .lb__next { opacity: 0; transform: translate3d(10px, 0, 0); }
.lb__toolbar { transition: transform .35s cubic-bezier(0, 0, .25, 1) 0s, opacity .35s cubic-bezier(0, 0, .25, 1) 0s; }
html.lb-open { overflow: hidden; }

/* ------------------------------------------------------------------ */
/* Per-section spacing and backgrounds (from the original page builder) */
/* ------------------------------------------------------------------ */
.vc_custom_1514540280197 { background-color: #f7f7f7 !important; }
.vc_custom_1514882323905 { margin-bottom: 66px !important; }
.vc_custom_1514882895178 { margin-top: 13px !important;margin-bottom: 20px !important; }
.vc_custom_1514896780265 { margin-top: 17px !important; }
.vc_custom_1567630415765 { margin-top: 13px !important; }
.vc_custom_1567636053995 { margin-top: 13px !important;margin-bottom: 50px !important; }
.vc_custom_1567636172436 { margin-top: 103px !important; }
.vc_custom_1567637392621 { padding-top: 79px !important;padding-bottom: 120px !important;background-color: #f4f4f4 !important; }
.vc_custom_1567637911180 { margin-bottom: 45px !important; }
.vc_custom_1567639217223 { margin-top: 103px !important; }
.vc_custom_1571673557718 { margin-bottom: 50px !important; }
.vc_custom_1571704630517 { margin-bottom: 50px !important; }
.vc_custom_1571876277402 { padding-top: 155px !important;padding-bottom: 100px !important;background-image: url(../img/shutterstock_791332159web-smaller.jpg) !important;background-position: center center !important;background-repeat: no-repeat !important;background-size: cover !important; }
.vc_custom_1571957439619 { margin-top: 13px !important; }
.vc_custom_1572044881125 { margin-top: -50px !important; }
.vc_custom_1572045233986 { margin-top: -50px !important; }
.vc_custom_1578931544571 { margin-bottom: -70px !important;background-color: #262732 !important;background-position: center center !important;background-repeat: no-repeat !important;background-size: cover !important; }
.vc_custom_1579020723453 { padding-top: 25px !important; }
.vc_custom_1579025539209 { margin-top: 13px !important; }
.vc_custom_1579025706662 { margin-top: 13px !important; }
.vc_custom_1579029529035 { margin-top: 13px !important; }
.vc_custom_1747673545903 { margin-top: 12px !important; }
.vc_custom_1747675013979 { margin-top: 13px !important; }
.vc_custom_1747675406539 { margin-top: 13px !important; }
.vc_custom_1747675845204 { padding-top: 20px !important;padding-right: 20px !important;padding-bottom: 20px !important;padding-left: 20px !important;background-color: #F7F7F7 !important; }
.vc_custom_1747676227772 { padding-top: 20px !important;padding-right: 20px !important;padding-bottom: 20px !important;padding-left: 20px !important;background-color: #F7F7F7 !important; }
.vc_custom_1747676374275 { margin-bottom: 53px !important; }
.vc_custom_1747676532304 { padding-right: 35px !important; }
.vc_custom_1747677188307 { margin-top: 13px !important;margin-bottom: -80px !important; }
.vc_custom_1747683173655 { background-position: center center !important;background-repeat: no-repeat !important;background-size: cover !important; }
.vc_custom_1747683238563 { margin-bottom: -57px !important; }
.vc_custom_1747683384868 { padding-top: 25px !important; }
.vc_custom_1747684605854 { padding-top: 10px !important;padding-bottom: 35px !important;padding-left: 45px !important; }
.vc_custom_1747684633469 { padding-top: 10px !important;padding-bottom: 35px !important;padding-left: 45px !important; }
.vc_custom_1747684663362 { padding-top: 10px !important;padding-bottom: 35px !important;padding-left: 45px !important; }
.vc_custom_1747684688356 { padding-top: 10px !important;padding-bottom: 35px !important;padding-left: 45px !important; }
.vc_custom_1747684713883 { padding-top: 10px !important;padding-bottom: 35px !important;padding-left: 45px !important; }
.vc_custom_1747686253221 { margin-top: 13px !important; }
.vc_custom_1747687057594 { margin-top: 13px !important; }
.vc_custom_1747687170119 { margin-top: 13px !important; }
.vc_custom_1747687316532 { padding-right: 30px !important;padding-left: 30px !important; }
.vc_custom_1747687324899 { padding-right: 30px !important;padding-left: 30px !important; }
.vc_custom_1747687535291 { padding-right: 60px !important;padding-left: 60px !important; }
.vc_custom_1747693813445 { margin-top: 13px !important; }
.vc_custom_1747694410655 { padding-top: 25px !important; }
.vc_custom_1747695077966 { margin-top: 13px !important; }
.vc_custom_1747695092133 { margin-top: 13px !important; }
.vc_custom_1747695098073 { margin-top: 13px !important; }
.vc_custom_1747695714161 { margin-bottom: -30px !important;padding-top: 85px !important;padding-bottom: 85px !important;padding-left: 150px !important;background-image: url(../img/shutterstock_385455895-web.jpg) !important;background-position: center center !important;background-repeat: no-repeat !important;background-size: cover !important; }
.vc_custom_1747695743514 { margin-bottom: -30px !important;padding-top: 85px !important;padding-bottom: 85px !important;padding-left: 150px !important;background-image: url(../img/shutterstock_385455895-web.jpg) !important;background-position: center center !important;background-repeat: no-repeat !important;background-size: cover !important; }
.vc_custom_1747695768849 { margin-bottom: -30px !important;padding-top: 85px !important;padding-bottom: 85px !important;padding-left: 150px !important;background-image: url(../img/shutterstock_385455895-web.jpg) !important;background-position: center center !important;background-repeat: no-repeat !important;background-size: cover !important; }
.vc_custom_1748467438001 { margin-top: 13px !important; }
.vc_custom_1748467451372 { margin-top: 13px !important; }
.vc_custom_1748467457890 { margin-top: 13px !important; }
