/*!
 * emspace theme – main stylesheet.
 * Markup/class names compatible with Impreza 1.x so existing page CSS keeps working.
 * Colors / fonts / sizes come from CSS variables printed by the theme settings.
 */

/* =========================================================================
   1. Base
   ====================================================================== */
*,*:before,*:after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--em-bg,#fff);color:var(--em-text,#666);font-family:var(--em-font-body,sans-serif);font-size:var(--em-fs,17px);line-height:var(--em-lh,24px);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
img,video,iframe,embed,object{max-width:100%}
img{height:auto;border:0;vertical-align:top}
.wpb_single_image{line-height:0;margin-bottom:40px}
svg:not(:root){overflow:hidden}
a{color:var(--em-primary);text-decoration:none;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,opacity .2s}
a:hover{color:var(--em-secondary)}
:focus-visible{outline:2px solid var(--em-primary);outline-offset:2px}
:where(.l-canvas,.l-footer) :where(h1,h2,h3,h4,h5,h6,p,blockquote,pre,dl,dd,ol,ul,li,form,fieldset,legend,figure,table,th,td,address){margin:0;padding:0}
.g-html p,.g-html address,.g-html pre,.g-html blockquote,.g-html table{margin-bottom:20px}
.g-html ul,.g-html ol{margin:0 0 20px 35px;padding:0}
.g-html ul{list-style-type:disc}.g-html ol{list-style-type:decimal}
.g-html ul li,.g-html ol li{margin-bottom:6px;padding-left:2px}
.g-html li ul,.g-html li ol{margin-top:5px;margin-bottom:5px}
.g-html .g-cols>div>p:last-child,.g-html>p:last-child,.g-html .g-cols>div>ul:last-child,.g-html>ul:last-child,.g-html .g-cols>div>ol:last-child,.g-html>ol:last-child{margin-bottom:0}
.g-html .wpb_text_column:last-child :where(h1,h2,h3,h4,h5,h6,p,ul,ol):last-child{margin-bottom:0}
.g-html .w-nav-list,.w-socials-list,.w-lang-list,.w-menu-list{list-style:none;margin:0}
b,strong{font-weight:700}
hr{height:0;border:0;border-top:1px solid var(--em-border);margin:2em 0}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sup{top:-.5em}sub{bottom:-.25em}
blockquote{margin-left:0;padding:0 0 0 1.5em;border-left:4px solid var(--em-primary);font-style:italic;color:var(--em-heading)}
pre,code,kbd{font-family:Consolas,Menlo,monospace;font-size:.9em}
pre{overflow:auto;padding:1em;background:var(--em-bg-alt);border-radius:4px}
table{width:100%;border-collapse:collapse;border-spacing:0}
th,td{padding:.6em 1em;border-bottom:1px solid var(--em-border);text-align:left}
th{color:var(--em-heading)}
figure{max-width:100%}
figcaption,.wp-caption-text{font-size:.85em;color:var(--em-fade);padding-top:.5em}
.wp-caption{max-width:100%}
.alignleft{float:left;margin:0 1.5em 1em 0}
.alignright{float:right;margin:0 0 1em 1.5em}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.i-cf:after,.g-cols:after{content:"";display:table;clear:both}
.hidden,[hidden]{display:none!important}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.skip-link:focus{clip:auto;clip-path:none;height:auto;width:auto;left:10px;top:10px;z-index:100000;padding:12px 20px;background:#fff;color:var(--em-heading);box-shadow:0 2px 10px rgba(0,0,0,.2);border-radius:4px}

/* Headings */
h1,h2,h3,h4,h5,h6{font-family:var(--em-font-heading,sans-serif);font-weight:400;color:var(--em-heading);line-height:1.4;margin:0 0 20px}
h4{line-height:1.5}h5,h6{line-height:1.6}
.g-html h2,.g-html h3,.g-html h4,.g-html h5,.g-html h6{padding-top:10px}
.g-html :is(h2,h3,h4,h5,h6):first-child,.g-html :is(h1,h2,h3,h4,h5)+:is(h2,h3,h4,h5,h6),.g-html .g-hr+:is(h2,h3,h4,h5,h6){padding-top:0}
.g-html>:is(h1,h2,h3,h4,h5,h6):last-child{margin-bottom:0}
h1{font-size:var(--em-h1)}h2{font-size:var(--em-h2)}h3{font-size:var(--em-h3)}h4{font-size:var(--em-h4)}h5{font-size:var(--em-h5)}h6{font-size:var(--em-h6)}
h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:inherit}
h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover{color:var(--em-primary)}

