@charset "UTF-8";/*!
 * mmenu.js
 * mmenujs.com
 *
 * Copyright (c) Fred Heusschen
 * frebsite.nl
 *
 * License: CC-BY-NC-4.0
 * http://creativecommons.org/licenses/by-nc/4.0/
 */:root{--mm-lineheight:22px}.mm-hidden{display:none!important}.mm-wrapper{overflow-x:hidden;position:relative}.mm-menu,.mm-menu *,.mm-menu :after,.mm-menu :before{-webkit-transition-property:none;-o-transition-property:none;transition-property:none;-webkit-transition-duration:.4s;-o-transition-duration:.4s;transition-duration:.4s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}:root{--mm-blocker-visibility-delay:0.4s;--mm-blocker-opacity-delay:0s}.mm-blocker{display:block;position:absolute;bottom:100%;top:0;right:0;left:0;z-index:3;opacity:0;background:var(--mm-color-background);-webkit-transition:bottom 0s ease var(--mm-blocker-visibility-delay),width .4s ease,opacity .4s ease var(--mm-blocker-opacity-delay),-webkit-transform .4s ease;transition:bottom 0s ease var(--mm-blocker-visibility-delay),width .4s ease,opacity .4s ease var(--mm-blocker-opacity-delay),-webkit-transform .4s ease;-o-transition:bottom 0s ease var(--mm-blocker-visibility-delay),width .4s ease,opacity .4s ease var(--mm-blocker-opacity-delay),transform .4s ease;transition:bottom 0s ease var(--mm-blocker-visibility-delay),width .4s ease,opacity .4s ease var(--mm-blocker-opacity-delay),transform .4s ease;transition:bottom 0s ease var(--mm-blocker-visibility-delay),width .4s ease,opacity .4s ease var(--mm-blocker-opacity-delay),transform .4s ease,-webkit-transform .4s ease}.mm-blocker:focus-visible{opacity:.75}.mm-btn{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;width:50px;padding:0}.mm-btn--next,[dir=rtl] .mm-btn--prev{--mm-btn-rotate:135deg}.mm-btn--prev,[dir=rtl] .mm-btn--next{--mm-btn-rotate:-45deg}.mm-btn--next:after,.mm-btn--prev:before{content:"";display:block;position:absolute;top:0;bottom:0;width:8px;height:8px;margin:auto;-webkit-box-sizing:border-box;box-sizing:border-box;border:2px solid var(--mm-color-icon);border-bottom:none;border-right:none;-webkit-transform:rotate(var(--mm-btn-rotate));-ms-transform:rotate(var(--mm-btn-rotate));transform:rotate(var(--mm-btn-rotate))}.mm-btn--prev:before{inset-inline-start:23px}.mm-btn--next:after{inset-inline-end:23px}.mm-btn--close:before{content:"×";font-size:150%}.mm-btnreset{padding:0;background:0 0;border:none;cursor:pointer}.mm-divider{-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:-webkit-sticky;position:sticky;z-index:2;top:0;min-height:var(--mm-lineheight);padding:calc((var(--mm-listitem-size) * .65 - var(--mm-lineheight)) * .5) 20px;font-size:75%;text-transform:uppercase;background:var(--mm-color-background);background-image:-webkit-gradient(linear,left top,left bottom,from(var(--mm-color-background-highlight)),to(var(--mm-color-background-highlight)));background-image:-o-linear-gradient(var(--mm-color-background-highlight),var(--mm-color-background-highlight));background-image:linear-gradient(var(--mm-color-background-highlight),var(--mm-color-background-highlight));opacity:1;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.mm-navbar:not(.mm-hidden)~.mm-listview .mm-divider{top:var(--mm-navbar-size)}:root{--mm-listitem-size:50px}.mm-listitem{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;position:relative;padding:0;margin:0;color:var(--mm-color-text);border-color:var(--mm-color-border)}.mm-listitem:after{content:"";border-color:inherit;border-bottom-width:1px;border-bottom-style:solid;display:block;position:absolute;inset-inline-start:20px;inset-inline-end:0;bottom:0}.mm-listitem__btn,.mm-listitem__text{padding:calc((var(--mm-listitem-size) - var(--mm-lineheight))/ 2) 0}.mm-listitem__text{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:10%;flex-basis:10%;display:block;padding-left:20px;padding-right:20px;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mm-listitem__btn{display:block;position:relative;width:auto;-webkit-padding-end:50px;padding-inline-end:50px;border-color:inherit;background:rgba(3,2,1,0)}.mm-listitem__btn:not(.mm-listitem__text){border-left-width:1px;border-left-style:solid}.mm-listitem--selected>.mm-listitem__text{background:var(--mm-color-background-emphasis)}.mm-listitem--opened>.mm-listitem__btn,.mm-listitem--opened>.mm-panel{background:var(--mm-color-background-highlight)}.mm-listview{list-style:none;display:block;padding:0;margin:0}.mm-menu{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:0;margin:0;position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;-ms-scroll-chaining:none;overscroll-behavior:none;background:var(--mm-color-background);border-color:var(--mm-color-border);color:var(--mm-color-text);line-height:var(--mm-lineheight);-webkit-tap-highlight-color:var(--mm-color-background-emphasis);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mm-menu ::-webkit-input-placeholder{color:var(--mm-color-text-dimmed)}.mm-menu ::-moz-placeholder{color:var(--mm-color-text-dimmed)}.mm-menu :-ms-input-placeholder{color:var(--mm-color-text-dimmed)}.mm-menu ::-ms-input-placeholder{color:var(--mm-color-text-dimmed)}.mm-menu ::placeholder{color:var(--mm-color-text-dimmed)}.mm-menu,.mm-menu *{-webkit-box-sizing:border-box;box-sizing:border-box}.mm-menu :focus,.mm-menu :focus-visible,.mm-menu:focus,.mm-menu:focus-visible{outline:0}.mm-menu a,.mm-menu button,.mm-menu label{color:inherit}.mm-menu a:focus,.mm-menu button:focus,.mm-menu label:focus{outline:0}.mm-menu a:focus-visible,.mm-menu button:focus-visible,.mm-menu label:focus-visible{outline:2px solid var(--mm-color-focusring);outline-offset:-5px}.mm-menu input:focus,.mm-menu input:focus-visible,.mm-menu select:focus,.mm-menu select:focus-visible,.mm-menu textarea:focus,.mm-menu textarea:focus-visible{outline:2px solid var(--mm-color-focusring);outline-offset:2px}.mm-menu a,.mm-menu a:active,.mm-menu a:hover,.mm-menu a:link,.mm-menu a:visited{text-decoration:none;color:inherit}:root{--mm-navbar-size:50px}.mm-navbar{display:-webkit-box;display:-ms-flexbox;display:flex;position:-webkit-sticky;position:sticky;top:0;z-index:2;min-height:var(--mm-navbar-size);padding-top:env(safe-area-inset-top);color:var(--mm-color-text-dimmed);text-align:center;opacity:1;background:var(--mm-color-background);border-bottom:1px solid var(--mm-color-border);-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.mm-navbar>*{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box}.mm-navbar__btn{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.mm-navbar__title{-webkit-box-flex:1;-ms-flex:1 1 50%;flex:1 1 50%;display:-webkit-box;display:-ms-flexbox;display:flex;padding:0 20px;overflow:hidden}.mm-navbar__title[href="#"]{pointer-events:none}.mm-navbar__title>span{-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mm-btn.mm-hidden+.mm-navbar__title:not(:last-child){-webkit-padding-start:60px;padding-inline-start:60px;-webkit-padding-end:10px;padding-inline-end:10px}.mm-btn:not(.mm-hidden)+.mm-navbar__title:last-child{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:60px;padding-inline-end:60px}.mm-panel{--mm-panel-child-offset:100%;--mm-panel-parent-offset:-30%;position:absolute;left:0;right:0;top:0;bottom:0;z-index:1;-webkit-overflow-scrolling:touch;overflow:hidden;overflow-y:auto;-ms-scroll-chaining:none;overscroll-behavior:contain;color:var(--mm-color-text);border-color:var(--mm-color-border);background:var(--mm-color-background);-webkit-transform:translate3d(var(--mm-panel-child-offset),0,0);transform:translate3d(var(--mm-panel-child-offset),0,0);-webkit-transition-property:inset-inline-start,-webkit-transform;transition-property:inset-inline-start,-webkit-transform;-o-transition-property:transform,inset-inline-start;transition-property:transform,inset-inline-start;transition-property:transform,inset-inline-start,-webkit-transform}[dir=rtl] .mm-panel{--mm-panel-child-offset:-100%;--mm-panel-parent-offset:30%}.mm-panel:after{content:"";display:block;height:var(--mm-listitem-size)}.mm-panel:focus{outline:0}.mm-panel--opened{z-index:2;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition-delay:0s;-o-transition-delay:0s;transition-delay:0s}.mm-panel--parent{-webkit-transform:translate3d(var(--mm-panel-parent-offset),0,0);transform:translate3d(var(--mm-panel-parent-offset),0,0);z-index:0}.mm-panel--highest{z-index:3}.mm-menu--opened .mm-panel--noanimation{-webkit-transition:none!important;-o-transition:none!important;transition:none!important;-webkit-transition-duration:0s!important;-o-transition-duration:0s!important;transition-duration:0s!important}.mm-panel__content{padding:20px}.mm-panels{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;position:relative;height:100%;overflow:hidden;background:var(--mm-color-background);border-color:var(--mm-color-border);color:var(--mm-color-text)}.mm-panels:focus{outline:0}:root{--mm-toggle-size:34px}.mm-toggle{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-item-align:center;align-self:center;-webkit-box-flex:calc(var(--mm-toggle-size) * 1.75);-ms-flex:calc(var(--mm-toggle-size) * 1.75) 0 0px;flex:calc(var(--mm-toggle-size) * 1.75) 0 0;height:var(--mm-toggle-size);-webkit-margin-end:10px;margin-inline-end:10px;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;border:none!important;border-radius:var(--mm-toggle-size);border:var(--mm-color-border);background:var(--mm-color-border);cursor:pointer;-webkit-transition-property:background-color;-o-transition-property:background-color;transition-property:background-color}.mm-toggle:before{content:"";aspect-ratio:1;margin:2px;border-radius:100%;background:var(--mm-color-background);-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform}.mm-toggle:checked{background:#4bd963}.mm-toggle:checked:before{-webkit-transform:translateX(calc(var(--mm-toggle-size) * .75));-ms-transform:translateX(calc(var(--mm-toggle-size) * .75));transform:translateX(calc(var(--mm-toggle-size) * .75))}[dir=rtl] .mm-toggle:checked:before{-webkit-transform:translateX(calc(var(--mm-toggle-size) * -.75));-ms-transform:translateX(calc(var(--mm-toggle-size) * -.75));transform:translateX(calc(var(--mm-toggle-size) * -.75))}.mm-listitem--vertical>.mm-panel{position:static;width:100%;padding:10px 0 10px 20px;-webkit-transform:none!important;-ms-transform:none!important;transform:none!important;-webkit-transition:none!important;-o-transition:none!important;transition:none!important}.mm-listitem--vertical>.mm-panel:after{content:none;display:none}.mm-listitem--vertical:not(.mm-listitem--opened)>.mm-panel{display:none}.mm-listitem--vertical>.mm-listitem__btn{height:var(--mm-listitem-size);bottom:auto}.mm-listitem--vertical .mm-listitem:last-child:after{border-color:transparent}.mm-listitem--opened>.mm-listitem__btn:after{-webkit-transform:rotate(225deg);-ms-transform:rotate(225deg);transform:rotate(225deg);right:19px}:root{--mm-size:80%;--mm-min-size:240px;--mm-max-size:440px}.mm-menu--offcanvas{position:fixed;z-index:0}.mm-page{-webkit-box-sizing:border-box;box-sizing:border-box;min-height:100vh;background:inherit}:where(.mm-slideout){position:relative;z-index:1;width:100%;-webkit-transition-duration:.4s;-o-transition-duration:.4s;transition-duration:.4s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-property:width,-webkit-transform;transition-property:width,-webkit-transform;-o-transition-property:width,transform;transition-property:width,transform;transition-property:width,transform,-webkit-transform}.mm-wrapper--opened,.mm-wrapper--opened body{overflow:hidden}.mm-wrapper__blocker{background:rgba(0,0,0,.4)}.mm-wrapper--opened .mm-wrapper__blocker{--mm-blocker-visibility-delay:0s;--mm-blocker-opacity-delay:0.4s;bottom:0;opacity:.5}.mm-menu{--mm-translate-horizontal:0;--mm-translate-vertical:0}.mm-menu--position-left,.mm-menu--position-left-front{right:auto}.mm-menu--position-right,.mm-menu--position-right-front{left:auto}.mm-menu--position-left,.mm-menu--position-left-front,.mm-menu--position-right,.mm-menu--position-right-front{width:clamp(var(--mm-min-size),var(--mm-size),var(--mm-max-size))}.mm-menu--position-left-front{--mm-translate-horizontal:-100%}.mm-menu--position-right-front{--mm-translate-horizontal:100%}.mm-menu--position-top{bottom:auto}.mm-menu--position-bottom{top:auto}.mm-menu--position-bottom,.mm-menu--position-top{width:100%;height:clamp(var(--mm-min-size),var(--mm-size),var(--mm-max-size))}.mm-menu--position-top{--mm-translate-vertical:-100%}.mm-menu--position-bottom{--mm-translate-vertical:100%}.mm-menu--position-bottom,.mm-menu--position-left-front,.mm-menu--position-right-front,.mm-menu--position-top{z-index:2;-webkit-transform:translate3d(var(--mm-translate-horizontal),var(--mm-translate-vertical),0);transform:translate3d(var(--mm-translate-horizontal),var(--mm-translate-vertical),0);-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform}.mm-menu--position-bottom.mm-menu--opened,.mm-menu--position-left-front.mm-menu--opened,.mm-menu--position-right-front.mm-menu--opened,.mm-menu--position-top.mm-menu--opened{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.mm-wrapper--position-left{--mm-translate-horizontal:clamp(
      var(--mm-min-size),
      var(--mm-size),
      var(--mm-max-size)
  )}.mm-wrapper--position-right{--mm-translate-horizontal:clamp(
      calc(-1 * var(--mm-max-size)),
      calc(-1 * var(--mm-size)),
      calc(-1 * var(--mm-min-size))
  )}.mm-wrapper--position-left .mm-slideout,.mm-wrapper--position-right .mm-slideout{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.mm-wrapper--position-left.mm-wrapper--opened .mm-slideout,.mm-wrapper--position-right.mm-wrapper--opened .mm-slideout{-webkit-transform:translate3d(var(--mm-translate-horizontal),0,0);transform:translate3d(var(--mm-translate-horizontal),0,0)}.mm-wrapper--position-bottom .mm-wrapper__blocker,.mm-wrapper--position-left-front .mm-wrapper__blocker,.mm-wrapper--position-right-front .mm-wrapper__blocker,.mm-wrapper--position-top .mm-wrapper__blocker{z-index:1}.mm-menu--theme-light{--mm-color-background:#f3f3f3;--mm-color-border:rgb(0 0 0 / 0.15);--mm-color-icon:rgb(0 0 0 / 0.4);--mm-color-text:rgb(0 0 0 / 0.8);--mm-color-text-dimmed:rgb(0 0 0 / 0.4);--mm-color-background-highlight:rgb(0 0 0 / 0.05);--mm-color-background-emphasis:rgb(255 255 255 / 0.75);--mm-color-focusring:#06c}.mm-menu--theme-light-contrast{--mm-color-background:#f3f3f3;--mm-color-border:rgb(0 0 0 / 0.5);--mm-color-icon:rgb(0 0 0 / 0.5);--mm-color-text:#000;--mm-color-text-dimmed:rgb(0 0 0 / 0.7);--mm-color-background-highlight:rgb(0 0 0 / 0.05);--mm-color-background-emphasis:rgb(255 255 255 / 0.9);--mm-color-focusring:#06c}.mm-menu--theme-dark{--mm-color-background:#333;--mm-color-border:rgb(0, 0, 0, 0.4);--mm-color-icon:rgb(255, 255, 255, 0.4);--mm-color-text:rgb(255, 255, 255, 0.8);--mm-color-text-dimmed:rgb(255, 255, 255, 0.4);--mm-color-background-highlight:rgb(255, 255, 255, 0.08);--mm-color-background-emphasis:rgb(0, 0, 0, 0.1);--mm-color-focusring:#06c}.mm-menu--theme-dark-contrast{--mm-color-background:#333;--mm-color-border:rgb(255 255 255 / 0.5);--mm-color-icon:rgb(255 255 255 / 0.5);--mm-color-text:#fff;--mm-color-text-dimmed:rgb(255 255 255 / 0.7);--mm-color-background-highlight:rgb(255 255 255 / 0.1);--mm-color-background-emphasis:rgb(0 0 0 / 0.3);--mm-color-focusring:#06c}.mm-menu--theme-white{--mm-color-background:#fff;--mm-color-border:rgb(0 0 0 / 0.15);--mm-color-icon:rgb(0 0 0 / 0.3);--mm-color-text:rgb(0 0 0 / 0.8);--mm-color-text-dimmed:rgb(0 0 0 / 0.3);--mm-color-background-highlight:rgb(0 0 0 / 0.06);--mm-color-background-emphasis:rgb(0 0 0 / 0.03);--mm-color-focusring:#06c}.mm-menu--theme-white-contrast{--mm-color-background:#fff;--mm-color-border:rgb(0 0 0 / 0.5);--mm-color-icon:rgb(0 0 0 / 0.5);--mm-color-text:#000;--mm-color-text-dimmed:rgb(0 0 0 / 0.7);--mm-color-background-highlight:rgb(0 0 0 / 0.07);--mm-color-background-emphasis:rgb(0 0 0 / 0.035);--mm-color-focusring:#06c}.mm-menu--theme-black{--mm-color-background:#000;--mm-color-border:rgb(255 255 255 / 0.2);--mm-color-icon:rgb(255 255 255 / 0.4);--mm-color-text:rgb(255 255 255 / 0.7);--mm-color-text-dimmed:rgb(255 255 255 / 0.4);--mm-color-background-highlight:rgb(255 255 255 / 0.1);--mm-color-background-emphasis:rgb(255 255 255 / 0.06);--mm-color-focusring:#06c}.mm-menu--theme-black-contrast{--mm-color-background:#000;--mm-color-border:rgb(255 255 255 / 0.5);--mm-color-icon:rgb(255 255 255 / 0.5);--mm-color-text:#fff;--mm-color-text-dimmed:rgb(255 255 255 / 0.6);--mm-color-background-highlight:rgb(255 255 255 / 0.125);--mm-color-background-emphasis:rgb(255 255 255 / 0.1);--mm-color-focusring:#06c}.mm-counter{display:block;-webkit-padding-start:20px;padding-inline-start:20px;float:right;color:var(--mm-color-text-dimmed)}[dir=rtl] .mm-counter{float:left}:root{--mm-iconbar-size:50px}.mm-menu--iconbar-left .mm-navbars,.mm-menu--iconbar-left .mm-panels{margin-left:var(--mm-iconbar-size)}.mm-menu--iconbar-right .mm-navbars,.mm-menu--iconbar-right .mm-panels{margin-right:var(--mm-iconbar-size)}.mm-iconbar{display:none;position:absolute;top:0;bottom:0;z-index:2;width:var(--mm-iconbar-size);overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;border:0 solid;border-color:var(--mm-color-border);background:var(--mm-color-background);color:var(--mm-color-text-dimmed);text-align:center}.mm-menu--iconbar-left .mm-iconbar,.mm-menu--iconbar-right .mm-iconbar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.mm-menu--iconbar-left .mm-iconbar{border-right-width:1px;left:0}.mm-menu--iconbar-right .mm-iconbar{border-left-width:1px;right:0}.mm-iconbar__bottom,.mm-iconbar__top{width:100%;-webkit-overflow-scrolling:touch;overflow:hidden;overflow-y:auto;-ms-scroll-chaining:none;overscroll-behavior:contain}.mm-iconbar__bottom>*,.mm-iconbar__top>*{-webkit-box-sizing:border-box;box-sizing:border-box;display:block;padding:calc((var(--mm-iconbar-size) - var(--mm-lineheight))/ 2) 0}.mm-iconbar__bottom a,.mm-iconbar__bottom a:hover,.mm-iconbar__top a,.mm-iconbar__top a:hover{text-decoration:none}.mm-iconbar__tab--selected{background:var(--mm-color-background-emphasis)}:root{--mm-iconpanel-size:50px}.mm-panel--iconpanel-0{inset-inline-start:calc(0 * var(--mm-iconpanel-size))}.mm-panel--iconpanel-1{inset-inline-start:calc(1 * var(--mm-iconpanel-size))}.mm-panel--iconpanel-2{inset-inline-start:calc(2 * var(--mm-iconpanel-size))}.mm-panel--iconpanel-3{inset-inline-start:calc(3 * var(--mm-iconpanel-size))}.mm-panel--iconpanel-4{inset-inline-start:calc(4 * var(--mm-iconpanel-size))}.mm-panel--iconpanel-first~.mm-panel{inset-inline-start:var(--mm-iconpanel-size)}.mm-menu--iconpanel .mm-panel--parent .mm-divider,.mm-menu--iconpanel .mm-panel--parent .mm-navbar{opacity:0}.mm-menu--iconpanel .mm-panels>.mm-panel--parent{overflow-y:hidden;-webkit-transform:unset;-ms-transform:unset;transform:unset}.mm-menu--iconpanel .mm-panels>.mm-panel:not(.mm-panel--iconpanel-first):not(.mm-panel--iconpanel-0){border-inline-start-width:1px;border-inline-start-style:solid}.mm-navbars{-ms-flex-negative:0;flex-shrink:0}.mm-navbars .mm-navbar{position:relative;padding-top:0;border-bottom:none}.mm-navbars--top{border-bottom:1px solid var(--mm-color-border)}.mm-navbars--top .mm-navbar:first-child{padding-top:env(safe-area-inset-top)}.mm-navbars--bottom{border-top:1px solid var(--mm-color-border)}.mm-navbars--bottom .mm-navbar:last-child{padding-bottom:env(safe-area-inset-bottom)}.mm-navbar__breadcrumbs{-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-box-flex:1;-ms-flex:1 1 50%;flex:1 1 50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;padding:0 20px;overflow-x:auto;-webkit-overflow-scrolling:touch}.mm-navbar__breadcrumbs>*{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-padding-end:6px;padding-inline-end:6px}.mm-navbar__breadcrumbs>a{text-decoration:underline}.mm-navbar__breadcrumbs:not(:last-child){-webkit-padding-end:0;padding-inline-end:0}.mm-btn:not(.mm-hidden)+.mm-navbar__breadcrumbs{-webkit-padding-start:0;padding-inline-start:0}.mm-navbar__tab{padding:0 10px;border:1px solid transparent}.mm-navbar__tab--selected{background:var(--mm-color-background)}.mm-navbar__tab--selected:not(:first-child){border-inline-start-color:var(--mm-color-border)}.mm-navbar__tab--selected:not(:last-child){border-inline-end-color:var(--mm-color-border)}.mm-navbars--top.mm-navbars--has-tabs{border-bottom:none}.mm-navbars--top.mm-navbars--has-tabs .mm-navbar{background:var(--mm-color-background-emphasis)}.mm-navbars--top.mm-navbars--has-tabs .mm-navbar--tabs~.mm-navbar{background:var(--mm-color-background)}.mm-navbars--top.mm-navbars--has-tabs .mm-navbar:not(.mm-navbar--tabs):last-child{border-bottom:1px solid var(--mm-color-border)}.mm-navbars--top .mm-navbar__tab{border-bottom-color:var(--mm-color-border)}.mm-navbars--top .mm-navbar__tab--selected{border-top-color:var(--mm-color-border);border-bottom-color:transparent}.mm-navbars--bottom.mm-navbar--has-tabs{border-top:none}.mm-navbars--bottom.mm-navbar--has-tabs .mm-navbar{background:var(--mm-color-background)}.mm-navbars--bottom.mm-navbar--has-tabs .mm-navbar--tabs,.mm-navbars--bottom.mm-navbar--has-tabs .mm-navbar--tabs~.mm-navbar{background:var(--mm-color-background-emphasis)}.mm-navbars--bottom .mm-navbar__tab{border-top-color:var(--mm-color-border)}.mm-navbars--bottom .mm-navbar__tab--selected{border-bottom-color:var(--mm-color-border);border-top-color:transparent}.mm-searchfield{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;height:var(--mm-navbar-size);padding:0;overflow:hidden}.mm-searchfield__input{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;width:100%;max-width:100%;padding:0 10px;-webkit-box-sizing:border-box;box-sizing:border-box}.mm-searchfield__input input{display:block;width:100%;max-width:100%;height:calc(var(--mm-navbar-size) * .7);min-height:auto;max-height:auto;margin:0;padding:0 10px;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;border-radius:4px;line-height:calc(var(--mm-navbar-size) * .7);font:inherit;font-size:inherit}.mm-searchfield__input input,.mm-searchfield__input input:focus,.mm-searchfield__input input:hover{background:var(--mm-color-background-highlight);color:var(--mm-color-text)}.mm-menu[class*=-contrast] .mm-searchfield__input input{border:1px solid var(--mm-color-border)}.mm-searchfield__input input::-ms-clear{display:none}.mm-searchfield__btn{display:none;position:absolute;inset-inline-end:0;top:0;bottom:0}.mm-searchfield--searching .mm-searchfield__btn{display:block}.mm-searchfield__cancel{display:block;position:relative;-webkit-margin-end:-100px;margin-inline-end:-100px;-webkit-padding-start:5px;padding-inline-start:5px;-webkit-padding-end:20px;padding-inline-end:20px;visibility:hidden;line-height:var(--mm-navbar-size);text-decoration:none;-webkit-transition-property:visibility,margin;-o-transition-property:visibility,margin;transition-property:visibility,margin}.mm-searchfield--cancelable .mm-searchfield__cancel{visibility:visible;-webkit-margin-end:0;margin-inline-end:0}.mm-panel--search{left:0!important;right:0!important;width:100%!important;border:none!important}.mm-panel__splash{padding:20px}.mm-panel--searching .mm-panel__splash{display:none}.mm-panel__noresults{display:none;padding:40px 20px;color:var(--mm-color-text-dimmed);text-align:center;font-size:150%;line-height:1.4}.mm-panel--noresults .mm-panel__noresults{display:block}:root{--mm-sectionindexer-size:20px}.mm-sectionindexer{background:inherit;text-align:center;font-size:12px;-webkit-box-sizing:border-box;box-sizing:border-box;width:var(--mm-sectionindexer-size);position:absolute;top:0;bottom:0;inset-inline-end:calc(-1 * var(--mm-sectionindexer-size));z-index:5;-webkit-transition-property:inset-inline-end;-o-transition-property:inset-inline-end;transition-property:inset-inline-end;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly}.mm-sectionindexer a{color:var(--mm-color-text-dimmed);line-height:1;text-decoration:none;display:block}.mm-sectionindexer~.mm-panel{-webkit-padding-end:0;padding-inline-end:0}.mm-sectionindexer--active{right:0}.mm-sectionindexer--active~.mm-panel{-webkit-padding-end:var(--mm-sectionindexer-size);padding-inline-end:var(--mm-sectionindexer-size)}.mm-menu--selected-hover .mm-listitem__btn,.mm-menu--selected-hover .mm-listitem__text,.mm-menu--selected-parent .mm-listitem__btn,.mm-menu--selected-parent .mm-listitem__text{-webkit-transition-property:background-color;-o-transition-property:background-color;transition-property:background-color}@media (hover:hover){.mm-menu--selected-hover .mm-listview:hover>.mm-listitem--selected:not(:hover)>.mm-listitem__text{background:0 0}.mm-menu--selected-hover .mm-listitem__btn:hover,.mm-menu--selected-hover .mm-listitem__text:hover{background:var(--mm-color-background-emphasis)}}.mm-menu--selected-parent .mm-listitem__btn,.mm-menu--selected-parent .mm-listitem__text{-webkit-transition-delay:.2s;-o-transition-delay:.2s;transition-delay:.2s}@media (hover:hover){.mm-menu--selected-parent .mm-listitem__btn:hover,.mm-menu--selected-parent .mm-listitem__text:hover{-webkit-transition-delay:0s;-o-transition-delay:0s;transition-delay:0s}}.mm-menu--selected-parent .mm-panel--parent .mm-listitem:not(.mm-listitem--selected-parent)>.mm-listitem__text{background:0 0}.mm-menu--selected-parent .mm-listitem--selected-parent>.mm-listitem__btn,.mm-menu--selected-parent .mm-listitem--selected-parent>.mm-listitem__text{background:var(--mm-color-background-emphasis)}:root{--mm-sidebar-collapsed-size:50px;--mm-sidebar-expanded-size:var(--mm-max-size)}.mm-wrapper--sidebar-collapsed .mm-slideout{width:calc(100% - var(--mm-sidebar-collapsed-size));-webkit-transform:translate3d(var(--mm-sidebar-collapsed-size),0,0);transform:translate3d(var(--mm-sidebar-collapsed-size),0,0)}[dir=rtl] .mm-wrapper--sidebar-collapsed .mm-slideout{-webkit-transform:none;-ms-transform:none;transform:none}.mm-wrapper--sidebar-collapsed:not(.mm-wrapper--opened) .mm-menu--sidebar-collapsed .mm-divider,.mm-wrapper--sidebar-collapsed:not(.mm-wrapper--opened) .mm-menu--sidebar-collapsed .mm-navbar{opacity:0}.mm-wrapper--sidebar-expanded .mm-menu--sidebar-expanded{width:var(--mm-sidebar-expanded-size);border-right-width:1px;border-right-style:solid}.mm-wrapper--sidebar-expanded.mm-wrapper--opened{overflow:auto}.mm-wrapper--sidebar-expanded.mm-wrapper--opened .mm-wrapper__blocker{display:none}.mm-wrapper--sidebar-expanded.mm-wrapper--opened .mm-slideout{width:calc(100% - var(--mm-sidebar-expanded-size));-webkit-transform:translate3d(var(--mm-sidebar-expanded-size),0,0);transform:translate3d(var(--mm-sidebar-expanded-size),0,0)}[dir=rtl] .mm-wrapper--sidebar-expanded.mm-wrapper--opened .mm-slideout{-webkit-transform:none;-ms-transform:none;transform:none}
.autogrid_grid{display:grid;margin-left:-15px;margin-right:-15px}.autogrid_grid .column{padding-left:15px;padding-right:15px}.autogrid_grid.gutter_none{margin-left:0;margin-right:0}.autogrid_grid.gutter_none>.column{padding-left:0;padding-right:0}.autogrid_grid.gutter_s{margin-left:-15px;margin-right:-15px}.autogrid_grid.gutter_s>.column{padding-left:15px;padding-right:15px}.autogrid_grid.gutter_m{margin-left:-30px;margin-right:-30px}.autogrid_grid.gutter_m>.column{padding-left:30px;padding-right:30px}.autogrid_grid.gutter_l{margin-left:-40px;margin-right:-40px}.autogrid_grid.gutter_l>.column{padding-left:40px;padding-right:40px}.autogrid_grid.same_height>.column>.attributes{height:100%}.autogrid_grid .column .attributes{background-size:cover;position:relative}.autogrid_grid .column .attributes.p-xl{padding:200px 40px 200px 40px}.autogrid_grid .column .attributes.p-l{padding:160px 40px 160px 40px}.autogrid_grid .column .attributes.p-m{padding:115px 40px 115px 40px}.autogrid_grid .column .attributes.p-s{padding:80px 40px 80px 40px}.autogrid_grid .column .attributes.p-xs{padding:40px 40px 40px 40px}.autogrid_grid .column.align_left_top{text-align:left}.autogrid_grid .column.align_left_center{text-align:left;align-self:center}.autogrid_grid .column.align_left_bottom{text-align:left;align-self:flex-end}.autogrid_grid .column.align_center_top{text-align:center}.autogrid_grid .column.align_center_center{text-align:center;align-self:center}.autogrid_grid .column.align_center_bottom{text-align:center;align-self:flex-end}.autogrid_grid .column.align_right_top{text-align:right}.autogrid_grid .column.align_right_center{text-align:right;align-self:center}.autogrid_grid .column.align_right_bottom{text-align:right;align-self:flex-end}.autogrid_grid.same_height>.column{align-self:unset}.autogrid_grid.same_height>.column>.attributes{display:flex;flex-wrap:wrap;height:100%}.autogrid_grid.same_height>.column>.attributes>.same-height-wrap{width:100%;flex:0 0 100%}.autogrid_grid.same_height>.column.align_left_center>.attributes{align-items:center}.autogrid_grid.same_height>.column.align_left_bottom>.attributes{align-items:flex-end}.autogrid_grid.same_height>.column.align_center_center>.attributes{align-items:center}.autogrid_grid.same_height>.column.align_center_bottom>.attributes{align-items:flex-end}.autogrid_grid.same_height>.column.align_right_center>.attributes{align-items:center}.autogrid_grid.same_height>.column.align_right_bottom>.attributes{align-items:flex-end}.autogrid_grid .column>.attributes .image_mob{display:none}.autogrid_wrapper,.autogrid_row{margin-left:-15px;margin-right:-15px;display:flex;flex-wrap:wrap;box-sizing:border-box}.autogrid,.autogrid_row>.column{padding-left:15px;padding-right:15px;flex-basis:1;flex-grow:1;width:100%;position:relative;box-sizing:border-box}.autogrid_clear{flex:0 0 100%;height:0}.col_1{flex:0 0 calc((100% / 12) * 1);max-width:calc((100% / 12) * 1)}.col_2{flex:0 0 calc((100% / 12) * 2);max-width:calc((100% / 12) * 2)}.col_3{flex:0 0 calc((100% / 12) * 3);max-width:calc((100% / 12) * 3)}.col_4{flex:0 0 calc((100% / 12) * 4);max-width:calc((100% / 12) * 4)}.col_5{flex:0 0 calc((100% / 12) * 5);max-width:calc((100% / 12) * 5)}.col_6{flex:0 0 calc((100% / 12) * 6);max-width:calc((100% / 12) * 6)}.col_7{flex:0 0 calc((100% / 12) * 7);max-width:calc((100% / 12) * 7)}.col_8{flex:0 0 calc((100% / 12) * 8);max-width:calc((100% / 12) * 8)}.col_9{flex:0 0 calc((100% / 12) * 9);max-width:calc((100% / 12) * 9)}.col_10{flex:0 0 calc((100% / 12) * 10);max-width:calc((100% / 12) * 10)}.col_11{flex:0 0 calc((100% / 12) * 11);max-width:calc((100% / 12) * 11)}.col_12{flex:0 0 calc((100% / 12) * 12);max-width:calc((100% / 12) * 12)}.autogrid_row>.column>.attributes{background-size:cover}.autogrid_row>.column>.attributes.p-xl{padding:200px 40px 200px 40px}.autogrid_row>.column>.attributes.p-l{padding:160px 40px 160px 40px}.autogrid_row>.column>.attributes.p-m{padding:115px 40px 115px 40px}.autogrid_row>.column>.attributes.p-s{padding:80px 40px 80px 40px}.autogrid_row>.column>.attributes.p-xs{padding:40px 40px 40px 40px}.autogrid_wrapper.gutter_none,.autogrid_row.gutter_none{margin-left:0;margin-right:0}.autogrid_wrapper.gutter_none>div,.autogrid_row.gutter_none>div{padding-left:0;padding-right:0}.autogrid_wrapper.gutter_s,.autogrid_row.gutter_s{margin-left:-15px;margin-right:-15px}.autogrid_wrapper.gutter_s>div,.autogrid_row.gutter_s>div{padding-left:15px;padding-right:15px}.autogrid_wrapper.gutter_m,.autogrid_row.gutter_m{margin-left:-30px;margin-right:-30px}.autogrid_wrapper.gutter_m>div,.autogrid_row.gutter_m>div{padding-left:30px;padding-right:30px}.autogrid_wrapper.gutter_l,.autogrid_row.gutter_l{margin-left:-40px;margin-right:-40px}.autogrid_wrapper.gutter_l>div,.autogrid_row.gutter_l>div{padding-left:40px;padding-right:40px}.autogrid_row>.column>.attributes{position:relative}.autogrid_row>.column.align_left_top{text-align:left}.autogrid_row>.column.align_left_center{text-align:left;align-self:center}.autogrid_row>.column.align_left_bottom{text-align:left;align-self:flex-end}.autogrid_row>.column.align_center_top{text-align:center}.autogrid_row>.column.align_center_center{text-align:center;align-self:center}.autogrid_row>.column.align_center_bottom{text-align:center;align-self:flex-end}.autogrid_row>.column.align_right_top{text-align:right}.autogrid_row>.column.align_right_center{text-align:right;align-self:center}.autogrid_row>.column.align_right_bottom{text-align:right;align-self:flex-end}.autogrid_row.same_height>.column{align-self:unset}.autogrid_row.same_height>.column>.attributes{display:flex;flex-wrap:wrap;height:100%}.autogrid_row.same_height>.column>.attributes>.same-height-wrap{width:100%;flex:0 0 100%}.autogrid_row.same_height>.column.align_left_center>.attributes{align-items:center}.autogrid_row.same_height>.column.align_left_bottom>.attributes{align-items:flex-end}.autogrid_row.same_height>.column.align_center_center>.attributes{align-items:center}.autogrid_row.same_height>.column.align_center_bottom>.attributes{align-items:flex-end}.autogrid_row.same_height>.column.align_right_center>.attributes{align-items:center}.autogrid_row.same_height>.column.align_right_bottom>.attributes{align-items:flex-end}.autogrid_row .column>.attributes .image_mob{display:none}.autogrid_row>.column.sticky .attributes{position:sticky;top:0}.order_1{order:1}.order_2{order:2}.order_3{order:3}.order_4{order:4}.order_5{order:5}.order_6{order:6}.full{flex:0 0 100%}.one_half{flex:0 0 calc(100% / 2)}.one_third{flex:0 0 calc(100% / 3)}.one_fourth{flex:0 0 calc(100% / 4)}.one_fifth{flex:0 0 calc(100% / 5)}.one_sixth{flex:0 0 calc(100% / 6)}.two_third{flex:0 0 calc((100% / 3) * 2)}.two_fourth{flex:0 0 calc((100% / 4) * 2)}.three_fourth{flex:0 0 calc((100% / 4) * 3)}.two_fifth{flex:0 0 calc((100% / 5) * 2)}.three_fifth{flex:0 0 calc((100% / 5) * 3)}.four_fifth{flex:0 0 calc((100% / 5) * 4)}.two_sixth{flex:0 0 calc((100% / 6) * 2)}.three_sixth{flex:0 0 calc((100% / 6) * 3)}.four_sixth{flex:0 0 calc((100% / 6) * 4)}.five_sixth{flex:0 0 calc((100% / 6) * 5)}.offset_col_1{margin-left:calc((100% / 12) * 1)}.offset_col_2{margin-left:calc((100% / 12) * 2)}.offset_col_3{margin-left:calc((100% / 12) * 3)}.offset_col_4{margin-left:calc((100% / 12) * 4)}.offset_col_5{margin-left:calc((100% / 12) * 5)}.offset_col_6{margin-left:calc((100% / 12) * 6)}.offset_col_7{margin-left:calc((100% / 12) * 7)}.offset_col_8{margin-left:calc((100% / 12) * 8)}.offset_col_9{margin-left:calc((100% / 12) * 9)}.offset_col_10{margin-left:calc((100% / 12) * 10)}.offset_col_11{margin-left:calc((100% / 12) * 11)}.autogrid.no_gutter{padding-left:0;padding-right:0}@media only screen and (min-width :768px) and (max-width :1024px){.col_1_t{flex:0 0 calc((100% / 12) * 1);max-width:calc((100% / 12) * 1)}.col_2_t{flex:0 0 calc((100% / 12) * 2);max-width:calc((100% / 12) * 2)}.col_3_t{flex:0 0 calc((100% / 12) * 3);max-width:calc((100% / 12) * 3)}.col_4_t{flex:0 0 calc((100% / 12) * 4);max-width:calc((100% / 12) * 4)}.col_5_t{flex:0 0 calc((100% / 12) * 5);max-width:calc((100% / 12) * 5)}.col_6_t{flex:0 0 calc((100% / 12) * 6);max-width:calc((100% / 12) * 6)}.col_7_t{flex:0 0 calc((100% / 12) * 7);max-width:calc((100% / 12) * 7)}.col_8_t{flex:0 0 calc((100% / 12) * 8);max-width:calc((100% / 12) * 8)}.col_9_t{flex:0 0 calc((100% / 12) * 9);max-width:calc((100% / 12) * 9)}.col_10_t{flex:0 0 calc((100% / 12) * 10);max-width:calc((100% / 12) * 10)}.col_11_t{flex:0 0 calc((100% / 12) * 11);max-width:calc((100% / 12) * 11)}.col_12_t{flex:0 0 calc((100% / 12) * 12);max-width:calc((100% / 12) * 12)}.order_1_t{order:1}.order_2_t{order:2}.order_3_t{order:3}.order_4_t{order:4}.order_5_t{order:5}.order_6_t{order:6}}.autogrid_row>.column.sticky_column>.attributes{position:sticky;top:0;z-index:10;height:auto !important}@media only screen and (max-width:767px){[class*="col_"],.one_half,.one_third,.one_fourth,.one_fifth,.one_sixth,.two_third,.two_fourth,.three_fourth,.two_fifth,.three_fifth,.four_fifth,.two_sixth,.three_sixth .four_sixth,.five_sixth{flex:0 0 100%;max-width:none}.column[class*="col_"]:not([class*="_m"]),.autogrid_grid .column:not([class*="_m"]){padding-left:0 !important;padding-right:0 !important;margin-bottom:25px}.column[class*="offset_"],.autogrid[class*="offset_"],.autogrid_grid[class*="offset_"]{margin-left:0}.autogrid_wrapper,.autogrid_row,.autogrid_grid{margin-left:0 !important;margin-right:0 !important}.column:empty,.column .attributes:empty,.column:has(>.attributes:empty){display:none}.autogrid_grid>.column>.attributes.has-image.empty>.image_mob,.autogrid_grid>.column>.attributes.has-image.empty>.same-height-wrap>.image_mob,.autogrid_row>.column>.attributes.has-image.empty>.image_mob,.autogrid_row>.column>.attributes.has-image.empty>.same-height-wrap>.image_mob{display:block}.autogrid_grid>.column>.attributes.has-image.empty,.autogrid_row>.column>.attributes.has-image.empty{background:none !important}.col_1_m{flex:0 0 calc((100% / 12) * 1);max-width:calc((100% / 12) * 1)}.col_2_m{flex:0 0 calc((100% / 12) * 2);max-width:calc((100% / 12) * 2)}.col_3_m{flex:0 0 calc((100% / 12) * 3);max-width:calc((100% / 12) * 3)}.col_4_m{flex:0 0 calc((100% / 12) * 4);max-width:calc((100% / 12) * 4)}.col_5_m{flex:0 0 calc((100% / 12) * 5);max-width:calc((100% / 12) * 5)}.col_6_m{flex:0 0 calc((100% / 12) * 6);max-width:calc((100% / 12) * 6)}.col_7_m{flex:0 0 calc((100% / 12) * 7);max-width:calc((100% / 12) * 7)}.col_8_m{flex:0 0 calc((100% / 12) * 8);max-width:calc((100% / 12) * 8)}.col_9_m{flex:0 0 calc((100% / 12) * 9);max-width:calc((100% / 12) * 9)}.col_10_m{flex:0 0 calc((100% / 12) * 10);max-width:calc((100% / 12) * 10)}.col_11_m{flex:0 0 calc((100% / 12) * 11);max-width:calc((100% / 12) * 11)}.col_12_m{flex:0 0 calc((100% / 12) * 12);max-width:calc((100% / 12) * 12)}.order_1_m{order:1}.order_2_m{order:2}.order_3_m{order:3}.order_4_m{order:4}.order_5_m{order:5}.order_6_m{order:6}.autogrid_grid>.column>.attributes.p-xl,.autogrid_grid>.column>.attributes.p-l,.autogrid_grid>.column>.attributes.p-m,.autogrid_grid>.column>.attributes.p-s,.autogrid_grid>.column>.attributes.p-xs,.autogrid_row>.column .attributes.p-xl,.autogrid_row>.column .attributes.p-l,.autogrid_row>.column .attributes.p-m,.autogrid_row>.column .attributes.p-s,.autogrid_row>.column .attributes.p-xs{padding:20px}.autogrid_grid .column.m_align_left_top{text-align:left}.autogrid_grid .column.m_align_left_center{text-align:left;align-self:center}.autogrid_grid .column.m_align_left_bottom{text-align:left;align-self:flex-end}.autogrid_grid .column.m_align_center_top{text-align:center}.autogrid_grid .column.m_align_center_center{text-align:center;align-self:center}.autogrid_grid .column.m_align_center_bottom{text-align:center;align-self:flex-end}.autogrid_grid .column.m_align_right_top{text-align:right}.autogrid_grid .column.m_align_right_center{text-align:right;align-self:center}.autogrid_grid .column.m_align_right_bottom{text-align:right;align-self:flex-end}.autogrid_row>.column.m_align_left_top{text-align:left}.autogrid_row>.column.m_align_left_center{text-align:left;align-self:center}.autogrid_row>.column.m_align_left_bottom{text-align:left;align-self:flex-end}.autogrid_row>.column.m_align_center_top{text-align:center}.autogrid_row>.column.m_align_center_center{text-align:center;align-self:center}.autogrid_row>.column.m_align_center_bottom{text-align:center;align-self:flex-end}.autogrid_row>.column.m_align_right_top{text-align:right}.autogrid_row>.column.m_align_right_center{text-align:right;align-self:center}.autogrid_row>.column.m_align_right_bottom{text-align:right;align-self:flex-end}}body.edge column[class*="col_"]{flex-basis:1}@media only screen and (max-width:767px){body.edge column[class*="col_"]{flex-basis:100%}}
@charset 'utf-8';


/* ----------------------------------------------------------------------------
 * modern-normalize v2.0.0
 * @link https://github.com/sindresorhus/modern-normalize
 * ------------------------------------------------------------------------- */

/*
Document
========
*/

/**
Use a better box model (opinionated).
*/

*,
::before,
::after {
	box-sizing: border-box;
}

html {
	/* Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) */
	font-family:
		system-ui,
		'Segoe UI',
		Roboto,
		Helvetica,
		Arial,
		sans-serif,
		'Apple Color Emoji',
		'Segoe UI Emoji';
	line-height: 1.15; /* 1. Correct the line height in all browsers. */
	-webkit-text-size-adjust: 100%; /* 2. Prevent adjustments of font size after orientation changes in iOS. */
	-moz-tab-size: 4; /* 3. Use a more readable tab size (opinionated). */
	tab-size: 4; /* 3 */
}

/*
Sections
========
*/

body {
	margin: 0; /* Remove the margin in all browsers. */
}

/*
Grouping content
================
*/

/**
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
*/

hr {
	height: 0; /* 1 */
	color: inherit; /* 2 */
}

/*
Text-level semantics
====================
*/

/**
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr[title] {
	text-decoration: underline dotted;
}

/**
Add the correct font weight in Edge and Safari.
*/

b,
strong {
	font-weight: 500;
}

/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the odd 'em' font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
	font-family:
		ui-monospace,
		SFMono-Regular,
		Consolas,
		'Liberation Mono',
		Menlo,
		monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/**
Add the correct font size in all browsers.
*/

small {
	font-size: 80%;
}

/**
Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
*/

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/*
Tabular data
============
*/

/**
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
*/

table {
	text-indent: 0; /* 1 */
	border-color: inherit; /* 2 */
}

/*
Forms
=====
*/

/**
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
*/

button,
input,
optgroup,
select,
textarea {
	font-family: inherit; /* 1 */
	font-size: 100%; /* 1 */
	line-height: 1.15; /* 1 */
	margin: 0; /* 2 */
}

/**
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
	text-transform: none;
}

/**
Correct the inability to style clickable types in iOS and Safari.
*/

button,
[type='button'],
[type='reset'],
[type='submit'] {
	-webkit-appearance: button;
}

/**
Remove the inner border and padding in Firefox.
*/

::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
Restore the focus styles unset by the previous rule.
*/

:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
Remove the additional ':invalid' styles in Firefox.
See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
*/

:-moz-ui-invalid {
	box-shadow: none;
}

/**
Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
*/

legend {
	padding: 0;
}

/**
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
	vertical-align: baseline;
}

/**
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
	height: auto;
}

/**
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
	-webkit-appearance: textfield; /* 1 */
	outline-offset: -2px; /* 2 */
}

/**
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to 'inherit' in Safari.
*/

::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}

/*
Interactive
===========
*/

/*
Add the correct display in Chrome and Safari.
*/

summary {
	display: list-item;
}

@charset 'utf-8';

:root {
  /*
   * Sizes and spacings
   * --------------------------------------------------------------------------
   */
  --global-width: 75rem; /* 75rem * 16px (base font size) = 1200px */

  /* Gutter Size */
  /* values are predefined by PCT_AUTOGRID so don't change this */
  --gutter-size: var(--gutter-size-small);
  --gutter-size-small:  .9375rem; /* 15px */
  --gutter-size-medium: 1.875rem; /* 30px */
  --gutter-size-large:  2.5rem;    /* 40px */

  /*
   * Colors
   * --------------------------------------------------------------------------
   */
  --color-primary:          oklch(0.4958 0.1892 22.29); /* #b5152b */
  --color-secondary:        oklch(0.4611 0.0032 286.27); /* #58585a */
  --color-accent1:          oklch(0.8022 0.1642 86.05); /* #edb500 */
  --color-accent2:          oklch(0.4734 0.103252 236.9298); /* #00638e */
  --color-accent3:          oklch(0.748 0.1802 122.38); /* #9abe0b */
  --color-accent4:          var(--color-light-grey);
  --color-accent5:          var(--color-light-grey);
  --color-accent6:          var(--color-light-grey);
  --color-white:            oklch(1.00 0 0);
  --color-white-grey:       oklch(0.9491 0 0); /* #eeeeee */
  --color-light-grey:       oklch(0.912 0.0011 197.14); /* #e1e2e2 */
  --color-medium-grey:      oklch(0.8664 0.0018 247.84); /* #d2d3d4 */
  --color-medium-dark-grey: oklch(0.7654 0.0027 228.8); /* #b1b3b4 */
  --color-dark-grey:        oklch(0.4647 0.0032 286.27); /* #59595b */
  --color-deep-dark-grey:   oklch(0.3215 0 0); /* #333333 */
  --color-black:            oklch(0.14 0 0);

  /*
   * Text
   * --------------------------------------------------------------------------
   */
  /* Font Family */
  --font-base: Montserrat, Poppins, Helvetica Neue,sans-serif;
  --font-display: var(--font-base);

  /* Font Weight */
  --font-weight-light:    300;
  --font-weight-regular:  400;
  --font-weight-medium:   500;
  --font-weight-semibold: 600;
  --font-weight-bold:     700;

  /* Letter Spacing */
  --kerning: normal;
  --kerning-loose: -0.1ch;
  --kerning-tight: -0.025ch;
  --kerning-tighter: -0.075ch;

  /*
   * Font Size
   */
  --text-size: var(--step-0);
  --text-size-h00: var(--step-7); /* 3xl */
  --text-size-h0: var(--step-6); /* 2xl */
  --text-size-h1: var(--step-4); /* xl */
  --text-size-h2: var(--step-2); /* l */
  --text-size-h3: var(--step-1); /* m */
  --text-size-h4: var(--step-0); /* s */
  --text-size-h5: var(--step--1); /* xs */
  --text-size-h6: var(--step--2); /* xxs */
}

/*
* Type scale
* --------------------------------------------
* don't forget to recalculate sizes when changing the --global-width
*/
/* @link https://utopia.fyi/type/calculator?c=360,15,1.125,1170,18,1.2,10,3,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */

:root {
  /* Step -3: 10.535px → 10.4167px */
  --step--3: clamp(0.651rem, 0.6617rem + -0.0146vw, 0.6584rem);
  /* Step -2: 11.8519px → 12.5px */
  --step--2: clamp(0.7407rem, 0.7227rem + 0.08vw, 0.7813rem);
  /* Step -1: 13.3333px → 15px */
  --step--1: clamp(0.8333rem, 0.787rem + 0.2058vw, 0.9375rem);
  /* Step 0: 15px → 18px */
  --step-0: clamp(0.9375rem, 0.8542rem + 0.3704vw, 1.125rem);
  /* Step 1: 16.875px → 21.6px */
  --step-1: clamp(1.0547rem, 0.9234rem + 0.5833vw, 1.35rem);
  /* Step 2: 18.9844px → 25.92px */
  --step-2: clamp(1.1865rem, 0.9939rem + 0.8563vw, 1.62rem);
  /* Step 3: 21.3574px → 31.104px */
  --step-3: clamp(1.3348rem, 1.0641rem + 1.2033vw, 1.944rem);
  /* Step 4: 24.0271px → 37.3248px */
  --step-4: clamp(1.5017rem, 1.1323rem + 1.6417vw, 2.3328rem);
  /* Step 5: 27.0305px → 44.7898px */
  --step-5: clamp(1.6894rem, 1.1961rem + 2.1925vw, 2.7994rem);
  /* Step 6: 30.4093px → 53.7477px */
  --step-6: clamp(1.9006rem, 1.2523rem + 2.8813vw, 3.3592rem);
  /* Step 7: 34.2105px → 64.4973px */
  --step-7: clamp(2.1382rem, 1.2969rem + 3.7391vw, 4.0311rem);
  /* Step 8: 38.4868px → 77.3967px */
  --step-8: clamp(2.4054rem, 1.3246rem + 4.8037vw, 4.8373rem);
  /* Step 9: 43.2976px → 92.876px */
  --step-9: clamp(2.7061rem, 1.3289rem + 6.1208vw, 5.8048rem);
  /* Step 10: 48.7098px → 111.4513px */
  --step-10: clamp(3.0444rem, 1.3015rem + 7.7459vw, 6.9657rem);
}

/*
  * Spacing
  * --------------------------------------------
  * don't forget to recalculate sizes when changing the --global-width
  */
/* @link https://utopia.fyi/space/calculator?c=360,15,1.125,1170,17,1.25,7,2,&s=0.75|0.5|0.25,1.5|2|3|4|6|6|6|6,3xs-xs|2xs-xs|xs-m|s-l|m-xl|l-2xl|xl-3xl|2xl-4xl|3xl-5xl|4xl-6xl&g=s,l,xl,12 */

:root {
  /* Space 3xs: 4px → 4px */
  --space-3xs: clamp(0.25rem, 0.25rem + 0vw, 0.25rem);
  /* Space 2xs: 8px → 9px */
  --space-2xs: clamp(0.5rem, 0.4722rem + 0.1235vw, 0.5625rem);
  /* Space xs: 11px → 13px */
  --space-xs: clamp(0.6875rem, 0.6319rem + 0.2469vw, 0.8125rem);
  /* Space s: 15px → 17px */
  --space-s: clamp(0.9375rem, 0.8819rem + 0.2469vw, 1.0625rem);
  /* Space m: 23px → 26px */
  --space-m: clamp(1.4375rem, 1.3542rem + 0.3704vw, 1.625rem);
  /* Space l: 30px → 34px */
  --space-l: clamp(1.875rem, 1.7639rem + 0.4938vw, 2.125rem);
  /* Space xl: 45px → 51px */
  --space-xl: clamp(2.8125rem, 2.6458rem + 0.7407vw, 3.1875rem);
  /* Space 2xl: 60px → 68px */
  --space-2xl: clamp(3.75rem, 3.5278rem + 0.9877vw, 4.25rem);
  /* Space 3xl: 90px → 102px */
  --space-3xl: clamp(5.625rem, 5.2917rem + 1.4815vw, 6.375rem);
  /* Space 4xl: 90px → 102px */
  --space-4xl: clamp(5.625rem, 5.2917rem + 1.4815vw, 6.375rem);
  /* Space 5xl: 90px → 102px */
  --space-5xl: clamp(5.625rem, 5.2917rem + 1.4815vw, 6.375rem);
  /* Space 6xl: 90px → 102px */
  --space-6xl: clamp(5.625rem, 5.2917rem + 1.4815vw, 6.375rem);

  /* One-up pairs */
  /* Space 3xs-2xs: 4px → 9px */
  --space-3xs-2xs: clamp(0.25rem, 0.1111rem + 0.6173vw, 0.5625rem);
  /* Space 2xs-xs: 8px → 13px */
  --space-2xs-xs: clamp(0.5rem, 0.3611rem + 0.6173vw, 0.8125rem);
  /* Space xs-s: 11px → 17px */
  --space-xs-s: clamp(0.6875rem, 0.5208rem + 0.7407vw, 1.0625rem);
  /* Space s-m: 15px → 26px */
  --space-s-m: clamp(0.9375rem, 0.6319rem + 1.358vw, 1.625rem);
  /* Space m-l: 23px → 34px */
  --space-m-l: clamp(1.4375rem, 1.1319rem + 1.358vw, 2.125rem);
  /* Space l-xl: 30px → 51px */
  --space-l-xl: clamp(1.875rem, 1.2917rem + 2.5926vw, 3.1875rem);
  /* Space xl-2xl: 45px → 68px */
  --space-xl-2xl: clamp(2.8125rem, 2.1736rem + 2.8395vw, 4.25rem);
  /* Space 2xl-3xl: 60px → 102px */
  --space-2xl-3xl: clamp(3.75rem, 2.5833rem + 5.1852vw, 6.375rem);
  /* Space 3xl-4xl: 90px → 102px */
  --space-3xl-4xl: clamp(5.625rem, 5.2917rem + 1.4815vw, 6.375rem);
  /* Space 4xl-5xl: 90px → 102px */
  --space-4xl-5xl: clamp(5.625rem, 5.2917rem + 1.4815vw, 6.375rem);
  /* Space 5xl-6xl: 90px → 102px */
  --space-5xl-6xl: clamp(5.625rem, 5.2917rem + 1.4815vw, 6.375rem);

  /* Custom pairs */
  /* Space 3xs-xs: 4px → 13px */
  --space-3xs-xs: clamp(0.25rem, 0rem + 1.1111vw, 0.8125rem);
  /* Space 2xs-xs: 8px → 13px */
  --space-2xs-xs: clamp(0.5rem, 0.3611rem + 0.6173vw, 0.8125rem);
  /* Space xs-m: 11px → 26px */
  --space-xs-m: clamp(0.6875rem, 0.2708rem + 1.8519vw, 1.625rem);
  /* Space s-l: 15px → 34px */
  --space-s-l: clamp(0.9375rem, 0.4097rem + 2.3457vw, 2.125rem);
  /* Space m-xl: 23px → 51px */
  --space-m-xl: clamp(1.4375rem, 0.6597rem + 3.4568vw, 3.1875rem);
  /* Space l-2xl: 30px → 68px */
  --space-l-2xl: clamp(1.875rem, 0.8194rem + 4.6914vw, 4.25rem);
  /* Space xl-3xl: 45px → 102px */
  --space-xl-3xl: clamp(2.8125rem, 1.2292rem + 7.037vw, 6.375rem);
  /* Space 2xl-4xl: 60px → 102px */
  --space-2xl-4xl: clamp(3.75rem, 2.5833rem + 5.1852vw, 6.375rem);
  /* Space 3xl-5xl: 90px → 102px */
  --space-3xl-5xl: clamp(5.625rem, 5.2917rem + 1.4815vw, 6.375rem);
  /* Space 4xl-6xl: 90px → 102px */
  --space-4xl-6xl: clamp(5.625rem, 5.2917rem + 1.4815vw, 6.375rem);
}

/* ----------------------------------------------------------------------------
 * Vertical flow of elements
 * @link https://piccalil.li/blog/my-favourite-3-lines-of-css/
 * -----
 * add a default top margin to most elements
 * ------------------------------------------------------------------------- */
:is(.flow, .mod_article, .same-height-wrap, .product .formbody) > * + * {
  margin-block-start: var(--flow-space, 1em);
}

/* ----------------------------------------------------------------------------
 * Document settings
 * ------------------------------------------------------------------------- */
html {
  font-size: 100%;
  font-weight: var(--font-weight-light);

  /* Prevent font size inflation */
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

body {
  background: var(--color-white);
  color: var(--color-dark-grey);
  font-family: var(--font-base);
  font-size: var(--text-size);
  line-height: 1.7;
  -webkit-hyphens: auto;
  hyphens: auto;
  min-height: 100vh;
}

/* ----------------------------------------------------------------------------
 * Text
 * ------------------------------------------------------------------------- */

/* Remove default margin in favour of better control in authored CSS */
body, h1, h2, h3, h4, p,
figure, blockquote, dl, dd {
  margin-block-end: 0;
}

/* ----------------------------------------------------------------------------
 * Text: Headlines
 * ------------------------------------------------------------------------- */
h1,h2,h3,h4,h5,h6,
:is(.h1,.h2,.h3,.h4,.h5,.h6):not(.ce_text),
:is(.h1,.h2,.h3,.h4,.h5,.h6) .headline {
  --flow-space: .75em;

  color:          var(--heading-color,          var(--color-deep-dark-grey));
  font-family:    var(--heading-font,           var(--font-display));
  font-size:      var(--heading-text-size,      var(--size-step-2));
  font-weight:    var(--heading-font-weight,    var(--font-weight-bold));
  letter-spacing: var(--heading-kerning,        var(--kerning));
  line-height:    var(--heading-line-height,    1.2);
  text-transform: var(--heading-text-transform, none);
  text-wrap:      var(--heading-text-wrap,      balance);

  &:not(.text-center) {
    max-width: var(--heading-max-width, 100%);
  }

  & + * {
    --flow-space: .5em;
  }
}

:is(.h00):not(.ce_text),
:is(.h00) .headline {
  --heading-text-size: var(--text-size-h00);
  --heading-line-height: 1;
  --heading-kerning: var(--kerning-tighter);
}

:is(.h0):not(.ce_text),
:is(.h0) .headline {
  --heading-text-size: var(--text-size-h0);
  --heading-line-height: 1;
  --heading-kerning: var(--kerning-tighter);
}

h1,
:is(.h1):not(.ce_text),
:is(.h1) .headline {
  --heading-text-size: var(--text-size-h1);
  --heading-line-height: 1;
  --heading-kerning: var(--kerning-tighter);
}

h2,
:is(.h2):not(.ce_text),
:is(.h2) .headline {
  --heading-text-size: var(--text-size-h2);
  --heading-line-height: 1;
  --heading-kerning: var(--kerning-tight);
  --heading-font-weight: var(--font-weight-semibold);
}

h3,
:is(.h3):not(.ce_text),
:is(.h3) .headline {
  --heading-text-size: var(--text-size-h3);
  --heading-line-height: 1.1;
  --heading-max-width: 55ch;
  --heading-font-weight: var(--font-weight-semibold);
}

h4,
:is(.h4):not(.ce_text),
:is(.h4) .headline {
  --heading-text-size: var(--text-size-h4);
  --heading-line-height: 1.1;
  --heading-max-width: 55ch;
  --heading-font-weight: var(--font-weight-semibold);
}

h5,
:is(.h5):not(.ce_text),
:is(.h5) .headline {
  --heading-text-size: var(--text-size-h5);
  --heading-max-width: 75ch;
  --heading-font-weight: var(--font-weight-semibold);
  margin-block-end: 0;
}

h6,
:is(.h6):not(.ce_text),
:is(.h6) .headline {
  --heading-text-size: var(--text-size-h6);
  --heading-max-width: 75ch;
  --heading-font-weight: var(--font-weight-semibold);
  margin-block-end: 0;
}


.supheadline {
  color: var(--color-secondary);
  display: block;
  font-style: normal;
  font-weight: 600;
  margin-block-end: var(--space-3xs);
}

.color-white > .supheadline {
  /* color: var(--color-accent3); */
  color: oklch(0.99 0 0 / .6);
}

:is(h1, .h1) .supheadline {
  font-size: var(--step-2);
}

:is(h2, .h2) .supheadline {
  font-size: var(--step-1);
}

:is(h3, .h3) .supheadline {
  font-size: var(--step-0);
}

:is(h4, .h4) .supheadline {
  font-size: var(--step--1);
}

:is(h5, .h5) .supheadline {
  font-size: var(--step--2);
}

:is(h6, .h6) .supheadline {
  font-size: var(--step--3);
}

/* ----------------------------------------------------------------------------
 * Text: Links
 * ------------------------------------------------------------------------- */
a {
  &:is(:link, :visited) {
    display: inline-flex;
    align-items: center;
    gap: .25rem;

    color: currentColor; /* take the same color as the surrounding text */
    text-decoration-skip-ink: auto;
    text-decoration-color: var(--color-primary);
    text-decoration-thickness: 0.2ex;
    text-underline-offset: 0.2ex;
  }

  &:is(:hover, :active, :focus) {
    color: var(--color-primary);
  }
}

/* External link indicator */
:is(#main, #footer) a[href^="http"]:not(
  [href*="netz-bitterfeld-wolfen.de"],
  [href*="570545110.swh.strato-hosting.eu"]
)::after {
  content: "";
  display: inline-block;
  width: 1.15em;
  aspect-ratio: 1;
  vertical-align: text-bottom;
  position: relative;
  bottom: .1rem;
  background-color: currentColor;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
}

/* ----------------------------------------------------------------------------
 * Text: Misc
 * ------------------------------------------------------------------------- */
/* Remove list styles on ul, ol elements that are not in a .ce_text, because these are often used for styling and not for lists */
:is(ul,ol) {
  list-style: none;
}

:is(.ce_text, .ui-accordion-content) :is(ul,ol) {
  list-style: disc;
  padding-inline-start: 1.5rem;
}

small {
  font-size: var(--step--1);
  font-weight: 500;
}

blockquote {
  padding-block: .1em 1em;
  padding-inline: 1em;
  border-inline-start: 0.3em solid;
  font-size: var(--step--1);
  --flow-space: 1.5em;
  max-width: 65ch;
  margin-inline: 1em;
  background-color: var(--color-white-grey);
}

/* ----------------------------------------------------------------------------
 * Images
 * ------------------------------------------------------------------------- */
img,
picture {
  max-width: 100%;
  height: auto;
  display: block;
}

figure {
  margin: 0;
}

/* ----------------------------------------------------------------------------
 * Forms
 * ------------------------------------------------------------------------- */
input,
textarea,
[contenteditable] {
  caret-color: var(--color-accent1);
}

input {
    accent-color: var(--color-primary);
    scroll-margin-top: var(--space-l);
}

input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]),
textarea, fieldset {
    background: var(--color-white);
    border: 2px solid var(--color-dark-grey);
    border-radius: 0;
    font-family: var(--font-base);
    padding: var(--gutter-size);
    text-indent: 0;
    width: 100%;
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

fieldset {
  margin: 0;
}

/* Set shorter line heights on interactive elements */
input,
label,
button,
a.btn,
.btn > a {
  line-height: 1.3;
}

button,
[type='submit'],
a.btn,
.btn > a {
  background: var(--color-primary);
  border: 3px solid var(--color-primary);
  color: var(--color-white);
  font-family: var(--font-base);
  padding: var(--space-3xs-2xs) var(--space-m-l);
  text-indent: 0;
  border-radius: 4px;
  text-decoration: none;
  line-height:  1.67;
  transition: all 0.2s ease;

  &:is(:hover,:active,:focus) {
    border-color: var(--color-deep-dark-grey);
    background-color: oklch(from var(--color-primary) calc(l * 1.1) calc(c * 1.1) h);
    /* color: var(--color-primary); */
    cursor: pointer;
  }
}

button.btn-outline,
[type='submit'].btn-outline,
a.btn.btn-outline,
.btn.btn-outline > a {
  &:is(button,[type='submit']),
  &:is(a):is(:link,:visited),
  & > a:is(:link,:visited) {
    background: transparent;
    color: var(--color-primary);
    transition: all 0.2s ease;
  }

  &:is(button,[type='submit'],a):hover,
  & > a:hover {
    background: var(--color-white-grey);
    border-color: var(--color-black);
    color: var(--color-black);
  }
}

/*
 * yellow button that turns blue on hover
 */
/*
.btn-secondary {
  &:is(button,[type='submit']),
  &:is(a):is(:link,:visited),
  & > a:is(:link,:visited) {
    background: var(--color-secondary);
    border-color: var(--color-secondary);
    color: var(--color-black);
    font-weight: 500;
  }

  &:is(button,[type='submit'],a):is(:hover,:active,:focus),
  & > a:is(:hover,:active,:focus) {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-white);
  }

  &.btn-secondary.btn-outline {
    &:is(button,[type='submit']),
    &:is(a):is(:link,:visited),
    & > a:is(:link,:visited) {
      background: transparent;
      color: var(--color-black);
    }

    &:is(button,[type='submit'],a):hover,
    & > a:hover {
      background: var(--color-secondary);
      border-color: var(--color-secondary);
      color: var(--color-black);
    }
  }
}
*/


button.btn-size-big,
[type='submit'].btn-size-big,
a.btn.btn-size-big,
.btn.btn-size-big > a {
  padding: var(--space-xs-s) var(--space-l-xl);
}

button.btn-size-small,
[type='submit'].btn-size-small,
a.btn.btn-size-small,
.btn.btn-size-small > a {
  padding: var(--space-3xs) var(--space-s-m);
}


button.btn-icon-left,
[type='submit'].btn-icon-left,
a.btn.btn-icon-left,
.btn.btn-icon-left > a {
  display: inline-flex;
  align-items: center;
  column-gap: calc(var(--gutter-size) / 2);

  &::before {
      content: '';
      display: inline-flex;
      background-repeat: no-repeat;
      width: var(--step-3);
      height: auto;
      aspect-ratio: 1;
      background-size: contain;
  }
}

button.btn-icon-right,
[type='submit'].btn-icon-right,
a.btn.btn-icon-right,
.btn.btn-icon-right > a {
  display: inline-flex;
  align-items: center;
  column-gap: calc(var(--gutter-size) / 2);
  flex-direction: row-reverse;

  &::before {
      content: '';
      display: inline-flex;
      background-repeat: no-repeat;
      width: var(--step-3);
      height: auto;
      aspect-ratio: 1;
      background-size: contain;
  }
}

button.btn-icon-arrow-left-white,
[type='submit'].btn-icon-arrow-left-white,
a.btn.btn-icon-arrow-left-white,
.btn.btn-icon-arrow-left-white > a {
  &::before {
    background-image: url(/files/theme/images/arrow-left-circle-secondary.svg);
  }

  &:is(button,[type='submit'],a):hover::before,
  & > a:hover::before {
    background-image: url(/files/theme/images/arrow-left-circle-primary.svg);
  }
}

button.btn-icon-arrow-left-blue,
[type='submit'].btn-icon-arrow-left-blue,
a.btn.btn-icon-arrow-left-blue,
.btn.btn-icon-arrow-left-blue > a {
  &::before {
    /* content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-check" viewBox="0 0 16 16"><path d="M10.97 4.97a.75.75 0 0 1 1.07 1.05l-4.5 4.5a.75.75 0 0 1-1.08 0l-2-2a.75.75 0 1 1 1.08-1.05l1.47 1.47 3.97-3.97z"/></svg>'); */
    background-image: url(/files/theme/images/arrow-left-circle-primary.svg);
  }

  &:is(button,[type='submit'],a):hover::before,
  & > a:hover::before {
    background-image: url(/files/theme/images/arrow-left-circle-secondary.svg);
  }
}

button.btn-icon-play-white,
[type='submit'].btn-icon-play-white,
a.btn.btn-icon-play-white,
.btn.btn-icon-play-white > a {
  &::before {
    background-image: url(/files/theme/images/play-circle-white.svg);
  }

  &:is(button,[type='submit'],a):hover::before,
  & > a:hover::before {
    background-image: url(/files/theme/images/play-circle-black.svg);
  }
}

button.btn-icon-play-black,
[type='submit'].btn-icon-play-black,
a.btn.btn-icon-play-black,
.btn.btn-icon-play-black > a {
  &::before {
    background-image: url(/files/theme/images/play-circle-black.svg);
  }

  &:is(button,[type='submit'],a):hover::before,
  & > a:hover::before {
    background-image: url(/files/theme/images/play-circle-white.svg);
  }
}

.formbody {
  /*
   * remove margin on columns, to add them later in form elements
   */
  .autogrid_grid .column, .column[class*="col_"] {
    margin-bottom: 0;
  }

  /*
  * Activate vertical flow for forms and form elements
  */
  .widget,
  .widget > * + * {
    margin-block-start: var(--flow-space, 1em);
  }

  .widget {
    --flow-space: var(--gutter-size);
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
  }

  .widget-checkbox {
    fieldset {
      min-width: 150px;
    }

    span {
      display: flex;
      align-items: baseline;
      gap: var(--gutter-size);
    }

    label {
      min-width: 100px;
      text-wrap: balance;
    }
  }

  .widget-select {
    align-items: baseline;
    column-gap: 0.5rem;

    :last-child {
      flex-grow: 1;
      width: 1%;
    }
  }

  .widget-radio {
    fieldset {
      display: flex;
      flex-direction: column;
    }
  }

  label + * {
    --flow-space: .25em;
  }

  .widget.error {
    input {
      --flow-space: .25em;

      order: 2;
    }

    p.error {
      order: 3;
      font-size: 75%;
      color: var(--color-accent4);
      background: var(--color-secondary);
      padding: 0.25rem 0.5rem;
      width: 100%;
    }
  }
}

/* ----------------------------------------------------------------------------
 * Tables
 * ------------------------------------------------------------------------- */
table {
  p:first-child {
    margin-block-start: 0;
  }
}

#container .content-table {
  table {
    --border-color: var(--color-light-grey);
    --border-color-thead: var(--color-medium-grey);
    --border-color-tfoot: var(--color-medium-grey);
    --vertical-spacing: .5rem;

    caption-side: bottom;
    font-size: var(--step--1);
    font-weight: var(--font-weight-regular);
    color: var(--color-black);
    border-spacing: .625rem;
    -webkit-border-vertical-spacing: 0;
    border-collapse: collapse;
    border-color: transparent;
    text-align: left;
    background-color: #ffffff80;

    @media(width < 768px) {
      font-size: var(--step-0);
      border-spacing: 3px;
      -webkit-border-vertical-spacing: 0;
    }

    em {
      font-style: normal;
      font-size: 70%;
    }

    thead {
      border-block-end: 2px solid var(--color-dark-grey);
      background: var(--color-light-grey);

      th {
        padding-block: calc(var(--vertical-spacing) * 1.5);
        border: 1px solid var(--border-color-thead);
        line-height: 1;
        font-weight: 500;
        padding-inline: .25rem;

        /* @media(width < 768px) {
          font-size: var(--step--2);
        } */
      }

      td {
        padding-block: var(--vertical-spacing);
        border: 1px solid var(--border-color-thead);
        padding-inline: .25rem;
      }
    }

    tbody {
      tr {
        &:nth-child(even) {
          background: var(--color-white-grey);
        }
      }

      th {
        font-weight: 500;
        text-align: left;
        line-height: 1.3;
        padding-inline: .25rem;
        border: 1px solid var(--border-color);
      }

      td {
        padding-block: var(--vertical-spacing);
        padding-inline: .25rem;
        border: 1px solid var(--border-color);
        text-wrap: balance;
        line-height: 1.3;
        vertical-align: top;
      }
    }

    tfoot {
      border-block-start: 2px solid var(--color-dark-grey);
      background: var(--color-light-grey);
      
      td {
        padding-block: calc(var(--vertical-spacing) * .85);
        padding-inline: .25rem;
        border: 1px solid var(--border-color-tfoot);
        line-height: 1.3;
      }
    }
  }
}


/*
 * Make Table scrollable
 */
#container .content-table {
  overflow-x: auto;

  &:has(th[scope="row"]) {
    thead th:first-child,
    th[scope="row"],
    tfoot td:first-child {
      position: sticky;
      inset-inline-start: 0;
      background-color: var(--color-light-grey);
    }

    th[scope="row"] {
      border-color: var(--color-medium-grey);
    }
  }

  table :is(th, td) {
    min-width: 10.5rem;
  }

  table :is(th, td):nth-child(1) {
    min-width: 4rem;
  }
}

/*
 * Text orientation
 */
#container .content-table {
  &.col1-text-right table :is(th, td):nth-child(1) { text-align: right; }
  &.col2-text-right table :is(th, td):nth-child(2) { text-align: right; }
  &.col3-text-right table :is(th, td):nth-child(3) { text-align: right; }
  &.col4-text-right table :is(th, td):nth-child(4) { text-align: right; }
  &.col5-text-right table :is(th, td):nth-child(5) { text-align: right; }
  &.col6-text-right table :is(th, td):nth-child(6) { text-align: right; }
  &.col7-text-right table :is(th, td):nth-child(7) { text-align: right; }
  &.col8-text-right table :is(th, td):nth-child(8) { text-align: right; }

  &.col1-text-center table :is(th, td):nth-child(1) { text-align: center; }
  &.col2-text-center table :is(th, td):nth-child(2) { text-align: center; }
  &.col3-text-center table :is(th, td):nth-child(3) { text-align: center; }
  &.col4-text-center table :is(th, td):nth-child(4) { text-align: center; }
  &.col5-text-center table :is(th, td):nth-child(5) { text-align: center; }
  &.col6-text-center table :is(th, td):nth-child(6) { text-align: center; }
  &.col7-text-center table :is(th, td):nth-child(7) { text-align: center; }
  &.col8-text-center table :is(th, td):nth-child(8) { text-align: center; }
}

/*
 * Different font sizes
 */
#container .content-table {
  &.text-small {
    table {
      font-size: var(--step-2);
    }
  }
}

/*
 * Spacing between table cells (left/right)
 */
#container .content-table {
  &.spacing-inside,
  &.spacing-inside-only {
    :is(th,td):not(:first-child):not(:last-child) {
      padding-inline: 1rem;
    }
    :is(th,td):is(:first-child) {
      padding-inline-end: 1rem;
    }
    :is(th,td):is(:last-child) {
      padding-inline-start: 1rem;
    }
  }

  &.spacing-inside-only {
    table {
      border-spacing: 0;
    }
  }

  &.spacing-outside,
  &.spacing-outside-only {
    table {
      border-spacing: .625rem;
    }
  }

  &.spacing-outside-only {
    :is(th,td) {
      padding-inline: 0;
    }
  }
}

