
/* Fill fonts
--------------------------------------------- */
:root {--fill-text-min:25; --fill-text-margin:5; --fill-text-density:1;}
.js-fill-text {width: 100%;display: block; line-height: 1em;}
.js-fill-text>*{display: block;width: fit-content;font-size: inherit!important;line-height: inherit!important;}

/* Lazy Load
-----------------------------------------------------*/

.lazy-image-wrapper {overflow:hidden; position:relative}
.lazy-spinner {display:block; position: absolute;top:50%;left: 50%; transform:translate(-50%,-50%); width:60%!important; height:60%!important; max-width: 70px!important; max-height: 70px!important;background:url('../images/loader/lazy-loading.svg') no-repeat center center; background-size:contain  }
img:not(.lazyload-img) ~  .lazy-spinner { display:none;}
img.lazyloaded ~  .lazy-spinner,
.map-loaded .lazy-spinner { display:none;}
.map-container .lazy-spinner {z-index:3;}
/*.lazyload-img {filter: blur(5px); }
.lazyload-img.lazyloaded{ animation:loaded-image-remove-blur 0.5s; animation-fill-mode: forwards;}

@keyframes loaded-image-remove-blur {

    99%{filter: blur(0px);}
    100% {filter:none }

}*/

/* 404 page
--------------------------------------------- */
#page-404 {display:flex;flex-flow:column;width:100%;height:var(--window);max-width:1100px;margin:0 auto;justify-content: center;align-items: center;text-align: center;padding: 10px;}
#page-404 h1 {--font-size:15vh;--line-height:1.1em;margin-bottom: 0.3em;}
.mobile #page-404 h1 {--font-size:60px;}
#page-404 .button {max-width: 300px;margin-top:40px;}


/* More
--------------------------------------------- */
.js-more:not(.active) .js-more-complete {display:none;}
.js-more.active .js-more-short {display:none;}
.js-more-button {cursor:pointer; white-space: nowrap;}

/* Zoom
--------------------------------------------- */
.js-zoom {overflow:hidden;}
.js-zoom.zoom-enabled { cursor:zoom-in; }
.js-zoom .zoomImg { object-fit: contain; min-width: 100%; min-height: 100%; }

/* Preview
--------------------------------------------- */
.js-gallery-preview {cursor:pointer}

/* Reveal
--------------------------------------------- */
.reveal 
.reveal-child>* {visibility: hidden;}

/* Appear
--------------------------------------------- */
.js-appear-trigger {height:1px; display:block; width:100%; bottom:0; pointer-events:none; }

/* Resize frame
--------------------------------------------- */
.js-resize-frame *{width:100%!important}
.js-resize-frame iframe { min-width:0!important; }

/* Horizontal Drag Scroll
----------------------------------------------*/
.slide.dragging .slide-wrapper { pointer-events:none; }
.slide-wrapper.no-slide { cursor:auto; }

/* Infinite  Scroll Trigger
--------------------------------------------- */
.js-infinite-scroll-trigger {width: 100%;height:1px;pointer-events: none;text-align:center;opacity:0;position:absolute;top: 80%;left:0;}

.infinite-loading-icon { overflow: hidden; transition: height 1s;height: 0; display:flex; align-items:center; justify-content:center; }
.js-infinite-scroll-trigger  + .infinite-loading-icon {  height: 40px; }

/* Marquee
--------------------------------------------- */
/*.js-marquee {overflow:hidden;display:flex;flex-flow: nowrap; --marque-speed: 4 }
.js-marquee .marquee-text {width:auto;animation: marquee var(--marquee-duration, 10s) linear infinite;display: inline-block;white-space: nowrap;}
.js-marquee .marquee-text { -webkit-font-smoothing: antialised; backface-visibility: hidden; -webkit-font-smoothing: subpixel-antialiased; }

@keyframes marquee {
    0%   { transform: translateX(0%); }
    100% { transform: translateX(-100%); }
}*/

.js-marquee {overflow:hidden;}
.js-marquee *{ -webkit-font-smoothing: antialised; backface-visibility: hidden; will-change:transform;-webkit-backface-visibility: hidden;
    --webkit-will-change:transform;  -webkit-font-smoothing: subpixel-antialiased; -webkit-transform-style: preserve-3d;-webkit-transform:translate3d(0,0,0); transform:translate3d(0,0,0);transform-style: preserve-3d; }
.js-marquee .marquee-content { padding-right:3px }

