
/* 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;}

/* 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; }


/* 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;}
.js-marquee .an-marquee {width:auto;animation: marquee 10s linear infinite;display: inline-block;white-space: nowrap;}

@keyframes marquee {
    0%   { transform: translateX(0%); }
    100% { transform: translateX(-100%); }
}

/* 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
--------------------------------------------- */
#cookie-notice {background-color:var(--color-primary)!important; }
#cookie-notice .cookie-notice-container { text-align:left;  padding:var(--cookie-space-around,20px);}
#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;}
#cookie-notice .column {--spacing:var(--cookie-space-between,15px)}
#cookie-notice .column .column {--spacing:var(--cookie-lastline-distance,15px) }
#cookie-notice #cn-notice-buttons { display:grid; grid-auto-flow: column; margin-top:var(--cookie-buttons-distance,15px) }
#cookie-notice #cn-notice-buttons {   column-gap: var(--cookie-buttons-between,20px); grid-auto-columns: var(--cookie-buttons-width,170px);}
#cookie-notice #cn-notice-buttons a {text-align:center;border:1px solid;border-radius:var(--cookie-buttons-round,0px);text-transform: initial; }
#cookie-notice #cn-notice-buttons a {margin:0; padding:0; }
#cookie-notice #cn-close-notice {display: none;}

.mobile #cookie-notice #cn-notice-buttons {position:relative; z-index:2;display:flex; justify-content: space-between;}
.mobile #cookie-notice #cn-notice-buttons a {cursor:none!important; margin-right:0; width:45%;}


/* Gallery
--------------------------------------------- */

.gallery.boxed {position:relative; width:var(--gallery-width,100%); height:var(--gallery-height,450px); }
.gallery.boxed .gallery-inner {overflow-y:hidden;overflow-x:auto; height:100%; width:100%; }
.gallery.boxed ul {display: inline-block; width: max-content; height:100%;}
.gallery.boxed ul li {float: left;height: 100%;margin-left: -1px;}
.gallery.boxed ul img {height:var(--gallery-image, 100%); width: auto;}
.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.vertical {position:relative; width:var(--gallery-width,100%); height:var(--gallery-height,100%); }
.gallery.vertical .gallery-inner {overflow-x:hidden;overflow-y:auto; height:100%; width:100%; }
.gallery.vertical ul {display:grid;}
.gallery.vertical ul li img {width:100%; height: auto;}

.gallery.gallery-window {--gallery-width:100%; --gallery-height:100%; }
.gallery.gallery-window {position: absolute; top:0; left:0;  z-index: 3; opacity: 0; pointer-events:none; }
.gallery.gallery-window.active { opacity: 0.4; pointer-events:all; }

.gallery.single {height:auto; pointer-events:none; cursor:auto; }
.gallery.single .gallery-button {display:none}
.gallery.boxed.single ul {width:100%;}
.gallery.boxed.single ul img { width:100%; height:auto; }
.gallery.vertical.single {height: 100%;}
.gallery.vertical.single ul {align-items:center;height: 100%;}


/* Simple Contact
--------------------------------------------- */

.contact-email {position:relative; width:var(--contact-width,300px); text-align:left; display:inline-block}
.contact-email input[ type=email] {padding-left:2px; background:var(--contact-background,none);padding-right:var(--contact-button-width-container,50px);height:var(--contact-height,calc(var(--line-height) + 10px));margin-bottom:var(--contact-spacing,10px);border:var(--contact-border,2px) solid;width: 100%;}
.contact-email input[ type=submit] { font-size:0!important; border:none; position:absolute; top:0; margin:0; right:0; height:var(--contact-height,calc(var(--line-height) + 10px)); width:var(--contact-button-width-container,50px); margin-right:4px}
.contact-email input[ type=submit] { background:var(--contact-button-image) no-repeat center center; background-size:contain; }
.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 .wpcf7-form-control-wrap {line-height:0!important;display:block;float:left;width: 100%;}
.contact-email .ajax-loader {height:var(--contact-height,calc(var(--line-height)))!important; width:calc(var(--contact-button-width-container,50px) - 15px)!important;}