/*
 * Spacing between table cells (above/below)
 */
#container .content-table {
  &.spacing-amidst-tighter {
    td {
      padding-block: .25rem;
    }
  }

  &.spacing-amidst-looser {
    padding-block: 1.25rem;
  }
}

/* ----------------------------------------------------------------------------
 * Misc
 * ------------------------------------------------------------------------- */

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}





/* ----------------------------------------------------------------------------
 * Contao utility classes
 * ------------------------------------------------------------------------- */

/*
 * Text color
 */
.color-primary      { && { color: var(--color-primary);   }}
.color-secondary    { && { color: var(--color-secondary); }}
.color-accent1      { && { color: var(--color-accent1);   }}
.color-accent2      { && { color: var(--color-accent2);   }}
.color-accent3      { && { color: var(--color-accent3);   }}
.color-accent4      { && { color: var(--color-accent4);   }}
.color-accent5      { && { color: var(--color-accent5);   }}
.color-accent6      { && { color: var(--color-accent6);   }}

.color-white        { && { color: var(--color-white);            }}
.color-light-grey   { && { color: var(--color-light-grey);       }}
.color-medium-grey  { && { color: var(--color-medium-grey);      }}
.color-dark-grey    { && { color: var(--color-dark-grey);        }}
.color-black        { && { color: var(--color-black);            }}