/* Form Validation
--------------------------------------------- */
.js-form-validation .js-form-submit.empty-require-disable button,
.js-form-validation .js-form-submit.initial-require-disable button,
.js-form-validation .js-form-submit.not-match-disable button{ pointer-events: none;}
.js-form-validation .js-form-submit.empty-require-disable button:after , 
.js-form-validation .js-form-submit.not-match-disable button:after {content: '(Resolve all errors first)';margin-left: 10px;}

/* Cursor
--------------------------------------------- */
:root {--cursor-auto:'Ã¢â€ â€“';}
.cursor-out #cursor,
.cursor-on-iframe #cursor{ display:none; }
#cursor {position:fixed; width:fit-content; z-index:20; pointer-events: none; }
.js-cursor {cursor:none;}

/* Cookie Notice
--------------------------------------------- */

:root {
--cookie-background:white; 
--cookie-align:left;
--cookie-round:30px;
--cookie-width:500px;
--cookie-space-around:20px;
--cookie-space-inside:20px; 
--cookie-space-between-text:20px;
--cookie-space-buttons:20px;
--cookie-buttons-round:30px;
}

.open-privacy #cookie-notice { display:none }
#cookie-notice {z-index:6!important; background:none!important; pointer-events:none;}
#cookie-notice .cookie-notice-container {background-color:var(--cookie-background);pointer-events:all;float: var(--cookie-align, left);}
#cookie-notice .cookie-notice-container {margin:var(--cookie-space-around, 20px);  padding:var(--cookie-space-around,20px); border-radius:var(--cookie-round,0)}
#cookie-notice .cookie-notice-container { max-width:var(--cookie-width,500px)!important; min-width:auto!important; width:100%;}
#cookie-notice .cookie-notice-container { text-align:left; }
#cookie-notice *{color: var(--color-text, inherit)!important;font-size:var(--font-size,'18px')!important;font-family:var(--font-family,sans-serif)!important;line-height: var(--line-height,auto)!important;margin: 0;}
#cookie-notice .column {--spacing:var(--cookie-space-between-text,15px)}
#cookie-notice #cn-notice-buttons {display: flex;margin-top:var(--cookie-space-buttons,15px);}
#cookie-notice #cn-notice-buttons {   column-gap: var(--cookie-space-between-buttons,20px); grid-auto-columns: var(--cookie-buttons-width,170px);}
#cookie-notice #cn-notice-buttons {justify-content:flex-end}

#cookie-notice #cn-notice-buttons a.cn-button {text-align:center;border:1px solid; border-radius:var(--cookie-buttons-round,0px); text-transform: initial; }
#cookie-notice #cn-notice-buttons a.cn-button {background:none; margin:0; padding:2px 20px; }
#cookie-notice #cn-close-notice {display: none;}

.mobile #cookie-notice #cn-notice-buttons {position:relative; z-index:2;display:flex; justify-content: space-between;}

/* Gallery
--------------------------------------------- */

.js-gallery-window li:not(.current) { display:none }
.js-gallery-window .slide li,
.js-gallery-window .scroll li {display:block}

/* To review */
.gallery { height: 100%; width: 100%;}
.gallery .gallery-inner {height: 100%; width: 100%;  }
.gallery:not(.gallery-vertical) .gallery-inner:not(.slide, .scroll){overflow: hidden;}
.gallery li {height: 100%; width: 100%; display: block;}
.gallery .lazy-image-wrapper {width: 100%;height:100%;}
.gallery .gallery-image-list:not(.scroll-wrapper) {display:flex;width:max-content;height:100%;justify-content: flex-start;}

.gallery.contain  img {width: 100%;  height: 100%; object-fit: contain;}
.gallery.cover img {width:100%;height:100%; object-fit: cover;}
/* End To review */

.gallery .gallery-button { position:absolute; right:0; top:0; cursor: pointer; mix-blend-mode: exclusion;}
.gallery .gallery-button:before, .gallery .gallery-button:after { --color-text:white }


.gallery.caption .gallery-caption {padding:5px; max-width:fit-content; margin:0 auto; text-align:center;}
.gallery.caption .caption-title {padding-bottom:2px}

.gallery.gallery-vertical .gallery-inner {overflow-x:hidden;overflow-y:auto; height:100%; width:100%; }
.gallery.gallery-vertical .gallery-image-list {display:block;width:100%;height: auto;}
.gallery.gallery-vertical .gallery-inner li { height:auto; }
.gallery.gallery-vertical .gallery-inner li img {width:100%; height:auto;}
.gallery.gallery-vertical .gallery .lazy-image-wrapper {height:auto}

