﻿@charset "utf-8";

:root {
	/* Colors */
	--primary:#ed302c;
	--secondary:#ff9c00;
	--lines:#d7d9d7;
	--table:#f3f4f3 ;
	--banner:#000000 ;
	--fields:var(--table);
	--section-light:#e1e2e1;
	--section-dark:#384138;

	/* Text */
	--body-font:'Barlow Condensed';
	--text-color:#1d271d;
	--heading-font:var(--body-font);
	--heading-color:#384138;
	--link-color:var(--primary);
	
	/* Header */
	--header-background:linear-gradient(to right, var(--primary) 50%, var(--secondary));
	--header-ontop-background:var(--header-background);
	--header-border:transparent;
	--header-ontop-border:transparent;
	--logo-background:#ffffff;
	--icon-hover:transparent;
	--icon-ontop-hover:transparent;
	--header-nav:transparent;

	/* Nav */
	--nav-hover:transparent;
	--nav-hover-text:#ffffff;
	--nav-sub-hover:#f9f9f9;
	--nav-sub-hover-text:var(--text-color);
	--nav-radius:0;

	/* Modals */
	--modal-overlay:rgba(35,31,32,0.8);
		
	/* Content */
	--image-radius:0;

	/* Buttons */
	--btn-radius:0;
	--primary-text:#ffffff;
	--secondary-text:#ffffff;
	
	/* Scrollbar */
	--scrollbar-thumb:var(--primary);
	--scrollbar-track:rgba(0,0,0,0.05);

	/* Footer */
	--footer-left:#ffffff;	
	--footer-right:#ffffff;	
}

/* -------- Icons ------------ */
.btn-nav:after,
.header-button:before,
.close:before,
.checkbox input[type="checkbox"]:checked + label:before,
.btn-sub:after,
.btn-scroll:before,
.scroll-top:before,
.splide__arrow:after,
.btn__arrow:after, .btn__arrow-text:after,
.btn__icon:after,
.btn__social:after,
.image-menu__btn:after,
.block-tab-header:after,
.expand-header:after,
.lightbox a:after,
.number button:before,
.news-more a:after,
.news .page-navigation li.previous a:before,
.news .page-navigation li.next a:before,
ul.tx-indexedsearch-browsebox li:first-child:not(.tx-indexedsearch-browselist-currentPage) a:before,
ul.tx-indexedsearch-browsebox li:last-child:not(.tx-indexedsearch-browselist-currentPage) a:before,
.browse-menu a:after,
#cursor:after,
.tx-indexedsearch-search-submit input[type="submit"],
.tx-indexedsearch-icon:before,
.video-play:after,
.btn__circle:after,
.btn__close,
input[type="checkbox"] + label:before {background-image:url(../images/icons.svg?v1.1);}

/* -------- Text ------------ */
html, body  {font-size:18px; font-size:clamp(17px, 18px, 1.38vw); font-weight:300; line-height:1.5; color:var(--text-color);}
body {}
h1, .h1 {font-size:90px; font-size:clamp(40px, 90px, 4.6875vw); font-weight:500; line-height:1.2; text-wrap:balance;}
h2, .h2 {font-size:72px; font-size:clamp(36px, 72px, 3.75vw); font-weight:500; line-height:1.2; text-wrap:balance;}
h3, .h3 {font-size:60px; font-size:clamp(32px, 60px, 3.125vw); font-weight:500; line-height:1.2; color:var(--heading-color); text-wrap:balance;}
h4, .h4 {font-size:48px; font-size:clamp(28px, 48px, 2.5vw); font-weight:300; line-height:1.25;}
h5, .h5 {font-size:36px; font-size:clamp(24px, 36px, 1.875vw); font-weight:300; line-height:1.33;}
h6, .h6 {font-size:24px; font-size:clamp(21px, 24px, 1.5vw); font-weight:300; line-height:1.5;}
p       {font-size:1rem; font-weight:300; line-height:1.5;}

span.h1, span.h2, span.h3, span.h4, span.h5, span.h6 {display:block; color:inherit; margin:0;}

b, strong {font-weight:500;}

sup {font-size:0.5em;}

blockquote {font-size:36px; font-size:clamp(18px, 36px, 1.875vw); border-left:0.278em solid var(--primary); padding:0.9em 0 0.9em 1.38em; font-weight:300;}

.font-light {font-weight:300;}
.font-regular {font-weight:400;}
.font-medium {font-weight:500;}

.small {display:block; font-size:16px; font-size:clamp(14px, 16px, 1vw); line-height:1.5; margin:0; font-weight:300;}
.large {display:inline-block; font-size:1.33em;}