/*
 * Background color
 */
.bgcolor-primary      { && { background-color: var(--color-primary);   }}
.bgcolor-secondary    { && { background-color: var(--color-secondary); }}
.bgcolor-accent1      { && { background-color: var(--color-accent1);   }}
.bgcolor-accent2      { && { background-color: var(--color-accent2);   }}
.bgcolor-accent3      { && { background-color: var(--color-accent3);   }}
.bgcolor-accent4      { && { background-color: var(--color-accent4);   }}
.bgcolor-accent5      { && { background-color: var(--color-accent5);   }}
.bgcolor-accent6      { && { background-color: var(--color-accent6);   }}

.bgcolor-white            { && { background-color: var(--color-white);            }}
.bgcolor-white-grey       { && { background-color: var(--color-white-grey);       }}
.bgcolor-light-grey       { && { background-color: var(--color-light-grey);       }}
.bgcolor-medium-grey      { && { background-color: var(--color-medium-grey);      }}
.bgcolor-medium-dark-grey { && { background-color: var(--color-medium-dark-grey); }}
.bgcolor-dark-grey        { && { background-color: var(--color-dark-grey);        }}
.bgcolor-black            { && { background-color: var(--color-black);            }}

.bgcolor-gradient-dark-blue   { && { background: linear-gradient(180deg, oklch(from var(--color-primary) l c h / 0.8) 215px, var(--color-accent1) 100%); }}
.bgcolor-gradient-light-blue  { && { background: linear-gradient(180deg, var(--color-accent1) 0%, oklch(from var(--color-accent1) l c h / 0.5) 100%); }}