.gallery.gallery-window {position: fixed; bottom:-100%; left:0; width: 100%; height: 100%; z-index:3; background: var(--background-color,white);}
.gallery.gallery-window:not(.open) {opacity:0; pointer-events:none; }

.gallery.gallery-vertical.single {height: 100%;}
.gallery.gallery-vertical.single ul {align-items:center;height: 100%;}

.gallery.gallery-grid .gallery-inner {overflow:visible; height:auto; width:100%; }
.gallery.gallery-grid .gallery-image-list { overflow:visible; display:grid;grid-template-columns: var(--layout, repeat(var(--columns, 2 ),1fr));grid-column-gap: var(--spacing,10px);grid-row-gap: var(--spacing,10px); width:100%;}
.gallery.gallery-grid .gallery-inner li {height: max-content;width: 100%;}
.gallery.gallery-grid .gallery-inner li img {width:100%; height:auto;}

/*.gallery-start .js-gallery-prev,
.gallery-end .js-gallery-next {display:none!important}*/

.gallery ul.gallery-nav { width:100%; height:auto; display:flex; align-items:center; justify-content:center; left:0; }
/*.gallery-start .js-gallery-prev, 
.gallery-end .js-gallery-next {opacity: 0.3; pointer-events: none; cursor:auto;}*/
.js-gallery-prev,.js-gallery-next,.js-gallery-close { cursor:pointer}

.gallery ul li.gallery-nav-button {cursor:pointer;height: 13px;width: 13px;margin: 20px 7px;border: 3px solid white;display:block;border-radius:50%;}
.gallery ul li.gallery-nav-button.current {background:white; }





/*.gallery.gallery-boxed {position:relative; width:var(--gallery-width,100%); height:var(--gallery-height,450px); }
.gallery.gallery-boxed .gallery-inner {height:100%; width:100%; }
.gallery.gallery-boxed .gallery-inner.slide {overflow-x:auto; overflow-y:hidden; }
.gallery.gallery-boxed ul {display: flex;width: max-content;height:100%;}
.gallery.gallery-boxed ul li {height: 100%;width: 100%;}
.gallery.gallery-boxed .slide ul.slide-wrapper li {width:auto}
.gallery.gallery-boxed ul img {height:var(--gallery-height, 100%);width: var(--gallery-width, 100%);object-fit: cover;}

.gallery.gallery-boxed.single ul {width:100%;}
.gallery.gallery-boxed.single ul img { width:100%; height:auto; }

.gallery.gallery-boxed.caption { height:auto; text-align:center; }
.gallery.gallery-boxed.caption ul img {height:var(--gallery-image, 500px); width: auto;}
*/
/*.gallery.gallery-full-slide li {width:100vw}
.gallery.gallery-half-slide li {width: calc(calc(50vw - 1px) - var(--site-margin));}

.gallery.gallery-full-vertical ul {display: flex;flex-flow: column;height: max-content;width: 100%;}
.gallery.gallery-full-vertical li {height:100vh}
.gallery.gallery-slide .gallery-inner { overflow:auto }
.gallery.gallery-slide .gallery-image-list {gap:2px;}
.gallery.gallery-slide li img {width:auto; height:100%}

.gallery-fixed  li {position:absolute; top:0; left:0; width:100%; height:100%; }*/

/* Simple Contact
--------------------------------------------- */
:root{
    --contact-border-width:1px;
    --contact-height:27px;
    --contact-border-color:var(--color-text);
    --contact-width:100%;
    --contact-spacing-message:0px;
    --contact-spacing:2px;
    --contact-spacing-left:2px;
    --contact-button-width:40px;
}