/* Forms */
:where(.l-canvas,.l-footer,.em-lightbox) :where(input,textarea,select,button){font:inherit;color:inherit;margin:0}
:where(.l-canvas,.l-footer) :where(input[type=text],input[type=email],input[type=url],input[type=tel],input[type=number],input[type=password],input[type=search],input[type=date],textarea,select){display:block;width:100%;max-width:100%;min-height:2.8em;padding:.55em .9em;background:#fff;color:var(--em-text);border:1px solid var(--em-border);border-radius:3px;box-shadow:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
:where(.l-canvas,.l-footer) textarea{min-height:8em;resize:vertical}
:where(.l-canvas,.l-footer) select{background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:2.4em}
:where(.l-canvas,.l-footer) :where(input,textarea,select):focus{border-color:var(--em-primary);outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--em-primary) 20%,transparent)}
input[type=checkbox],input[type=radio]{accent-color:var(--em-primary)}
::placeholder{color:var(--em-fade);opacity:1}
:where(.l-canvas,.l-footer) :where(input[type=submit],button[type=submit]:not(.g-btn)){display:inline-block;padding:.8em 2em;border:0;border-radius:4px;background:var(--em-primary);color:#fff;cursor:pointer;line-height:1.2;transition:background-color .2s}
:where(.l-canvas,.l-footer) :where(input[type=submit],button[type=submit]:not(.g-btn)):hover{background:var(--em-secondary)}

/* =========================================================================
   2. Canvas & layout
   ====================================================================== */
.l-canvas{position:relative;margin:0 auto;width:100%;background:var(--em-bg)}
.l-main{position:relative;display:block}
.l-submain{position:relative;padding:0 40px}
.l-submain-h{position:relative;z-index:1;max-width:var(--em-container,1140px);margin:0 auto;padding:50px 0}
.l-submain.full_width{padding-left:0;padding-right:0}
.l-submain.full_width>.l-submain-h{max-width:none}
/* Impreza "Full height content" = no vertical paddings */
.l-submain.full_height>.l-submain-h{padding-top:0;padding-bottom:0}
.l-submain.valign_center{display:flex;flex-direction:column;justify-content:center}
.l-submain.valign_center>.l-submain-h{width:100%}
.l-submain.color_alternate{background-color:var(--em-bg-alt)}
.l-submain.color_primary{background-color:var(--em-primary);color:#fff}
.l-submain.color_primary h1,.l-submain.color_primary h2,.l-submain.color_primary h3,.l-submain.color_primary h4,.l-submain.color_primary h5,.l-submain.color_primary h6,.l-submain.color_primary a{color:#fff}
.l-submain.color_secondary{background-color:var(--em-secondary);color:#fff}
.l-submain-img{position:absolute;inset:0;background-size:cover;background-position:50% 50%;background-repeat:no-repeat}
.l-submain.parallax_ver{overflow:hidden}
.l-submain.parallax_ver>.l-submain-img{top:-25%;bottom:-25%;will-change:transform}
.l-submain.parallax_fixed>.l-submain-img{background-attachment:fixed}
.l-submain-overlay{position:absolute;inset:0;pointer-events:none}
.l-submain-overlay.white_30{background:rgba(255,255,255,.3)}.l-submain-overlay.white_60{background:rgba(255,255,255,.6)}.l-submain-overlay.white_90{background:rgba(255,255,255,.9)}
.l-submain-overlay.black_30{background:rgba(0,0,0,.3)}.l-submain-overlay.black_60{background:rgba(0,0,0,.6)}.l-submain-overlay.black_90{background:rgba(0,0,0,.9)}
.l-submain-overlay.primary_60{background:color-mix(in srgb,var(--em-primary) 60%,transparent)}

/* Space under the fixed header (not for transparent-header pages) */
.headerpos_fixed:not(.headerbg_transparent) .l-main>.l-submain:first-child{padding-top:calc(var(--em-topbar-h) + var(--em-header-h))}
.nav-mobile .headerpos_fixed:not(.headerbg_transparent) .l-main>.l-submain:first-child{padding-top:0}

/* Grid (Impreza "offset_default": 4% gutter) */
.g-cols{display:flex;flex-wrap:wrap;column-gap:4%;width:100%}
.g-cols>div{position:relative;min-width:0;flex:0 0 auto}
.g-cols>.full-width{width:100%}
.g-cols>.one-half{width:48%}
.g-cols>.one-third{width:30.6666%}
.g-cols>.two-thirds{width:65.3333%}
.g-cols>.one-quarter{width:22%}
.g-cols>.three-quarters{width:74%}
.g-cols>.one-fifth{width:16.8%}
.g-cols>.two-fifths{width:37.6%}
.g-cols>.three-fifths{width:58.4%}
.g-cols>.four-fifths{width:79.2%}
.g-cols>.one-sixth{width:13.3333%}
.g-cols>.five-sixths{width:82.6666%}
.g-cols>[class*="col-"][class*="-12"]{width:calc((100% - 44%) / 12 * var(--span,1) + 4% * (var(--span,1) - 1))}
.g-cols>.col-1-12{--span:1}.g-cols>.col-2-12{--span:2}.g-cols>.col-3-12{--span:3}.g-cols>.col-4-12{--span:4}.g-cols>.col-5-12{--span:5}.g-cols>.col-6-12{--span:6}.g-cols>.col-7-12{--span:7}.g-cols>.col-8-12{--span:8}.g-cols>.col-9-12{--span:9}.g-cols>.col-10-12{--span:10}.g-cols>.col-11-12{--span:11}.g-cols>.col-12-12{--span:12}
.g-cols+.g-cols{margin-top:0}
.g-cols.is_inner{margin-bottom:0}
.has_text_color h1,.has_text_color h2,.has_text_color h3,.has_text_color h4,.has_text_color h5,.has_text_color h6{color:inherit}

/* Content wrappers for posts / archives */
.l-content{width:100%}
.l-sidebar{display:none}

/* =========================================================================
   3. Header
   ====================================================================== */
.l-header{position:relative;z-index:111;width:100%}
.headerpos_fixed .l-header{position:fixed;top:0;left:0;right:0}
.admin-bar .headerpos_fixed .l-header{top:32px}
@media (max-width:782px){.admin-bar .headerpos_fixed .l-header{top:46px}}
.l-subheader{padding:0 40px;transition:height .3s,background-color .3s,box-shadow .3s,opacity .3s}
.l-subheader-h{max-width:var(--em-container,1140px);margin:0 auto;height:100%;display:flex;align-items:center}

/* Top bar */
.l-subheader.at_top{height:var(--em-topbar-h);line-height:var(--em-topbar-h);background:var(--em-topbar-bg);color:var(--em-topbar-text);font-size:13px;overflow:hidden}
.l-subheader.at_top a{color:var(--em-topbar-text)}
.l-subheader.at_top a:hover{color:var(--em-header-hover)}
.w-contacts{margin-right:auto}
.w-contacts-list{display:flex;flex-wrap:wrap;gap:0 20px}
.w-contacts-item{display:flex;align-items:center;gap:7px;white-space:nowrap}
.w-contacts-item .fa{font-size:14px;opacity:.8}
.l-subheader.at_top .w-socials-list{display:flex}
.l-subheader.at_top .w-socials-item-link{display:block;width:36px;text-align:center;font-size:18px;line-height:var(--em-topbar-h)}
.l-subheader.at_top .w-socials-item-popup{display:none}
.w-lang{margin-right:10px}
.w-lang-list{display:flex;gap:2px;list-style:none;margin:0;padding:0}
.w-lang-list li{margin:0}
.w-lang-item a{display:block;padding:0 7px;font-weight:700;letter-spacing:.05em;font-size:12px}
.w-lang-item.current a{color:var(--em-primary)}

/* Main bar */
.l-subheader.at_middle{height:var(--em-header-h);background:var(--em-header-bg);box-shadow:0 2px 0 -1px rgba(0,0,0,.08);position:relative}
.l-header.sticky .l-subheader.at_top{height:0}
.l-header.sticky .l-subheader.at_middle{height:var(--em-header-sh)}

/* Logo */
.w-logo{margin-right:auto;flex-shrink:0}
.w-logo-link{display:flex;align-items:center;height:100%;color:var(--em-header-text)}
.w-logo-img img{height:var(--em-logo-h);width:auto;transition:height .3s}
.l-header.sticky .w-logo-img img{height:var(--em-logo-sh)}
.w-logo-img .for_transparent{display:none}
.w-logo-title{font-family:var(--em-font-heading);font-size:26px;color:var(--em-header-text)}

/* Navigation */
.w-nav{order:3;height:100%;display:flex;align-items:center;font-family:var(--em-font-nav)}
.w-nav-control{display:none;background:none;border:0;cursor:pointer;color:var(--em-header-text);font-size:22px;width:50px;height:50px;padding:0;line-height:50px}
.w-nav-list{list-style:none;margin:0;padding:0}
.w-nav-list.level_1{display:flex;height:100%}
.w-nav-item{position:relative;margin:0}
.w-nav-item.level_1{height:100%}
.w-nav-anchor{display:block;position:relative;color:var(--em-header-text)}
.w-nav-anchor.level_1{height:var(--em-header-h);line-height:var(--em-header-h);padding:0 20px;font-size:var(--em-fs-nav);transition:color .2s,height .3s,line-height .3s}
.l-header.sticky .w-nav-anchor.level_1{height:var(--em-header-sh);line-height:var(--em-header-sh)}
.w-nav-anchor.level_1:after{content:"";position:absolute;left:20px;right:20px;bottom:0;height:3px;background:var(--em-primary);transform:scaleX(0);transition:transform .25s}
.w-nav-item.level_1:hover>.w-nav-anchor,.w-nav-item.level_1.focus>.w-nav-anchor{color:var(--em-header-hover)}
.w-nav-item.level_1:hover>.w-nav-anchor:after,.w-nav-item.level_1.focus>.w-nav-anchor:after{transform:scaleX(1)}
.w-nav-item.level_1.active>.w-nav-anchor{color:var(--em-menu-active)}
.w-nav-arrow{display:none}
.w-nav-toggle{display:none;background:none;border:0;cursor:pointer;color:inherit;padding:0}

/* Dropdowns (desktop) */
html:not(.nav-mobile) .w-nav-list.level_2{position:absolute;top:100%;left:0;min-width:240px;background:var(--em-drop-bg);box-shadow:0 8px 15px rgba(0,0,0,.1);padding:8px 0;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s;z-index:10}
html:not(.nav-mobile) .w-nav-item.level_1:hover>.w-nav-list.level_2,html:not(.nav-mobile) .w-nav-item.level_1.focus>.w-nav-list.level_2{opacity:1;visibility:visible;transform:none}
html:not(.nav-mobile) .w-nav-list.level_3{position:absolute;left:100%;top:-8px;min-width:240px;background:var(--em-drop-bg);box-shadow:0 8px 15px rgba(0,0,0,.1);padding:8px 0;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}
html:not(.nav-mobile) .w-nav-item.level_2:hover>.w-nav-list.level_3,html:not(.nav-mobile) .w-nav-item.level_2.focus>.w-nav-list.level_3{opacity:1;visibility:visible}
.w-nav-list.level_2 .w-nav-anchor,.w-nav-list.level_3 .w-nav-anchor{padding:9px 22px;font-size:var(--em-fs-subnav);line-height:1.4;color:var(--em-drop-text)}
html:not(.nav-mobile) .w-nav-list.level_2 .w-nav-item:hover>.w-nav-anchor,html:not(.nav-mobile) .w-nav-list.level_2 .w-nav-item.focus>.w-nav-anchor{background:var(--em-drop-hover-bg);color:var(--em-drop-hover-text)}
.w-nav-list.level_2 .w-nav-item.active>.w-nav-anchor{font-weight:700}

/* Mega menu (menu item CSS class "columns_2/3/4/5") */
html:not(.nav-mobile) .w-nav-item.level_1[class*="columns_"]{position:static}
html:not(.nav-mobile) .w-nav-item.level_1[class*="columns_"]>.w-nav-list.level_2{left:50%;right:auto;transform:translate(-50%,-8px);width:min(var(--em-container,1140px),calc(100vw - 40px));display:grid;grid-template-columns:repeat(var(--mega-cols,4),1fr);gap:10px 20px;padding:25px 20px}
html:not(.nav-mobile) .w-nav-item.level_1[class*="columns_"]:hover>.w-nav-list.level_2,html:not(.nav-mobile) .w-nav-item.level_1[class*="columns_"].focus>.w-nav-list.level_2{transform:translate(-50%,0)}
.w-nav-item.columns_2{--mega-cols:2}.w-nav-item.columns_3{--mega-cols:3}.w-nav-item.columns_4{--mega-cols:4}.w-nav-item.columns_5{--mega-cols:5}
html:not(.nav-mobile) .w-nav-item[class*="columns_"] .w-nav-anchor.level_2{font-weight:700;font-size:calc(var(--em-fs-subnav) + 1px);padding:6px 12px;background:none!important;color:var(--em-drop-text)!important;pointer-events:auto}
html:not(.nav-mobile) .w-nav-item[class*="columns_"] .w-nav-list.level_3{position:static;opacity:1;visibility:visible;box-shadow:none;background:none;min-width:0;padding:0}
html:not(.nav-mobile) .w-nav-item[class*="columns_"] .w-nav-anchor.level_3{padding:7px 12px;border-radius:3px}
html:not(.nav-mobile) .w-nav-item[class*="columns_"] .w-nav-item.level_3:hover>.w-nav-anchor{background:var(--em-drop-hover-bg);color:var(--em-drop-hover-text)}

/* Cart & search in header */
.w-cart{order:4;margin-left:10px;position:relative}
.w-cart-link{display:block;padding:0 10px;color:var(--em-header-text);font-size:20px;line-height:var(--em-header-h)}
.w-cart-quantity{position:absolute;top:50%;right:0;margin-top:-22px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--em-primary);color:#fff;font-size:11px;line-height:18px;text-align:center}
.w-cart.empty .w-cart-quantity{display:none}
.w-search{order:4;position:relative}
.w-search-show{background:none;border:0;cursor:pointer;color:var(--em-header-text);font-size:18px;padding:0 12px;line-height:var(--em-header-h)}
.w-search-form{position:absolute;right:0;top:100%;width:300px;padding:12px;background:#fff;box-shadow:0 8px 15px rgba(0,0,0,.1);opacity:0;visibility:hidden;transition:.2s}
.w-search.active .w-search-form{opacity:1;visibility:visible}

/* Transparent header (over hero) */
.headerbg_transparent .l-header:not(.sticky):not(:has(.w-nav.open)) .l-subheader.at_top,.headerbg_transparent .l-header:not(.sticky):not(:has(.w-nav.open)) .l-subheader.at_middle{background:transparent;box-shadow:none}
.headerbg_transparent .l-header:not(.sticky):not(:has(.w-nav.open)) .l-subheader.at_top,.headerbg_transparent .l-header:not(.sticky):not(:has(.w-nav.open)) .l-subheader.at_top a,.headerbg_transparent .l-header:not(.sticky):not(:has(.w-nav.open)) .w-nav-anchor.level_1,.headerbg_transparent .l-header:not(.sticky):not(:has(.w-nav.open)) .w-nav-control,.headerbg_transparent .l-header:not(.sticky):not(:has(.w-nav.open)) .w-cart-link,.headerbg_transparent .l-header:not(.sticky):not(:has(.w-nav.open)) .w-search-show,.headerbg_transparent .l-header:not(.sticky):not(:has(.w-nav.open)) .w-logo-title{color:var(--em-transparent-text)}
.headerbg_transparent .l-header:not(.sticky):not(:has(.w-nav.open)) .w-nav-item.level_1:hover>.w-nav-anchor,.headerbg_transparent .l-header:not(.sticky):not(:has(.w-nav.open)) .w-nav-item.level_1.active>.w-nav-anchor{color:var(--em-transparent-text)}
.headerbg_transparent .l-header:not(.sticky):not(:has(.w-nav.open)) .w-nav-anchor.level_1:after{background:var(--em-transparent-text)}
.headerbg_transparent .l-header:not(.sticky):not(:has(.w-nav.open)) .with_transparent .for_default{display:none}
.headerbg_transparent .l-header:not(.sticky):not(:has(.w-nav.open)) .with_transparent .for_transparent{display:inline}

/* Mobile navigation (class set by the inline head script from the breakpoint setting) */
.nav-mobile .headerpos_fixed .l-header{position:relative;top:auto}
.nav-mobile .headerbg_transparent .l-header{position:absolute;top:0}
.nav-mobile .admin-bar .headerbg_transparent .l-header{top:0}
.nav-mobile .l-subheader{padding:0 25px}
.nav-mobile .l-subheader.at_middle{height:auto;min-height:var(--em-header-sh)}
.nav-mobile .l-subheader.at_middle>.l-subheader-h{flex-wrap:wrap}
.nav-mobile .w-logo-img img{height:var(--em-logo-mh)}
.nav-mobile .w-nav{order:5;height:auto;display:contents}
.nav-mobile .w-nav-control{display:block;order:4;margin-right:-12px}
.nav-mobile .w-cart-link,.nav-mobile .w-search-show{line-height:var(--em-header-sh)}
.nav-mobile .w-nav-list.level_1{display:none;order:6;flex-basis:100%;flex-direction:column;height:auto;padding:5px 0 15px;max-height:calc(100vh - 120px);overflow-y:auto;overscroll-behavior:contain}
.nav-mobile .w-nav.open .w-nav-list.level_1{display:flex}
.nav-mobile .w-nav-item{display:flex;flex-wrap:wrap;align-items:center;height:auto}
.nav-mobile .w-nav-item{border-top:1px solid var(--em-border)}
.nav-mobile .w-nav-item .w-nav-anchor{flex:1;height:auto!important;line-height:1.4!important;padding:12px 0!important;font-size:var(--em-fs-subnav);font-weight:400!important;color:var(--em-header-text)!important;background:none!important}
.nav-mobile .w-nav-item.active>.w-nav-anchor,.nav-mobile .w-nav-item.current-menu-item>.w-nav-anchor{color:var(--em-primary)!important}
.nav-mobile .w-nav-item.level_1>.w-nav-anchor{font-size:var(--em-fs-nav)}
.nav-mobile .w-nav-anchor.level_1:after{display:none}
.nav-mobile .w-nav-toggle{display:block;align-self:stretch;width:48px;min-height:44px;font-size:20px;color:var(--em-header-text)}
.nav-mobile .w-nav-toggle i{transition:transform .2s}
.nav-mobile .w-nav-item.opened>.w-nav-toggle i{transform:rotate(180deg)}
.nav-mobile .w-nav-list.level_2,.nav-mobile .w-nav-list.level_3{display:none;flex-basis:100%;padding-left:18px;background:none;box-shadow:none}
.nav-mobile .w-nav-list.level_1>.w-nav-item:first-child{border-top:0}
.nav-mobile .w-nav-item.opened>.w-nav-list{display:block}
.nav-mobile .headerbg_transparent .l-header:not(.sticky):not(:has(.w-nav.open)) .w-nav.open,.nav-mobile .headerbg_transparent .l-header:not(.sticky):not(:has(.w-nav.open)) .l-subheader.at_middle:has(.w-nav.open){background:var(--em-header-bg)}
.nav-mobile .headerbg_transparent .l-header:not(.sticky):not(:has(.w-nav.open)) .w-nav.open .w-nav-anchor{color:var(--em-header-text)}

/* =========================================================================
   4. Page head (title bar) & breadcrumbs
   ====================================================================== */
.l-submain.for_pagehead>.l-submain-h{padding:30px 0}
.w-pagehead{display:flex;align-items:center;justify-content:space-between;gap:10px 30px;flex-wrap:wrap}
.w-pagehead h1{margin:0;padding:0;font-size:var(--em-h1)}
.g-breadcrumbs{font-size:13px;color:var(--em-fade)}
.g-breadcrumbs a{color:var(--em-text)}
.g-breadcrumbs a:hover{color:var(--em-primary)}
.g-breadcrumbs-separator{padding:0 4px;opacity:.6}
.w-pagehead-nav-h{display:flex;gap:6px}
.w-pagehead-nav-item{display:block;width:40px;height:40px;line-height:40px;text-align:center;border-radius:50%;background:var(--em-bg);color:var(--em-text);font-size:22px}
.w-pagehead-nav-item:hover{background:var(--em-primary);color:#fff}

/* =========================================================================
   5. Buttons
   ====================================================================== */
.g-btn{display:inline-block;position:relative;margin:5px 0;padding:10px 36px;border:none;border-radius:5px;font-family:inherit;font-size:15px;line-height:20px;font-weight:700;text-transform:uppercase;text-align:center;cursor:pointer;vertical-align:top;white-space:nowrap;transition:background-color .3s,color .3s,box-shadow .3s;-webkit-tap-highlight-color:transparent}
.g-btn .fa{margin-right:8px}
.g-btn.size_small{font-size:13px;line-height:18px;padding:7px 24px}
.g-btn.size_big{font-size:18px;line-height:20px;padding:16px 50px}
.g-btn.color_primary{background:var(--em-primary);border-color:var(--em-primary);color:#fff}
.g-btn.color_primary:hover{background:var(--em-secondary);border-color:var(--em-secondary);color:#fff}
.g-btn.color_secondary{background:var(--em-secondary);border-color:var(--em-secondary);color:#fff}
.g-btn.color_secondary:hover{background:var(--em-heading);border-color:var(--em-heading);color:#fff}
.g-btn.color_contrast{background:var(--em-heading);border-color:var(--em-heading);color:#fff}
.g-btn.color_contrast:hover{background:var(--em-primary);border-color:var(--em-primary);color:#fff}
.g-btn.color_default{background:var(--em-bg-alt);border-color:var(--em-bg-alt);color:var(--em-heading)}
.g-btn.color_default:hover{background:var(--em-primary);border-color:var(--em-primary);color:#fff}
.g-btn.outlined{background:transparent!important;box-shadow:inset 0 0 0 2px currentColor}
.g-btn.outlined.color_primary{color:var(--em-primary)}
.g-btn.outlined.color_secondary{color:var(--em-secondary)}
.g-btn.outlined.color_contrast{color:var(--em-heading)}
.g-btn.outlined.color_default{color:var(--em-text)}
.g-btn.outlined:hover{color:#fff;box-shadow:none}
.g-btn.outlined.color_primary:hover{background:var(--em-primary)!important}
.g-btn.outlined.color_secondary:hover{background:var(--em-secondary)!important}
.g-btn.outlined.color_contrast:hover{background:var(--em-heading)!important}
.g-btn.outlined.color_default:hover{background:var(--em-primary)!important}
.w-btn-wrapper{margin-bottom:1.5em}
.w-btn-wrapper.align_center{text-align:center}
.w-btn-wrapper.align_right{text-align:right}

/* Separator */
.g-hr{position:relative;clear:both;margin:30px 0;text-align:center;height:1px}
.g-hr:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid var(--em-border)}
.g-hr.type_short:before{left:40%;right:40%}
.g-hr.type_invisible:before{display:none}
.g-hr.size_small{margin:15px 0}.g-hr.size_big{margin:60px 0}.g-hr.size_huge{margin:90px 0}
.g-hr-h{position:relative;top:-.7em;display:inline-block;padding:0 15px;background:var(--em-bg);color:var(--em-border);font-size:20px;line-height:1.4}
.color_alternate .g-hr-h{background:var(--em-bg-alt)}
.g-hr.type_invisible .g-hr-h{background:none;color:var(--em-primary)}

/* =========================================================================
   6. Elements
   ====================================================================== */
/* IconBox (Impreza 1.x metrics) */
.w-iconbox{position:relative;margin-bottom:0}
.w-iconbox.iconpos_top{text-align:center;max-width:350px;margin-left:auto;margin-right:auto}
.w-iconbox-link,.w-iconbox-nolink{display:block;color:inherit}
.w-iconbox-link{color:inherit!important}
.w-iconbox-icon{position:relative;display:block;width:90px;height:90px;line-height:90px;margin:0 auto;font-size:36px;text-align:center;border-radius:50%;overflow:hidden;color:var(--em-primary);transition:color .3s}
.w-iconbox-icon i{position:relative;z-index:1;vertical-align:top;line-height:inherit}
.w-iconbox-icon img{position:relative;z-index:1;max-width:60%;max-height:60%;vertical-align:middle}
.w-iconbox.size_small .w-iconbox-icon{width:60px;height:60px;line-height:60px;font-size:24px}
.w-iconbox.size_big .w-iconbox-icon{width:120px;height:120px;line-height:120px;font-size:48px}
.w-iconbox.type_outlined .w-iconbox-icon{background-color:transparent;border:1px solid transparent;box-shadow:inset 0 0 0 2px currentColor}
.w-iconbox.type_solid .w-iconbox-icon{background-color:var(--em-primary);color:#fff}
.w-iconbox.type_simple .w-iconbox-icon,.w-iconbox.type_default .w-iconbox-icon{width:auto;height:auto;line-height:1.2;border-radius:0;background:none;box-shadow:none}
.w-iconbox.color_secondary .w-iconbox-icon{color:var(--em-secondary)}
.w-iconbox.color_secondary.type_solid .w-iconbox-icon{background-color:var(--em-secondary);color:#fff}
.w-iconbox.color_contrast .w-iconbox-icon{color:var(--em-heading)}
/* hover: fill from the top like the old theme */
.w-iconbox.type_outlined .w-iconbox-icon:before,.w-iconbox.type_solid .w-iconbox-icon:before{content:"";position:absolute;top:0;left:0;width:100%;height:0;background-color:var(--em-primary);transition:height .3s}
.w-iconbox.type_solid .w-iconbox-icon:before{background-color:var(--em-secondary)}
.w-iconbox-link:hover .w-iconbox-icon:before{height:100%}
.w-iconbox-link:hover .w-iconbox-icon{color:#fff!important}
.w-iconbox-title{margin:0;transition:color .3s}
.w-iconbox.iconpos_top .w-iconbox-title{padding:15px 0}
.w-iconbox.iconpos_left .w-iconbox-title{padding:0 0 15px}
.w-iconbox-link:hover .w-iconbox-title{color:var(--em-primary)}
.w-iconbox-text p{margin:0 0 10px}
.w-iconbox.iconpos_left{display:grid;grid-template-columns:auto 1fr;column-gap:20px;text-align:left}
.w-iconbox.iconpos_left>.w-iconbox-link,.w-iconbox.iconpos_left>.w-iconbox-nolink{display:contents}
.w-iconbox.iconpos_left .w-iconbox-icon{grid-row:1 / span 2;margin:0}
.w-iconbox.iconpos_left .w-iconbox-text{grid-column:2}

/* Team member (Impreza 1.x look: round photo, links slide in) */
.w-team{position:relative;max-width:350px;margin:0 auto;text-align:center}
.w-team-image{position:relative;height:0;padding-bottom:100%;border-radius:50%;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(white,black)}
.w-team-image img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.w-team-noimage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--em-bg-alt);font-size:60px;color:var(--em-border)}
.w-team-links{position:absolute;top:-100%;left:0;z-index:10;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:0;text-align:center;background-color:var(--em-primary);transition:top .3s}
.w-team:hover .w-team-links,.w-team:focus-within .w-team-links{top:0}
.w-team-links-list{display:inline-block;padding:15px;line-height:0}
.w-team-links-item{position:relative;display:inline-block;width:50px;height:50px;margin:4px;border-radius:50%;overflow:hidden;font-size:22px;line-height:50px;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.6)}
.w-team-links-item:before{content:"";position:absolute;left:0;top:0;width:100%;height:0;background:#fff;transition:height .3s}
.w-team-links-item:hover:before{height:100%}
.w-team-links-item:hover{color:#444}
.w-team-links-item i{position:relative;vertical-align:top;line-height:inherit}
.w-team-content{padding:0;text-align:center}
.w-team-name{margin:0 0 6px;padding-top:15px;font-size:var(--em-h4)}
.w-team-link{color:inherit}
.w-team-link .w-team-name{color:var(--em-primary);transition:color .2s}
.w-team-link:hover .w-team-name{color:var(--em-secondary)}
.w-team-link:hover .w-team-name span{border-bottom:1px solid}
.w-team-role{font-size:13px;margin-bottom:10px;opacity:.5}
.w-team-description p{margin-bottom:0}

/* ActionBox (Impreza 1.x metrics) */
.w-actionbox{display:table;width:100%;padding:30px 40px;border-radius:5px;margin:0}
.w-actionbox.color_primary{background:var(--em-primary);color:#fff}
.w-actionbox.color_alternate{background:var(--em-bg-alt)}
.w-actionbox.color_primary h3,.w-actionbox.color_custom h3{color:inherit}
.w-actionbox-text{display:table-cell;vertical-align:middle}
.w-actionbox-text h3{margin:0;padding:0}
.w-actionbox-text p{margin:12px 0 0}
.w-actionbox-controls{display:table-cell;vertical-align:middle;text-align:right;padding-left:30px;white-space:nowrap}
.w-actionbox-controls .g-btn+.g-btn{margin-left:10px}
.w-actionbox.controls_bottom,.w-actionbox.controls_bottom>div{display:block}
.w-actionbox.controls_bottom .w-actionbox-controls{text-align:left;padding:15px 0 0}

/* Social links */
.w-socials-list{display:flex;flex-wrap:wrap;gap:4px}
.w-socials-item{position:relative}
.w-socials-item-link{display:block;text-align:center;color:inherit}
.w-socials.size_small .w-socials-item-link{width:32px;height:32px;line-height:32px;font-size:16px}
.w-socials.size_normal .w-socials-item-link{width:42px;height:42px;line-height:42px;font-size:20px;border-radius:5px}
.w-socials.size_big .w-socials-item-link{width:54px;height:54px;line-height:54px;font-size:28px;border-radius:5px}
.w-socials-item-link:hover{color:#fff}
.w-socials-item.facebook .w-socials-item-link:hover{background:#3b5998}
.w-socials-item.twitter .w-socials-item-link:hover{background:#000}
.w-socials-item.linkedin .w-socials-item-link:hover{background:#0a66c2}
.w-socials-item.instagram .w-socials-item-link:hover{background:#c13584}
.w-socials-item.youtube .w-socials-item-link:hover{background:#f00}
.w-socials-item.email .w-socials-item-link:hover,.w-socials-item.tiktok .w-socials-item-link:hover,.w-socials-item.behance .w-socials-item-link:hover{background:var(--em-primary)}
.w-socials-item.pinterest .w-socials-item-link:hover{background:#bd081c}
.w-socials-item.whatsapp .w-socials-item-link:hover{background:#25d366}
.l-subheader.at_top .w-socials-item-link:hover{background:none;color:var(--em-header-hover)}
.w-socials.align_center .w-socials-list{justify-content:center}
.w-socials.align_right .w-socials-list{justify-content:flex-end}
.w-socials-item-popup{position:absolute;bottom:100%;left:50%;transform:translate(-50%,4px);margin-bottom:6px;padding:4px 10px;background:var(--em-heading);color:#fff;font-size:12px;line-height:1.4;white-space:nowrap;border-radius:3px;opacity:0;visibility:hidden;pointer-events:none;transition:.2s}
.w-socials-item:hover .w-socials-item-popup{opacity:1;visibility:visible;transform:translate(-50%,0)}
/* X logo for the twitter icon */
.w-socials-item.twitter .fa-twitter:before,.w-team-links-item .fa-twitter:before{content:"";display:inline-block;width:.85em;height:.85em;vertical-align:-.05em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") center/contain no-repeat}

/* Simple slider */
.w-slider{position:relative;overflow:hidden;margin-bottom:30px;background:var(--em-bg-alt)}
.w-slider-list{position:relative;aspect-ratio:var(--ratio,1.5)}
.w-slider-item{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .8s;z-index:0}
.w-slider-item.active{opacity:1;z-index:1}
.w-slider-item img{width:100%;height:100%;object-fit:contain}
.w-slider.stretch .w-slider-item img{object-fit:cover}
.w-slider:not(.is_multiple) .w-slider-item{position:relative}
.w-slider.transition_slide .w-slider-list{display:flex;aspect-ratio:auto;transition:transform .6s;transform:translateX(calc(var(--index,0) * -100%))}
.w-slider.transition_slide .w-slider-item{position:relative;flex:0 0 100%;opacity:1;aspect-ratio:var(--ratio,1.5)}
.w-slider-arrow{position:absolute;top:50%;z-index:2;width:46px;height:46px;margin-top:-23px;border:0;border-radius:50%;background:rgba(0,0,0,.35);color:#fff;font-size:26px;cursor:pointer;transition:background-color .2s}
.w-slider-arrow:hover{background:var(--em-primary)}
.w-slider-arrow.prev{left:15px}.w-slider-arrow.next{right:15px}
.w-slider-dots{position:absolute;left:0;right:0;bottom:12px;z-index:2;display:flex;justify-content:center;gap:8px}
.w-slider-dot{width:11px;height:11px;padding:0;border:2px solid #fff;border-radius:50%;background:transparent;cursor:pointer}
.w-slider-dot.active{background:#fff}

/* Gallery */
.w-gallery{margin-bottom:30px}
.w-gallery-list{display:grid;grid-template-columns:repeat(var(--cols,3),1fr);gap:6px}
.w-gallery.columns_1{--cols:1}.w-gallery.columns_2{--cols:2}.w-gallery.columns_3{--cols:3}.w-gallery.columns_4{--cols:4}.w-gallery.columns_5{--cols:5}.w-gallery.columns_6{--cols:6}.w-gallery.columns_7{--cols:7}.w-gallery.columns_8{--cols:8}.w-gallery.columns_9{--cols:9}
.w-gallery-item{display:block;overflow:hidden}
.w-gallery-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s,opacity .2s}
.w-gallery-item:hover img{transform:scale(1.05);opacity:.9}

/* =========================================================================
   7. Blog
   ====================================================================== */
.w-blog{margin-bottom:30px}
.w-blog-list{display:grid;grid-template-columns:1fr;gap:40px}
.w-blog.columns_2 .w-blog-list{grid-template-columns:repeat(2,1fr);gap:30px}
.w-blog.columns_3 .w-blog-list{grid-template-columns:repeat(3,1fr);gap:30px}
.w-blog.columns_4 .w-blog-list{grid-template-columns:repeat(4,1fr);gap:25px}
.w-blog-entry{position:relative;min-width:0}
.w-blog-entry-h{height:100%;display:flex;flex-direction:column}
.w-blog-entry-link{display:block;color:inherit}
.w-blog-entry-preview{display:block;overflow:hidden;margin-bottom:15px;border-radius:4px}
.w-blog-entry-preview img{display:block;width:100%;transition:transform .5s}
.w-blog-entry-link:hover .w-blog-entry-preview img{transform:scale(1.04)}
.w-blog-entry-title{margin:0 0 .4em;padding:0;font-size:var(--em-h4);transition:color .2s}
.w-blog-entry-link:hover .w-blog-entry-title{color:var(--em-primary)}
.w-blog-entry-body{display:flex;flex-direction:column;flex:1}
.w-blog-entry-short{margin:.6em 0 1em}
.w-blog-entry-short p{margin-bottom:.8em}
.w-blog-entry-more{align-self:flex-start;margin-top:auto}
.w-blog-meta{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13px;color:var(--em-fade)}
.w-blog-meta a{color:var(--em-fade)}
.w-blog-meta a:hover{color:var(--em-primary)}
.w-blog-meta .fa{margin-right:4px}
.w-blog.imgpos_atleft .w-blog-entry-h{display:grid;grid-template-columns:min(30%,260px) 1fr;column-gap:30px;align-items:start}
.w-blog.imgpos_atleft .w-blog-entry-link{display:contents}
.w-blog.imgpos_atleft .w-blog-entry-preview{grid-row:1 / span 2;margin:0}
.w-blog.imgpos_atleft .w-blog-entry-title,.w-blog.imgpos_atleft .w-blog-entry-body{grid-column:2}
.w-blog.imgpos_atleft.circle .w-blog-entry-preview{border-radius:50%}
.g-pagination,.w-blog-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:40px 0 0}
.g-pagination .page-numbers{display:inline-block;min-width:42px;height:42px;line-height:42px;padding:0 8px;text-align:center;border-radius:4px;color:var(--em-text);background:var(--em-bg-alt)}
.g-pagination .page-numbers.current,.g-pagination a.page-numbers:hover{background:var(--em-primary);color:#fff}

/* Single post */
.single-post .l-submain-h{padding-top:40px}
.w-blog-preview{margin-bottom:30px}
.w-blog-preview img{display:block;width:100%;border-radius:4px}
h1.w-blog-title{margin-bottom:.3em}
.w-blog-content>.w-blog-meta{margin-bottom:30px}
.w-blog-text{margin-bottom:30px}
.w-blog-tags{font-size:13px;color:var(--em-fade);margin-bottom:30px}
.w-related{margin-top:50px;padding-top:40px;border-top:1px solid var(--em-border)}
.w-comments{margin-top:50px}
.w-comments-list{list-style:none;padding:0}
.w-comments-list .children{list-style:none}
.comment-body{padding:20px 0;border-bottom:1px solid var(--em-border)}
.comment-author .avatar{float:left;margin-right:15px;border-radius:50%}
.comment-meta{font-size:13px;color:var(--em-fade)}
.comment-respond{margin-top:30px}
.comment-form p{margin-bottom:1em}

/* =========================================================================
   8. Portfolio
   ====================================================================== */
.w-portfolio{position:relative;margin-bottom:0}
.w-filters{font-size:0;text-align:center;margin-bottom:0}
.w-portfolio.align_left .w-filters{text-align:left}
.w-filters-item{display:inline-block;vertical-align:top;line-height:50px;padding:0 20px;font-size:var(--em-fs);cursor:pointer;color:var(--em-text);user-select:none;transition:background-color .3s,color .3s}
.w-filters-item:hover{color:var(--em-primary)}
.w-filters-item.active{background:var(--em-primary);color:#fff}
.w-portfolio-list{display:grid;grid-template-columns:repeat(var(--cols,3),1fr);gap:0}
.w-portfolio-list{margin:5px 0}
.w-portfolio.with_indents .w-portfolio-list{margin:5px -5px}
.w-portfolio.columns_1{--cols:1}.w-portfolio.columns_2{--cols:2}.w-portfolio.columns_3{--cols:3}.w-portfolio.columns_4{--cols:4}.w-portfolio.columns_5{--cols:5}
.w-portfolio-item{position:relative;min-width:0;transition:opacity .4s,transform .4s}
.w-portfolio-item.is-hidden{display:none}
.w-portfolio-item.em-new{opacity:0;transform:translateY(20px)}
.w-portfolio-item-h{position:relative;overflow:hidden;height:100%}
.w-portfolio-item-anchor{display:block;position:relative;color:#fff}
.w-portfolio-item-image{position:relative;overflow:hidden}
.w-portfolio-item-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:transform .6s}
.w-portfolio.ratio_4-3 .w-portfolio-item-image img{aspect-ratio:4/3}
.w-portfolio.ratio_1-1 .w-portfolio-item-image img{aspect-ratio:1}
.w-portfolio.ratio_2-3 .w-portfolio-item-image img{aspect-ratio:2/3}
.w-portfolio.ratio_3-4 .w-portfolio-item-image img{aspect-ratio:3/4}
.w-portfolio-item-anchor:hover .w-portfolio-item-image img{transform:scale(1.06)}
.w-portfolio-item-meta{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.65);opacity:0;transition:opacity .35s}
.w-portfolio.align_left .w-portfolio-item-meta{justify-content:flex-start;text-align:left}
.w-portfolio-item-meta-h{text-align:center;transform:translateY(10px);transition:transform .35s}
.w-portfolio-item-anchor:hover .w-portfolio-item-meta,.w-portfolio-item-anchor:focus-visible .w-portfolio-item-meta{opacity:1}
.w-portfolio-item-anchor:hover .w-portfolio-item-meta-h{transform:none}
.w-portfolio-item-title{margin:0 0 .3em;padding:0;color:#fff;font-size:var(--em-h5)}
.w-portfolio-item-text{display:block;font-size:13px;line-height:1.5;opacity:.85}
.w-portfolio-item-text h4{margin:0 0 .3em;padding:0;font-size:13px;color:var(--em-primary);text-transform:uppercase;letter-spacing:.06em}

.w-loadmore{position:relative;text-align:center;margin-top:30px}
.w-loadmore>.fa-spin{display:none;font-size:22px;color:var(--em-primary)}
.w-loadmore.loading>.g-btn{visibility:hidden}
.w-loadmore.loading>.fa-spin{display:block;position:absolute;left:50%;top:50%;margin:-11px 0 0 -11px}
.w-loadmore.done{display:none}
.w-blog-entry.em-new{opacity:0;transform:translateY(20px)}
.w-blog-entry{transition:opacity .4s,transform .4s}

/* =========================================================================
   9. Footer
   ====================================================================== */
.l-footer{position:relative}
.l-subfooter{padding:0 40px}
.l-subfooter-h{max-width:var(--em-container,1140px);margin:0 auto}
.l-subfooter.at_top{padding-top:50px;padding-bottom:20px;background:var(--em-footer-bg);color:var(--em-footer-text);font-size:13px}
.l-subfooter.at_top h1,.l-subfooter.at_top h2,.l-subfooter.at_top h3,.l-subfooter.at_top h4,.l-subfooter.at_top h5,.l-subfooter.at_top h6{color:var(--em-footer-heading);padding-top:0}
.l-subfooter.at_top h4{font-size:22px;margin-bottom:.8em}
.l-subfooter.at_top a{color:var(--em-footer-link)}
.l-subfooter.at_top a:hover{color:var(--em-footer-hover)}
.l-subfooter.at_top .widget{margin-bottom:30px}
.l-subfooter.at_top .w-socials-item-link{color:var(--em-footer-text)}
.l-subfooter.at_top .w-socials-item-link:hover{color:#fff}
.l-subfooter.at_bottom{padding-top:30px;padding-bottom:30px;background:var(--em-bottom-bg);color:var(--em-bottom-text);font-size:13px;text-align:center}
.l-subfooter.at_bottom a{color:var(--em-bottom-link)}
.l-subfooter.at_bottom a:hover{color:var(--em-secondary)}
.w-menu-list{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 20px;list-style:none;margin:0 0 12px;padding:0}
.w-menu-list li{margin:0}
.widget ul{list-style:none;padding:0}
.widget li{margin-bottom:.5em}
.widgettitle{font-size:var(--em-h4)}

/* Back to top */
.w-toplink{position:fixed;right:15px;bottom:-60px;z-index:99;display:block;width:50px;height:50px;line-height:50px;text-align:center;font-size:30px;color:#fff;background:rgba(0,0,0,.3);border-radius:5px;transition:bottom .3s,background-color .2s}
.w-toplink.active{bottom:15px}
.w-toplink:hover{background:var(--em-primary);color:#fff}

/* 404 */
.page-404{text-align:center;padding:60px 0}
.page-404>.fa{font-size:120px;color:var(--em-border);margin-bottom:20px}
.page-404 h1{font-size:var(--em-h2)}

/* Search form widget */
.search-form{display:flex;gap:6px}
.search-form .g-btn{min-height:2.8em;padding:0 1.2em}

/* =========================================================================
   10. Animations (only with JS)
   ====================================================================== */
html.js:not(.no-animations) [class*="animate_"]:not(.animated){opacity:0}
html.js [class*="animate_"]{transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1)}
html.js:not(.no-animations) .animate_afl:not(.animated){transform:translateX(-60px)}
html.js:not(.no-animations) .animate_afr:not(.animated){transform:translateX(60px)}
html.js:not(.no-animations) .animate_afb:not(.animated){transform:translateY(60px)}
html.js:not(.no-animations) .animate_aft:not(.animated){transform:translateY(-60px)}
html.js:not(.no-animations) .animate_hfc:not(.animated){transform:scale(.85)}
html.js:not(.no-animations) .animate_wfc:not(.animated){transform:scaleX(.6)}
.d1{transition-delay:.2s!important}.d2{transition-delay:.4s!important}.d3{transition-delay:.6s!important}.d4{transition-delay:.8s!important}.d5{transition-delay:1s!important}.d6{transition-delay:1.2s!important}.d7{transition-delay:1.4s!important}.d8{transition-delay:1.6s!important}.d9{transition-delay:1.8s!important}.d10{transition-delay:2s!important}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* =========================================================================
   11. Lightbox
   ====================================================================== */
.em-lightbox{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;background:rgba(10,10,10,.92);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.em-lightbox.open{opacity:1;visibility:visible}
html.em-lb-active{overflow:hidden}
.em-lb-figure{margin:0;max-width:92vw;max-height:88vh;text-align:center}
.em-lb-figure img{max-width:92vw;max-height:82vh;width:auto;height:auto;object-fit:contain;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.em-lb-figure figcaption{color:#ddd;padding-top:10px;font-size:14px}
.em-lb-close,.em-lb-prev,.em-lb-next{position:absolute;border:0;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;border-radius:50%;width:50px;height:50px;font-size:30px;line-height:50px;padding:0;transition:background-color .2s}
.em-lb-close:hover,.em-lb-prev:hover,.em-lb-next:hover{background:var(--em-primary)}
.em-lb-close{top:15px;right:15px;font-size:34px}
.em-lb-prev{left:15px;top:50%;margin-top:-25px}
.em-lb-next{right:15px;top:50%;margin-top:-25px}
.em-lightbox.single .em-lb-prev,.em-lightbox.single .em-lb-next{display:none}

/* =========================================================================
   12. Plugins compatibility
   ====================================================================== */
/* WPBakery */
/* WPBakery front CSS (when loaded) adds 35px under every element; the old theme had none */
.l-main .wpb_content_element{margin-bottom:0}
.l-main .wpb_content_element.wpb_single_image{margin-bottom:40px}
.vc_row.wpb_row{margin-left:0;margin-right:0}
/* Contact Form 7 */
.wpcf7 form .wpcf7-response-output{margin:1em 0 0;padding:.8em 1em;border-radius:4px}
.wpcf7-not-valid-tip{font-size:13px}
.wpcf7-spinner{vertical-align:middle}
/* AddToAny */
.addtoany_share_save_container{margin-top:30px}

/* =========================================================================
   13. Responsive
   ====================================================================== */
@media (max-width:1023px){
	.l-submain-h{padding:40px 0}
	.l-submain.full_height>.l-submain-h{padding-top:0;padding-bottom:0}
	.w-blog.columns_4 .w-blog-list{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
	.g-cols{column-gap:0}
	.g-cols>div{width:100%!important}
	.g-cols>div+div{margin-top:30px}
	.g-cols>div:empty+div{margin-top:0}
	.w-blog.columns_3 .w-blog-list{grid-template-columns:repeat(2,1fr)}
	.w-portfolio.columns_4,.w-portfolio.columns_5{--cols:3}
	.w-actionbox,.w-actionbox>div{display:block}.w-actionbox-controls{text-align:left;padding:15px 0 0;white-space:normal}
}
@media (max-width:767px){
	.w-blog.columns_2 .w-blog-list,.w-blog.columns_3 .w-blog-list,.w-blog.columns_4 .w-blog-list{grid-template-columns:1fr}
	.w-portfolio.columns_3,.w-portfolio.columns_4,.w-portfolio.columns_5{--cols:2}
	.w-blog.imgpos_atleft .w-blog-entry-h{grid-template-columns:100px 1fr;column-gap:15px}
	.w-gallery-list{grid-template-columns:repeat(min(var(--cols,3),3),1fr)}
	.alignleft,.alignright{float:none;margin:0 auto 1em}
	.l-subheader.at_top{font-size:12px}
	.w-contacts-item.for_custom{display:none}
}
@media (max-width:600px){
	.l-submain{padding:0 25px}
	.l-submain-h{padding:25px 0}
	.l-subfooter{padding-left:25px;padding-right:25px}
	.w-portfolio.columns_2,.w-portfolio.columns_3,.w-portfolio.columns_4,.w-portfolio.columns_5{--cols:1}
	.w-pagehead{flex-direction:column;align-items:flex-start}
}
@media (max-width:480px){
	.l-subheader{padding:0 15px}
	.w-contacts-item.for_email .w-contacts-item-value{font-size:12px}
	.w-toplink{width:42px;height:42px;line-height:42px;font-size:24px}
}
@media print{
	.l-header,.l-footer,.w-toplink,.em-lightbox{display:none!important}
	.headerpos_fixed .l-main>.l-submain:first-child{padding-top:0!important}
}

/* Wrappers that only hold Ultimate Addons background helpers take no space (like the old theme) */
.l-main>.l-submain:not(:has(>.l-submain-h>:not(.upb_bg_img,.upb_color,.upb_no_bg,.upb_grad,.upb_content_video,.upb_content_iframe,.upb_row_bg,.upb_bg_overlay,script,style,link,br)))>.l-submain-h{padding-top:0;padding-bottom:0}
.l-subfooter.at_top p{font-size:13px;line-height:21px;margin:0 0 20px}
.l-subfooter.at_top p:last-child{margin-bottom:0}

/* Ultimate Addons counters: when WPBakery drops the default "icon position"
   the block gets the class "stats-" and loses its centering → center it. */
.stats-block[class~="stats-"],.stats-block.stats-top{text-align:center}
.stats-block[class~="stats-"] .aio-icon-top,.stats-block[class~="stats-"] .ult-just-icon-wrapper{text-align:center}