/*
 * Text alignment
 */
.text-left    { text-align: left; }
.text-center  { text-align: center; }
.text-right   { text-align: right; }
.text-justify { text-align: justify; }

/*
 * Spacing classes
 * (these also work with the PCT_Autogrid extension)
 */
.mt-0   { && { margin-top: 0; } }
.mt-xxs { && { margin-top: var(--space-3xs); } }
.mt-xs  { && { margin-top: var(--space-2xs); } }
.mt-s   { && { margin-top: var(--space-s); } }
.mt-m   { && { margin-top: var(--space-l); } }
.mt-l   { && { margin-top: var(--space-2xl); } }
.mt-xl  { && { margin-top: var(--space-4xl); } }
.mt-xxl { && { margin-top: var(--space-6xl); } }

.mb-0   { && { margin-bottom: 0; } }
.mb-xxs { && { margin-bottom: var(--space-3xs); } }
.mb-xs  { && { margin-bottom: var(--space-2xs); } }
.mb-s   { && { margin-bottom: var(--space-s); } }
.mb-m   { && { margin-bottom: var(--space-l); } }
.mb-l   { && { margin-bottom: var(--space-2xl); } }
.mb-xl  { && { margin-bottom: var(--space-4xl); } }
.mb-xxl { && { margin-bottom: var(--space-6xl); } }