.contact-email {position:relative;max-width: var(--contact-width,300px);text-align:left;display:inline-block;width: 100%;}
.contact-email input[ type=email] {padding-left: var(--contact-spacing-left,2px);padding-bottom: 0;padding-top: 0;background:var(--contact-background,none);padding-right:var(--contact-button-width,50px);height:var(--contact-height,calc(var(--line-height) + 10px));margin-bottom:var(--contact-spacing,10px);border:var(--contact-border,var(--contact-border-width,2px) solid var(--contact-border-color,black));width: 100%;display: inline-flex;align-items: center;}
.contact-email input[ type=submit] {border:none;position:absolute;top:0;margin:0;display: flex;padding: 0;right:0;height:var(--contact-height,calc(var(--line-height) + 10px));width:var(--contact-button-width,50px);margin-right: var(--contact-border-width);text-transform: initial;align-items: center;}
.submit-icon .contact-email input[ type=submit] {font-size:0!important; -webkit-mask: var(--contact-button-image) no-repeat center center; mask: var(--contact-button-image) no-repeat center center;-webkit-mask-size: contain;mask-size: containt;background-color:var(--contact-button-color, var(--color-text));}
.contact-email input[type="checkbox"] { width:var(--line-height); height:var(--line-height);}
.contact-email input[type="checkbox"]:after { width:80%; height:80%; }
.contact-email .fl_acceptance label{display:table;width: 100%;}
.contact-email .wpcf7-form-control-wrap {float:left;width: 100%;}
.contact-email .ajax-loader {height:var(--contact-height,calc(var(--line-height)))!important;width:calc(var(--contact-button-width,50px) - 15px)!important;position: absolute;left: 0;top: calc(100% + var(--contact-spacing-message,20px));}
form.contact-email .wpcf7-response-output { --font-size:0.9em; padding: 0;border:none;text-align:left!important;position: absolute;top: 100%;padding-top: var(--contact-spacing-message,20px);}
.contact-email .wpcf7-not-valid-tip { --font-size:0.8em; margin-top:-10px}
.contact-email br { height:0; display:none}
.contact-email .wpcf7-spinner {position: absolute; top:100%;}

/* Map
--------------------------------------------- */
.map-container {position:relative}
/*.map-container .ol-attribution, .map-container .ol-zoom {display: none;}*/
/*.map-container .ol-overlaycontainer-stopevent { pointer-events:none;}
.map-container .ol-overlaycontainer-stopevent>* {pointer-events:all}*/
.marker-popup {position:absolute; cursor:pointer; display:block; z-index:3; }
.marker-popup img{max-width:100%;}


/* Pagination
-----------------------------------------------------*/
.page-numbers {display:flex; align-items:center; margin: 0 4px;}
.page-numbers .page-numbers-inner {display: flex; text-align:center;align-items:center;justify-content:center;margin-top:2px; padding-left: 5px;padding-bottom: 4px;padding-top: 2px;padding-right: 2px;}
.page-numbers:not(.prev):first-child:before, 
.page-numbers.prev+.page-numbers:before {content:"page"; margin:0 6px;}


/* Cart Menu
-----------------------------------------------------*/

.cart-menu .cart-menu-item {display:flex;align-items:center;width: 100%;height: 100%;}
.cart-menu .cart-contents-count {position:relative;  left:-7px; top:2px; background:black; --color-text:white; --font-size:9px; --font-family:sans-serif; font-weight:700; width:15px; height:15px; display:flex; align-items:center; justify-content:center; border-radius:30%}

    /*.cart-menu .cart-menu-dropdown:before {content:"";  background:var(--color-13); position:absolute;height:var(--navbar-height);bottom: 100%;right: 0;z-index: -1;}
    .cart-menu .cart-menu-dropdown {position:absolute;background:var(--color-13);width:50%;right:0;top: 50px;margin-top: -1px;}

    .cart-menu .widget_shopping_cart_content {height:0;overflow: auto;transition: height 0.5s ease;}
    .cart-menu .cart-menu-dropdown:before { width:0; transition:width 0.5s ease}

    .cart-menu:hover .widget_shopping_cart_content,
    .cart-menu-item:hover + .cart-menu-dropdown .widget_shopping_cart_content,
    .cart-menu-dropdown:hover .widget_shopping_cart_content {height:100vh;}

    .cart-menu:hover .cart-menu-dropdown:before,
    .cart-menu-item:hover + .cart-menu-dropdown:before,
    .cart-menu-dropdown:hover:before { width:90px;}

    .cart-menu .widget_shopping_cart_content>* {padding:var(--site-margin-x);padding-bottom: 15px;}
    .cart-menu .mini_cart_item {display:flex;position:relative;justify-content:space-between;margin-bottom: 17px;}
    .cart-menu .mini_cart_item .blockOverlay { background-color:white!important;}
    .cart-menu .remove {position:absolute; left:-2px; top:-2px; background:var(--color-2); border-radius:0 0 50% 0; z-index:2 }
    .cart-menu .mini_cart_item img {position:absolute; left:0;  width: 70px;height: 70px;display:inline-block;vertical-align:top;margin-right: 20px;background:var(--color-1);object-fit:contain;}
    .cart-menu .mini_cart_item a:not(.remove) { min-height:70px; max-width:calc(100% - 100px);position:relative; padding-left: 100px;}
    .cart-menu .quantity {--color-text:var(--color-6)}
    .cart-menu .buttons .button {margin-bottom:10px; text-decoration:none}
    .cart-menu .buttons .button:after {display:none}
    .cart-menu .woocommerce-mini-cart__total { padding-top:0; padding-bottom:0}*/