.color-primary {color:var(--primary);}
.color-secondary {color:var(--secondary);}
.color-black {color:var(--text-color);}
.color-grey {color:#757575;}

.indent-small {margin-left:1rem;}
.indent-medium {margin-left:2rem;}
.indent-large {margin-left:3rem;}

.float-left {position:relative; float:left; margin-top:0; z-index:1;}

.eyebrow {display:inline-block; padding:0 10em 0 0.4em; font-size:clamp(1rem, 21px, 1.09vw); font-weight:400; line-height:1.4; color:#ffffff; background:linear-gradient(to right, var(--primary), var(--secondary)); mask:linear-gradient(225deg, transparent 1em, #fff 1em, #fff 1.25em, transparent 1.26em, transparent 2.25em, #fff 2.26em, #fff 2.8em, transparent 2.81em, transparent 3.5em, #fff 3.51em, #fff 4.4em, transparent 4.41em, transparent 4.8em, #fff 4.81em, #fff 5.9em, transparent 5.91em, transparent 6.3em, #fff 6.31em);}

/* -------- Lists ------------ */
.ce-bodytext ul.list-small li {font-size:1rem; padding-top:0.4em; padding-bottom:0.4em;}

.ce-bodytext ul li,
.ce-bodytext ol li {padding-top:0.4em; padding-bottom:0.4em; padding-left:1.7em; font-weight:300; line-height:1.5;}
.ce-bodytext ul li:before {width:0.66em; height:0.66em; border-radius:0;}
.text-white .ce-bodytext ul li:before {background:var(--secondary);}
.text-white .ce-bodytext ol li:before {color:var(--secondary);}

/* -------- Forms ------------ */
legend, label {font-weight:500;}

/* -------- Header ------------ */
#header, .modal-header {font-size:130px; font-size:clamp(50px, 130px, 6.77vw); height:1.4231em; background:none; padding-bottom:0.115em; margin-bottom:-0.3077em; box-sizing:border-box; align-items:flex-start;}
#header .content-1920, #header-sticky .content-1920 {align-items:flex-start;}
.header-background {position:absolute; left:0; right:0; top:0; bottom:0; background:var(--header-background); overflow:hidden; clip-path:polygon(0 0, 100% 0, 100% calc(100% - 0.3077em), 2.9315em calc(100% - 0.3077em), 2.6238em 100%, 0 100%);}
.header-background:before {content:""; display:block; position:absolute; left:0; right:0; top:0; bottom:0; background:url(../images/bg-header.svg) no-repeat center top/108.75% auto;}
.header-bottom {position:absolute; left:0; right:0; top:0; bottom:0; border-bottom:0.1154em solid #ffffff; filter:drop-shadow(0 -0.0307em 0.1231em rgba(0,0,0,0.3));}
.header-bottom:after {content:""; display:block; position:absolute; left:2.5385em; right:0; bottom:0; height:0.3077em; background:linear-gradient(-45deg, #fff 50%, transparent 50.1%) no-repeat left top/0.3077em 0.3077em, linear-gradient(to right, #fff , #fff) no-repeat 0.3em bottom;}

@media screen and (min-width:1921px) {
	.header-background {clip-path:polygon(0 0, 100% 0, 100% calc(100% - 0.3077em), calc(50% - 4.4531em) calc(100% - 0.3077em), calc(50% - 4.7608em) 100%, 0 100%);}
	.header-bottom:after {left:50%; margin-left:-4.8461em;}
}

.header-logo {width:2.6615em; height:100%; box-sizing:border-box; padding:0.138em 0; margin:0 0 0 -0.1231em; filter:drop-shadow(0.0307em 0.0307em 0.1231em rgba(0,0,0,0.3));}
.header-logo a {flex-direction:column; justify-content:center; text-decoration:none; height:100%; padding:0.1154em 0.3846em 0.1154em 0.4615em; clip-path:polygon(0.1231em 0, calc(100% - 0.1231em) 0, 100% 0.1231em, 100% calc(100% - 0.1231em), calc(100% - 0.1231em) 100%, 0.1231em 100%, 0 calc(100% - 0.1231em), 0 0.1231em);}
.tagline {display:block; font-family:'Barlow', sans-serif; font-size:clamp(7px, 16px, 0.833vw); line-height:1; margin:0.3em 0.5em 0 0; font-weight:700; color:var(--text-color); letter-spacing:0.05em; text-transform:uppercase; bottom:0;}

.header-buttons {position:relative; font-size:1em; display:flex; align-items:center;}
.header-buttons:before {content:""; display:block; border:0.5em solid #000; border-color:#000 #000 transparent transparent; position:absolute; right:100%; top:0; filter:drop-shadow(-1.5px 0 0 #fff); opacity:0.05;}
.header-button {font-size:1em; width:1em; height:1.01em; padding:0; border-left:1px solid rgba(255,255,255,0.1); background:rgba(0,0,0,0.05);}
.header-button span {display:none; font-weight:800; color:#ffffff; transition:filter 0.3s;}
.header-button:hover {background:rgba(0,0,0,0.05);}
.header-button:hover span {color:#ffffff; filter:drop-shadow(0 4px 4px rgba(0,0,0,0.4));}
.header-button:before {font-size:60px; font-size:clamp(36px, 60px, 3.75vw); left:50%; top:50%; margin:-0.5em; background-position-y:-2em; transition:filter 0.3s;}
.header-button:hover:before {filter:drop-shadow(0 4px 4px rgba(0,0,0,0.4));}
.header-button:after {content:""; font-size:0.1846em; display:block; position:absolute; left:1em; right:1em; bottom:0; margin:0 -0.5em; border:0.5em solid transparent; border-bottom-color:#ffffff; transform:translateY(100%); transition:transform 0.3s; filter:drop-shadow(0 0 0.66em rgba(0,0,0,0.3));}
.header-button:hover:after {transform:none;}

.header-nav,
.header-nav:hover {background:none;}

.header-button.header-phone {display:flex; align-items:center; padding:0; margin:0;}
.header-button.header-phone:before {left:0;}
.header-button.header-phone span {display:block; font-size:36px; font-size:clamp(22px, 36px, 2.25vw); font-weight:300; line-height:2; padding:0 1em 0 1.8em;}

#header-sticky {font-size:100px; font-size:clamp(50px, 100px, 5.21vw); height:1em; top:-1em;}
#header-sticky .header-bottom {display:none;}
#header-sticky .header-background {clip-path:none;}
#header-sticky .header-logo {padding:0;}
#header-sticky .header-logo a {height:100%; box-sizing:border-box; padding:0.1154em 0.3846em 0.1154em 0.4615em; clip-path:polygon(0 0, 100% 0, 100% 0.1231em, 100% calc(100% - 0.1231em), calc(100% - 0.1231em) 100%, 0.1231em 100%, 0 calc(100% - 0.1231em), 0 0.1231em);}
#header-sticky .tagline {font-size:clamp(7px, 12px, 0.625vw);}
#header-sticky .header-button {width:1em; height:1em;}
#header-sticky .header-button,
#header-sticky .header-button.header-phone {padding:0;}
#header-sticky .header-button:before {top:50%;}

/* -------- Modals ------------ */
.modal-header .header-buttons:before {display:none;}
.modal-header .header-button {background:none; border:none; transition:filter 0.3s;}
.modal-header .header-button:after {display:none;}
.modal-header .header-button:hover {filter:brightness(0) saturate(100%) invert(67%) sepia(70%) saturate(3197%) hue-rotate(0deg) brightness(104%) contrast(101%);}
.modal-header .header-button:hover:before,
.modal-header .header-button:hover span {filter:none;}

.overlay:not(.overlay-nav) .header-button:before {background-position-y:-0.33em;}

.btn__close {background-color:transparent;}

.modal-small {padding:8px;}
.modal-small .modal-box {max-width:1200px; border-radius:0;}

.modal-width-small .modal-box {max-width:480px;}

/* -------- Nav ------------ */
.nav {position:relative; text-align:left; padding:0.3077em 0 0 0.25%; margin-left:6.45%;}
.nav:before {content:""; display:block; position:absolute; left:-0.1846em; right:0; top:0; height:0.3077em; background:linear-gradient(45deg, transparent 0.212em, #fff 0.222em) no-repeat left top/55% 100%, linear-gradient(315deg, transparent 0.212em, #fff 0.222em) no-repeat right top/55% 100%; filter:drop-shadow(0.0307em 0 0.1231em rgba(0,0,0,0.3));}
.nav ul {text-align:left;}
.nav ul li a {position:relative; overflow:hidden; font-size:24px; font-size:min(24px, 1.5vw); line-height:3.75; line-height:min(3.75em, 4.6975vw); padding:0 1em; font-weight:400; color:#ffffff; transition:text-shadow 0.3s;}
.nav ul li a:after {content:""; display:block; position:absolute; left:1em; right:1em; bottom:0; margin:0 -0.5em; border:0.5em solid transparent; border-bottom-color:#fff; transform:translateY(100%); transition:transform 0.3s; filter:drop-shadow(0 0 0.66em rgba(0,0,0,0.3));}
.nav ul li:hover > a {text-shadow:0 4px 4px rgba(0,0,0,0.4);}
.nav ul li:hover > a:after {transform:none;}
.nav ul li ul li a {font-size:18px; font-size:clamp(16px, 18px, 1.5vw); font-weight:400; padding-top:17px; padding-bottom:17px; color:var(--text-color); border:none; box-shadow:none;}
.nav ul li ul li:hover > a {transform:none; box-shadow:none; text-shadow:none;}
.nav ul li ul li a:after {display:none;}
.nav ul li ul li:hover > ul {overflow:visible;}
.nav ul li ul li:hover > ul:before {height:100%; }

#header-sticky .nav {padding-top:0; margin:0 0 0 2%;}
#header-sticky .nav:before {display:none;}
#header-sticky .nav ul li a {line-height:100px; line-height:min(100px, 5.21vw);}

/* -------- Nav Side ------------ */
.overlay-nav .modal-box {background:var(--section-dark) url(../images/bg-dark.jpg) repeat top center/cover;}
.nav-side .content-padding {margin:80px 0;}
.nav-side .content-padding > ul {max-width:38%;}
.nav-side ul li {text-align:left; font-size:48px; font-size:clamp(24px, 48px, 2.5vw);}
.nav-side ul li a {position:relative; overflow:hidden; border:none; font-size:1em; font-weight:500; color:var(--section-light); line-height:1.208; padding:0.458em 2.08em 0.458em 0.625em; border-radius:1.1em;}
.nav-side ul li:hover > a,
.nav-side ul li.nav-open > a {background:none; color:var(--secondary);}
.nav-side ul li a:hover {background:var(--nav-hover);}
.nav-side ul li ul li {font-size:0.75em;}
.nav-side ul li ul li a {font-size:1em; font-weight:300; line-height:1.33; padding:0.375em 2.08em 0.375em 1.66em;}
.nav-side ul li ul li ul li {font-size:1em;}
.nav-side ul li ul li ul li a {font-weight:300; padding-left:2.5em;}

.btn-sub {font-size:1.5em; width:1em; height:1em; margin:0.207em;}
.btn-sub:after {left:50%; top:50%; margin:-0.5em; border-radius:50%; background-position:-2em -12em;}
.btn-sub:hover:after {background-color:var(--nav-hover); filter:brightness(0) saturate(100%) invert(67%) sepia(70%) saturate(3197%) hue-rotate(0deg) brightness(104%) contrast(101%);}
.sub.nav-open > .btn-sub::after {background-position-x:-0.33em;}
.nav-side ul li ul li .btn-sub {font-size:1.48em; height:1em;}

.nav-images {margin:0 43.75% 0 0;}
.nav-images:before {content:""; display:block; position:absolute; z-index:2; left:0; right:0; top:0; bottom:0; background:linear-gradient(var(--banner), transparent); mix-blend-mode:multiply; opacity:0.6;}

/* -------- Content ------------ */
#body {animation:bodyload 1s forwards; background:url(../images/bg-body.svg), linear-gradient(to right, var(--primary), var(--secondary)); height:auto; min-height:100%;}
#content {flex-grow:1; overflow-x:clip;}
#content .body-cell {padding-bottom:0.1px;}
@keyframes bodyload {
	0%,25% {opacity:0;}
	100% {opacity:1;}
}

.block:not(.block-type-textpic, .block-type-media, .block-type-profile, .block-type-gridelements_pi1, .block-type-site_clevgen_menu_image) > div,
.profile__card,
.image-menu__item,
.product__item,
.banner__text-block,
.ce-textpic:not(.ce-left, .ce-right) {opacity:0; transform:translateY(5vh); transition:none;}
.scroll-reveal.scrolled,
.scrolled.block:not(.block-type-textpic, .block-type-media, .block-type-profile, .block-type-gridelements_pi1) > div,
.scrolled.profile__card,
.scrolled.image-menu__item,
.scrolled.product__item,
.scrolled.banner__text-block,
.scrolled .ce-textpic:not(.ce-left, .ce-right) {opacity:1; transform:none; transition:opacity 0.5s, transform 0.5s;}
.scroll-reveal.bg-dark,
.scroll-reveal.bg-light {transform:none;}


.scroll-reveal.block-type-site_clevgen_imageSlider,
.scroll-reveal.block-type-textpic
.scroll-reveal.block-type-textmedia {transform:none; opacity:1; position:relative; overflow:hidden;}
.scroll-reveal .textpic {position:relative; overflow:hidden;}
.scroll-reveal .ce-nowrap.ce-left .ce-gallery {transform:translateX(-5vw); opacity:0; transition:transform 0.5s, opacity 0.5s;}
.scroll-reveal .ce-nowrap.ce-right .ce-gallery {transform:translateX(5vw); opacity:0; transition:transform 0.5s, opacity 0.5s;}
.scrolled .ce-nowrap.ce-left .ce-gallery,
.scrolled .ce-nowrap.ce-right .ce-gallery {transform:translateX(0); opacity:1;}

.scroll-reveal .ce-nowrap.ce-left .ce-bodytext {transform:translateX(5vw); opacity:0; transition:transform 0.5s, opacity 0.5s;}
.scroll-reveal .ce-nowrap.ce-right .ce-bodytext {transform:translateX(-5vw); opacity:0; transition:transform 0.5s, opacity 0.5s;}
.scrolled .ce-nowrap.ce-left .ce-bodytext,
.scrolled .ce-nowrap.ce-right .ce-bodytext {transform:translateX(0); opacity:1;}


.nojs .block:not(.block-type-textpic, .block-type-media, .block-type-profile, .block-type-gridelements_pi1, .block-type-site_clevgen_menu_image) > div,
.nojs .profile__card,
.nojs .image-menu__item,
.nojs .banner__text-block,
.nojs .ce-nowrap.ce-left .ce-bodytext,
.nojs .ce-nowrap.ce-right .ce-bodytext,
.nojs .ce-nowrap.ce-left .ce-bodytext,
.nojs .ce-nowrap.ce-right .ce-bodytext,
.nojs .ce-textpic:not(.ce-left, .ce-right) {opacity:1; transform:none; animation:nojsreveal 3s forwards;}
@keyframes nojsreveal {
	0%,50% {opacity:0;}
	100% {opacity:1;}
}


.image img,
iframe {font-size:40px; font-size:clamp(15px, 40px, 2.08vw); mask:linear-gradient(315deg, transparent 0.5em, #fff 0.5em, #fff calc(100% - 0.5em), transparent calc(100% - 0.5em));}
.layout-logo-gallery .image img {mask:none;}

.layout-logo-gallery.ce-above .ce-gallery {margin-top:2em;}
.layout-logo-gallery.ce-below .ce-gallery {margin-bottom:2em;}

.columns-col-middle .col {vertical-align:middle;}

/* Textpic */
.block {
	--left-top:linear-gradient(225deg, transparent 0.7em, #fff 0.7em) no-repeat left top/ 42% 55%;
	--right-top:linear-gradient(225deg, transparent 0.5em, #fff 0.5em) no-repeat right 1em/ 62% 55%;
	--left-bottom:linear-gradient(315deg, transparent 0.7em, #fff 0.7em) no-repeat left bottom/ 52% 55%;
	--right-bottom:linear-gradient(315deg, transparent 0.5em, #fff 0.5em) no-repeat right bottom 1em/ 55% 55%;
}
#content .body-cell > .block-type-textpic:last-child:not(.bg-dark, .bg-light) {margin-bottom:100px;}
#content .body-cell > .bg-card:last-child {margin-bottom:100px;}

.content-padding > header {margin:0 0 40px 0;}

.body-cell > .block {font-size:40px; font-size:clamp(15px, 40px, 2.08vw); background:#ffffff;}
.body-cell > .block > div {padding:1px 0;}
.body-cell > .block-type-textpic {background:none; margin:0 0 0.5em 0;}
.body-cell > .block:has( > div > .margin-top-none) {margin-top:0; clip-path:polygon(-50% 0, 150% 0, 150% 0, 150% 150%, -50% 150%); --left-top:linear-gradient(#fff, #fff) no-repeat left top/ 55% 55%; --right-top:linear-gradient(#fff, #fff) no-repeat right top/ 55% 55%;}
.body-cell > .block:has( > div > .margin-bottom-none) {margin-bottom:0; --right-bottom:linear-gradient(#fff, #fff) no-repeat right bottom/ 55% 55%;}

.body-cell > .columns-wrap {background:#ffffff;}

.body-cell > .block-type-textpic > div {padding:1px 0; filter:drop-shadow(0.1em 0.1em 0.4em rgba(0,0,0,0.3));}

.body-cell > .block-type-textpic > div:before {content:""; display:block; position:absolute; left:0; right:0; top:0; bottom:0; margin-right:1em; background:#ffffff; background:var(--left-top),	var(--right-top),	var(--left-bottom),	var(--right-bottom);}

.banner + .block-type-textpic > div:before,
.banner__wrap + .block-type-textpic > div:before {
	mask:linear-gradient(225deg, 
			#fff 3.75em, transparent 3.76em,
			transparent 4.5em, #fff 4.51em,
			#fff 4.75em, transparent 4.76em,
			transparent 5.25em, #fff 5.26em,
			#fff 5.65em, transparent 5.66em,
			transparent 6em, #fff 6.01em,
			#fff 6.65em, transparent 6.66em,
			transparent 6.8em, #fff 6.81em
		) no-repeat left 0.2em/ 50% 1em,
		linear-gradient(#fff 0.2em, transparent 0.2em, transparent 1em, #fff 1em)
	;
}

.body-cell > .block-type-textpic:has(.ce-left) {
	--left-top:linear-gradient(135deg, transparent 0.5em, #fff 0.5em) no-repeat left 1em/ 62% 55%;
	--right-top:linear-gradient(135deg, transparent 0.7em, #fff 0.7em) no-repeat right top/ 42% 55%;
	--left-bottom:linear-gradient(45deg, transparent 0.5em, #fff 0.5em) no-repeat left bottom 1em/ 55% 55%;
	--right-bottom:linear-gradient(45deg, transparent 0.7em, #fff 0.7em) no-repeat right bottom/ 55% 55%;
}
.body-cell > .block-type-textpic:has(.margin-top-none .ce-left) {
	clip-path:polygon(-50% 0, 150% 0, 150% 0, 150% 150%, -50% 150%);
	--left-top:linear-gradient(#fff, #fff) no-repeat left top/ 55% 55%;
	--right-top:linear-gradient(#fff, #fff) no-repeat right top/ 55% 55%;
}
.body-cell > .block-type-textpic:has(.margin-bottom-none .ce-left) {
	--left-bottom:linear-gradient(#fff, #fff) no-repeat left bottom/ 55% 55%;
	--right-bottom:linear-gradient(#fff, #fff) no-repeat right bottom/ 55% 55%;
}
.body-cell > .block-type-textpic:has(.ce-left) > div:before {margin-left:1em; margin-right:0;}
.banner__wrap + .block-type-textpic:has(.ce-left) {--right-top:linear-gradient(#fff, #fff 0.5em) no-repeat right 1em/ 62% 55%;}

.ce-textpic {font-size:40px; font-size:clamp(15px, 40px, 2.08vw);}
.block-type-textpic:not(.bg-dark, .bg-light, .bg-none, .bg-white) .content-padding {margin:0;}
.block-type-textpic .ce-bodytext-block {padding:2.5em 0;}
.block-type-textpic .ce-row {padding-top:2em;}
.block-type-textpic .padding-top-none .ce-bodytext-block {padding-top:0;}
.block-type-textpic .padding-bottom-none .ce-bodytext-block {padding-bottom:0;}
.block-type-textpic .padding-top-small .ce-bodytext-block {padding-top:1.5em;}
.block-type-textpic .padding-bottom-small .ce-bodytext-block {padding-bottom:1.5em;}
.block-type-textpic .padding-top-large .ce-bodytext-block {padding-top:3.5em;}
.block-type-textpic .padding-bottom-large .ce-bodytext-block {padding-bottom:3.5em;}
.block-type-textpic.bg-dark .ce-bodytext-block,
.block-type-textpic.bg-light .ce-bodytext-block {padding:0;}

.layout-image-extend .ce-gallery,
.layout-image-extend .ce-gallery * {overflow:visible;}
.layout-image-extend.ce-left .image {margin-right:-12%;}
.layout-image-extend.ce-right .image {margin-left:-12%;}


.bg-white {font-size:40px; font-size:clamp(15px, 40px, 2.08vw); clip-path:polygon(0 0, 100% 0, 100% 100%, 50% 100%, calc(50% - 1em) calc(100% - 1em), 0 calc(100% - 1em));}
.body-cell > .bg-white, .bg-white {background:#ffffff; padding:1px 0;}
.bg-white .ce-bodytext-block {padding:0;}
.bg-white .ce-row {padding:0;}

.body-cell > .bg-none {background:none;}
.body-cell > .bg-light {position:relative; margin:0.5em 0; background:none; mask:linear-gradient(transparent 1em, #fff 1em, #fff 100%), linear-gradient(225deg, transparent 1em, #fff 1em) no-repeat left top/50% 1.2em;}
.body-cell > .bg-light:before {content:""; display:block; position:absolute; left:0; right:0; top:0; bottom:0; background:var(--section-light) url(../images/bg-light.jpg) repeat center top; background-size:100% auto; margin:0; }
.body-cell > .bg-dark {position:relative; background:none; z-index:0; padding:1em 0; margin:-1.375em 0; filter:drop-shadow(0 -0.4em 0 #fff) drop-shadow(-0.1em 0 0 #fff);}
.body-cell > .bg-dark:before {content:""; display:block; position:absolute; z-index:-2; left:0; right:0; top:0; bottom:0; background:var(--section-dark); background:radial-gradient(circle at 90% 10%, rgba(255,255,255,0.75), rgba(255,255,255,0) 30%), url(../images/bg-dark.jpg) repeat center top; background-blend-mode:soft-light; background-size:auto, 100% auto; mask:linear-gradient(transparent 1em, #fff 1em, #fff 100%, transparent calc(100% - 1em)), linear-gradient(135deg, transparent 1em, #fff 1em) no-repeat right top/50% 1.2em;}
.body-cell > .bg-white > div:before,
.body-cell > .bg-none > div:before,
.body-cell > .bg-light > div:before,
.body-cell > .bg-dark > div:before {background:none;}

.bg-dark + .bg-light {margin-top:0;}
.bg-dark + .bg-light:before {
	mask:linear-gradient(225deg, 
			#fff 1.5em, transparent 1.51em,
			transparent 2.25em, #fff 2.26em,
			#fff 2.5em, transparent 2.51em,
			transparent 3em, #fff 3.01em,
			#fff 3.4em, transparent 3.41em,
			transparent 3.75em, #fff 3.76em,
			#fff 4.4em, transparent 4.41em,
			transparent 4.55em, #fff 4.56em
		) no-repeat left top/ 50% 2em,
		linear-gradient(#fff 0.2em, transparent 0.2em, transparent 1em, #fff 1em, #fff calc(100% - 1em), transparent calc(100% - 1em)),
		linear-gradient(45deg, transparent 1.5em, #fff 1.5em) no-repeat right bottom/ 50% 2em
	;
}
.bg-light:has(+ .bg-dark) {margin-bottom:-2em; z-index:1;}

.bg-light .ce-bodytext-block {filter:drop-shadow(4px 9px 2px rgba(0,0,0,0.2));}
.body-cell > .block-type-textpic.bg-light > div:before,
.body-cell > .block-type-textpic.bg-dark > div:before {display:none;}

.body-cell > .bg-light:last-child {margin-bottom:0;}
.body-cell > .bg-light:last-child:before {mask-size:50% 2em, 100% 150%, 50% 2em;}


/* Card Frame */
.body-cell > .bg-card {background:none; margin:0 0 0.75em 0;
	--left-top:linear-gradient(135deg, transparent 0em, #fff 0em) no-repeat left top/ 55% 55%;
	--right-top:linear-gradient(225deg, transparent 0.5em, #fff 0.5em) no-repeat right top/ 62% 55%;
}
.banner__wrap + .bg-card {margin-top:30px;}

.body-cell > .bg-card:has(.margin-top-none) {margin-top:0;}
.body-cell > .bg-card:has(.margin-bottom-none) {margin-bottom:0;}
.body-cell > .bg-card > div {padding:1px 0;}
.body-cell > .bg-card > div:before {content:""; display:block; position:absolute; left:0; right:0; top:0; bottom:0; margin-right:1em;	background:#ffffff;
	background:
		var(--left-top),
		var(--right-top),
		var(--left-bottom),
		var(--right-bottom)
	;
}

/* Text Cards */
.body-cell > .block-type-textpic:has(.layout-text-card) .content-padding {margin:2em 0;}
.body-cell > .block-type-textpic:has(.layout-text-card) > div:before,
.body-cell > .block-type-textpic:has(.layout-text-card) > div:after {display:none;}
.body-cell > .block-type-textpic:has(.layout-text-card-small) > div:before,
.body-cell > .block-type-textpic:has(.layout-text-card-small) > div:after {display:none;}

.layout-text-card.ce-intext.ce-right.ce-nowrap .ce-bodytext-block,
.layout-text-card-small.ce-intext.ce-right.ce-nowrap .ce-bodytext-block {background:linear-gradient(315deg, transparent 0.5em, #fff 0.5em, #fff calc(100% - 0.5em), transparent calc(100% - 0.5em)); box-shadow:none; filter:drop-shadow(4px 4px 16px rgba(0,0,0,0.2));}

/* Callout */
.grid .callout > div,
.grid .callout > div > div,
.grid .callout > div > div > div {height:100%;}
.callout .content-padding > div {background:#ffffff; background:linear-gradient(315deg, transparent 0.5em, #fff 0.5em); box-sizing:border-box; padding:clamp(16px, 50px, 4.16vw) clamp(16px, 50px, 3.125vw); margin:0 0 24px 0; filter:drop-shadow(4px 4px 16px rgba(0,0,0,0.1));}
.callout .ce-bodytext-block {background:none; box-shadow:none; padding:0; margin:0;}

.lightbox a:after {font-size:40px; margin:0.5em; border:5px solid transparent; background-color:rgba(0,0,0,0.2);}

.video-wrap {overflow:hidden; margin:0 auto;}
.video-play {background:var(--primary); border:none; transition:transform 0.3s, background 0.3s; z-index:1;}
.video-play:hover {background:#ffffff; transform:scale(1.06);}
.video-play:hover:after {background-position-y:-13.66em;}

.image-title {font-size:30px; font-weight:600; color:var(--heading-color);}

.image-slide .image-caption {border-radius:0 0 var(--image-radius) var(--image-radius);}

.ce-textpic.ce-left.ce-nowrap .ce-gallery {padding-left:0; padding-right:50px; width:50%; max-width:50%; flex-basis:50%;}
.ce-textpic.ce-right.ce-nowrap .ce-gallery {padding-left:50px; padding-right:0; width:50%; max-width:50%; flex-basis:50%;}
.ce-textpic.ce-left.ce-nowrap .ce-bodytext {padding-left:50px; width:50%; max-width:50%; flex-basis:50%;}
.ce-textpic.ce-right.ce-nowrap .ce-bodytext {padding-right:50px; width:50%; max-width:50%; flex-basis:50%;}

.layout-image-icon .ce-gallery {max-width:clamp(150px, 240px, 12.5vw);}
.layout-image-icon .image {border-radius:0;}
.layout-image-icon.ce-above .ce-gallery {margin-bottom:16px;}
.grid .layout-image-icon .ce-bodytext-block p {text-wrap:balance; max-width:9.44em;}
.layout-image-icon .ce-bodytext-block p.align-center {margin-left:auto; margin-right:auto;}
.layout-image-icon .h1 {line-height:0.8; margin:0;}
.grid .block-layout-image-icon {flex:1; max-width:none;}
.grid .layout-image-icon {max-width:none;}

/* Image Icon */
.layout-image-icon .ce-gallery {overflow:visible; max-width:160px;}
.layout-image-icon .ce-row {padding:0;}
.layout-image-icon .ce-bodytext-block {padding:0;}
.layout-image-icon .image {box-shadow:none; filter:drop-shadow(4px 4px 16px rgba(0,0,0,0.2));}
.layout-image-icon .image img {background:#ffffff;}

.grid .block-layout-image-icon {display:inline-block; width:33.33%; padding:8px; box-sizing:border-box;}
.grid .block-layout-image-icon > div {max-width:360px;}
.grid .block-layout-image-icon .h1 {font-size:clamp(20px, 72px, 3.75vw);}
.grid .block-layout-image-icon .h4 {font-size:clamp(12px, 36px, 1.875vw);}
.grid .block-layout-image-icon .h5 {font-size:clamp(12px, 24px, 1.5vw);}
.grid .block-layout-image-icon {padding:min(8px, 1.33vw);}
.grid .block-layout-image-icon .h6 {font-size:clamp(14px, 24px, 1.5vw);}

.layout-icon-hover.ce-above .ce-gallery {margin-bottom:16px;}
.layout-icon-hover .ce-row {padding:0;}
.layout-icon-hover .ce-gallery .image {border-radius:0; box-shadow:none; filter:drop-shadow(3px 3px 9px rgba(0,0,0,0)); transition:filter 0.3s;}
.layout-icon-hover:hover .ce-gallery .image {box-shadow:none; filter:drop-shadow(3px 3px 9px rgba(0,0,0,0.2));}
.layout-icon-hover .ce-bodytext-block {padding:0;}
.layout-icon-hover .image img {background:#ffffff;}

/* News */
.mediaelement img {border-radius:var(--image-radius);}

/* Sticky in Column/Grid */
.sticky-top {align-self:flex-start; position:sticky !important; top:0; transform:none;}
.sticky-top .ce-textpic {transform:none;}

/* -------- Buttons ------------ */
.btn__primary, .btn__secondary, .btn__tertiary, button[type="submit"] {position:relative; overflow:hidden; z-index:1; padding:1.066em 1.5em; border:none; min-width:10em; font-family:var(--body-font), sans-serif; font-size:24px; font-size:clamp(1rem, 24px, 1.25vw); line-height:1.2; font-weight:500; clip-path:polygon(0 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%);}
.btn__primary:before, .btn__secondary:before, .btn__tertiary:before, button[type="submit"]:before {height:100%; background:var(--text-color); opacity:0; transition:all 0.3s}
.btn__primary:after, .btn__secondary:after, .btn__tertiary:after, button[type="submit"]:after {content:""; display:block; position:absolute; inset:0.416em; border:1px solid currentColor; border-width:1px 0 0 1px; background:linear-gradient(to left, transparent 9px, currentColor 9px) no-repeat left bottom/ 100% 1px, linear-gradient(to top, transparent 9px, currentColor 9px) no-repeat right top/ 1px 100%, linear-gradient(-45deg, transparent 6px, currentColor 6px, currentColor 7px, transparent 7px) no-repeat right bottom/ 9px 9px; mask:linear-gradient(#fff, #fff) no-repeat left bottom/40% 12px, linear-gradient(#fff, #fff) no-repeat right top/40% 12px; animation:btn-exit 0.3s forwards; transition:inset 0.3s;}

.btn__primary:hover:before, .btn__secondary:hover:before, .btn__tertiary:hover:before, button[type="submit"]:hover:before {opacity:0.1;}
.btn__primary:hover:after, .btn__secondary:hover:after, .btn__tertiary:hover:after, button[type="submit"]:hover:after {animation:btn-enter 0.3s forwards; inset:0.208em;}

@keyframes btn-enter {
	39.9% {mask-position:left bottom, right top;}
	40% {mask-size:9px 100%; mask-position:left top, right bottom;}
	100% {mask-size:40% 9px; mask-position:left top, right bottom;}
}
@keyframes btn-exit {
	0%, 39.9% {mask-position:left top, right bottom;}
	40% {mask-size:12px 100%; mask-position:left bottom, right top;}
	100% {mask-size:40% 12px; mask-position:left bottom, right top;}
}

.btn-primary-white .btn__primary:hover, .btn-primary-white button[type="submit"]:hover {color:#ffffff;}

.btn__secondary:hover {color:#ffffff;}
.btn__secondary:before {background:var(--primary);}
.btn__secondary:hover:before {opacity:0.2;}
.text-white .btn__secondary:hover {color:#ffffff;}

.btn__tertiary {border:1px solid currentColor; border-width:1px 0 0 1px; background:linear-gradient(to left, transparent 11px, currentColor 11px) no-repeat left bottom/ 100% 1px, linear-gradient(to top, transparent 11px, currentColor 11px) no-repeat right top/ 1px 100%, linear-gradient(-45deg, transparent 8px, currentColor 8px, currentColor 9px, transparent 9px) no-repeat right bottom/ 12px 12px;}
.btn__tertiary:before {background:currentColor;}
.btn__tertiary:hover {color:var(--text-color);}

.text-white .btn__tertiary:hover {color:#ffffff;}

.icon-data:before {content:""; display:inline-block; vertical-align:middle; position:relative; z-index:2; font-size:4.76em; width:0.6em; height:0.6em; margin:-0.2em 0.1em -0.2em -0.1em; background:url(../images/icons.svg) no-repeat -0.2em -11.2em; background-size:6em auto;}
.icon-data:hover:before {height:0.6em;}

/* Submit */
button[type="submit"].submit-loading:before {content:"Loading"; color:white; opacity:0.2; display:flex; align-items:center; justify-content:center;}
button[type="submit"].submit-loading:after {width:auto; height:auto; color:#ffffff; inset:0.208em; margin:0; animation:btn-loading 1s linear forwards infinite;}

@keyframes btn-loading {
	0% {mask-size:40% 9px; mask-position:left top, right bottom;}
	33% {mask-size:40% 9px; mask-position:right top, left bottom;}
	66% {mask-size:9px 100%; mask-position:right top, left bottom;}
  66.1% {mask-size:9px 100%; mask-position:right bottom, left top;}
  100% {mask-size:40% 9px; mask-position:right bottom, left top;}
}

/* Icon */
.btn__icon {vertical-align:top; position:relative; overflow:hidden; z-index:1; font-size:24px; font-size:clamp(1rem, 24px, 1.25vw); line-height:1.2; font-weight:500; padding:0.86em 1.66em 0.86em 3.6em; transition:color 0.3s;}
.btn__icon:after {font-size:2.5em; left:0.3em; top:0.07em; transition:none;}
.btn__icon:hover {background:none; color:var(--primary);}
p.btn__icon:hover {color:var(--text-color);}
.btn__icon .small,
.btn__icon:hover .small {color:var(--text-color);}

.btn-hours:after {background-position:-0.33em -17em;}
.text-white .btn-hours:after {background-position-y:-18.66em;}

.text-white .btn__icon:hover {color:var(--secondary);}
.text-white p.btn__icon:hover {color:#ffffff;}
.text-white .btn__icon .small {color:#ffffff;}

.btn__icon .small {margin-top:10px; transition:none;}

.btn__icon.btn-large {font-size:clamp(28px, 48px, 2.5vw); font-weight:400; padding:0.129em 0 0.129em 1.8em;}
.btn__icon.btn-large:after {font-size:1.25em;}

/* Social */
.btn__social {position:relative; overflow:hidden; z-index:1; width:60px; height:60px; width:clamp(50px, 60px, 4.16vw); height:clamp(50px, 60px, 4.16vw); background:linear-gradient(to left, transparent 9px, var(--lines) 9px) no-repeat left bottom/ 100% 1px, linear-gradient(to top, transparent 9px, var(--lines) 9px) no-repeat right top/ 1px 100%, linear-gradient(-45deg, transparent 8px, var(--lines) 8px, var(--lines) 9px, transparent 9px) no-repeat right bottom/ 12px 12px, linear-gradient(var(--lines), var(--lines)) no-repeat left top/1px 100%, linear-gradient(var(--lines), var(--lines)) no-repeat left top/100% 1px; clip-path:polygon(0 0, 100% 0, 100% calc(100% - 11.5px), calc(100% - 11.5px) 100%, 0 100%); transition:background-color 0.3s;}
.btn__social:after {font-size:clamp(40px, 60px, 3.125vw); left:50%; top:50%; margin:-0.5em; transition:filter 0.3s;}
.btn__social:before {transform:none; border-radius:0;}
.btn__social:hover:before {background-color:var(--primary);}
.btn__social:hover:after {filter:brightness(0) invert(1);}

.text-white .btn__social:hover:before {background:var(--secondary);}
.text-white .btn__social:hover:after {filter:none;}

/* Arrow */
.btn__arrow-text {font-size:24px; font-size:clamp(1rem, 24px, 1.25vw); font-weight:500;}

/* Circle */
.btn-text {font-weight:500;}
.btn-video:before {background-image:url(../images/btn-video.svg);}
.text-white .btn-video:before {background-image:url(../images/btn-video_white.svg);}

/* Feature Links */
.feature__links {font-size:36px; font-size:clamp(21px, 36px, 1.875vw); display:flex; justify-content:center; flex-wrap:wrap; padding:0 12em; margin:50px 0; gap:16px 2%; 
	background:linear-gradient(45deg, 
		transparent 1.7em, rgba(237,48,44,0.2) 1.7em, 
		rgba(237,48,44,0.2) 2em, transparent 2em, 
		transparent 3.6em, rgba(237,48,44,0.47) 3.6em, 
		rgba(237,48,44,0.47) 4.6em, transparent 4.6em, 
		transparent 5.6em, rgba(237,48,44,0.73) 5.6em, 
		rgba(237,48,44,0.73) 7.1em, transparent 7.1em, 
		transparent 7.8em, var(--primary) 7.8em, 
		var(--primary) calc(50% - 2em), transparent calc(50% - 2em)
	),
	linear-gradient(225deg, 
		transparent 1.7em, rgba(237,48,44,0.2) 1.7em, 
		rgba(237,48,44,0.2) 2em, transparent 2em, 
		transparent 3.6em, rgba(237,48,44,0.47) 3.6em, 
		rgba(237,48,44,0.47) 4.6em, transparent 4.6em, 
		transparent 5.6em, rgba(237,48,44,0.73) 5.6em, 
		rgba(237,48,44,0.73) 7.1em, transparent 7.1em, 
		transparent 7.8em, var(--primary) 7.8em, 
		var(--primary) calc(50% - 2em), transparent calc(50% - 2em)
	);
	background-size:100% 2.2222em;
	background-repeat:no-repeat;
	transition:background-position 0.3s;
}
.feature__links a {flex:1 0 49%; min-width:auto; font-size:1em; background:var(--primary); padding:0.511em 1em; margin:0; box-sizing:border-box; clip-path:none; white-space:nowrap; text-overflow:hidden;}
.feature__links a:before {display:none;}
.feature__links a:after {font-size:0.66em;}
.feature__links:has(a:first-child:hover) {background-position:0.8em 0, 0 0;}
.feature__links:has(a:last-child:hover) {background-position:0 0, -0.8em 0;}
.feature__links:has(a:only-child:hover) {background-position:0.8em 0, -0.8em 0;}

/* -------- Banner ------------ */
.banner__wrap {z-index:0;}
.scroll-reveal.banner__text-block {transition-delay:0.3s;}

.banner__text {padding-bottom:10%;}
.banner__text-block {text-wrap:balance;}

.banner {font-size:40px; font-size:clamp(15px, 40px, 2.08vw); clip-path:polygon(0 0, 100% 0, 100% 100%, 50% 100%, calc(50% - 1em) calc(100% - 1em), 0 calc(100% - 1em));}

/* -------- Image Sliders ------------ */
.image-slider-wrap {position:sticky; top:0;}
.padding-left-none .ce-left .splide__track {padding-left:150px !important;}
.padding-right-none .ce-right .splide__track {padding-right:150px !important;}
.padding-left-none .ce-left .splide__slide {padding-left:50px;}
.padding-right-none .ce-right .splide__slide {padding-right:50px;}

/* -------- Image Menu ------------ */
.image-menu__wrap {overflow:visible;}

.image-menu__item {filter:drop-shadow(4px 4px 16px rgba(0,0,0,0.2));}
.image-menu__card {font-size:clamp(36px, 72px, 3.75vw); min-height:6em; height:100%; align-items:center; justify-content:center; padding:0; box-shadow:0.3em 0.3em 0 -2px var(--background), 0.3em 0.3em 0 0 var(--lines); mask:linear-gradient(315deg, transparent 0.35em, #fff 0.35em);}
.image-menu__card:before {content:""; display:block; width:50%; height:0.5em; position:absolute; z-index:1; right:0; top:0; margin:0.5em; border:1px solid #ffffff; border-width:1px 1px 0 0;}
.image-menu__card:after {content:""; display:block; width:50%; height:0.5em; position:absolute; z-index:1; left:0; bottom:0; margin:0.5em; border:1px solid #ffffff; border-width:0 0 1px 1px;}
.image-menu__text {margin:0; padding:1.5em 1em; border-radius:0; width:auto; text-align:center; }
.image-menu__image:before {content:""; display:block; position:absolute; left:0; right:0; top:0; bottom:0; background:rgba(0,0,0,0.8); opacity:0.7; transition:all 0.3s;}
.image-menu__text:before {display:none;}
.image-menu__title {margin:0; font-size:1em; font-weight:500; text-shadow:0 0 0.1em rgba(0,0,0,0.5);}
.image-menu__btn {display:none;}
.image-menu__card:hover .image-menu__text {color:#ffffff;}
.image-menu__card:hover .image-menu__image:before {opacity:0.5;}

.image-menu__slider.image-menu__item {display:block; width:auto; max-width:none; flex:none;}

/* -------- Product List ------------ */
.product__list {display:flex; flex-wrap:wrap; font-size:0; margin:0 clamp(-2.24vw, -45px, -8px);}
.filter-results {flex:0 0 100%; text-align:center; color:#cccccc;}

.product__item {position:relative; overflow:hidden; flex:0 0 25%; padding:clamp(8px, 32px, 1.66vw); box-sizing:border-box; transition:opacity 0.3s, transform 0.3s;}
.product__item.unfiltered,
.product__item.hidden {display:block; position:absolute; padding:0; height:0; transform:translateY(40px); opacity:0; transition:none;}

.product__card {background:linear-gradient(315deg, transparent 0.5em, #fff 0.5em) no-repeat right bottom; cursor:pointer; position:relative; z-index:0; font-size:40px; font-size:clamp(15px, 40px, 2.08vw); display:block; box-sizing:border-box; height:100%; margin:0 auto; max-width:460px; border-top:10px solid var(--secondary); color:#121617; min-height:100%; overflow:hidden; filter:drop-shadow(0.1em 0.1em 0.4em rgba(0,0,0,0.2));}
.product__card-content {display:flex; flex-direction:column; justify-content:flex-start; height:100%; padding:clamp(16px, 30px, 1.5625vw); padding-top:clamp(60px, 80px, 4.16vw); box-sizing:border-box;}
.product__card-content:after {content:""; display:block; font-size:100px; width:1em; height:0.6em; margin:auto auto 0 auto; background:url(../images/icons.svg) no-repeat -1em -2.2em/6em auto;}
.product__card:hover {text-decoration:none;}
.product__image {display:flex; align-items:center; justify-content:center; height:230px; height:clamp(160px, 230px, 12vw); box-sizing:border-box; padding:0 0 16px 0; margin:0 0 16px 0; border-bottom:1px solid var(--lines);}
.product__image img {max-width:100%; max-height:100%; width:auto; height:auto;}

.product__card .product__title {display:block; font-size:30px; font-size:clamp(1rem, 30px, 1.5625vw);font-weight:500; text-align:center; margin:0.4em 0; color:var(--text-color); text-wrap:balance;}
.product__card .product__subtitle {font-size:24px; font-size:clamp(1rem, 24px, 1.25vw); color:#ffffff; padding:0.2em 1em; position:absolute; left:0; top:0; background:var(--primary); clip-path:polygon(0 0, 100% 0, 100% calc(100% - 0.5em), calc(100% - 0.5em) 100%, 0 100%); margin:1em 0;}

.product__card {transform:translateY(-0.1px); transition:transform 0.3s;}
.product__card:hover {transform:translateY(-5px);}

.splide .product__list {display:block;}
.splide .product__item {}
.product__list .splide__arrows {margin:0 auto; flex:0 0 100%;}

/* -------- Icon Gallery ------------ */
.layout-icon-gallery .ce-gallery {position:relative; }
.layout-icon-gallery .ce-outer,
.layout-icon-gallery .ce-inner {float:none;}
.layout-icon-gallery .ce-row {position:relative; overflow:visible; display:flex; flex-wrap:wrap; justify-content:center;}
.layout-icon-gallery .ce-gallery .ce-row .ce-column {display:block; font-size:150px; font-size:clamp(100px, 150px, 7.8125vw); flex:1; min-width:1.44em; padding:0.05em; box-sizing:border-box;}
.layout-icon-gallery .image {max-width:1.6em; margin:0 auto; overflow:visible;}
.layout-icon-gallery .image__wrap {display:flex; align-items:center; justify-content:center; width:1em; height:1em; margin:0 auto; border-radius:50%; box-shadow:0.02em 0.02em 0.1em rgba(0,0,0,0.1); overflow:hidden; transition:transform 0.3s, box-shadow 0.3s;}
.layout-icon-gallery .image__wrap img {border-radius:0;}
.layout-icon-gallery .image__wrap:has(a):hover {transform:scale(1.06); box-shadow:0.02em 0.02em 0.1em rgba(0,0,0,0.05);}
.layout-icon-gallery .image-caption {text-align:center; font-size:0.12em; margin-top:10px;}
.layout-icon-gallery .image-title {font-weight:600; font-size:1.33em;}

/* -------- Card Menu ------------ */
.card-menu-card a {background:#ffffff; border-color:var(--lines);}
.card-menu-card a:hover {background:var(--section-light);}
.bg-dark .card-menu-card a {background:none;}
.bg-dark .card-menu-card a:hover {background:rgba(255,255,255,0.05);}

/* -------- Grid ------------ */
.group-tabs__btns a:hover {color:var(--text-color); background:var(--section-light);}
.bg-light .group-tabs__btns a:hover {background:#ffffff;}
.group-tabs__btns a.active {background:var(--section-dark);}

.grid-2up .block {width:50%; flex:0 0 50%; max-width:50%;}

.block-type-gridelements_pi1 .content-padding .content-padding {margin:0;}
.block-type-gridelements_pi1 .expand .content-padding {margin:40px 0;}

/* -------- Expand ------------ */
.body-cell > .expand {margin:0;}
.expand-content {transition:none;}
.expand-open .expand-content {height:auto !important;}

/* -------- Tabs ------------ */
.tab {font-size:24px; font-size:clamp(18px, 24px, 1.25vw); padding:1.5em 24px;}
.tab:hover {background:var(--section-light);}
.tab.active {background:var(--primary);}

/* -------- Profile ------------ */
.profile__card {box-shadow:none; filter:drop-shadow(4px 4px 16px rgba(0,0,0,0.1)); border-radius:0; background:linear-gradient(315deg, transparent 0.5em, #fff 0.5em);}
.profile__card:hover {box-shadow:none;}
.profile__card:before {content:""; font-size:100px; font-size:clamp(60px, 100px, 5.2vw); display:block; width:0.6em; height:0.6em; position:absolute; right:0; top:0; background:url(../images/icons.svg) no-repeat -4.2em -8.2em/6em auto; margin:8%; opacity:0.2;}
.profile__department {border-radius:0;}
.profile__name {color:var(--primary);}
.profile__position {font-size:1rem; font-weight:300;}

.profile__columns {display:flex;}
.profile__left {display:block; flex:1 0 36%; width:auto;}
.profile__right {display:block; flex:1 1 auto; width:auto; padding:30px 0;}

/* -------- Arrows ------------ */
.bg-arrows {position:relative; overflow:hidden; z-index:0; padding:1px 0;}
.bg-arrows:after {content:""; display:block; position:absolute; z-index:-1; left:0; top:0; bottom:0; margin:1em 0; width:50%; background:url(../images/arrows.svg) no-repeat left center/100% auto; mix-blend-mode:soft-light;}
.bg-arrows .ce-textpic {padding:0 0 0 54%; box-sizing:border-box;}

/* -------- Testimonials ------------ */
.block-layout-testimonials > div > .content-padding {padding:0;}
.block-layout-testimonials > div > .content-padding > header {padding:0 clamp(16px, 150px, 7.8vw);}
.block-layout-testimonials .block {padding:0 30px; filter:drop-shadow(4px 4px 16px rgba(0,0,0,0.2));}
.block-layout-testimonials .block > div {max-width:960px;}
.group-testimonials .content-padding {padding:0; margin:40px 0;}
.block-layout-testimonials .ce-textpic {position:relative; background:#ffffff; padding:8% 8% 8% 18%; margin:16px auto; box-sizing:border-box; clip-path:polygon(0 0, 100% 0, 100% calc(100% - 1em), calc(100% - 1em) 100%, 0 100%);}
.block-layout-testimonials .ce-bodytext:before {content:""; font-size:200px; font-size:clamp(85px, 200px, 10.4vw); width:1em; height:1em; display:block; opacity:0.1; background:url(../images/quote.svg) no-repeat center/contain; position:absolute; left:0; top:0; margin:0.08em;}
.block-layout-testimonials .ce-bodytext * {color:var(--text-color);}
.block-layout-testimonials .ce-bodytext-block {padding:0;}

.block-layout-testimonials .splide__pagination {position:relative;}
.block-layout-testimonials .splide__pagination__page {border-radius:50%; background:rgba(0,0,0,0.5);}
.block-layout-testimonials .splide__pagination__page.is-active {background:var(--heading-color);}
.block-layout-testimonials .group {padding:0 25%; overflow:hidden;}
.block-layout-testimonials .splide__track {overflow:visible;}
.block-layout-testimonials .splide__list {align-items:center; }
.block-layout-testimonials .splide__arrows {position:absolute; left:0; right:0; top:0; bottom:68px; display:flex;}
.block-layout-testimonials .splide__arrow {width:auto; height:auto; flex:0 0 50%; margin:0; cursor:none;}
.block-layout-testimonials .splide__arrow:after {display:none;}

/* -------- Footer ------------ */
.footer-top {position:relative; z-index:2; margin:0;}
.scroll-top {top:0.2em; font-size:100px; font-size:clamp(60px, 100px, 5.2vw); width:1em;}
.scroll-top:before {z-index:1; width:1em; height:1em; background-position:-2em -3em; background-size:6em auto; left:50%; top:50%; margin:-0.5em;}
.scroll-top:after {display:none;}

.footer-mid img {mask:none;}
.footer-mid .columns {display:flex; padding:0 100px 0 0; padding-right:clamp(60px, 100px, 5.2vw); margin:0 auto; box-sizing:border-box; }
.footer-mid .columns:after {display:none;}
.footer-mid .col {flex:1;}
.footer-mid .col .content-padding {padding:0; margin:0 auto;}
.footer-mid .ce-bodytext-block {padding:0;}
.footer-mid .col.footer-left .content-padding {padding:0;}

.footer-left {z-index:1; padding:0 60px 30px 150px; padding-left:clamp(16px, 150px, 7.8125vw); background:linear-gradient(-45deg, transparent min(20px, 1.04vw), #fff min(21px, 1.09vw)); filter:drop-shadow(0 0 16px rgba(0,0,0,0.1));}
.footer-left:before {content:""; display:block; position:absolute; left:0; right:64px; bottom:100%; border:min(30px, 1.5625vw) solid transparent; border-bottom-color:#ffffff; border-left-width:0;}
.footer-left:after {content:""; display:block; position:absolute; right:100%; top:max(-30px, -1.5625vw); bottom:0; border:min(30px, 1.5625vw) solid transparent; border-right-color:#ffffff;}

.footer-middle {background:#f9f9f9; padding:0 min(60px, 3.125vw) 24px min(60px, 3.125vw); margin:0 max(-30px, -1.5625vw) 10px max(-30px, -1.5625vw); text-wrap:balance;}
.footer-middle .block {}
.footer-middle .block:first-child {position:relative; z-index:2; padding:15px 30px; margin:0 max(-60px, -3.125vw) min(80px, 4.16vw) max(-60px, -3.125vw); background:#ffffff; filter:drop-shadow(0 -16px 16px rgba(0,0,0,0.1));}
.footer-middle .block:first-child:before {content:""; display:block; position:absolute; left:0; right:0; bottom:99%; border:min(30px, 1.5625vw) solid transparent; border-bottom-color:#ffffff;}
.footer-middle .block:first-child:after {content:""; display:block; position:absolute; left:0; right:0; top:99%; height:min(60px, 3.125vw); background:linear-gradient(#fff 50%, #ebeceb 50%); clip-path:polygon(0 0, 100% 0, calc(100% - min(30px, 1.5625vw)) 50%, calc(100% - min(30px, 1.5625vw)) 100%, min(30px, 1.5625vw) 100%, min(30px, 1.5625vw) 50%);}
.footer-middle .block:first-child .ce-gallery {margin:0;}

.footer-middle .block:first-child .image-caption,
.footer-middle .block:first-child .image-title {font-family:'Barlow', sans-serif; font-size:1rem; text-align:center; text-transform:uppercase; color:var(--text-color); padding:0;}

.footer-right {width:auto; padding:0 60px 30px 60px; filter:drop-shadow(0 0 16px rgba(0,0,0,0.1)); background:linear-gradient(-45deg, transparent min(20px, 1.04vw), #fff min(21px, 1.09vw)) no-repeat right bottom/55% 100%, linear-gradient(45deg, transparent min(20px, 1.04vw), #fff min(21px, 1.09vw)) no-repeat left bottom/55% 100%;}
.footer-right:before {content:""; display:block; position:absolute; left:64px; right:0; bottom:100%; border:min(30px, 1.5625vw) solid transparent; border-bottom-color:#ffffff;}

.footer-links {font-size:36px; font-size:clamp(1.5rem, 36px, 1.875vw); padding:0 10px;}
.footer-links ul li {border-bottom:1px solid var(--lines); clip-path:polygon(0 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%);}
.footer-links ul li a {position:relative; z-index:0; display:block; padding:0.511em 1.2em; line-height:1.2; font-weight:500; color:var(--primary); min-width:8em; box-sizing:border-box; transition:background 0.3s;}
.footer-links ul li a:hover {background:var(--nav-sub-hover); color:var(--primary);}

.footer-links ul li a.link-book {background:var(--primary); color:#ffffff;}
.link-book:before {content:""; display:block; position:absolute; z-index:-1; left:0; right:0; top:0; bottom:0; height:100%; background:var(--text-color); opacity:0; transition:all 0.3s;}
.link-book:after {content:""; display:block; position:absolute; font-size:0.66em; inset:0.416em; border:1px solid currentColor; border-width:1px 0 0 1px; background:linear-gradient(to left, transparent 9px, currentColor 9px) no-repeat left bottom/ 100% 1px, linear-gradient(to top, transparent 9px, currentColor 9px) no-repeat right top/ 1px 100%, linear-gradient(-45deg, transparent 6px, currentColor 6px, currentColor 7px, transparent 7px) no-repeat right bottom/ 9px 9px; mask:linear-gradient(#fff, #fff) no-repeat left bottom/40% 12px, linear-gradient(#fff, #fff) no-repeat right top/40% 12px; animation:btn-exit 0.3s forwards; transition:inset 0.3s;}
.link-book:hover:before {opacity:0.1;}
.link-book:hover:after {animation:btn-enter 0.3s forwards; inset:0.208em;}

.footer-mid .layout-image-icon.ce-intext.ce-left.ce-nowrap .ce-gallery,
.footer-mid .layout-image-icon.ce-intext.ce-right.ce-nowrap .ce-gallery {max-width:150px; padding-top:0; padding-bottom:0;}
.footer-mid .layout-image-icon .image {box-shadow:none; filter:none;}
.footer-mid .layout-image-icon .image img {background:none;}

.footer-bottom {background:none;}
.footer-bottom .content-padding {padding-top:min(30px, 1.5625vw); padding-bottom:min(30px, 1.5625vw);}
.footer-bottom .ce-gallery {margin:0;}
.website a {background:none;}
.copyright, .website span {font-weight:200;}

/* -------- Media Queries ------------ */
@media screen and (max-width:1920px) {
	/* -------- Content ------------ */
	.video-poster:after {font-size:16.25vw;}
	.callout .content-padding > div {padding:4.16vw 3.125vw;}
}

@media screen and (max-width:1800px) {
	/* -------- Content ------------ */
	.ce-textpic.ce-left.ce-nowrap .ce-gallery {padding-right:40px;}
	.ce-textpic.ce-right.ce-nowrap .ce-gallery {padding-left:40px;}
	.ce-textpic.ce-left.ce-nowrap .ce-bodytext {padding-left:40px;}
	.ce-textpic.ce-right.ce-nowrap .ce-bodytext {padding-right:40px;}
	/* -------- Image Slider ------------ */
	.padding-left-none .ce-left .splide__track {padding-left:120px !important;}
	.padding-right-none .ce-right .splide__track {padding-right:120px !important;}
	.padding-left-none .ce-left .splide__slide {padding-left:2.78vw;}
	.padding-right-none .ce-right .splide__slide {padding-right:2.78vw;}
}

@media screen and (max-width:1600px) {
	/* -------- Content ------------ */
	.image-title {font-size:1.875vw;}
	.ce-textpic.ce-left.ce-nowrap .ce-gallery {padding-right:30px;}
	.ce-textpic.ce-right.ce-nowrap .ce-gallery {padding-left:30px;}
	.ce-textpic.ce-left.ce-nowrap .ce-bodytext {padding-left:30px;}
	.ce-textpic.ce-right.ce-nowrap .ce-bodytext {padding-right:30px;}
	/* -------- Image Slider ------------ */
	.padding-left-none .ce-left .splide__track {padding-left:80px !important;}
	.padding-right-none .ce-right .splide__track {padding-right:80px !important;}
}

@media screen and (max-width:1300px) {
	/* -------- Nav Side ------------ */
	.nav-side .content-padding > ul {max-width:400px;}
	.nav-images {margin-right:520px;}
	/* -------- Content ------------ */
	.ce-textpic.ce-left.ce-nowrap .ce-gallery {padding-right:20px;}
	.ce-textpic.ce-right.ce-nowrap .ce-gallery {padding-left:20px;}
	.ce-textpic.ce-left.ce-nowrap .ce-bodytext {padding-left:20px;}
	.ce-textpic.ce-right.ce-nowrap .ce-bodytext {padding-right:20px;}
	.layout-text-card-small.ce-intext.ce-left.ce-nowrap .ce-gallery {margin:0 0 -20px 0;}
	.layout-text-card-small.ce-intext.ce-right.ce-nowrap .ce-gallery {margin:-20px 0 0 0;}
	.layout-text-card-small.ce-intext.ce-left.ce-nowrap .ce-bodytext,
	.layout-text-card-small.ce-intext.ce-right.ce-nowrap .ce-bodytext {margin:0 16px 0 0;}
	.layout-text-card-small.ce-intext.ce-left.ce-nowrap .ce-bodytext-block,
	.layout-text-card-small.ce-intext.ce-right.ce-nowrap .ce-bodytext-block {padding:24px;}
	/* -------- Grid ------------ */
	.grid-2up .block {width:100%; flex:0 0 100%; max-width:100%;}
	/* -------- Tabs ------------ */
	.tabs {font-size:20px;}
	.tabs-content {padding:30px;}
	/* -------- Accordion ------------ */
	.expand-header:after {margin-right:20px;}
	/* -------- Product List ------------ */
	.product__item {flex-basis:33.33%;}
	/* -------- Footer ------------ */
	.footer-mid .layout-image-icon.ce-intext.ce-nowrap {display:block; text-align:center;}

}

@media screen and (max-width:1080px) {
	/* -------- Image Slider ------------ */
	.padding-left-none .ce-left .splide__track {padding-left:60px !important;}
	.padding-right-none .ce-right .splide__track {padding-right:60px !important;}
	/* -------- Tabs ------------ */
	.tabs-content {padding:0;}
	/* -------- Accordion ------------ */
	.expand-header p {padding:17px 60px 17px 20px;}
	.expand-content,
	.expand-open .expand-content {padding-left:16px; padding-right:16px;}
	/* -------- Testimonials ------------ */
	.block-layout-testimonials .block > div {max-width:480px;}
	.block-layout-testimonials .group {padding:0 16%;}
}

@media screen and (max-width:960px) {
	/* -------- Text ------------ */
	.outdent {margin-left:0;}
	.col:first-child .align-right {text-align:left;}
	.ce-bodytext-block img {display:block; margin:0 auto;}
	/* -------- Lists ------------ */
	.ce-bodytext ul.large-list li {font-size:30px;}
	/* -------- Modals ------------ */
	.btn__close {font-size:36px; border-width:0.2em; margin-right:10px; background-size:10em auto; background-position:-2em -0.33em;}
	.btn__close:before {margin:-0.2em;}
	.modal-box {height:auto; max-height:none;}
	.modal-scrollbox.scrollbar {height:auto; max-height:none;}
	.modal-box .columns {max-width:none;}
	.modal-box .col {max-width:none; padding:20px 0;}
	.modal-box .col .block {max-width:480px; margin:0 auto;}
	/* -------- Nav Side ------------ */
	.nav-side .content-padding {margin:8% 0;}
	.nav-side .content-padding > ul {margin:0 auto;}
	.nav-images {display:none;}
	/* -------- Content ------------ */
	#body {background-size:960px auto, auto;}
	.ce-textpic.ce-left.ce-nowrap .ce-gallery,
	.ce-textpic.ce-right.ce-nowrap .ce-gallery,
	.ce-textpic.ce-left.ce-nowrap .ce-bodytext,
	.ce-textpic.ce-right.ce-nowrap .ce-bodytext {padding:0; width:auto; max-width:480px; flex-basis:100%;}	
	#content .col {display:block; max-width:480px; margin:0 auto;}
	.margin-top-small {margin-top:40px;}
	.margin-bottom-small {margin-bottom:40px;}	
	.margin-top-large {margin-top:60px;}
	.margin-bottom-large {margin-bottom:60px;}	
	.overlay-video .content-padding {padding:0;}
	.overlay-video .header-button.close:before {background-position-y:-2em;}
	.padding-left-none .ce-left .ce-row {mask-position:center bottom;}
	.padding-right-none .ce-right .ce-row {mask-position:center top;}
	.padding-left-none:not(.padding-right-none) .ce-left .ce-gallery {margin-right:-16px;}
	.padding-right-none:not(.padding-left-none) .ce-right .ce-gallery {margin-left:-16px;}
	.scroll-reveal .ce-nowrap.ce-left .ce-gallery,
	.scroll-reveal .ce-nowrap.ce-right .ce-gallery,
	.scroll-reveal .ce-nowrap.ce-left .ce-bodytext,
	.scroll-reveal .ce-nowrap.ce-right .ce-bodytext {transform:translateX(0);}
	.body-cell > .bg-light:before {background-size:cover;}
	.body-cell > .bg-dark:before {background-size:auto, cover;}
	/* Textpic */
	.ce-intext.ce-right.ce-nowrap .ce-gallery {margin-bottom:0;}
	.block-type-textpic .ce-row {padding-top:0;}
	.block {--right-top:linear-gradient(#fff, #fff) no-repeat right 1em/62% 55%; --right-bottom:linear-gradient(#fff, #fff) no-repeat right bottom 1em/55% 55%;}
	.body-cell > .block-type-textpic:has(.ce-left) {--left-top:linear-gradient(#fff, #fff) no-repeat left 1em/62% 55%; --left-bottom:linear-gradient(#fff, #fff) no-repeat left bottom 1em/55% 55%;}
	.body-cell > .block-type-textpic > div:before {margin:0;}
	.body-cell > .block-type-textpic:has(.ce-left) > div:before {margin:0;}
	.body-cell > .bg-card > div:before {margin:0;}
	.layout-image-extend.ce-left .image {margin-right:0;}
	.layout-image-extend.ce-right .image {margin-left:0;}
	/* -------- Buttons ------------ */
	.btn__icon .small {margin-left:0;}
	.btn__social {width:48px; height:48px; margin:3px;}
	/* Feature Links */
	.feature__links {font-size:24px; display:block; padding:0; margin:24px auto; background:none;}
	.feature__links a {display:block; max-width:288px; margin:16px auto; white-space:normal;}
	/* -------- Banner ------------ */
	.banner .content-padding {padding:0 50px;}
	.banner__wrap:before {display:none;}
	/* -------- Image Slider ------------ */
	.padding-left-none .ce-left .splide__track {padding:0 25vw !important;}
	.padding-right-none .ce-right .splide__track {padding:0 25vw !important;}
	.padding-left-none .ce-left .splide__slide {padding:0 8px;}
	.padding-right-none .ce-right .splide__slide {padding:0 8px;}
	/* -------- Arrows ------------ */
	.bg-arrows {overflow:hidden;}
	.bg-arrows:after {opacity:0.3; width:100%; background-size:contain;}
	.bg-arrows .ce-textpic {max-width:480px; padding:0; margin:0 auto;}
	/* -------- Footer ------------ */
	.scroll-top {margin:16px 0;}
	.scroll-top:before {background-position-y:-2em;}
	.footer-mid .columns {display:block; padding:0; background:#ffffff;}
	.footer-mid .col {display:block; width:auto;}	
	.footer-left {padding:24px; background:#ffffff; text-align:center;}
	.footer-left:before {display:none;}
	.footer-left:after {display:none;}
	.footer-middle {margin:0;}
	.footer-right {padding:24px; background:#ffffff;}
	.footer-right:before {display:none;}
	.footer-right {text-align:center;}
	.footer-right p {display:inline-block;}
	.footer-mid .btn__icon {padding:50px 16px 10px 16px; text-align:center;}
	.footer-mid .btn__icon:after {left:50%; margin-left:-0.5em; top:0;}
	.footer-mid .btn__icon .small {display:none;}
	.footer-mid .btn__icon.btn-large {font-size:clamp(1rem, 24px, 1.25vw); font-weight:500; padding:50px 16px 10px 16px; text-align:center;}
	.footer-mid .btn__icon.btn-large:after {font-size:2.5em;}
	.footer-middle {padding:24px;}
	.footer-middle .block:first-child {margin:-24px -24px 24px -24px; border-bottom:24px solid #ebeceb;}
	.footer-middle .block:first-child:before {display:none;}
	.footer-middle .block:first-child:after {display:none;}
}

@media screen and (max-width:800px) {
	/* -------- Banner ------------ */
	.banner .content-padding {padding:0 6.25vw;}
	.banner-image-left .banner__text-block {margin-left:auto; margin-right:auto; max-width:480px;}
	.banner-image-left .banner__shade {background:var(--banner);}
	.banner__caption {writing-mode:horizontal-tb; top:auto; left:0; }
	/* -------- Product List ------------ */
	.product__item {flex-basis:50%;}
}

@media screen and (max-width:700px) {
	/* -------- Header -------- */
	.header-buttons {padding:0;}
	.header-button {border-radius:0; margin:0;}
}

@media screen and (max-width:640px) {
	/* -------- Profile -------- */
	.profile__columns {display:block;}
	/* -------- Testimonials ------------ */
	.block-layout-testimonials .block {padding:0 16px; filter:drop-shadow(2px 2px 9px rgba(0,0,0,0.2));}
	.block-layout-testimonials .block > div {max-width:360px;}
	.block-layout-testimonials .ce-textpic {padding:40px 16px;}
	.block-layout-testimonials .ce-bodytext:before {margin:0 10px;}
	.block-layout-testimonials .group {padding:0;}
}

@media screen and (max-width:600px) {
	/* -------- Image Slider ------------ */
	.padding-left-none .ce-left .splide__track {padding:0 15vw !important;}
	.padding-right-none .ce-right .splide__track {padding:0 15vw !important;}
	/* -------- Product List ------------ */
	.product__item {flex-basis:100%;}
	.product__card {max-width:288px;}
}

@media screen and (max-width:540px) {
	/* -------- Header -------- */
	#header-sticky .header-button.header-phone {width:1em; padding:0;}
	.header-button.header-phone:before {left:50%;}
	.header-button.header-phone span {display:none;}
}

@media screen and (max-width:440px) {
	/* -------- Buttons ------------ */
	.btn__icon .small {display:block;}
}