/*
 * Mobile spacing classes
 * (these are exclusively used by PCT_Autogrid)
 */
@media (0 <= width < 680px) {
  .mt-xxs-m { && { margin-top: var(--space-3xs); } }
  .mt-xs-m  { && { margin-top: var(--space-2xs); } }
  .mt-s-m   { && { margin-top: var(--space-s); } }
  .mt-m-m   { && { margin-top: var(--space-l); } }
  .mt-l-m   { && { margin-top: var(--space-2xl); } }
  .mt-xl-m  { && { margin-top: var(--space-4xl); } }
  .mt-xxl-m { && { margin-top: var(--space-6xl); } }

  .mb-xxs-m { && { margin-bottom: var(--space-3xs); } }
  .mb-xs-m  { && { margin-bottom: var(--space-2xs); } }
  .mb-s-m   { && { margin-bottom: var(--space-s); } }
  .mb-m-m   { && { margin-bottom: var(--space-l); } }
  .mb-l-m   { && { margin-bottom: var(--space-2xl); } }
  .mb-xl-m  { && { margin-bottom: var(--space-4xl); } }
  .mb-xxl-m { && { margin-bottom: var(--space-6xl); } }
}

/*
 * Hide an element, fast
 */
/* .invisible {
    display: none;

    &:focus-within {
      display: block;
    }
} */

/*
 * Hide an element, but only visually
 */
.invisible,
.hidden,
.hidden-focusable:not(:focus):not(:focus-within),
.content-table.caption-hidden caption  {
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  white-space: nowrap !important;
  width: 1px !important;
}

.invisible:not(caption),
.hidden:not(caption),
.hidden-focusable:not(:focus):not(:focus-within):not(caption) {
  position: absolute !important;
}

.invisible {
  &:is(:focus) {
    position: absolute !important;
    clip: initial !important;
    height: initial !important;
    width: initial !important;
    padding: .5rem !important;
    z-index: 100 !important;
    background: var(--color-white) !important;
    color: var(--color-primary) !important;
  }
}

/*
 * Prodide a generic visible focus indicator
 */
:focus-visible {
  outline: 3px solid var(--color-accent2);
  outline-offset: 3px;
}
@charset 'utf-8';

/* ----------------------------------------------------------------------------
 * SITE HEADER
 * ------------------------------------------------------------------------- */
#header {
  --nav-height: 150px;
  --nav-height-row1: 58px;
  --nav-height-row2: 80px;

  --mobile-nav-height: 88px;
  --mobile-nav-height-row1: 44px;
  --mobile-nav-height-row2: 44px;

  /* position: sticky; */
  position: relative;
  top: 0;
  transition: top 500ms ease-in-out;
  z-index: 1000;
  color: var(--color-white);

  &.scroll-up,
  &:focus-within {
    top: 0;
  }

  &.scroll-down {
    top: -100%;
  }

  .nav-container {
    position: relative;
    top: 38px;
    z-index: 2;
    height: calc(var(--nav-height-row1) + var(--nav-height-row2));
    font-size: var(--step--1);

    @media(width < 1024px) {
      top: 0;
    }
  }

  .meta {
    display: flex;
    height: var(--nav-height-row1);

    @media(width < 1024px) {
      height: var(--mobile-nav-height-row1);
    }

    @media(width < 768px) {
      font-size: clamp(0.75rem, 0.25rem + 1.5625vw, 1rem);
    }

    .invis {
      flex-grow: 1;
    }

    .main {
      height: 100%;
      flex-basis: var(--global-width);

      display: flex;
      justify-content: flex-end;

      @media(width > 1370px) {
        position: relative;
        left: 3.3rem;
      }
    }

    .side {
      background-color: var(--color-secondary);
      height: 100%;
      flex-grow: 1;
    }

    .link {
      display: flex;
      position: relative;
      left: .7rem;

      a {
        --target-bgcolor: var(--link-bgcolor, var(--color-primary));
        --target-bgcolor-hover-multiplier: var(--link-bgcolor-hover-multiplier, 0.95);
        transition: background 125ms ease-in-out;

        &:is(:link, :visited) {
          transform: skewX(340deg);
          padding-inline: clamp(1rem, -3.5rem + 9.375vw, 4rem);
          background: var(--target-bgcolor);
          display: flex;
          align-items: center;
          column-gap: 0.6rem;
        }

        &:is(:hover,:active,:focus) {
          background: oklch(from var(--target-bgcolor) calc(l * var(--target-bgcolor-hover-multiplier)) c h);
          color: currentColor;
          transition: background 125ms ease-in-out;
          outline: none;

          img {
            transform: scale(1.4);
            transition: all 250ms ease-in-out;
          }
        }

        & > * {
          transform: skewX(20deg);
        }

        img {
          max-width: 16px;
          transition: all 250ms ease-in-out;
        }
      }

      a:is(:link, :visited) {
        text-decoration: none;
      }
    }

    .link-search {
      --link-bgcolor: var(--color-white);
      --link-bgcolor-hover-multiplier: 1.075;
      left: 0.8rem;
      color: var(--color-black);
    }
    /*
    .link-opening-hours {
      --link-bgcolor: var(--color-secondary);
      --link-bgcolor-hover-multiplier: 1.075;
      color: var(--color-black);

      @media(width < 512px) {
        display: none;
      }
    }
    */
    
    .link-cart {
      --link-bgcolor: var(--color-secondary);
      --link-bgcolor-hover-multiplier: .75;
    }
  }


  
  /* ----------------------------------------------------------------------------
  * Emergency Numbers
  * ------------------------------------------------------------------------- */
  .emergency-numbers {
    position: absolute;
    bottom: -2.95rem;
    right: max(0%, calc((100vw - var(--global-width)) / 2));
    z-index: 1;
    padding-inline: 1.5em;
    padding-block: 1.5em;
    box-shadow: 0.2rem 0.2rem 0.5rem rgb(0 0 0 / 25%);
    background-color: oklch(from var(--color-primary) l c h / 0.95);
    color: var(--color-white);
    font-size: var(--step--1);

    @media (width < 512px) {
      position: relative;
      top: -2.9rem;
      z-index: 1;
      padding-block-start: 3rem;
      margin-block-end: 0.2rem;
    }

    h2 {
      font-size: var(--step-1);
      margin-block: 0 var(--space-xs);
      color: var(--color-white);
    }

    ul {
      padding-inline-start: 0;
      margin-block-end: 0;
    }

    li {
      display: flex;
      align-items: center;
      gap: 0.75em;
    }

    li::before {
      content: '';
      flex-shrink: 0;
      display: inline-block;
      width: 1.5em;
      height: 1.5em;
      /* background-color: var(--color-white); */
      -webkit-mask-size: contain;
      -webkit-mask-repeat: no-repeat;
      -webkit-mask-position: center;
      mask-size: contain;
      mask-repeat: no-repeat;
      mask-position: center;
      position: relative;
      transition: transform 0.2s ease;
    }
    li.en-phone::before {
      background-color: var(--color-white);
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E");
    }

    li.en-phone-free::before {
      background-color: var(--color-white);
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M12 1c-4.97 0-9 4.03-9 9v7c0 1.66 1.34 3 3 3h3v-8H5v-2c0-3.87 3.13-7 7-7s7 3.13 7 7v2h-4v8h3c1.66 0 3-1.34 3-3v-7c0-4.97-4.03-9-9-9z'/%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M12 1c-4.97 0-9 4.03-9 9v7c0 1.66 1.34 3 3 3h3v-8H5v-2c0-3.87 3.13-7 7-7s7 3.13 7 7v2h-4v8h3c1.66 0 3-1.34 3-3v-7c0-4.97-4.03-9-9-9z'/%3E%3C/svg%3E");
    }

    li.en-fax::before {
      background-color: var(--color-white);
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z'/%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z'/%3E%3C/svg%3E");
    }

    li.en-email::before {
      background-color: var(--color-white);
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
    }

    a:is(:link, :visited) {
      text-decoration: none;
    }

    a:is(:hover, :active, :focus) {
      text-decoration: underline;
      text-decoration-color: var(--color-white);
      text-decoration-thickness: 0.2ex;
      text-underline-offset: 0.2ex;
      color: var(--color-white);
    }

    li:has(a:hover)::before {
      transform: scale(1.2);
      transition: transform 0.2s ease;
    }
  }












  .main {
    display: flex;

    .invis {
      flex-basis: calc((100% - var(--global-width)) / 2);
    }

    .main {
      background-color: var(--color-dark-grey);
      background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 8%, rgba(181,21,43,1) 10%, rgba(181,21,43,1) 100%);

      display: flex;
      flex-grow: 1;
      height: var(--nav-height-row2);

      @media(width < 1024px) {
        height: calc(var(--mobile-nav-height) / 2);
      }
    }

    .main-inside {
      display: flex;
      flex-basis: var(--global-width);
      align-items: center;
      justify-content: space-between;
    }
  }

  & > .inside > :not(:nth-child(1)):not(:nth-child(2)) {
    margin-top: calc(-1 * (var(--nav-height-row1) + var(--nav-height-row2)));

    @media(width < 1024px) {
      margin-top: -50px;
    }
  }
}



/* ----------------------------------------------------------------------------
 * Website Logo
 * ------------------------------------------------------------------------- */
.website-logo-container {
  flex-basis: 320px;
  flex-shrink: 0;
  padding: 25px 0;

  @media(width < 1024px) {
    flex-basis: 240px;
  }

  @media(width < 768px) {
    flex-basis: clamp(11.875rem, 5.625rem + 19.5313vw, 15rem);
  }
}

.website-logo {
  display: inline-flex;
  position: relative;
  margin-right: 70px;

  &::after {
    content: '';
    display: block;
    height: 277px;
    width: 800px;
    background: white;
    position: absolute;
    bottom: -40px;
    right: 20px;
    transform: rotate(19.2deg);
    transform-origin: bottom right;
    border-radius: 5px;
    box-shadow: 2px 5px 5px oklch(0.73 0 0 / 0.25);

    @media(width < 1024px) {
      bottom: -45px;
    }
  }

  .image_container {
    display: inline-flex;
    position: relative;
    z-index: 10;
    top: -45px;

    @media(width < 1024px) {
      top: -8px;
    }

    @media(width < 510px) {
      top: 2px;
    }
  }

  a {
    display: inline-flex;
  }

  picture {
    display: inline-flex;
    padding-inline-start: 1rem;

    @media(width < 1024px) {
      padding-inline: 1rem;
    }
  }
}


/* ----------------------------------------------------------------------------
 * Main Navigation
 * ------------------------------------------------------------------------- */
.main-nav {
  --level1-item-spacing: 3rem;

  display: none;
  height: 100%;
  font-weight: var(--font-weight-regular);

  @media (width >= 1024px) {
    display: flex;
    flex-grow: 2;
    justify-content: space-between;
    flex-shrink: 2;
  }
}

.main-nav .level_1 {
  display: flex;
  width: 100%;
  margin: 0;
  padding: 0;
  gap: var(--gutter-size);
  justify-content: space-between;
  align-items: center;

  @media(width < 1630px) {
    justify-content: flex-start;  
  }

  & > li {
    height: 100%;
    display: flex;
    align-items: center;
    position: relative;
  }

  & > li > a:not(.invisible):where(:link, :visited),
  & > li > strong {
    color: var(--color-white);
    font-size: var(--step-0);
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 700;
    display: flex;
    align-items: center;
    height: 100%;
    transform: skewX(340deg);
    padding-inline: calc(.5 * var(--level1-item-spacing));
  }

  & > li > :where(a,strong) > span {
    transform: skewX(20deg);
  }

  & > li:where(:hover, :active, :focus, :focus-within, .active, .trail) > :is(a:not(.invisible), strong) {
    background-color: var(--color-white);
    color: var(--color-primary);
    outline: none;
    z-index: 1;
  }

  & > li.active > strong {
    color: var(--color-secondary);
  }
}

.main-nav .level_1 > li:is(:hover, :active, :focus, :focus-within) > .level_2 {
  display: block;
}

.main-nav .level_2 {
  --left-offset: 1rem;
  display: none;
  position: absolute;
  left: calc(-1 * var(--left-offset) + 1px);
  top: calc(1 * var(--nav-height-row2) - 1px);
  background-color: var(--color-white);
  color: var(--color-black);
  width: 16rem;
  padding-inline: var(--left-offset);
  border-radius: .25rem;
  box-shadow: 0 2px 8px 0 oklch(0.14 0 0 / 0.28), 0 1.5rem 2rem -1rem oklch(0.14 0 0 / 0.12);
  overflow: hidden;

  & > li > a:is(:link, :visited), 
  & > li > strong {
    text-decoration: none;
    display: block;
    position: relative;
    padding-block: .5rem;

    &::before {
      content: "";
      display: block;
      width: .4rem;
      height: 100%;
      position: absolute;
      left: -1.4rem;
      top: 0;
      background-color: var(--color-primary);
      border-top-right-radius: .25rem;
      border-bottom-right-radius: .25rem;
      transition: left 0.2s ease;
    }
  }

  & > li > strong {
    color: var(--color-primary);
  }

  & > li > a:is(:hover, :active, :focus) {
    display: block;
    outline: none;

    &::before {
      left: -1rem;
      transition: left 0.1s ease;
    }
  }
}

/* ----------------------------------------------------------------------------
 * Mobile Navigation
 * ------------------------------------------------------------------------- */
body.mm-wrapper--opened {
    overflow: hidden auto;
}

.mm-wrapper_blocking {
  overflow: initial;
}

.mm-toggler__container {
  display: flex;
  align-items: baseline;
  position: relative;
  right: -5px;

  @media (width > 1024px) {
    display: none;
  }

  a:is(:link, :visited) {
    text-decoration: none;
    color: var(--color-white);
  }

  a:is(:hover, :active, :focus) {
    color: var(--color-secondary);

  }
}

a.mm-toggler__link {
  display: flex;
  align-items: center;

  &:is(:hover, :active, :focus) {
    color: var(--color-light-grey);

    .mm-toggler__icon {
      --c: var(--color-light-grey);
    }
  }
}

.mm-toggler__label {
  font-weight: var(--font-weight-bold);
  font-size: var(--step-2);
  position: relative;
  top: 1px;
  left: .5rem;
}

.mm-toggler__icon {
  --s: 26px; /* control the size */
  --c: var(--color-white); /* the color */

  height: var(--s);
  aspect-ratio: 1;
  border: none;
  padding: 0;
  border-inline: calc(var(--s)/2) solid #0000;
  box-sizing: content-box;
  --_g1: linear-gradient(var(--c) 20%,#0000 0 80%,var(--c) 0)
         no-repeat content-box border-box;
  --_g2: radial-gradient(circle closest-side at 50% 12.5%,var(--c) 95%,#0000)
         repeat-y content-box border-box;
  background:
    var(--_g2) left  var(--_p,0px) top,
    var(--_g1) left  calc(var(--s)/10 + var(--_p,0px)) top,
    var(--_g2) right var(--_p,0px) top,
    var(--_g1) right calc(var(--s)/10 + var(--_p,0px)) top;
  background-size:
    20% 80%,
    40% 100%;
  position: relative;
  clip-path: inset(0 25%);
  -webkit-mask: linear-gradient(90deg,#0000,#000 25% 75%,#0000);
  cursor: pointer;
  transition:
    background-position .15s var(--_s,.15s),
    clip-path 0s var(--_s,.3s);
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;

  &:before,
  &:after {
    content:"";
    position: absolute;
    border-radius: var(--s);
    inset: 40% 0;
    background: var(--c);
    transition: transform .15s calc(.15s - var(--_s,.15s));
  }

  span {
    display: block;
  }
}

.mm-wrapper--opened .mm-toggler__icon {
  clip-path: inset(0);
  --_p: calc(-1*var(--s));
  --_s: 0s;

  &:before {
    transform: rotate(45deg);
  }
  &:after {
    transform: rotate(-45deg);
  }
}

.mm-menu--theme-light {
    --mm-color-background: linear-gradient(180deg, oklch(from var(--color-white) l c h / 0.75) 0%, oklch(from var(--color-white) calc(l * .8) c h / 0.25) 100%);
    --mm-color-border: oklch(from var(--color-medium-grey) l c h / 25%);
    --mm-color-icon: var(--color-dark-grey);
    --mm-color-text: var(--color-dark-grey);
    --mm-color-text-dimmed: var(--color-dark-grey);
    --mm-color-background-highlight: transparent;
    --mm-color-background-emphasis: var(--color-light-grey);
    --mm-color-focusring: var(--color-white);
}

.mm-menu {
  backdrop-filter: blur(10px);
}

.mm-menu a {
  font-weight: var(--font-weight-semibold);
}

.mm-panel.mm-panel--parent {
  background: transparent;

  .mm-listview > li {
    opacity: 0;
    transition: opacity 320ms ease-in-out;
  }
}

.mm-listitem__btn:not(.mm-listitem__text) {
  border-left-width: 0
}

.mm-listitem:is(:hover, :active, :focus) > a {
  color: var(--color-primary);

  &:after {
    border-color: var(--color-primary);
  }
}


/* ----------------------------------------------------------------------------
 * MAIN CONTENT
 * ------------------------------------------------------------------------- */
#container {
  overflow: hidden;
  background-color: var(--color-white);

  overflow: visible;
  z-index: 100;
  position: relative;
}

#main > .inside {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;

  & > .mod_article:not(.mt-0):first-child {
    margin-block-start: var(--space-4xl);
  }
}


/* ----------------------------------------------------------------------------
 * ARTICLE
 * ------------------------------------------------------------------------- */
.mod_article {
  margin-inline: auto;
  max-width: var(--global-width);
  padding-inline: var(--gutter-size);

  /*
   * Set a default margin-top for all articles
   * can be overwritten individually by adding the class .mt-0
   * or globally by commenting the following line
   */
  margin-block-start: var(--flow-space, 1em);

  &.full-width {
    overflow: hidden;
    max-width: 100%;
    padding-inline: 0;
  }

  &.narrow {
    max-width: 58em;
  }

  &.narrower {
    max-width: 42em;
  }
}

/*
 * Add a default bottom margin to the last article (in the main content, just
 * before the footer) if it doesn't have a bottom margin class
 */
#main > .inside > .mod_article:last-child:not([class*="mb-"]) {
  margin-block-end: 10rem;
}


/* ----------------------------------------------------------------------------
 * SITE FOOTER
 * ------------------------------------------------------------------------- */

/* remove the footers margin if the last article has a zero bottom-margin */
#container:has(#main > .inside > .mod_article:last-child.mb-0) + #footer {
  margin-top: -3.5rem;
}

.footer {
  position: relative;
  margin-top: 3.5rem;
  color: var(--color-white);

  h1,h2,h3,h4,h5,h6,
  .h1,.h2,.h3,.h4,.h5,.h6 {
    text-transform: none;
  }

  p {
    margin-block-start: 1.93rem;
  }

  table {
    font-size: var(--step-0);
    border-spacing: 0;

    tbody tr > :is(th, td) {
      min-width: 2rem;
      padding-block: 0rem;
    }
  }

  a:is(:link, :visited) {
    text-decoration: none;
  }

  a:is(:hover, :active, :focus) {
    color: currentColor;
    text-decoration: underline;
    text-decoration-color: currentColor;
    text-decoration-thickness: 0.2ex;
    text-decoration-color: currentColor;
  }

  .mod_customnav {
    ul {
      padding-inline-start: 0;
    }
  }
}

.binder {
  font-size: var(--step--1);

  a:is(:link, :visited) {
    text-decoration-color: currentColor;
    text-decoration-thickness: 0.2ex;
  }

  a:is(:hover, :active, :focus) {
    color: currentColor;
    text-decoration-color: var(--color-secondary);
  }
}

@charset 'utf-8';

/* ----------------------------------------------------------------------------
 * PCT_AUTOGRID Adjustments
 * ------------------------------------------------------------------------- */
div.autogrid_row,
div.autogrid_wrapper {
  &.gutter_s { --column-gutter: var(--gutter-size-small);  }
  &.gutter_m { --column-gutter: var(--gutter-size-medium); }
  &.gutter_l { --column-gutter: var(--gutter-size-large);  }
}

.gutter_none.gutter_none:is(.autogrid_row, .autogrid_wrapper) {
  margin-inline: calc(-1 * var(--gutter-size));

  @media(width < 768px) {
    margin-inline: calc(-1 * var(--gutter-size)) !important;
  }
}

.autogrid_grid .column, .column[class*=col_] {
  @media(width < 768px) {
    margin-bottom: var(--gutter-size);
  }
}


.autogrid_grid div.column, div.column[class*=col_] {
  &.no-spacing {
    padding-inline: 0;
  }

  &.full-width > .attributes > .same-height-wrap {
    width: calc(100% - var(--column-gutter));
  }
}

/*
 * PCT_AUTOGRID columns have a greedy selector
 * so we need to reset the values for other elements
 */
:is(.col_1,.col_2,.col_3,.col_4,.col_5,.col_6,.col_7,.col_8,.col_9,.col_10,.col_11,.col_12):is(td,li) {
  flex: initial;
  max-width: none;
}

form {
  .autogrid_grid,
  .autogrid_row,
  .autogrid_wrapper {
    @media (width < 768px) {
      margin-left: 0 !important;
      margin-right: 0 !important;
    }
  }
}

/* ----------------------------------------------------------------------------
 * PCT_AUTOGRID variation for tilted column backgrounds
 * ------------------------------------------------------------------------- */
/*
 .tilted-right.tilted-right:is(.autogrid_row,.autogrid_wrapper) {
  --tilted-edge-offset: calc(-1 * var(--edge-offset) - var(--column-gutter));
  --edge-offset: -120px;

  @media (width < 767px) {
    --edge-offset: -85px;
  }

  margin-inline: var(--edge-offset) !important;

  &.gutter_s > div { padding-left: 5px; padding-right: 5px; }

  & > .column > .attributes {
    transform: skewX(337.5deg);
  }

  & > .column > .attributes > .same-height-wrap {
    transform: skewX(22.5deg);

    position: relative;
    left: 0.625rem;
  }

  @media (width < 767px) {
    .column {
      padding-left: 10px !important;
      padding-right: 10px  !important;
    }
  }

  &.img-left {
    .column:first-child > .attributes {
      justify-content: flex-end;
    }

    & > .column:first-child .same-height-wrap {
      padding-inline: 0;
      position: relative;
      width: calc(100% - 75px);
      height: 100%;
    }

    & > .column:first-child .ce_image {
      inset: 0;
      position: absolute;
      margin-right: calc(-1 * (100% - 18vw));
      margin-right: -65px;
    }

    & > .column:first-child img {
      inset: 0;
      position: absolute;
      max-width: none;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }

  .column:last-child > .attributes > .same-height-wrap > * {
    @media (width < 767px) {
      line-height: 1.2;
    }
  }

  .column:first-child > .attributes > .same-height-wrap {
    .ce_headline {
      font-size: clamp(1.5rem, 0.5217rem + 4.3478vi, 4rem);

      @media (width < 767px) {
        margin-bottom: 2.3rem;
        text-align: left;
      }
    }
  }
}
*/

/* ----------------------------------------------------------------------------
 * PCT_AUTOGRID variation for two full-width columns and default-width content
 * --
 * NOTE: This only works for 2 columns!
 * ------------------------------------------------------------------------- */
/*
 .content-default-width:is(.autogrid_row,.autogrid_wrapper) {
  flex-wrap: nowrap;

  .col_1 { --column-width: 1/12; }
  .col_2 { --column-width: 2/12; }
  .col_3 { --column-width: 3/12; }
  .col_4 { --column-width: 4/12; }
  .col_5 { --column-width: 5/12; }
  .col_6 { --column-width: 6/12; }
  .col_7 { --column-width: 7/12; }
  .col_8 { --column-width: 8/12; }
  .col_9 { --column-width: 9/12; }
  .col_10 { --column-width: 10/12; }
  .col_11 { --column-width: 11/12; }
  .col_12 { --column-width: 12/12; }

  @media (width < 767px) {
    &:not(.no-wrap) {
      flex-wrap: wrap;
    }

    .col_1_m { --column-width: 1/12; }
    .col_2_m { --column-width: 2/12; }
    .col_3_m { --column-width: 3/12; }
    .col_4_m { --column-width: 4/12; }
    .col_5_m { --column-width: 5/12; }
    .col_6_m { --column-width: 6/12; }
    .col_7_m { --column-width: 7/12; }
    .col_8_m { --column-width: 8/12; }
    .col_9_m { --column-width: 9/12; }
    .col_10_m { --column-width: 10/12; }
    .col_11_m { --column-width: 11/12; }
    .col_12_m { --column-width: 12/12; }
  }

  .column {
    flex: unset;
    max-width: unset;
    width: calc(
      (   var(--column-width, 1/2) * var(--global-width)    ) 
      + 
      ( (     max(100%, var(--global-width))    
          -   var(--global-width)
        ) / 2)
    );

    & > .attributes {
      display: flex;
      flex-wrap: wrap;
      height: 100%;
      width: 100%;
      overflow: hidden;

      & > .same-height-wrap {
        width:  calc(min(
                      calc(100% - var(--column-gutter, 15px) - (.5 * var(--tilted-edge-offset, 0px))),
                      calc(var(--column-width, 1/3) * var(--global-width) - var(--column-gutter, 15px) - var(--gutter-size))
                    )
                );
        flex: unset;
      }
    }
  }

  .column:first-child > .attributes {
    justify-content: flex-end;
  }
}
*/

/* ----------------------------------------------------------------------------
 * Slanted columns
 *
 * How to use: 
 * - create a two column grid
 * - set the grid to "same height" 
 * - add the class "slanted" to the grid
 * - set some colors for each column (alternative: add a image or an bg-image)
 * ------------------------------------------------------------------------- */
.slanted.same_height:is(.autogrid_row,.autogrid_wrapper) {
  --container-offscreen-width: 15rem;
  --available-content-width: min(100cqw, var(--global-width)); /* 100% = 1600px + 160px + 160px = 1920px => --global-width ist kleiner => ergebnis: 80rem bzw. 1280px */
  --total-outer-width: calc(100cqw - var(--available-content-width)); /* 1920px - 1280px = 640px */
  --side-outer-width: calc(var(--total-outer-width) / 2); /* 350px / 2 = 175px */
  --skew-angle: 22.5deg;

  @media (1280px > width >= 1024px) {
    --skew-angle: 11.25deg;
  }

  /* Gutter variants */
  &.gutter_none { --column-gutter: 0rem; padding-inline: 15px; }
  &.gutter_s    { --column-gutter: var(--gutter-size-small); }
  &.gutter_m    { --column-gutter: var(--gutter-size-medium); }
  &.gutter_l    { --column-gutter: var(--gutter-size-large); }

  /* Column width definitions */
  .col_1 { --column-width: 1/12; }
  .col_2 { --column-width: 2/12; }
  .col_3 { --column-width: 3/12; }
  .col_4 { --column-width: 4/12; }
  .col_5 { --column-width: 5/12; }
  .col_6 { --column-width: 6/12; }
  .col_7 { --column-width: 7/12; }
  .col_8 { --column-width: 8/12; }
  .col_9 { --column-width: 9/12; }
  .col_10 { --column-width: 10/12; }
  .col_11 { --column-width: 11/12; }
  .col_12 { --column-width: 12/12; }
}

.slanted.same_height:is(.autogrid_row,.autogrid_wrapper) {
  @media (width >= 1024px) {
    container-type: inline-size;
    margin-inline: calc(-1 * var(--container-offscreen-width));

    & > .column {
      --available-column-outer-width: calc( ( var(--available-content-width) * var(--column-width) ) + var(--side-outer-width)); /* 1280px * 0,5 + 175px = 815px */

      flex: unset;
      max-width: unset;
      width: var( --available-column-outer-width);
    }

    & > .column > .attributes {
      transform: skewX(calc(360deg - var(--skew-angle)));
      overflow: hidden;
    }

    & > .column > .attributes > .same-height-wrap {
      --available-column-inner-width: calc( ( var(--available-content-width) * var(--column-width) ) - 2 * var(--column-gutter)); /* 1280px * 0,5 - 2 * 15px = 610px */
      
      width: var( --available-column-inner-width );
      flex: unset;
      transform: skewX(var(--skew-angle));
      z-index: 2;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
    }

    & > .column:last-child > .attributes > .same-height-wrap {
      align-items: flex-end;
    }
  }

  @media (width < 1024px) {
    & > .column {
      flex-basis: 100%;
    }

    & > .column:first-child {
      margin-bottom: 0;
    }

    /* reset text-align on mobile */
    .text-right {
      text-align: left;
    }
  }
}



/*
 * Slanted columns content
 * -----------------------
 * Left column with text
 *
 */
 .slanted.same_height:is(.autogrid_row,.autogrid_wrapper) > .column:first-child:has( > .attributes > .same-height-wrap > :is(.ce_text, .ce_headline)) {
  @media (width >= 1024px) {
    .attributes {
      padding-left: var(--container-offscreen-width);
      justify-content: flex-end;
    }

    .ce_text {
      height: 100%;
      width: 80%;
    }
  }

  @media (width < 1024px) {
    .same-height-wrap {
      padding-inline: var(--gutter-size);
    }
  }
 }

 

/*
 * Slanted columns content
 * -----------------------
 * Left column with image
 *
 */
.slanted.same_height:is(.autogrid_row,.autogrid_wrapper) > .column:first-child:has( > .attributes > .same-height-wrap > .ce_image) {
  @media (width >= 1024px) {
    .same-height-wrap {
      padding-inline: 0;
      width: 100%;
      flex-direction: row;
      align-items: stretch;
    }

    .ce_image {
      position: relative;
      left: 9vw;

      .image_container {
        width: 100%;
        height: 100%;
  
        img {
          object-fit: cover;
          object-position: center;
          height: 100%;
          width: 100%;
        }
      }
    }
  }

  @media (width < 1024px) {
    .same-height-wrap {
      padding-inline: 0;
    }
  }
}

/*
 * Slanted columns content
 * -----------------------
 * Right column with text
 *
 */ 
.slanted.same_height:is(.autogrid_row,.autogrid_wrapper) > .column:last-child:has( > .attributes > .same-height-wrap > :is(.ce_text, .ce_headline)) {
    @media (width >= 1024px) {
      .attributes {
        padding-right: var(--container-offscreen-width);
      }

      .same-height-wrap {
        justify-content: flex-end;
      }

      :is(.ce_text, .ce_headline) {
        height: 100%;
        width: 80%;
      }
    }

    @media (width < 1024px) {
      .same-height-wrap {
        padding-inline: var(--gutter-size);
      }
    }
}



/*
 * Slanted columns content
 * -----------------------
 * Right column with image
 *
 */
 .slanted.same_height:is(.autogrid_row,.autogrid_wrapper) > .column:last-child:has( > .attributes > .same-height-wrap > .ce_image) {
  @media (width >= 1024px) {
    .attributes {
      justify-content: flex-start;
    }
    
    .same-height-wrap {
      padding-inline: 0;
      width: 100%;
      height: 100%;
      flex-direction: row;
      align-items: stretch;
    }

    .ce_image {
      position: relative;
      right: 9vw;

      .image_container {
        width: 100%;
        height: 100%;
  
        img {
          object-fit: cover;
          object-position: center;           
          height: 100%;
          width: 100%;
        }
      }
    }
  }

  @media (width < 1024px) {
    .same-height-wrap {
      padding-inline: 0;
    }
  }
}

/*
 * Slanted columns content
 * -----------------------
 * Text column with divided background color
 *
 */
 .divided.slanted.same_height:is(.autogrid_row,.autogrid_wrapper) > .column:has( > .attributes > .same-height-wrap > :is(.content-container)) {
  .attributes {
    align-content: flex-end;
    container-type: inline-size;
  }

  .same-height-wrap {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-content: flex-start;
  }

  .content-container {
    flex: 1;
    margin-block-start: 0;
    padding-inline: 0;
    /* position: relative; */
    display: flex;
    align-items: center;

    & > * {
      --available-content-width: min(100cqw, 50rem);
      --available-column-inner-width: calc(  var(--available-content-width) - 13.5rem);
      width: var( --available-column-inner-width );
      padding-right: var(--column-gutter);
    }
  }
 }


/* ----------------------------------------------------------------------------
 * Homepage section "Ortsgespräch"
 * ------------------------------------------------------------------------- */
.callout-magazine {
  &.line-1 {
    font-size: clamp(1.125rem, 0.6923rem + 1.9231vi, 3rem);
    font-weight: 700;
    line-height: 1;
  }

  &.line-2 {
    --flow-space: 0;

    font-size: clamp(1.5rem, 0.9231rem + 2.5641vi, 4rem);
    font-weight: 700;
    line-height: 1;
  }

  &.line-3 {
    --flow-space: 0;

    font-size: clamp(1rem, 0.8846rem + 0.5128vi, 1.5rem);
    line-height: 1;
    width: 80%;
  }

  a:is(:link, :visited) {
    text-decoration-color: oklch(from var(--color-white) l c h / 0.5);
    color: var(--color-white);
  }

  a:is(:hover, :active, :focus) {
    text-decoration-color: var(--color-secondary);
    color: var(--color-white);
  }
}










/* ----------------------------------------------------------------------------
 * SIDEBAR (Generic)
 * ------------------------------------------------------------------------- */
.with-left-sidebar {
  display: flex;
  flex-wrap: wrap;

  & > :first-child {
    flex-basis: var(--sidebar-target-width, 10rem);
    flex-grow: 1;
    /* background: lightblue; */
  }

  & > :not(:first-child) {
    flex-basis: 0;
    flex-grow: 999;
    min-width: var(--sidebar-content-min-width, 50%);
    /* background: orange; */
  }
}

.with-right-sidebar {
  display: flex;
  flex-wrap: wrap;

  & > :first-child {
    flex-basis: 0;
    flex-grow: 999;
    min-width: var(--sidebar-content-min-width, 50%);
    /* background: lightblue; */
  }

  & > :last-child {
    flex-basis: var(--sidebar-target-width, 10rem);
    flex-grow: 1;
    /* background: orange; */
  }
}

/* ----------------------------------------------------------------------------
 * IMAGE
 * ------------------------------------------------------------------------- */
.image_container {
  font-size: .8125rem;

  .caption {
    color: #393939;
    margin-top: .5em;
    max-width: 100%;
  }
}


/* ----------------------------------------------------------------------------
 * GALLERY
 * ------------------------------------------------------------------------- */
.ce_gallery {
  ul {
    margin: 0;
    padding: 0;
    display: grid;
    grid-gap: var(--gutter-size);
    grid-template-columns: repeat(auto-fill, minmax(var(--listitem-minwidth, 10rem), 1fr));

    &.cols_1 { --listitem-minwidth: 100%; }
    &.cols_2 { --listitem-minwidth: 23.5rem; }
    &.cols_3 { --listitem-minwidth: 17.5rem; }
    &.cols_4 { --listitem-minwidth: 13.75rem; }
    &.cols_5 { --listitem-minwidth: 11.5rem; }
    &.cols_6 { --listitem-minwidth: 9.5rem; }
  }

  figure a {
    background-color: black;
    display: block;
  }

  img {
    opacity: .85;
    transition: opacity .2s;

    &:hover,
    &:focus,
    &:active {
      opacity: 1;
    }
  }
}


/* ----------------------------------------------------------------------------
 * MEDIAPLAYER
 * ------------------------------------------------------------------------- */
.ce_youtube {
    .video_container {
    position: relative;
    width: 100%;
    height: auto;

    & > div {
      aspect-ratio: 16 / 9;
    }
  }

  img,
  iframe {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    border: 0 none;
  }
}

.block .responsive.ratio-169  { aspect-ratio: 16 /  9; }
.block .responsive.ratio-1610 { aspect-ratio: 16 / 10; }
.block .responsive.ratio-219  { aspect-ratio: 21 /  9; }
.block .responsive.ratio-43   { aspect-ratio:  4 /  3; }
.block .responsive.ratio-32   { aspect-ratio:  3 /  2; }


/* ----------------------------------------------------------------------------
 * RSCE CONTENT CONTAINER
 * ------------------------------------------------------------------------- */
.content-container {
  width: 100%;
  max-width: var(--global-width);
  margin-inline: auto;
  padding-inline: var(--gutter-size);
  overflow: hidden;
  position: relative;


  & > * {
    position: relative;
  }

  & > .image_container.bg-image {
    inset: 0;
    position: absolute;

    img {
      inset: 0;
      position: absolute;
      max-width: none;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    &.bg-size-cover img { object-fit: cover; }
    &.bg-size-contain img { object-fit: contain; }
  }

  &.full {
    max-width: 100%;

    & > .full {
      padding-inline: calc(-1 * var(--gutter-size));
    }
  }

  &.narrow {
    max-width: calc(var(--global-width) * .75);
    margin-inline: auto;
    padding-inline: var(--gutter-size);
    overflow: hidden;
  }

  &.narrower {
    max-width: calc(var(--global-width) * .5);
    margin-inline: auto;
    padding-inline: var(--gutter-size);
    overflow: hidden;
  }

  &[class*="align-"] {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    flex-wrap: nowrap;
  }

  /* horizontal alignment */
  &.align-center { align-content: center;  align-items: center; }
  &.align-left   { align-content: flex-start; align-items: flex-start; }
  &.align-right  { align-content: flex-end; align-items: flex-end; }

  /* vertical alignment */
  &.align-top           { justify-content: flex-start; }
  &.align-middle        { justify-content: center; }
  &.align-bottom        { justify-content: flex-end; }
  &.align-space-between { justify-content: space-between; }
  &.align-space-evenly  { justify-content: space-evenly; }
  &.align-space-around  { justify-content: space-around; }
}

.mod_article > .content-container {
  padding-inline: 0;
}



/* ----------------------------------------------------------------------------
 * NEWS
 * ------------------------------------------------------------------------- */

/* News Cards (horizontal teaser boxes)
 * ------------------------------------------------------------------------- */
.mod_newslist.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(275px, 1fr));
  grid-template-rows: 1fr;
  gap: var(--space-3xl) var(--space-xl);
  margin-block-end: var(--space-4xl);

  &:has(:hover) .layout_latest:not(:hover) {
    opacity: 50%;
    transition: opacity .5s ease;
  }

  .layout_latest {
    display: flex;
    flex-direction: column;
    color: var(--color-dark-grey);
    transition: opacity .5s ease;

    & > * + * {
      margin-block-start: var(--flow-space, 1em);
    }

    .image_container {
      overflow: hidden;
      margin-block: 0 var(--space-s);
      border-radius: .25rem;

      img {
        /* max-width: unset;
        flex-shrink: 0;
        min-height: 100%; */
        min-width: 100%;
        aspect-ratio: 4 / 3;
      }
    }

    h2 {
      font-family: var(--font-display);
      font-size: var(--step--1);
      font-weight: 700;
      line-height: 1.5;
      display: flex;
      min-height: 3.5rem;
      align-items: center;

      a:is(:link, :visited) {
        color: var(--color-deep-dark-grey);

        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        display: -webkit-box;
        overflow: hidden;
        text-decoration: none;
      }
    }

    &:hover h2 a:is(:link, :visited) {
      color: var(--color-primary);
      text-decoration: underline;
      text-decoration-color: var(--color-primary);
      text-decoration-thickness: 0.2ex;
      text-underline-offset: 0.1ex;
    }

    .ce_text {
      color: var(--color-deep-dark-grey);
      font-size: var(--step--1);
      font-weight: 400;
      line-height: 1.4;
      min-height: 5rem;
      flex-grow: 666;

      -webkit-box-orient: vertical;
      -webkit-line-clamp: 9;
      display: -webkit-box;
      overflow: hidden;
    }

    .info {
      display: none;
    }

    .more {
      margin-top: var(--space-l);
      font-size: var(--step--2);

      .newscard:hover & {
        color: var(--color-white);
      }
    }
  }
}


/* News details
 * ------------------------------------------------------------------------- */
.mod_newsreader {
  .layout_full {
    display: grid;

    h1 {
      margin-top: 0;
      order: 1;
      margin-bottom: var(--space-l);
    }

    h2 {
      order: 2;
      font-size: var(--step-3);
      max-width: initial;
      margin-top: 0;
      margin-bottom: var(--space-m);
    }

    .info {
      /* text-align: center;
      order: 3; */
      display: none;
    }

    /*
     * All user generated elements get the same (lower) order to sort them
     * below the header
     */
    & > *:not(h1):not(h2):not(.info) {
      order: 4;
    }
  }

  .back {
    margin-block: var(--space-xl) var(--space-3xl);
  }
}


/* ----------------------------------------------------------------------------
 * PAGINATION
 * used for news, events, gallery, etc.
 * ------------------------------------------------------------------------- */
.pagination {
  --pagination-height: 3.25rem;

  margin-block-start: var(--space-l);
  grid-column-start: 1;
  grid-column-end: -1;

  p,
  li:is(.first, .last) {
    display: none;
  }

  & > ul {
    list-style-type: none;
    display: flex;
    justify-content: center;
    gap: var(--gutter-size);
    padding: 0;
  }

  li.previous a,
  li.next a {
    &:is(:link, :visited) {
      background: transparent url(/files/theme/images/arrow-left-circle-primary.svg) no-repeat;
      background-size: contain;
      text-indent: -9999px;
      width: auto;
      height: var(--pagination-height);
      aspect-ratio: 1;
      transition: scale 120ms ease-in-out;
      display: flex;
    }

    &:is(:hover, :focus, :active) {
      scale: 1.2;
      transition: scale 120ms ease-in-out;
    }
  }

  li.next a {
    &:is(:link, :visited) {
      rotate: 180deg;
    }
  }

  li.pages ul {
    list-style-type: none;
    display: flex;
    justify-content: center;
    gap: 0;
    padding: 0;

    li {
      background-color: var(--color-light-grey);

      &:first-child {
        border-radius: calc(var(--pagination-height) / 2) 0 0 calc(var(--pagination-height) / 2);
        padding-inline-start: .5rem;
      }

      &:last-child {
        border-radius: 0 calc(var(--pagination-height) / 2) calc(var(--pagination-height) / 2) 0;
        padding-inline-end: .5rem;
      }

      &:hover {
        /* background-color: var(--color-primary);
        color: var(--color-white); */

        a {
          /* color: var(--color-white); */
          color: var(--color-primary);
          font-size: var(--step-5);
          transition: font-size 120ms ease-in-out;
        }
      }
    }

    strong,
    a:is(:link, :visited) {
      width: 3rem;
      height: 3.25rem;
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 0 .5rem;
      color: currentColor;
      font-size: var(--step-1);
      text-decoration: none;
    }

    strong {
      color: var(--color-primary);
    }
  }
}


/* ----------------------------------------------------------------------------
 * CE TEXT
 * ------------------------------------------------------------------------- */
.ce_text {
  & > p,
  &.line-default > p {
    max-width: 80ch;
  }

  &.line-wide > p {
    max-width: 95ch;
  }

  &.line-full > p {
    max-width: unset;
  }

  &.text-small > p {
    font-size: var(--step--2);
  }

  &.text-large > p {
    font-size: var(--step-1);
  }

  &:where(
    .mt-0, .mt-xxs, .mt-xs, .mt-s, .mt-m, .mt-l, .mt-xl, .mt-xxl,
    .mt-xxs-m, .mt-xs-m, .mt-s-m, .mt-m-m, .mt-l-m, .mt-xl-m, .mt-xxl-m
    ) > p:first-of-type {
    margin-block-start: 0;
  }
}

/* ----------------------------------------------------------------------------
 * RSCE "Text Sidebar Icon"
 * ------------------------------------------------------------------------- */
.ce_rsce_text_sidebar_icon {
  &:is(.with-left-image, .with-right-image) {
    display: flex;
    column-gap: var(--gutter-size);

    .image_container {
      flex-shrink: 0;
    }
  }

  .headline {
    text-transform: none;
  }

  .headline + p {
    margin-top: 0;
  }
}


/* ----------------------------------------------------------------------------
 * CE Download
 * ------------------------------------------------------------------------- */
.ce_download {
  .size {
    display: none;
  }
}

.ce_downloads {
  ul {
    padding-inline: 0;
  }

  li {
    margin-block: .25rem;
  }

  .size {
    display: none;
  }

  a {
    &:is(:link, :visited) {
      background-color: var(--color-primary);
      background-image: linear-gradient(160deg, var(--color-primary), var(--color-primary) 20%, var(--color-primary) 64%, oklch(from var(--color-primary) calc(l * 1.2) c h));
      color: var(--color-white);
      border-radius: 3px;
      padding-block: .5rem;
      padding-inline: .4rem 1rem;
      display: inline-flex;
      align-items: center;
      gap: .25rem;
      text-decoration: none;
      min-width: 235px;
      max-width: 60ch;
    }

    .icon {
      width: 1.75rem;
      aspect-ratio: 1;
      display: inline-block;
      background-image: url('../../files/theme/images/download-icon.svg');
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
      transform: rotate(0deg);
      transition: transform 120ms ease-in-out, background-image 180ms ease-in-out;
      flex-shrink: 0;
    }

    .name {
      line-height: 1.2;
      /* line-break: anywhere; */
      hyphens: auto
    }

    &:is(:hover, :active, :focus) {
      background-image: linear-gradient(180deg, oklch(from var(--color-primary) calc(l * 1) c h), var(--color-primary) 50%, var(--color-primary) 64%, oklch(from var(--color-primary) calc(l * .85) c h));
      /* box-shadow: 0 2px 8px 0 oklch(from var(--color-black) l c h / 0.30); */

      .icon {
        background-image: url('../../files/theme/images/download-icon-fill.svg');
        transform: rotate(-7deg);
        transition: transform 120ms ease-in-out, background-image 180ms ease-in-out;
      }
    }
  }
}

/* ----------------------------------------------------------------------------
 * Hero Section on Homepage
 * ------------------------------------------------------------------------- */

 .homepage-hero {
  min-height: 750px;

  .homepage-headline {
    margin-block-start: 13rem;

    p {
      margin: 0;
    }

    em {
      font-weight: 700;
      font-style: normal;
      display: inline-flex;
      border-radius: 100px;
    }

    p:first-child {
      em {
        font-size: clamp(1.25rem, -0.0625rem + 2.9167vw, 2.5625rem); /* 20@720 -> 41@1440 */
        color: var(--color-white);
        padding-inline: 1.5rem;
        background-color: var(--color-accent1);
      }
    }

    p:last-child {
      line-height: 1.65;
      padding: 2px 0;

      em {
        font-size: clamp(1.5rem, -0.1528rem + 4.7222vw, 3.625rem); /* 24@560 -> 58@1280 */
        color: var(--color-primary);
        padding-inline: clamp(1.5rem, -2.1rem + 16vw, 3.5rem); /* 24@360 -> 56@560 */
        padding-block: .5rem;
        margin-block-start: clamp(0.5rem, -0.4rem + 4vw, 1rem); /* 8@360 -> 16@560 */
        background-color: oklch(from var(--color-accent5) l c h / 0.9);
        line-height: 1.3;
      }
    }
  }
}



/* ----------------------------------------------------------------------------
 * CE Swiper
 * ------------------------------------------------------------------------- */
:root {
  --swiper-navigation-size: 35px;
  --swiper-navigation-color: var(--color-white);
  --swiper-pagination-color: var(--color-white);
}

.ce_swiperStart {
  .swiper-button-next,
  .swiper-button-prev {
    filter: drop-shadow(2px 4px 6px oklch(from var(--color-black) l c h / 0.45));
    font-weight: 700;
    transition: all 120ms ease-in-out;

    &:hover {
      scale: 1.3;
      transition: all 120ms ease-in-out;
      cursor: pointer;
    }
  }

  .swiper-pagination-bullet {
    background: transparent;
    width: 12px;
    height: auto;
    aspect-ratio: 1;
    border: 1px solid oklch(from var(--color-white) l c h / 0.95);

    &.swiper-pagination-bullet-active {
      background: oklch(from var(--color-white) l c h / 0.5);
    }
  }
}

/* ----------------------------------------------------------------------------
 * (A single) Page Teaser Card
 * ------------------------------------------------------------------------- */
.page-teaser {
  position: relative;

  .inside {
    aspect-ratio: 395 / 452;
    border-radius: 30px;
    bottom: 0;
    display: flex;
    flex-direction: column;
    height: auto;
    overflow: hidden;
    position: relative;
    transition: all 240ms ease-in-out;
    width: 100%;
    box-shadow: 2px 2px 10px 0 oklch(from var(--color-black) l c h / 0.25);
  }

  .popover {
    align-items: center;
    background-color: oklch(from var(--color-primary) l c h / 0.5);
    bottom: -5rem;
    color: var(--color-white);
    display: flex;
    font-size: clamp(1rem, 0.462rem + 2.3913vi, 2.375rem);
    font-weight: 700;
    justify-content: center;
    line-height: 1.1;
    min-height: 12rem;
    padding: 1rem;
    position: absolute;
    text-align: center;
    text-wrap: balance;
    transition: all 160ms ease-in-out;
    width: 100%;

    @media (width < 1024px) {
      font-size: var(--step-5);
    }

    .title {
      align-items: center;
      display: flex;
      flex-direction: column;

      &::after {
        aspect-ratio: 1;
        background: transparent url(/files/theme/images/arrow-right-white.svg) no-repeat 0 0;
        content: '';
        display: flex;
        height: auto;
        margin-block: 1.5rem 1rem;
        opacity: 0;
        transition: all 220ms ease-in-out;
        width: 38px;
      }
    }
  }

  a {
    &:is(:link, :visited) {
      inset: 0;
      position: absolute;
      text-indent: -99999px;
      z-index: 10;
    }

    &:is(:hover, :active, :focus) {
      outline: none;

      & ~ .inside {
        bottom: 1.5rem;
        box-shadow: 0 0 10px 7px oklch(from var(--color-white) l c h / 0.75);
        transition: all 320ms ease-in-out;

        .popover {
          background: var(--color-primary);
          bottom: 0;
          transition: all 240ms ease-in-out;
        }

        .title::after {
          opacity: 1;
          transition: all 480ms ease-in-out;
        }
      }
    }
  }
}

/*
 * Variation 1: The Card has more width than height
 */
.page-teaser.variant-horizontal {
  .inside {
    aspect-ratio: 594 / 370;
  }

  .popover {
    min-height: 9rem;
    font-size: var(--step-3);
    padding: .5rem;

    @media (width < 1024px) {
      font-size: var(--step-1);
      bottom: -6rem;
    }

    .title {
      &::after {
        margin-block: .75rem 1.8rem;
      }

      @media (width < 1024px) {
        &::after {
          margin-block: .75rem 3rem;
        }
      }
    }
  }

  a {
    &:is(:hover, :active, :focus) {

      & ~ div {
        bottom: 1.5rem;

        .popover {
          bottom: -1rem;

          @media (width < 1024px) {
            bottom: -3rem;
          }
        }
      }
    }
  }
}

/*
 * Variation 2: The card also has a description text and no shadow
 */
.page-teaser.variant-description {
  .popover {
    flex-direction: column;
  }
}

/*
 * Variation 3: Popover is always shown
 */
.page-teaser.always-show {

  .popover {
    bottom: clamp(-4rem, -4.6923rem + 3.0769vw, -1rem);
    padding-block-start: 1.5rem;
  }

  .title {
    height: 8rem;
    align-items: flex-start;
    width: 80%;

    .line1 {
      font-size: clamp(1rem, 0.8846rem + 0.5128vw, 1.5rem);;
      line-height: 0.8;
      font-weight: var(--font-weight-light);
    }

    .line2 {
      font-size: clamp(1.5rem, 0.8077rem + 3.0769vw, 4.5rem);;
      line-height: 1.3;
      text-indent: -0.06ex;
      text-transform: uppercase;
    }

    &:has(.line3) .line2 {
      font-size: clamp(1.25rem, 0.875rem + 1.6667vw, 2.875rem);;
      line-height: 1;
    }

    .line3 {
      font-size: clamp(1.125rem, 0.9519rem + 0.7692vw, 1.875rem);
      font-weight: var(--font-weight-regular);
      text-transform: uppercase;
    }
  }



  a {
    &:is(:hover, :active, :focus) {

      & ~ .inside {
        box-shadow: 0 0 15px 6px oklch(from var(--color-primary) l c h / 0.3);

        .popover {
          bottom: clamp(-4rem, -4.6923rem + 3.0769vw, -1rem);
          background-color: oklch(from var(--color-primary) l c h / 0.5);
          backdrop-filter: blur(3px);
        }

        .title::after {
          opacity: 0;
        }
      }
    }
  }
}


/* ----------------------------------------------------------------------------
 * List of Page Teaser Cards
 * ------------------------------------------------------------------------- */
.cards-list {
  display: grid;
  gap: var(--space-xl) var(--space-xl);
  grid-template-columns: repeat(auto-fit, minmax(286px, 1fr));
  grid-template-rows: 1fr;
  margin-block-start: 3rem;
  padding-inline-start: 0;
}

/* ----------------------------------------------------------------------------
 * RSCE Page Teaser List
 * ------------------------------------------------------------------------- */
.ce_rsce_page_teaser_list {
  /*
   * show 3 horizontal cards per row
   */
  .cards-list.variant-horizontal {
    grid-template-columns: repeat(auto-fit, minmax(386px, 1fr));
  }
}

/* ----------------------------------------------------------------------------
 * RSCE Career Teaser
 * ------------------------------------------------------------------------- */
.ce_rsce_career_teaser {
  .cards-list {
    column-gap: var(--space-m);
    grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));

    @media(width < 1080px) {
      grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    }

    .page-teaser {
      max-width:620px;
      margin-inline: auto;
    }

    li:first-child .inside {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
    }

    li:last-child .inside {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
    }
  }

  .inside {
    box-shadow: 0 0 0 0 transparent;

    &:not(:has(.image_container)) {
      background: var(--color-primary);
    }

    .popover {
      background: oklch(from var(--color-primary) l c h / 0.25);
      bottom: -2.5rem;
      justify-content: flex-start;
      padding-block-start: 2rem;
      backdrop-filter: blur(2px);


      @media(width < 1280px) {
        bottom: -5.5rem;
      }

      .title {
        flex-direction: row;
        column-gap: 1rem;
        font-size: clamp(1rem, 0.6827rem + 1.4103vi, 2.375rem);
        text-align: right;

        &::after {
          margin-block: 0;
          opacity: 1;
          transition: opacity 240ms ease-in-out;
          flex-shrink: 0;
        }
      }

      .text {
        font-size: var(--step--1);
        font-weight: normal;
        line-height: 1.3;
        margin-block-start: 1rem;
        opacity: 0;
        transition: opacity 240ms ease-in-out;
      }
    }
  }



  a:is(:hover, :active, :focus) ~ .inside {
    box-shadow: 0 0 15px 6px oklch(from var(--color-primary) l c h / 0.3);

    .text {
      opacity: 1;
    }
  }
}






/*
 * Content Container with full width Slider and Page Teasers as Slider elements
 */
.has-slider-full-width {
  --swiper-navigation-size: 73px;
  max-width: 100%;

  & > div:first-child {
    overflow: hidden;
  }

  .ce_swiperStart {
    width: calc(100% + 24rem);
    max-width: calc(100% + 24rem);
    margin-inline: -12rem;
  }

  .swiper-button-next {
    right: 13rem;

    @media (width < 1024px) {
      right: 12.3rem;
    }
  }

  .swiper-button-prev {
    left: 12.3rem;

    @media (width < 1024px) {
      left: 12.3rem;
    }
  }

  .swiper-button-next,
  .swiper-button-prev {
    top: 40%;
  }

  .swiper-wrapper {
    padding-block-start: 2.5rem;
  }
}


/*
 * Content Container with default width Slider and Page Teasers as Slider elements
 */
.has-slider-default-width {
  --swiper-navigation-size: 73px;

  & > div:first-child {
    overflow: hidden;

    & > div {
      width: 100%;
      max-width: var(--global-width);
      margin-inline: auto;
      padding-inline: var(--gutter-size);
      overflow: hidden;
      position: relative;
    }
  }

  .ce_swiperStart {
    width: calc(100% + 24rem);
    max-width: calc(100% + 24rem);
    margin-inline: -12rem;
  }

  .ce_swiperStart:has(.ce_rsce_page_teaser_list) .inside {
    scale: .92;
  }

  .swiper-container {
    overflow: visible
  }

  .swiper-button-next {
    right: 0;
  }

  .swiper-button-prev {
    left: 0;
  }

  .swiper-button-next,
  .swiper-button-prev {
    top: 53%;
  }

  .swiper-wrapper {
    padding-block-start: 2.5rem;
  }

  @media (width < 1024px) {
    .popover {
      font-size: var(--step-5);
    }

    .ce_swiperStart:has(.ce_rsce_page_teaser_list) {
      width: calc(100% + 24rem);
      max-width: calc(100% + 24rem);
      margin-inline: -12rem;
    }

    .ce_rsce_page_teaser_list {
      .swiper-button-next {
        right: 12rem;
      }

      .swiper-button-prev {
        left: 12rem;
      }
    }
  }
}

/* ----------------------------------------------------------------------------
 * Accordeon (Legacy)
 * ------------------------------------------------------------------------- */
/* .ce_accordion {
  .ui-accordion-header {
    color: var(--color-white);
    padding-inline: .7rem;
    padding-block: .45rem;
    font-weight: 600;
    font-size: var(--step-2);
    position: relative;
    display: flex;
    max-width: 60ch;
    flex-direction: row-reverse;
    align-items: center;
    background-color: var(--color-primary);
    border-radius: .625rem;
    transition: background-color 60ms ease-in-out;

    &:is(:hover, :active, :focus) {
      cursor: pointer;
    }

    &.ui-accordion-header-active {
      background-color: var(--color-accent1);
    }
  }

  &:has(.ui-accordion-header-collapsed) .ui-accordion-header:is(:hover) {
    background-color: var(--color-accent2);
  }

  .ui-accordion-header-icon {
    width: 32px;
    height: auto;
    aspect-ratio: 1;
    content: '+';
    z-index: 2;
    flex-shrink: 0;
    background-size: contain;
    transition: background-image 160ms ease-in-out;

    &.ui-icon-triangle-1-e {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='800' viewBox='0 0 32 32'%3E%3Cpath fill='white' fill-rule='evenodd' d='M22 17h-5v5a1.001 1.001 0 0 1-2 0v-5h-5a1.001 1.001 0 0 1 0-2h5v-5a1.001 1.001 0 0 1 2 0v5h5a1.001 1.001 0 0 1 0 2M16 0C7.163 0 0 7.16 0 16s7.163 16 16 16 16-7.16 16-16S24.837 0 16 0'/%3E%3C/svg%3E");
    }

    &.ui-icon-triangle-1-s {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='800' viewBox='0 0 32 32'%3E%3Cpath fill='white' fill-rule='evenodd' d='M22 17H10a1.001 1.001 0 0 1 0-2h12a1.001 1.001 0 0 1 0 2M16 0C7.163 0 0 7.16 0 16s7.163 16 16 16 16-7.16 16-16S24.837 0 16 0'/%3E%3C/svg%3E");
    }
  }

  .ui-accordion-header-text {
    flex-grow: 1;
    z-index: 2;
  }

  .ui-accordion-content {
    max-width: 80ch;
  }
} */



/* ----------------------------------------------------------------------------
 * Accordeon (Handorgel)
 * ------------------------------------------------------------------------- */
.content-accordion {
  .handorgel__header.handorgel__header {
    max-width: 100%;
  }

  .handorgel__header__button {
    padding-inline: .5rem;

    &[aria-expanded="true"],
    &:is(:hover, :active, :focus) {
      color: var(--color-white);
      background-color: var(--color-primary);
    }
  }

  .handorgel__content__inner {
    padding-inline: .5rem;
  }

  .handorgel__content--open + .handorgel__header .handorgel__header__button {
    border-top: 1px solid var(--color-black);
  }
}



/* ----------------------------------------------------------------------------
 * OpenStreetMaps
 * gabelbart/contao-simple-osm-bundle
 * ------------------------------------------------------------------------- */
.mod_openstreetmap_iframe {
  margin-block: 0;

  iframe {
    border-width: 0;
  }
}


/* ----------------------------------------------------------------------------
 * Isotope Quick Products
 * RhymeDigital/isotope_quickproducts
 * ------------------------------------------------------------------------- */
.ce_iso_quickproducts .product {
  .formbody {
    display: grid;
    grid-template-rows: auto 1fr 1fr 1fr;
    grid-template-areas:
      "image"
      "name"
      "price"
      "details";
  }

  h3 {
    grid-area: name;
  }

  .image_container {
    grid-area: image;
  }

  .sku {
    display: none;
  }

  .offer {
    grid-area: price;
  }

  .details {
    grid-area: details;
  }
}

/* ----------------------------------------------------------------------------
 * Isotope Product Listing
 * ------------------------------------------------------------------------- */
.mod_iso_productlist .product_list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(17.5rem, 1fr));
  grid-column-gap: 1.5rem;
  grid-row-gap: 6rem;

  .product .formbody {
    --flow-space: 2rem;

    display: flex;
    flex-direction: column;
    position: relative;
    align-items: center;
  }

  h3 {
    --flow-space: 2rem;

    order: 2;
    font-size: var(--step-3);
  }

  a:is(:link,:visited) {
    text-decoration: none;
  }

  .image_container {
    order: 1;
  }

  .sku {
    display: none;
  }

  .offer {
    --flow-space: .5rem;

    order: 3;
  }

  .details {
    order: 4;
  }
}

/* ----------------------------------------------------------------------------
 * Isotope Product Details
 * ------------------------------------------------------------------------- */
.mod_iso_productreader {
  .with-left-sidebar {
    --sidebar-target-width: 28.125rem;
    --sidebar-content-min-width: 41%;
    column-gap: var(--gutter-size-large);
  }

  .image_container {
    margin-bottom: var(--space-s);
  }

  .main {
    max-width: 65ch;
  }


  h2 {
    margin-top: 0;
    grid-area: name;
  }

  .image_container {
    grid-area: image;
  }

  .sku {
    display: none;
  }

  .offer {
    /* --flow-space: .5rem; */
    grid-area: offer;

    .price {
      font-size: var(--step-3);
      color: var(--color-primary);
      font-weight: var(--font-weight-bold);
    }
  }

  .description {
    grid-area: description;
  }

  .options {
    /* --flow-space: .5rem; */

    grid-area: options;
  }

  .submit_container {
    grid-area: submit;
    display: flex;
    column-gap: var(--gutter-size);
  }

  .quantity_container {
    flex-grow: 1;
    flex-basis: 4rem;

    label {
      display: none;
    }
    input {
      height: 100%;
    }
  }

  .submit.add_to_cart {
    flex-grow: 20;
  }

  .back {
    margin-top: var(--space-3xl);
  }
}


/* ----------------------------------------------------------------------------
 * Isotope Cart
 * ------------------------------------------------------------------------- */
.mod_iso_cart .formbody {
  overflow-x: auto;
  margin-block-start: var(--space-l);
}

.mod_iso_cart table {
  width: 100%;
  /* max-width: 87.5ch; */
  font-size: var(--step-0);
  border-collapse: collapse;
  /* margin-inline: auto; */

  /*
   * tbody
   * --------------------------------------------------------------------------
   */
  tbody tr td {
    text-align: end;
    padding: 0.25rem 0.75rem;

    &.image {
      @media(width < 500px) {
        display: none;
      }
    }

    &.name {
      min-width: 15ch;
    }

    &.quantity {
      min-width: 9ch;
      max-width: 5.5rem;
    }

    &.price:not(.total) {
      display: none;
    }

    &.price.total {
      font-weight: var(--font-weight-semibold);
    }

    &.actions {
      word-break: auto-phrase;
      text-align: center;

      a {
        display:block;
      }
    }
  }

  tbody tr + tr td {
    border-top: 3px solid var(--color-light-grey);
  }

  /*
   * tfoot
   * --------------------------------------------------------------------------
   */
  tfoot tr td {
    text-align: end;
    padding: 0.25rem 0.75rem;
    font-size: var(--step--1);

    &:first-child {
      @media(width < 500px) {
        display: none;
      }
    }

    &.price:not(.total) {
      display: none;
    }
  }

  tfoot tr:first-of-type td,
  tfoot tr:last-of-type td {
    border-top: 3px solid var(--color-medium-grey);
  }

  tfoot tr:last-of-type td {
    font-size: var(--step-1);
    font-weight: var(--font-weight-semibold);
  }

  tfoot tr + tr td {
    border-top: 3px solid var(--color-light-grey);
  }

  /*
   * content in cells
   * --------------------------------------------------------------------------
   */
  ul {
    margin: 0;
  }

  .image_container {
    min-width: 100px;
  }
}


.mod_iso_cart .submit_container {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: var(--gutter-size);
  /* max-width: 87.5ch; */
  margin-block-start: 4rem;
  /* margin-inline: auto; */

  @media(width < 500px) {
    flex-direction: column-reverse;
  }
}


/* ----------------------------------------------------------------------------
 * Isotope Checkout (General)
 * ------------------------------------------------------------------------- */
.mod_iso_checkout {
  --checkout-max-width: 87.5ch;
}

.mod_iso_checkout .steps {
  color: var(--color-white);

  ol {
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
    list-style-type: none;
    padding-left: 0;
    border-radius: min(100px,4vw);
    overflow: hidden;
  }

  li {
    flex-grow: 1;
    flex-basis: 100px;
    text-align: center;

    &:last-child {
      flex-basis: 190px;
    }
  }

  a:is(:link, :visited),
  span:not(.invisible) {
    font-size: var(--step-up-00);
    color: inherit;
    display: block;
    padding: .85rem 0;
    text-decoration: none;
    background: var(--color-primary);
  }

  :is(a,span):is(:hover, :active, :focus),
  li.active span {
    background: var(--color-secondary);
    color: black;
  }
}

.mod_iso_checkout .empty.message {
  margin-block-end: var(--space-6xl);
}

/* ----------------------------------------------------------------------------
 * Isotope Checkout (Address)
 * ------------------------------------------------------------------------- */
.mod_iso_checkout #iso_mod_checkout_address {
  max-width: var(--checkout-max-width);
  margin: var(--space-2xl) auto 0;

  .formbody {
    /* display: flex;
    flex-wrap: wrap;
    gap: var(--gutter-size); */
  }

  .address_new {
    display: grid;
    gap: var(--gutter-size);
    grid-template-areas:
      "firstname lastname company"
      "street zip location"
      "phone mail .";

    @media(width < 640px) {
      grid-template-areas:
        "firstname lastname"
        "company company"
        "street zip"
        "location location"
        "mail mail"
        "phone phone";
    }

    .widget:nth-child(1) { grid-area: firstname; }
    .widget:nth-child(2) { grid-area: lastname; }
    .widget:nth-child(3) { grid-area: company; }
    .widget:nth-child(4) { grid-area: street; }
    .widget:nth-child(5) { grid-area: zip; }
    .widget:nth-child(6) { grid-area: location; }
    .widget:nth-child(7) { grid-area: phone; }
    .widget:nth-child(8) { grid-area: mail; }
  }

  .shippingaddress {
    margin-block-start: var(--space-2xl);
  }
}


/* ----------------------------------------------------------------------------
 * Isotope Checkout (Shipping)
 * ------------------------------------------------------------------------- */
.mod_iso_checkout #iso_mod_checkout_shipping {
  max-width: var(--checkout-max-width);
  margin: var(--space-2xl) auto 0;
}


/* ----------------------------------------------------------------------------
 * Isotope Checkout (Payment)
 * ------------------------------------------------------------------------- */
.mod_iso_checkout #iso_mod_checkout_payment {
  max-width: var(--checkout-max-width);
  margin: var(--space-2xl) auto 0;
}


/* ----------------------------------------------------------------------------
 * Isotope Checkout (Summary aka Last step)
 * ------------------------------------------------------------------------- */
.mod_iso_checkout .review.orderinfo {
  max-width: var(--checkout-max-width);
  margin: var(--space-2xl) auto var(--space-xl);
  display: grid;
  gap: 1rem;
  grid-template-rows: auto;
  grid-template-areas:
    "title title"
    "introtext introtext"
    "billing_address shipping_address"
    "shipping_method payment_method";

  @media(width < 666px) {
    grid-template-areas:
      "title"
      "introtext"
      "billing_address"
      "shipping_method"
      "payment_method";

    &:has(.shipping_address) {
      grid-template-areas:
        "title"
        "introtext"
        "billing_address"
        "shipping_address"
        "shipping_method"
        "payment_method";
    }
  }

  h2 {
    grid-area: title;
  }

  p {
    grid-area: introtext;
    margin-block-end: var(--space-l);
  }

  .billing_address {
    grid-area: billing_address;
  }

  .shipping_address {
    grid-area: shipping_address;
  }

  .shipping_method {
    grid-area: shipping_method;
  }

  .payment_method {
    grid-area: payment_method;
  }

  .info_container {
    background: var(--color-light-grey);
    border-radius: 35px;
    padding: 1.5rem 2rem;
    display: flex;
    flex-direction: column;

    & > * {
      margin-block-start: var(--flow-space, 1em);
    }

    h3 {
      --flow-space: 0;
    }

    .edit {
      order: 3;
      --flow-space: 2rem;
    }
  }
}

.mod_iso_checkout .review.orderproducts {
  overflow-x: auto;
}

.mod_iso_checkout table {
  width: 100%;
  max-width: 87.5ch;
  font-size: var(--step-0);
  border-collapse: collapse;
  margin-inline: auto;

  /*
   * tbody
   * --------------------------------------------------------------------------
   */
  tbody tr td {
    text-align: end;
    padding: 0.25rem 0.75rem;

    &:last-child {
      font-weight: var(--font-weight-semibold);
    }

    &.image {
      @media(width < 500px) {
        display: none;
      }
    }

    &.price:not(.total) {
      display: none;
    }

    &.quantity {
      min-width: 5ch;
    }
  }

  tbody tr + tr td {
    border-top: 3px solid var(--color-light-grey);
  }

  /*
   * tfoot
   * --------------------------------------------------------------------------
   */
  tfoot tr td {
    text-align: end;
    padding: 0.25rem 0.75rem;
    font-size: var(--step--1);

    &:first-child {
      @media(width < 500px) {
        display: none;
      }
    }

    &.price:not(.total) {
      display: none;
    }
  }

  tfoot tr:first-of-type td,
  tfoot tr:last-of-type td {
    border-top: 3px solid var(--color-medium-grey);
  }

  tfoot tr:last-of-type td {
    font-size: var(--step-1);
    font-weight: var(--font-weight-semibold);
  }

  tfoot tr + tr td {
    border-top: 3px solid var(--color-light-grey);
  }

  /*
   * content in cells
   * --------------------------------------------------------------------------
   */
  ul {
    margin: 0;
  }

  .image_container {
    min-width: 100px;
  }
}

.mod_iso_checkout .submit_container {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: var(--gutter-size);
  max-width: 87.5ch;
  margin-block-start: 4rem;
  margin-inline: auto;

  @media(width < 500px) {
    flex-direction: column-reverse;
  }
}

/* ----------------------------------------------------------------------------
 * CE Hero
 * nutshell-framework/hero-element
 * ------------------------------------------------------------------------- */
.ce_hero {
  max-width: 100%; /*calc(var(--global-width) + 720px);*/
  margin-inline: auto;  
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  max-height: 860px;

  .inner {
    display: flex;
    justify-content: center;
  }

  .hero__content {
    max-width: var(--global-width);
    position: absolute;
    width: 100%;
    height: 100%;
    color: var(--color-white);
    display: flex;
    align-items: center;
    padding-inline: var(--gutter-size);
    padding-block-end: 3rem;
  }

  :is(.hero__text, .hero__headline) {
    color: inherit;
    text-shadow: 4px 4px 2px rgb(0 0 0 / 50%);
    margin-block-start: 5vw;
  }

  .hero__description p {
    font-size: var(--text-size-h2);
    font-weight: var(--font-weight-bold);
    margin-block-start: 1.2rem;
    line-height: 1.4;
  }
}

/* ----------------------------------------------------------------------------
 * Oveleon Cookiebar
 * ------------------------------------------------------------------------- */
.cc-groups button.cc-focus:is(:hover, :focus, :active) {
  color: white;
}
/*
 * 300 = light
 * 400 = regular
 * 500 = medium
 * 600 = semibold
 * 700 = bold
 */

/* montserrat-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  src: url('../../files/theme/fonts/montserrat-v31-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-300italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 300;
  src: url('../../files/theme/fonts/montserrat-v31-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('../../files/theme/fonts/montserrat-v31-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 400;
  src: url('../../files/theme/fonts/montserrat-v31-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  src: url('../../files/theme/fonts/montserrat-v31-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-500italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 500;
  src: url('../../files/theme/fonts/montserrat-v31-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url('../../files/theme/fonts/montserrat-v31-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 600;
  src: url('../../files/theme/fonts/montserrat-v31-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url('../../files/theme/fonts/montserrat-v31-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 700;
  src: url('../../files/theme/fonts/montserrat-v31-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
