/*
  Name: all.css
  Author: esense GmbH, Basel, Switzerland
  http://www.esense.ch
*/

/* ---   --- */

/* include */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

html {
font-size: 62.5%;
line-height: 100%;
-webkit-text-size-adjust: 100%;
}

* {
box-sizing: border-box;
}

body {
margin: 0;
}

main {
display: block;
}

menu {
margin: 0;
padding: 0;
list-style-type: none;
}

hr {
box-sizing: content-box;
height: 0;
overflow: visible;
}

pre {
font-family: monospace, monospace;
font-size: 1rem;
}

a {
background-color: transparent;
}

.accordion-button span,
.accordion-button,
.tab-button span {
outline: none;
box-shadow: none;
border: none;
cursor: pointer;
}

h1, h2, h3, h4 {
margin: 0;
}

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

code,
kbd,
samp {
font-family: monospace, monospace;
font-size: 1rem;
}

small {
font-size: 1rem;
}

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

sub {
bottom: -0.25em;
}

sup {
top: -0.5em;
}

img {
border-style: none;
}

figure {
margin: 0;
}

button,
input,
optgroup,
select,
textarea {
font-family: inherit;
font-size: 100%;
line-height: 1.3rem;
margin: 0;
padding: 0;
border: none;
}

button,
input {
overflow: visible;
}

button,
select {
text-transform: none;
}

select {
border-radius: 0;
-webkit-appearance: none;
}

button,
[type="button"],
[type="reset"],
[type="number"],
[type="submit"] {
-webkit-appearance: button;
background-color: transparent;
border-radius: 0;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: none;
}

fieldset {
padding: 0;
}

legend {
box-sizing: border-box;
color: inherit;
display: table;
max-width: 100%;
padding: 0;
white-space: normal;
}

progress {
vertical-align: baseline;
}

textarea {
overflow: auto;
}

[type="checkbox"],
[type="radio"] {
box-sizing: border-box;
padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}

[type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
outline: none;
}

[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}

::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}

details {
display: block;
}

summary {
display: list-item;
}

template {
display: none;
}

[hidden] {
display: none;
}

[class*="tab-"][hidden] {
display: none !important;
}

/* animation */
.loading *,
.resizing * {
transition: none !important;
}.form fieldset .checkbox-fieldset .form-item.active label:after,
.form fieldset fieldset .item-head:after,
.form fieldset .star-button.next-star:before,
* {
font-family: 'IBM Plex Sans', sans-serif;
font-weight: 400;
}

.form fieldset .checkbox-fieldset .form-item label,
#quote .bold,
#quote .bold em,
#menu li:not(.size-l):not(.size-m) span,
#sub-menu li:not(.current) span,
#logo * {
font-weight: 500;
}


.tab-group .tab-header .tab-counter,
.tab-group .tab-header .tab-counter *,
.total-price-checkbox .form-item > div.control-wrap,
.total-price-checkbox .form-item > div.control-wrap *,
.form fieldset .button-wrapper .submit,
.form .item-head,
.form .standard label,
.form fieldset fieldset.bulb-fieldset .item-head,
.form fieldset fieldset.quote-fieldset .item-head,
#esense-form fieldset > p,
#esense-form fieldset > li,
.form fieldset label span:first-of-type,
.form fieldset .star-button.next-star,
.form fieldset .button.prev-fieldset,
.form fieldset .button.next-fieldset,
.star-fieldset .price-wrapper *,
.star-selector .star-set,
[data-id="star-counter"] *:not(input),
#sub-menu li.active a *,
.text-wrap strong,
.text-wrap strong *,
.text-wrap * strong,
#sub-menu .toggle *,
#quote .bold .title,
#quote time,
#quote time *,
#quote .title,
.title,
.title-wrap * {
font-weight: 600;
}

#quote em {
font-style: italic;
}

#esense-form .title,
#logo *:not(img) {
font-size: 2.4rem;
line-height: 2.8rem;
}

.large-box .event * {
font-size: 2.4rem;
line-height: 3.2rem;
}


input#basketTotalPrice,
.total-price-checkbox .form-item > div.control-wrap,
.form fieldset .button-wrapper .submit,
.form .item-head,
.form fieldset .button.prev-fieldset,
.form fieldset .button.next-fieldset,
form .star-fieldset .price-wrapper *,
form .star-selector .select-type .star-set,
.title-text-small.link-box .link .title-wrap *,
.text-wrap *,
.title-wrap * {
font-size: 2.4rem;
line-height: 3.6rem;
}

#home-template #menu li span,
#sub-menu li span {
font-size: 3.6rem;
line-height: 4rem;
}

.form fieldset .star-button.next-star,
.link-box .link span,
#sub-menu li:not(.current) span,
#menu li span,
#home-template #menu li.size-s span {
font-size: 1.8rem;
line-height: 2rem;
}

.form fieldset .checkbox-fieldset .form-item label,
.form fieldset fieldset.bulb-fieldset .item-head,
.form fieldset fieldset.quote-fieldset .item-head,
#esense-form p,
.title-text-small.link-box .link *,
.event-box > .text-wrap *,
.event * {
font-size: 1.8rem;
line-height: 2.4rem;
}


.total-price-checkbox .form-item legend,
.form .standard label,
.form fieldset.quote-fieldset .price-tag,
.form fieldset.bulb-fieldset .price-tag,
.form fieldset label span,
#footer .text-wrap *,
.text-box .box .title-wrap *,
.text-box .box .text-wrap *,
.tab-group .tab .text-wrap *,
.tab-group .tab-header .tab-counter,
.tab-group .tab-header .tab-counter *,
#quote *,
.link-box .text-wrap * {
font-size: 1.6rem;
line-height: 2rem;
}

#sub-menu li.quote > span:first-child,
#sub-menu li.quote > span:first-child *,
#language * {
font-size: 1.4rem;
line-height: 1.8rem;
}

#footer .address * {
font-style: normal;
}/* base */
html {
overflow-y: scroll;
overflow-x: hidden;
width: 100%;
font-family: sans-serif;
background-color: #f0f0f0;
min-height: 100vh;
scroll-behavior: smooth;
}

html[class*="open-"] {
overflow: hidden;
}

html[class*="open-"]:not(.no-mouse) {
padding-right: 15px;
}

body {
min-height: 100vh;
position: relative;
width: 100%;
display: table;
}

a {
text-decoration: none;
}

p, ul, ol {
padding: 0;
margin: 0;
}

ul, ol {
list-style: none;
}

* {
color: #3b3b3b;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
font-smoothing: antialiased;
}

img {
max-width: 100%;
width: 100%;
height: auto;
max-height: 100%;
}

.trans {
background-color: transparent !important;
}

/* grid */
#container {
position: relative;
float: left;
width: 100%;
}

.wrapper {
max-width: 120rem;
padding: 0 1.6rem;
}

.wrapper:not(#header) {
margin: 1px 0;
}

article > * {
padding: 0 1px 2px 1px;
}

article > * > * {
background-color: #fff;
}

*[class*="col-grid-"] {
position: relative;
display: grid;
grid-template-rows: auto;
width: 100%;
column-gap: 0;
-webkit-column-gap: 0;
}

.col-grid-8 {
grid-template-columns: repeat(8, 1fr);
}

.col-grid-6 {
grid-template-columns: repeat(6, 1fr);
}

.col-grid-5 {
grid-template-columns: repeat(5, 1fr);
}

.col-grid-4 {
grid-template-columns: repeat(4, 1fr);
}

.col-grid-3 {
grid-template-columns: repeat(3, 1fr);
}

.col-flow-2 {
columns: 2;
column-fill: balance;
column-gap: 0;
-webkit-column-gap: 0;
}

/* header */
#header {
padding-top: 1.6rem;
}

#header #logo {
grid-column: 1 / 7;
grid-row: 1;
display: flex;
align-items: flex-start;
align-content: flex-start;
width: 100%;
margin-bottom: 4.6rem;
}

#header #logo > * {
order: 2;
}

#header #logo img {
order: 1;
width: 7.8rem;
margin-right: 6.6rem;
}

#header #logo *:not(img) {
color: #007750;
width: 32rem;
}

/* language */
#header #language {
grid-column: 8 / 9;
grid-row: 1;
display: block;
text-align: right;
position: relative;
padding-top: 1rem;
}

#header #language > div {
display: none;
position: absolute;
top: 0;
right: 0;
z-index: 10;
border: 1px solid #3b3b3b;
background-color: #f0f0f0;
width: auto;
float: left;
}

#header #language > div a {
width: 100%;
padding: 1rem;
border-bottom: 1px solid #3b3b3b;
float: left;
text-align: left;
transition: background-color 0.34s ease-out;
}

#header #language:hover > div a.active:last-child,
#header #language:hover > div a:last-child:hover,
#header #language > div a:last-child {
border-bottom: none;
}

#header #language:hover > div {
display: inline-block;
}

#header #language:hover > div a.active,
#header #language:hover > div a:hover {
background-color: #3b3b3b;
color: #fff;
border-bottom: 1px solid #f0f0f0;
}

#header #language > span {
position: relative;
}

#header #language > span > span {
cursor: pointer;
padding: 1rem 4.5rem 1rem 0;
}

#header #language > span:after {
content: "";
position: absolute;
top: -0.4rem;
right: 0;
width: 2.2rem;
height: 2.3rem;
float: left;
border: 1px solid #3b3b3b;
border-radius: 50%;
pointer-events: none;
}

#header #language > span > span:after {
content: "";
position: absolute;
top: -0.4rem;
right: 0.7rem;
width: 0.8rem;
height: 2.3rem;
float: left;
border: 1px solid #3b3b3b;
border-radius: 50%;
pointer-events: none;
}

#header #language > span > span:before {
content: "";
position: absolute;
top: 0.8rem;
right: 0;
width: 2.4rem;
height: 0.1rem;
float: left;
background-color: #3b3b3b;
pointer-events: none;
}

/* menu */
#header #menu {
grid-column: 1 / 9;
grid-row: 2;
}

#sub-menu ul,
#menu ul {
margin: 0;
padding: 0;
list-style: none;
}

#menu ul li > .toggle,
#menu ul li > ul {
display: none;
}

#sub-menu ul li:not(.quote),
#menu ul li {
position: relative;
padding-bottom: 100%;
width: 100%;
float: left;
}

#sub-menu ul li:not(.current) {
padding-bottom: 0;
}

#sub-menu ul li.current span {
max-width: 80%;
}

#menu ul li.space {
grid-column: span 2;
padding: 0 0 50%;
}

#sub-menu ul.bg-image li a,
#menu ul li.bg-image a {
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
}

#sub-menu ul.bg-image li.current a,
#menu ul li.bg-image.size-m a {
background-size: 200% auto;
background-position: 100% 100%;
}

#home-template #menu ul li.bg-image.size-s a,
html:not(#home-template) #menu ul li.bg-image a {
background-size: 400% auto;
background-position: 65% 90%;
}

#sub-menu ul.bg-image li.current a *,
#sub-menu ul.bg-color li a *,
#menu ul li.bg-color a * {
color: #fff;
}

/*#menu ul li.bg-color a,*/
#sub-menu ul.bg-color li a {
background-color: var(--customColor);
}

#sub-menu ul li.current.active a {
cursor: default;
}

#sub-menu ul li.current.active a:hover svg {
display: none;
}

#sub-menu ul.bg-image li.current:not(.active) a svg * {
fill: #fff !important;
}

#sub-menu ul.bg-image li.current:not(.active) a:hover svg * {
fill: var(--customColor) !important;
}

#sub-menu ul.bg-image li.current:not(.active) a:hover svg {
background-color: #fff !important;
}

#sub-menu ul.bg-image:not(.custom-color) li:not(.current) a:hover svg {
background-color: #3b3b3b;
}

/* menu content pages */
#menu ul.flex-grid {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: flex-start;
align-content: flex-start;
}

#menu ul.flex-grid li {
width: 12.5%;
padding-bottom: 12.5%;
position: relative;
}

#menu ul.flex-grid li.active a {
opacity: 0;
pointer-events: none;
}

html:not(.open-menu) #menu ul.flex-grid li.active + li:after {
content: "";
position: absolute;
top: 1px;
left: calc(-100% + 1px);
height: calc(100% - 2px);
width: calc(100% - 2px);
background-color: #fafafa;
pointer-events: none;
}

html:not(.open-menu) #menu ul.flex-grid li.active:last-child:after {
content: "";
position: absolute;
top: 1px;
left: 1px;
height: calc(100% - 2px);
width: calc(100% - 2px);
background-color: #fafafa;
pointer-events: none;
}

#menu ul.flex-grid li.custom-color a span {
color: inherit;
}

#menu ul.flex-grid li.custom-color a:hover svg:first-of-type,
#menu ul.flex-grid li.custom-color a svg:last-of-type {
opacity: 0;
}

#menu ul.flex-grid li.custom-color a:hover svg:last-of-type {
opacity: 1;
}

#menu ul.flex-grid li.bg-image a span {
color: #fff;
}

#menu ul.flex-grid li.bg-image a svg:first-of-type * {
fill: #fff;
}

#menu ul.flex-grid li.bg-image a:hover svg:first-of-type * {
fill: #3b3b3b;
}

#menu ul.flex-grid li.bg-image a:hover svg:first-of-type {
background-color: #fff;
}

#menu ul.flex-grid li.bg-color a:hover svg:last-of-type {
opacity: 0;
}

#sub-menu li a,
#menu ul li a {
position: absolute;
top: 1px;
left: 1px;
width: calc(100% - 2px);
height: calc(100% - 2px);
display: block;
background-color: #fafafa;
}

#sub-menu li.current {
margin-bottom: 1px;
}

#sub-menu li.current a {
top: 0;
left: 0;
width: 100%;
height: 100%;
}

#sub-menu li.active a {
background-color: #fff;
}

#sub-menu li:not(.current) a {
position: relative;
top: 0;
left: 0;
width: auto;
height: auto;
margin: 1px 0;
}

/*#menu ul li[class*="custom-"] a span,*/
#sub-menu ul[class*="custom-"] li a span {
color: var(--customColor);
}

#sub-menu ul[class*="custom-"].bg-color li a span {
color: #fff;
}

#sub-menu ul[class*="custom-"].bg-color li a:hover svg {
color: #fff;
}

.image-wrap a svg,
a.link-box svg,
#sub-menu li a svg,
#menu ul li a svg {
position: absolute;
bottom: 2%;
right: 2%;
width: 30%;
/*height: 30%;*/
max-width: 3.5rem;
max-height: 3.5rem;
float: left;
border-radius: 50%;
padding: 0.6rem;
}

#menu ul li.size-s a svg {
bottom: 8%;
right: 8%;
}

#content-template #menu ul li.size-s a svg {
bottom: 4%;
right: 4%;
}

#sub-menu li a svg {
bottom: 4%;
right: 4%;
}

.image-wrap a svg,
a.link-box svg {
width: 3.5rem;
height: 3.5rem;
bottom: 1.6rem;
left: 100%;
right: auto;
margin-left: -5.1rem;
}

.image-wrap a svg {
left: auto;
right: 1.6rem;
margin-left: 0;
}

#menu ul li.size-m a svg {
bottom: 4%;
right: 4%;
}

#home-template #menu ul li.size-m a span {
max-width: 80%;
}

#menu ul li.size-l a svg {
bottom: 2%;
right: 2%;
}

#sub-menu li a svg {
max-width: 3.5rem;
width: 3.5rem;
height: 3.5rem;
}

#sub-menu li:not(.current) a svg {
bottom: auto;
right: 4%;
top: 50%;
transform: translateY(-50%);
}

#sub-menu li.active a svg {
opacity: 0;
}

#sub-menu li.active a:hover svg {
opacity: 1;
}

#sub-menu li a svg *,
#menu ul li a svg * {
fill: #3b3b3b;
}

#sub-menu ul:not(.custom-color) li.active a:hover {
background-color: #fafafa;
}

#sub-menu ul:not(.custom-color) li.active.current a:hover {
background-color: #fff;
}

#sub-menu ul:not(.custom-color) li a:hover {
background-color: #fafafa;
}

sub-menu li a:hover svg,
#menu ul li a:hover svg {
background-color: #3b3b3b;
opacity: 1;
}

#sub-menu li a:hover svg *,
#menu ul li a:hover svg * {
fill: #fff;
}

#sub-menu ul.bg-color li a svg *,
#menu ul li.bg-color a svg * {
fill: #fff;
}

#sub-menu ul li a:hover svg {
background-color: #3b3b3b;
}

#sub-menu ul.bg-color li a:hover svg,
#menu ul li.bg-color a:hover svg {
background-color: #fff;
}

/*#menu ul li[class*="custom-"] a:hover svg,*/
#sub-menu ul[class*="custom-"] li a:hover svg {
background-color: var(--customColor);
}

/*#menu ul li[class*="custom-"] a:hover svg *,*/
#sub-menu ul[class*="custom-"] li a:hover svg * {
fill: #fff !important;
}

/*#menu ul li.bg-color a:hover svg *,*/
#sub-menu ul.bg-color li a:hover svg * {
fill: var(--customColor);
}

#sub-menu ul.bg-color li a svg *,
#menu ul li.bg-color a svg * {
fill: #fff;
}

#sub-menu ul[class*="custom-"].bg-color li a:hover svg {
background-color: #fff;
}

#sub-menu ul.bg-color:not(.custom-color) li a:hover svg * {
fill: #3b3b3b;
}

#sub-menu ul.bg-color.custom-color li a:hover svg * {
fill: var(--customColor) !important;
}

#menu ul li.space a {
width: calc(50% - 2px);
left: calc(50% + 1px);
}

#sub-menu li span,
#menu li span {
padding: 1.8rem 1.5rem;
display: inline-block;
max-width: 100%;
}

#sub-menu li span {
overflow: hidden;
text-overflow: ellipsis;
}

/* menu home */
#home-template #menu ul li.custom-color a:hover svg:first-of-type,
#home-template #menu ul li.custom-color svg:last-of-type {
opacity: 0;
}

#home-template #menu ul li.custom-color a:hover svg:last-of-type {
opacity: 1;
}

#home-template #menu ul li.custom-color a:hover svg:last-of-type {
opacity: 1;
}

#home-template #menu ul li.bg-image svg * {
fill: #fff;
}

#home-template #menu ul li.bg-image a:hover svg {
background-color: #fff;
}

#home-template #menu ul li.bg-color a svg * {
fill: #fff;
}

#home-template #menu ul li.bg-image a:hover svg * {
fill: #3b3b3b;
}

#home-template #menu ul li.bg-color a:hover svg:first-of-type {
opacity: 1;
}

#home-template #menu ul li.bg-color a:hover svg:last-of-type {
opacity: 0;
}

/* size */
#home-template #menu ul .size-m {
grid-column: span 2;
}

#home-template #menu ul .size-l {
grid-column: span 4;
}

#home-template #menu ul {
grid-template-rows: repeat(4, 1fr);
}

#home-template #menu ul li:nth-of-type(1) {
grid-row: 1 / 3;
}

#home-template #menu ul li:nth-of-type(2) {
grid-row: 3 / 5;
}

#home-template #menu ul li:nth-of-type(3) {
grid-row: 1 / 5;
}

#home-template #menu ul.grid-7 li:nth-of-type(6),
#home-template #menu ul li:nth-of-type(4),
#home-template #menu ul li:nth-of-type(5),
#home-template #menu ul.grid-8 li:nth-of-type(6),
#home-template #menu ul.grid-8 li:nth-of-type(7) {
grid-row: 2;
}

#home-template #menu ul.grid-7 li:nth-of-type(4),
#home-template #menu ul.grid-8 li:nth-of-type(4),
#home-template #menu ul.grid-8 li:nth-of-type(5) {
grid-row: 1;
}

#home-template #menu ul li:last-of-type {
grid-row: 3 / 5;
}

#home-template #menu li.size-l span {
max-width: 50%;
margin: 50% 0 0 50%;
}

/*#home-template #menu .custom-color svg * {*/
/*fill: inherit !important;*/
/*}*/

#home-template #menu .custom-color a:hover svg * {
fill: #fff !important;
}

#home-template #menu .custom-color span {
color: inherit !important;
}

#home-template #menu .bg-image span {
color: #fff !important;
}

/* stage (content header) */
#stage {
    grid-column: 3 / 9;
    grid-row: 1;
    margin-bottom: 6.4rem;
}

#home-template #stage {
    margin-bottom: 14.8rem;
}

#home-template #stage {
grid-column: 1 / 7;
}

#stage > [class*="col-grid-"] {
padding: 8.4rem;
}

#home-template #stage > [class*="col-grid-"] {
padding: 12rem 1.6rem 16rem 1.6rem;
}

#stage > [class*="col-grid-"] > .title-wrap {
grid-column: 1 / 3;
grid-row: 1;
}

#stage > [class*="col-grid-"] > .text-wrap {
grid-column: 3 / 7;
}

#stage.image-bottom > [class*="col-grid-"] > .text-wrap {
grid-row: 2;
}

#stage > [class*="col-grid-"] > .image-wrap {
grid-column: 1 / 3;
}

#stage.image-bottom > [class*="col-grid-"] > .image-wrap {
grid-row: 4;
}

#stage.image-top > [class*="col-grid-"] > .image-wrap {
grid-row: 2;
}

#stage.has-image > [class*="col-grid-"] > * {
grid-column: 1 / 7;
}

#home-template #stage.has-box > [class*="col-grid-"].trans,
#stage.has-box > [class*="col-grid-"].trans {
padding: 0;
margin-top: -7rem;
}

#stage.has-box > [class*="col-grid-"]:not(.trans) {
padding-bottom: 16rem;
}

#stage.has-box > .trans > .box {
margin: 0 8.4rem 0 -6rem;
grid-column: 3 / 7;
padding: 2rem 1.6rem;
background-color: #fafafa;
border: 2px solid var(--customColor);
min-height: 100%;
grid-row: 1;
}

#stage.has-box > .trans > .link-box {
    margin: -16rem 0 0 calc(-100% + 6.4rem);
    grid-column: 1 / 3;
    padding: 1.6rem;
    background-color: #fff;
    min-height: 100%;
    grid-row: 2;
    position: relative;
    width: calc(150% - 4.4rem);
}

#stage.has-box > .trans > a.link-box .text-wrap:nth-last-child(2) {
    padding-bottom: 5.2rem;
}

#stage.has-box a.link-box figure:first-child + svg:last-child {
    bottom: 3.2rem;
    left: calc(100% - 1.6rem);
}

#stage.has-box a.link-box figure:first-child + svg:last-child * {
    fill: #fff;
}

#home-template #stage.has-box > .trans > .link-box {
margin: -16rem -50% 0 6.4rem;
grid-column: 5 / 7;
padding: 1.6rem;
background-color: #fff;
min-height: 100%;
grid-row: 2;
width: 150%;
}

#home-template #stage.has-box > .trans > .box {
margin: 0 0 0 6.4rem;
grid-column: 1 / 5;
}

#stage.square-box > [class*="col-grid-"]:not(.trans):after,
#stage.has-box > .trans > .box.square-box:before,
#stage.has-box > .trans > .link-box.square-box:before {
content: "";
width: 100%;
position: relative;
padding-bottom: calc(100% - 3.2rem);
margin-right: -100%;
float: left;
clear: both;
z-index: -1;
opacity: 0;
background-color: transparent;
pointer-events: none;
}

#stage.has-box > .trans > .link-box.square-box:before {
padding-bottom: 100%;
}

#stage.square-box > [class*="col-grid-"]:not(.trans):after {
grid-column: 1 / 7;
margin-top: 0;
grid-row: 1;
padding-bottom: calc(100% - 8.4rem);
}

#stage:not(.has-image) > [class*="col-grid-"]:not(.trans) * {
grid-row: 1;
}

#stage.has-image .image-wrap {
margin: 3.2rem -8.4rem 3.2rem 0;
}

#home-template #stage.has-image .image-wrap {
margin-right: 0;
}

#stage.has-image.image-top .image-wrap {
margin-top: 5rem;
}

#home-template #stage .link-box .image-wrap,
#stage .link-box .image-wrap {
margin-top: 1.2rem !important;
margin-bottom: 0;
}

#stage.has-image.image-bottom .title-wrap {
margin-bottom: 3.2rem;
}

#stage .link-box .title-wrap,
#stage.has-image.image-bottom .link-box .title-wrap {
margin-bottom: 1rem;
}

#stage:not(.has-image) .title-wrap {
padding-right: 3.2rem;
}

#stage.headline-top .col-grid-6 {
justify-content: start;
}

#stage.headline-top .title-wrap {
padding-bottom: 3.2rem;
}

#stage.headline-top .title-wrap,
#stage.headline-top .text-wrap {
grid-column: 1 / 6;
}

#stage.headline-top .text-wrap {
grid-row: 2 !important;
}

#stage.square-box.headline-top > [class*="col-grid-"]:not(.trans):after {
grid-row: 1 / 99 !important;
}

#stage.has-image.image-bottom .image-wrap {
margin-bottom: 0;
}

#stage.has-box > .trans > .box * {
color: var(--customColor);
}

#stage.has-box > .trans > .box.replace-color * {
color: inherit !important;
}

#stage.has-box > .trans > .box .title-wrap {
padding-bottom: 1rem;
}

.link-box .image-wrap {
    width: 60%;
    margin: 1.2rem 0 0 0;
}

.link-box .image-wrap.no-text {
    width: 100%;
}

a.link-box:hover svg {
background-color: #3b3b3b;
}

a.link-box:hover svg * {
fill: #fff;
}

/* main area */
#content {
grid-column: 1 / 9;
grid-row: 2;
z-index: 2;
margin-bottom: 16rem;
}

#content .grid > * {
grid-column: 1 / 9;
}

/* aside (sub menu, Losungen) */
#aside {
grid-column: 1 / 3;
grid-row: 1;
}

#home-template #aside {
grid-column: 7 / 9;
}

/* text */
.text-wrap > * {
    padding-bottom: 1.8rem;
}

.text-wrap > p > strong > a,
.text-wrap > p > a {
    text-decoration: underline;
}

.text-wrap ol {
padding-left: 4rem;
}

.text-wrap ul {
padding-left: 2.6rem;
}

.text-wrap ul li {
padding-left: 1.4rem;
}
/*.text-wrap * + ul,*/
/*.text-wrap * + ol {*/
/*margin-top: -1.8rem;*/
/*}*/

.text-wrap ul {
list-style: disc;
}

.text-wrap ol {
list-style: decimal;
}

.text-wrap li {
padding-bottom: 1.8rem;
}

.text-wrap li:last-child,
.text-wrap > *:last-child {
padding-bottom: 0 !important;
}

/* components */
.component.flex-grid {
display: flex;
flex-direction: column;
flex-wrap: nowrap;
grid-column: 1 / 9;
}

.component {
    padding: 6.4rem 0 0 0;
}

.component.form,
.component.link-box {
    padding: 6.4rem 0;
}

/* title text */
.title-text .wrap {
    width: 100%;
    background-color: #fff;
    padding: 13rem 0;
}

.title-text.youtube .wrap {
    padding: 10rem 0;
}

.title-text.text-col .wrap {
max-width: 62.5%;
}

.title-text[class*="img-"] .wrap {
max-width: 75%;
}


.title-text.right.text-col.has-image .wrap {
margin-right: 12.5%;
}

.title-text.has-image .wrap {
    padding-bottom: 0;
    margin-bottom: 8.4rem;
}

.title-text.left {
align-items: flex-start;
align-content: flex-start;
}

.title-text.right {
align-items: flex-end;
align-content: flex-end;
}

.title-text.left .wrap {
align-self: flex-start;
}

.title-text.right .wrap {
align-self: flex-end;
}

.title-text .wrap .title-wrap {
grid-column: 1 / 6;
padding: 0 1.6rem 0 8.4rem;
grid-row: 1;
}

.title-text.text-col .wrap .title-wrap {
grid-column: 1 / 3;
padding: 0 3.2rem 0 1.6rem;
max-width: 30rem;
}

.title-text .wrap .text-wrap {
grid-column: 1 / 6;
padding: 1.6rem 1.6rem 1.6rem 8.4rem;
}

.title-text[class*="img-"] .wrap .text-wrap {
grid-row: 3;
}

.title-text.img-top.has-image .wrap .text-wrap {
margin-bottom: 13rem;
}

.title-text.img-bottom .wrap .text-wrap {
grid-row: 2;
}

.title-text.text-col .wrap .text-wrap {
grid-column: 3 / 6;
padding: 0 1.6rem 0 0;
}

.title-text .wrap .image-wrap {
grid-column: 1 / 6;
margin-left: 8.4rem;
margin-bottom: -8.4rem;
grid-row: 2;
}

.title-text[class*="img-"] .wrap .image-wrap {
margin-bottom: 0;
}

.title-text.has-image.img-bottom .wrap {
margin-bottom: 8.4rem;
}

.title-text.img-bottom .wrap .image-wrap {
grid-row: 3;
margin-bottom: -8.4rem;
}

.title-text .wrap .image-wrap {
margin-top: 6.4rem;
}

.title-text.text-col .wrap .image-wrap {
grid-column: 3 / 6;
padding: 3.2rem 0 0 0;
grid-row: 2;
margin: 0 -33.333% -8.4rem 0;
}

.title-text.text-col.no-text .wrap .image-wrap {
grid-row: 1;
padding-top: 0;
margin-bottom: 8.2rem;
}

/*
.title-text.right .wrap .image-wrap {
grid-column: 1 / 7;
margin: 0 0 -8.4rem -11%;
}
*/

.image-wrap a {
position: relative;
}

.image-wrap a svg * {
fill: #fff;
}

.image-wrap a:hover svg {
background-color: #fff;
}

.image-wrap a:hover svg * {
fill: #3b3b3b;
}

/* small title text */
#content .title-text-small.link-box .title-wrap {
padding: 0 0 1.6rem 0;
margin: 0;
}

#content .title-text-small.link-box:not(.bg-white) .link {
background-color: transparent;
}

#content .title-text-small.link-box .link * {
color: #3b3b3b;
}

#content .title-text-small.link-box:not(.bg-white) .link {
padding-top: 0;
}

/* tab group */
.tab-group {
width: 100%;
grid-column: 1 / 9;
}

.tab-group > .wrap {
grid-column: 1 / 6;
background-color: #fff;
}

.right.tab-group > .wrap {
grid-column: 3 / 8;
}

.tab-group .tab-wrap {
width: 120%;
overflow: hidden;
}

.tab-group .tab-header {
padding-bottom: 3rem;
}

.tab-group .tab-header .title-wrap {
grid-column: 1 / 3;
padding: 1.5rem;
align-content: center;
align-items: center;
display: flex;
}

.tab-group .tab-header .tab-counter {
grid-column: 3 / 4;
padding: 1.5rem 1.5rem 1.5rem 0;
align-content: center;
align-items: start;
display: flex;
line-height: 3.9rem;
}

.tab-group .tab-header .tab-counter > span {
line-height: 3.9rem;
}

.tab-group .tab-header .tab-menu {
grid-column: 5 / 6;
align-content: flex-start;
align-items: flex-start;
display: flex;
flex-direction: row-reverse;
}

.tab-group .tab-header .tab-menu > * {
align-self: flex-start;
}

.tab-group .tab .tab-menu.responsive {
display: none;
}

.tab-group .tab-wrap .tab {
grid-column: 1 / 7;
grid-row: 1;
z-index: 0;
}

.tab-group .tab-wrap .tab.active,
.tab-group .tab-wrap .tab.active.last {
z-index: 2;
}

.tab-group .tab-wrap .tab.last {
z-index: 0;
}

.tab-group .tab-wrap .tab > * {
grid-column: 1 / 7;
grid-row: 1;
pointer-events: none;
}

/*.tab-group .tab-wrap .tab > .image {*/
/*margin-right: -1.5rem;*/
/*}*/

/*.tab-group .tab-wrap .tab > .image img {*/
/*padding-right: -1.5rem;*/
/*}*/

.tab-group .tab-wrap .tab > *:not(.image),
.tab-group .tab-wrap .tab > .image img {
opacity: 0;
}

.tab-group .tab-wrap .tab.active > *,
.tab-group .tab-wrap .tab.last .image {
opacity: 1;
pointer-events: auto;
}

.tab-group .tab-wrap .tab.last > .image img,
.tab-group .tab-wrap .tab.active > .image img {
opacity: 1;
}

.tab-group .tab-wrap .tab > .title-wrap {
grid-column: 1 / 7;
padding: 1.5rem;
}

.tab-group .tab-wrap .tab > .text-wrap {
grid-column: 1 / 6;
padding: 0 1.5rem 1.5rem 1.5rem;
max-width: 50rem;
}

.tab-group .tab-wrap .tab.has-image > .text-wrap {
grid-column: 1 / 3;
}

.tab-group .tab-wrap .tab > .image {
grid-column: 3 / 7;
margin-bottom: 6.4rem;
position: relative;
overflow: hidden;
margin-right: -1.6rem;
}

.tab-group .tab-wrap .tab > .image img {
border-right: 1.6rem solid #fff;
}

.tab-group.show-next .tab-wrap .tab > .image img {
transform: translateX(100%);
}

.tab-group.show-prev .tab-wrap .tab > .image img {
transform: translateX(-100%);
}

.tab-group .tab-wrap .tab.last > .image img {
transition: transform 0.34s ease-out;
}

.tab-group.show-next .tab-wrap .tab.last > .image img {
transform: translateX(-100%);
}

.tab-group.show-prev .tab-wrap .tab.last > .image img {
transform: translateX(100%);
}

.tab-group.show-prev .tab-wrap .tab.active > .image img,
.tab-group.show-prev .tab-wrap .tab.active.last > .image img,
.tab-group.show-next .tab-wrap .tab.active > .image img,
.tab-group.show-next .tab-wrap .tab.active.last > .image img,
.tab-group .tab-wrap .tab.active > .image img,
.tab-group .tab-wrap .tab.active.last > .image img {
transform: translateX(0);
transition: transform 0.34s ease-out;
}

.tab-group .tab-menu {
text-align: right;
padding: 1.5rem;
}

.tab-group.no-click * {
pointer-events: none;
}

.tab-group .tab-menu span {
padding: 0.7rem;
width: 3.7rem;
height: 3.7rem;
border-radius: 50%;
border: 1px solid #3b3b3b;
display: inline-block;
cursor: pointer;
}

.tab-group .tab-menu span:first-child {
margin-left: 3rem;
}

.tab-group .tab-menu span:first-child svg {
transform: rotate(180deg);
}

/* text box */
.text-box {
grid-column: 1 / 9;
width: 100%;
}

.text-box > .title-wrap {
grid-column: 1 / 3;
}

.text-box > .box-wrap {
grid-column: 3 / 9;
}

.text-box > .box-wrap > .box {
grid-column: span 2;
padding: 0 3.2rem 3.2rem 0;
}

a.link svg ,
.text-wrap a.link svg {
width: 2.1rem;
height: 2.1rem;
order: 1;
margin-right: 1rem;
}

.text-wrap a.link {
display: flex;
width: auto;
clear: both;
align-items: center;
}

.text-wrap a.link:first-of-type {
margin-top: 3.4rem;
}

.text-wrap a.link span {
order: 2;
color: var(--customColor);
}

.text-wrap a.link svg * {
fill: var(--customColor);
}

/* link box */
.link-box,
.link-box [class*="col-grid-"],
.link-box .title-wrap {
grid-column: span 4;
width: 100%;
}

.link-box.large-col {
    grid-column: span 8;
}

.link-box {
grid-template-rows: auto 1fr;
}

.link-box .link {
    grid-column: span 3;
}

.link-box.large-col .link {
    grid-column: span 6;
}

.link-box.large-col.col-grid-4 {
    grid-template-columns: repeat(8, 1fr);
}

.link-box [class*="col-grid-"] {
align-items: start;
align-self: start;
}

/*
.link-box:nth-of-type(1n) .link {
margin-right: 12.5%;
}

.link-box:not(.title-text-small) + .link-box:not(.title-text-small):nth-of-type(2n) .link {
margin-left: 12.5%;
margin-right: 0;
}
*/

.link-box.left .link {
margin-right: 12.5%;
}

.link-box.right .link {
margin-left: 12.5%;
margin-right: 0;
}

.link-box [class*="col-grid-"],
.link-box .title-wrap {
    grid-column: 2 / span 3;
}

.link-box.large-col [class*="col-grid-"],
.link-box.large-col .title-wrap {
    grid-column: 1 / span 6;
    padding-left: 8rem;
}

.link-box.large-col .title-wrap {
    margin-left: 8rem;
}

.link-box.large-col [class*="col-grid-"] {
    padding-left: 8rem;
}

/*
.link-box:not(.title-text-small) + .link-box:not(.title-text-small):nth-of-type(2n) [class*="col-grid-"],
.link-box:not(.title-text-small) + .link-box:not(.title-text-small):nth-of-type(2n) .title-wrap {
grid-column: 1 / span 3;
}

.link-box:not(.title-text-small) + .link-box:not(.title-text-small):nth-of-type(2n) .title-wrap {
grid-column: 1 / span 3;
margin-left: 12.5%;
margin-right: 0;
}
*/

.link-box.right [class*="col-grid-"],
.link-box.right .title-wrap {
grid-column: 1 / span 3;
}

.link-box.right .title-wrap {
margin-left: 12.5%;
margin-right: 0;
}

.link-box .link {
background-color: #fff;
margin: 1px 0;
padding: 1.6rem;
}

.link-box .link * {
color: var(--customColor);
}

.link-box .link span {
display: block;
padding: 0.5rem 0;
}

.link-box .link span:last-child {
padding-bottom: 0;
display: flex;
flex-direction: row;
align-items: center;
align-content: center;
}

.link-box .link span svg * {
fill: var(--customColor);
}

.link-box .link span:last-child svg {
order: 1;
}

.link-box .link span:last-child span {
order: 2;
}

#content .link-box .title-wrap {
padding: 0 1.6rem 1.6rem 1.6rem;
}

#content .link-box .title-wrap * {
color: var(--customColor);
}

/* event list */
.event-box {
grid-column: 1 / 9;
}

.event-box > .title-wrap,
.event-box > .box-wrap,
.event-box > .text-wrap {
grid-column: 1 / 9;
margin: 0 calc(12.5% + 1.6rem);
}

.event-box > .box-wrap {
margin: 0 calc(12.5% - 3.2rem);
margin-bottom: 3rem;
}

.event-box > .box-wrap.large-box {
margin-right: calc(25% - 3.2rem);
}

.event-box > .box-wrap,
.event-box .event-wrap,
.event-box .placeholder {
break-inside: avoid;
}

.event-box > .box-wrap.col-flow-2 {
max-width: 100%;
}

.event-box .no-col-flow .event-wrap {
width: 50%;
}

.event-box .event-wrap .event {
margin: 1px 3.2rem;
padding: 1.6rem;
background-color: #fff;
break-inside: avoid;
}

.event-box > .title-wrap {
margin-bottom: 1.4rem;
}

.event-box .event .title-wrap {
margin-bottom: 1.6rem;
}

.event-box .link {
display: flex;
flex-direction: row;
align-items: center;
align-content: center;
margin: 1.6rem 0 0.5rem 0;
}

.event-box .large-box .link {
margin-top: 2rem;
}

.event-box .box-wrap.large-box + .text-wrap {
grid-column: 1 / 8;
padding: 0 1.6rem;
}

.event-box .link svg {
order: 0;
}

.event-box .link span {
order: 1;
}

.event-box > .title-wrap *,
.event-box .event * {
    color: var(--customColor);
}

.event-box > .title-wrap.error * {
    color: red;
}

.link-box.custom-color *,
.link-box.custom-color .link *,
#content .link-box.custom-color .title-wrap *,
.event-box.custom-color *,
.event-box.custom-color > .title-wrap *,
.event-box.custom-color .event * {
color: inherit !important;
}

.link-box.custom-color svg *,
.event-box.custom-color svg * {
fill: inherit !important;
}

.event-box .event svg * {
fill: var(--customColor);
}

/* youtube videos */
.youtube-player {
position: relative;
padding-bottom: 56.25%;
height: 0;
overflow: hidden;
max-width: 100% !important;
background-color: #3b3b3b;
}

.youtube-player > div,
.youtube-player iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
max-width: 100% !important;
height: 100% !important;
z-index: 100;
background-color: transparent;
}

.youtube-player img {
object-fit: cover;
display: block;
left: -10px;
bottom: 0;
margin: auto !important;
max-width: calc(100% + 20px) !important;
width: calc(100% + 20px) !important;
position: absolute;
right: 0;
top: 0;
border: none;
height: auto;
cursor: pointer;
-webkit-transition: 0.4s all;
-moz-transition: 0.4s all;
transition: 0.4s all;
}

.youtube-player img:hover {
-webkit-filter: brightness(75%);
}

.youtube-player .play {
height: 72px;
width: 72px;
left: 50%;
top: 50%;
margin-left: -36px;
margin-top: -36px;
position: absolute;
background: url('//i.imgur.com/TxzC70f.png') no-repeat;
cursor: pointer;
}

.title-text.youtube .wrap .image-wrap,
.title-text.youtube.no-text.text-col .wrap .image-wrap{
margin: 0 -66.666% 6rem 0;
}

.title-text.right.text-col.has-image.youtube .wrap {
margin-right: 25%;
}

.title-text.text-col.youtube.code.size-169 .wrap .image-wrap {
    position: relative;
}

.title-text.text-col.youtube.code .wrap .image-wrap > div,
.title-text.text-col.youtube.code.size-169 .wrap .image-wrap > div > div {
    position: relative;
    display: block;
}
.title-text.text-col.youtube.code.size-169 .wrap .image-wrap > div > div {
    overflow: hidden;
}

.title-text.text-col.youtube.code.size-169 .wrap .image-wrap > div {
    position: relative;
    padding-bottom: 56.25%;
}

.title-text.text-col.youtube.code.size-169 .wrap .image-wrap > div > div {
    position: absolute;
    inset: 0 0 0 0;
    background-color: var(--customColor);
}

.title-text.text-col.youtube.code.size-169 .wrap .image-wrap > div > div > iframe {
    background-color: #fff;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* losung */
#quote {
background-color: #fafafa;
padding: 1.6rem;
}

#aside #quote time span {
display: none;
white-space: nowrap;
}


#aside #quote time span:not(.toggle):first-child {
display: block;
}

li #quote {
margin: 1px 0;
display: none;
width: 25%;
}

li.quote.open #quote {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
}

.custom-color li.quote.open #quote {
    color: var(--customColor);
}

#quote * {
margin: 0;
}

#quote *,
#quote blockquote * {
color: var(--customItemColor);
}

.quote.replace-color .toggle {

}

html:not(.open-losung, #home-template) aside #quote.replace-color *,
html:not(.open-losung, #home-template) aside #quote.replace-color blockquote * {
color: inherit !important;
}

#quote > * {
margin-bottom: 8rem;
width: 100%;
display: block;
}

#quote h3,
#quote strong {
width: 100%;
display: block;
}

#quote > blockquote:last-of-type {
margin-bottom: 1rem;
}

#sub-menu li.quote > span {
padding: 1rem 1.5rem;
cursor: pointer;
}

#sub-menu li.quote {
margin: 1px 0;
}

#sub-menu li.quote .toggle,
#sub-menu li.quote .toggle * {
color: #fff;
}

#quote .close {
margin: 1rem 1rem 0 0;
position: absolute;
top: 0;
right: 0;
width: 2.4rem;
height: 2.4rem;
cursor: pointer;
padding: 0;
float: left;
}

#quote .close:after,
#quote .close:before {
position: absolute;
top: 50%;
left: 0;
content: "";
width: 100%;
height: 2px;
transform: rotate(45deg);
background-color: var(--customColor);
}

#quote.replace-color .close:after,
#quote.replace-color .close:before {
background-color: #3b3b3b !important;
}

#quote .close:before {
transform: rotate(-45deg);
}

#sub-menu li.quote.custom-color {
background-color: var(--customColor);
}

/* footer */
#footer {
padding-bottom: 16rem;
}

#footer .text-wrap {
align-items: end;
align-content: end;
align-self: end;
display: grid;
padding-right: 2rem;
}

#footer .address {
grid-column: 1 / 4;
padding-left: 8rem;
padding-right: 2rem;
}

#footer .links {
grid-column: 4 / 7;
}

#footer .partner {
grid-column: 7 / 9;
max-width: 16rem;
padding-right: 0;
}

#footer .partner img {
max-width: 14.4rem;
}

#footer * {
color: #3b3b3b;
}

#footer svg {
order: 2;
margin: 0 0 0 1rem;
width: 1.8rem;
height: 1.8rem;
}

#footer svg * {
fill: #3b3b3b;
}

#footer .link {
margin: 0;
padding-bottom: 2rem;
}

/* edit mode */
.edit-mode .end {
margin-bottom: 0 !important;
}

.edit-mode .mgnlEditor.mgnlPlaceholder {
}

.hidden {
display: none !important;
}

/*.edit-mode fieldset.hidden {*/
/*display: block !important;*/
/*}*/

/* edit bars */
html:not(#config-template).edit-mode #stage {
grid-row: 1 / span 2;
}

html:not(#config-template).edit-mode #content {
grid-row: 4;
}

html:not(#config-template).edit-mode #aside {
grid-row: 1 / 3;
grid-row: 1 / span 2;
}

html:not(#config-template).edit-mode article div.mgnlEditorBar.area.start {
grid-row: 1;
grid-column: 3 / 9;
}

html#home-template.edit-mode article div.mgnlEditorBar.area.start {
grid-column: 1 / 7;
}

html:not(#config-template).edit-mode article div.mgnlEditorBar.area.end {
grid-row: 3;
grid-column: 3 / 9;
}

html:not(#config-template).edit-mode article #stage div.mgnlEditorBar.area.end {
margin-left: -33.333% !important;
}

html#home-template.edit-mode article #stage div.mgnlEditorBar.area.end {
margin-left: 0 !important;
margin-right: -33.333% !important;
}

.edit-mode article #content > .grid-col-8.trans > div.mgnlEditorBar.start,
.edit-mode article #content > .grid-col-8.trans > div.mgnlEditorBar.component,
.edit-mode article #content [class*="grid-"] > div.mgnlEditorBar.component,
.edit-mode article #content > [class*="grid-"] > div.mgnlEditorBar.start,
#home-template.edit-mode article #content > [class*="grid-"] > div.mgnlEditorBar.start {
grid-row: 1;
}

html:not(#config-template).edit-mode article #content div.mgnlEditorBar.area.end,
.edit-mode article #content > [class*="grid-"] > div.mgnlEditorBar.end,
.edit-mode article #content > .grid-col-8.trans > div.mgnlEditorBar.end,
.edit-mode article #content > .grid-col-8.trans > div.mgnlEditor.mgnlPlaceholder,
.edit-mode article #content > [class*="grid-"] > div.mgnlEditorBar.end,
#home-template.edit-mode article #content > [class*="grid-"] > div.mgnlEditorBar.end {
grid-row: 999;
}

.edit-mode article #content > [class*="grid-"] > div.mgnlEditor.mgnlPlaceholder,
.edit-mode article div.mgnlEditor.mgnlPlaceholder {
grid-row: 998;
}

html:not(#config-template).edit-mode article #content div.mgnlEditorBar.area.start,
html:not(#config-template).edit-mode article #content div.mgnlEditorBar.area.end,
.edit-mode article #content > .grid-col-8.trans > div.mgnlEditorBar.component,
.edit-mode article #content > .grid-col-8.trans > div.mgnlEditorBar.start,
.edit-mode article #content > .grid-col-8.trans > div.mgnlEditorBar.end,
.edit-mode article #content > .grid-col-8.trans > div.mgnlEditor.mgnlPlaceholder,
.edit-mode article #content [class*="grid-"] > div.mgnlEditorBar.component,
.edit-mode article #content > [class*="grid-"] > div.mgnlEditor.mgnlPlaceholder,
.edit-mode article #content > [class*="grid-"] > div.mgnlEditorBar,
#home-template.edit-mode article #content > [class*="grid-"] > div.mgnlEditorBar{
grid-column: 1 / 9;
}

html:not(#config-template).edit-mode article #content div.mgnlEditorBar.area.end,
html:not(#config-template).edit-mode article #content div.mgnlEditorBar.area.start {
min-height: 1rem !important;
}

.edit-mode article #content > .col-grid-6 > div.mgnlEditorBar {
grid-column: 1 / 7;
}

.flex-grid div.mgnlEditorBar.component {
width: 100%;
}

.edit-mode article div.mgnlEditor.mgnlPlaceholder {
display: inline-block;
width: 100%;
}/* form */
.component.form {
padding-left: calc(100% / 16);
padding-right: calc(100% / 16);
display: block;
}

.component.form,
.component.form > * {
grid-column: 1 / 9;
}

.form fieldset {
padding: 1.8rem 1.5rem;
border: none;
position: relative;
background-color: rgb(224, 224, 224);
margin-bottom: 2px;
}

#form > fieldset {
padding-left: calc(100%/7/2);
padding-right: calc(100%/7/2);
padding-bottom: 5rem;
}

#form > fieldset:not(.intro),
#form > fieldset > fieldset > div:not(.price-wrapper):not(.item-wrapper) {
min-height: 20rem;
width: 100%;
float: left;
}

.form .star-selector {
position: relative;
}

.form fieldset fieldset {
padding-left: 0;
padding-right: 0;
margin-bottom: 0;
}

.form fieldset fieldset.bulb-fieldset {
padding-bottom: 4rem;
}

.form fieldset fieldset.quote-fieldset {
padding-bottom: 14rem;
}

.form fieldset fieldset.bulb-fieldset .item-head,
.form fieldset fieldset.quote-fieldset .item-head {
margin-bottom: 3rem;
display: flex;
width: 100%;
position: relative;
}

.form fieldset fieldset .item-head:after {
content: "CHF";
position: absolute;
top: 50%;
left: calc(8rem + 49% + 0.2rem);
transform: translateY(-50%);
width: 9rem;
text-align: right;
pointer-events: none;
color: var(--customColor);
}

.form fieldset fieldset.bulb-fieldset .item-head:after {
left: calc(8rem + 35% + 5%);
}

.form .standard input,
.form .standard textarea,
.form fieldset fieldset input[type=number],
.form .star-selector input,
.form .star-selector select {
    font-size: 1.6rem;
    line-height: 2rem;
    padding: 1.2rem 1rem;
    border-bottom: 2px solid var(--customColor);
    max-width: 32rem;
    width: 100%;
    display: inline-block;
    position: relative;
    background-color: #fff;
}

.form .standard textarea {
    max-width: 50rem;
}

.form fieldset .checkbox-fieldset.error .form-item > div:not(.control-wrap) input {
background-color: red;
}

.form fieldset .checkbox-fieldset.error .form-item.active > div:not(.control-wrap) input {
background-color: #fff;
}

.form .standard.error input {
background-color: red;
color: #fff;
}

.form .star-selector select.locked {
border-bottom: 2px solid transparent;
pointer-events: none;
}

.form .star-selector .select-wrapper.locked:after {
display: none;
}

form .star-selector .select-type .star-set {
padding-top: 1rem;
padding-bottom: 1rem;
}

form fieldset .item-wrapper {
padding-bottom: 4.9rem;
}

.component.has-error form fieldset.hidden,
form fieldset .item-wrapper.has-value .star-selector div[data-id="star-item-data"],
form fieldset .item-wrapper.has-value .star-selector div[data-id="star-item-data"] input,
form fieldset .item-wrapper.has-value .star-selector div[data-id="star-item-data"],
form fieldset .item-wrapper.has-value .star-selector div[data-id="star-item-data"] input,

form fieldset .item-wrapper.has-value .star-selector div[data-id="star-counter"],
form fieldset .item-wrapper.has-value .star-selector div[data-id="star-counter"] .reset-star,

form fieldset .item-wrapper.has-value + .item-wrapper.has-value .star-button.next-star.hidden,
form fieldset .item-wrapper.has-value {
display: block !important;
}

form fieldset .item-wrapper.has-value .star-selector div[data-id="star-counter"] *,

.form.has-error fieldset .button.next-fieldset,
.form.has-error fieldset .button.prev-fieldset,

form fieldset .item-wrapper.has-value .select-type,
form fieldset .item-wrapper.has-value .descr {
display: none !important;
}

form fieldset .item-wrapper.has-value .star-selector div[data-id="star-counter"] {
z-index: 2;
position: relative;
}

form fieldset .item-wrapper.has-value .star-selector div[data-id="star-counter"] .reset-star {
margin-top: -0.5rem;
}


.star-selector div[data-id*="star"] > div select {
max-width: 20rem;
}

.star-selector [data-id="star-counter"],
.star-selector div[data-id*="star"] > div {
display: flex;
flex-direction: row;
align-content: stretch;
align-items: center;
justify-content: space-between;
width: 100%;
max-width: 32rem;
}

.star-selector div[data-id*="star"] > div > * {
align-self: center;
justify-self: stretch;
flex: 0 0 1;
}

.form fieldset fieldset input[type=number],
.star-selector div[data-id="star-counter"] > input {
max-width: 8rem;
text-align: center;
}

.star-selector div[data-id*="star"] > div:first-child,
.star-selector > div,
.star-selector > select {
margin-bottom: 1.6rem;
}

.star-selector div[data-id="star-counter"],
.star-selector div[data-id*="star"] {
display: none;
}

.is-author-instance .star-selector div[data-id="star-item-data"],
.is-author-instance .star-selector div[data-id="star-item-data"] input,
.edit-mode .star-selector div[data-id="star-item-data"],
.edit-mode .star-selector div[data-id="star-item-data"] input {
display: block !important;
}

.star-selector div[data-id="star-counter"].active {
display: flex;
}

.star-selector div[data-id*="star"].selected {
display: block;
}

.star-selector span.descr {
display: block;
clear: both;
margin-bottom: 2.4rem;
}

.star-fieldset .price-wrapper *,
.star-selector span.descr,
.star-selector [class*="price-tag"] {
font-size: 1.6rem;
line-height: 2rem;
}

.star-selector [class*="price-tag"] {
text-align: right;
width: 12rem;
color: var(--customColor);
padding-bottom: 0.9rem;
}

.star-selector [class="price-tag-total"] {
padding-bottom: 0;
}

.star-selector [data-id="star-counter"] label {
color: var(--customColor);
}

.star-selector [data-id="star-counter"] label,
.star-selector [class*="price-tag"]:before {
content: "CHF";
text-align: right;
font-size: 1.6rem;
line-height: 2rem;
padding-right: 1ch;
}

.star-selector [data-id="star-counter"] label {
padding-right: 0;
}

.star-selector [data-id="star-counter"] [class*="price-tag"]  {
}

.star-selector .select-wrapper {
display: inline-block;
max-width: 32rem;
width: 100%;
position: relative;
margin-bottom: 0.8rem;
}

.form .star-selector .select-wrapper:after {
content: "";
position: absolute;
right: 1rem;
top: 50%;
width: 7px;
height: 7px;
float: left;
border: 5px solid rgba(0,0,0,0);
border-top: 7px solid var(--customColor);
margin-top: -6px;
float: left;
z-index: 10;
box-sizing: border-box;
pointer-events: none;
}

.star-selector div[data-id*="star"] > div > .select-wrapper {
max-width: 20rem;
}

.form .star-fieldset .price-wrapper {
position: absolute;
bottom: 0;
right: 0;
margin-bottom: 6.4rem;
}

.form fieldset .button-wrapper .submit,
.form fieldset .button.prev-fieldset,
.form fieldset .button.next-fieldset {
position: absolute;
top: 0;
right: 0;
padding: 1.8rem 1.5rem;
background-color: var(--customColor);
color: #FFFFFF;
cursor: pointer;
}

.form fieldset .button.prev-fieldset {
background-color: #fff;
color: #3b3b3b;
}

.form fieldset .button.next-fieldset,
.form fieldset .button-wrapper .submit {
top: auto;
bottom: 0;
}

.form fieldset .button-wrapper {
padding-top: 7rem;
}

.form fieldset .star-button.next-star {
line-height: 5rem;
height: 5rem;
display: inline-block;
cursor: pointer;
}

.form fieldset .star-button.next-star span {
font-size: 5rem;
padding-right: 2rem;
position: relative;
top: 0.6rem;
}

.star-selector .reset-star {
position: absolute;
top: 1.5rem;
left: 34rem;
width: 2.4rem;
height: 2.4rem;
cursor: pointer;
}

.star-selector .reset-star:before,
.star-selector .reset-star:after {
content: "";
position: absolute;
top: 50%;
left: 0;
width: 2.4rem;
height: 2.4px;
cursor: pointer;
background-color: var(--customColor);
}

.star-selector .reset-star:after {
transform: rotate(45deg);
}

.star-selector .reset-star:before {
transform: rotate(-45deg);
}

.star-fieldset .item-wrapper.error .star-selector div[data-id="star-item-data"] {
display: block;
}

.star-fieldset .star-selector div[data-id="star-item-data"] input {
max-width: calc(100% - 14rem);
border: none;
background-color: rgba(255,255,255,0.5);
text-align: right;
position: relative;
z-index: 1;
pointer-events: none;
}

.star-fieldset .star-selector div[data-id="star-item-data"] {
position: relative;
}

.star-fieldset .star-selector div[data-id="star-item-data"]:before {
content: "Kontrolle: ";
text-align: left;
position: absolute;
top: 0;
left: 0;
z-index: 2;
font-size: 1.6rem;
line-height: 2rem;
padding: 1.2rem 1rem;
}

#esense-form .title {
padding-bottom: 3rem;
padding-top: 5rem;
}

#esense-form fieldset > .title,
#esense-form fieldset > p,
#esense-form fieldset > li {
max-width: 40rem;
}

#esense-form fieldset > p,
#esense-form fieldset >  li {
color: var(--customColor);
}

#esense-form fieldset.intro {
margin-bottom: 0;
width: 100%;
}

.form fieldset.bulb-fieldset .item-wrapper,
.form fieldset.quote-fieldset .item-wrapper {
display: flex;
align-content: center;
align-items: center;
justify-content: flex-start;
justify-items: center;
flex-direction: row;
flex-wrap: nowrap;
padding-bottom: 2rem;
}

.form fieldset label span {
display: block;
margin-left: 2rem;
}

.form fieldset.quote-fieldset {
width: 100%;
float: left;
}

.form fieldset.quote-fieldset > div {
display: block;
columns: 2;
column-fill: balance;
column-gap: 0;
margin-right: -8%;
width: auto !important;
float: none !important;
}

.form fieldset.quote-fieldset > div > .item-wrapper {
break-inside: avoid;
}

.form fieldset.quote-fieldset label,
.form fieldset.bulb-fieldset label {
width: 35%;
overflow: hidden;
margin-right: 5%;
}

.form fieldset.quote-fieldset label {
width: 44%;
}

.form fieldset.bulb-fieldset label span {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}

.form fieldset.quote-fieldset .price-tag,
.form fieldset.bulb-fieldset .price-tag {
color: var(--customColor);
text-align: right;
min-width: 9rem;
}

/*
.form fieldset.bulb-fieldset .item-wrapper [class*="price-tag"]:before,
.form fieldset.quote-fieldset .item-wrapper [class*="price-tag"]:before {
content: "CHF";
text-align: left;
font-size: 1.6rem;
line-height: 2rem;
padding-right: 1ch;
float: left;
}
*/

.form fieldset > p {
padding-bottom: 4rem;
}

.form .standard {
padding-left: 44%;
position: relative;
padding-bottom: 2.4rem;
}

.form .standard.small {
padding-right: calc(56% / 2);
}

.form fieldset > .standard:first-child .item-head,
.form fieldset > .standard:first-child {
padding-top: 10rem;
}

.form fieldset.standard {
padding-left: 44%;
position: relative;
}

.form .standard label,
.form .standard input {
display: block;
clear: both;
width: 100%;
max-width: 50rem;
}

.form .total-price-checkbox .item-head,
.form .standard .item-head {
position: absolute;
top: 0;
left: 0;
padding-left: 0;
}

.form .standard label {
padding-bottom: 1.2rem;
color: var(--customColor);
}

label[for="basketTotalPrice"] {
display: block;
clear: both;
width: 100%;
max-width: 50rem;
padding-bottom: 1.2rem;
color: var(--customColor);
font-size: 1.6rem;
line-height: 2rem;
font-weight: 600;
}

input#basketTotalPrice {
padding: 0 0 0 1rem;
position: relative;
background-color: rgba(255,255,255,0);
display: inline-block;
clear: none;
width: auto;
max-width: 50%;
min-width: 15rem;
color: var(--customColor);
}

input#basketTotalPrice::placeholder {
color: var(--customColor) !important;
}

.total-price-checkbox {
position: relative;
width: 100%;
float: left;
padding-bottom: 9rem;
}

.total-price-checkbox .form-item {
padding-left: 44%;
margin-top: 4rem;
}

.form .total-price-checkbox .item-head {
margin-top: 4rem;
}

.total-price-checkbox .form-item > div {
color: var(--customColor);
}

.form fieldset .checkbox-fieldset .form-item > div {
position: relative;
}

.form fieldset .checkbox-fieldset .form-item > div:not(.control-wrap) {
padding-top: 3.2rem;
}

.form fieldset .checkbox-fieldset .form-item > div:not(.control-wrap) input {
position: absolute;
top: 3rem;
left: 0;
width: 3.2rem;
height: 3.2rem;
border: none;
appearance: none;
outline: none;
border-radius: 0;
box-shadow: none;
background-color: #fff;
cursor: pointer;
}

.form fieldset .checkbox-fieldset .form-item label {
color: var(--customColor);
padding-left: 6.4rem;
float: left;
position: relative;
}

.form fieldset .checkbox-fieldset .form-item.active label:after {
position: absolute;
left: -0.4rem;
top: -0.3rem;
width: 3.2rem;
height: 3.2rem;
float: left;
line-height: 3.2rem;
content: "+";
transform: rotate(-45deg);
font-size: 6rem;
}@media only screen and (min-width: 1680px) {

    html {
        font-size: 68%;
    }

    .wrapper {
        max-width: 144rem;
    }

}

@media only screen and (min-width: 1920px) {

    html {
        font-size: 74%;
    }

}

@media only screen and (max-width: 1000px) {

    .form fieldset.quote-fieldset > div {
        columns: 1;
    }

    .form fieldset.quote-fieldset > div > .item-wrapper + .item-head {
        margin-top: 5rem;
    }

}

@media only screen and (max-width: 1200px) {

    .form fieldset.quote-fieldset > div {
        margin-right: 0;
    }

}

@media only screen and (max-width: 410px) {

    .form fieldset fieldset .item-head:after {
        left: auto;
        right: -0.2rem;
    }

}

/*****************************************************************/
@media only screen and (max-width: 975px) and (min-width: 666px) {

    #menu ul li.size-s a svg {
        bottom: 4%;
        right: 4%;
    }

    .open-menu #header #menu {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        overflow-y: scroll;
        scroll-behavior: smooth;
        float: left;
        z-index: 100;
        max-width: 120rem;
        padding: 14.2rem 1.6rem 3.2rem 1.6rem;
        /*background-color: rgba(240,240,240,0.9);*/
        background-color: #f0f0f0;
    }

    .open-menu #header #logo {
        z-index: 101;
    }

    .open-menu.no-mouse #header #menu {
        padding-right: 1.6rem;
    }

    #header #language {
        display: none;
    }

    .open-menu #header #language {
        display: block;
    }

    .open-menu #header #language {
        z-index: 101;
    }

    #home-template #menu ul li:nth-of-type(4),
    #home-template #menu ul li:nth-of-type(5) {
        grid-row: 1;
        grid-column: 7 / 9;
        padding-bottom: 50%;
    }

    #home-template #menu ul li:nth-of-type(5) {
        grid-row: 2;
    }

    #home-template #menu li span,
    #sub-menu li span {
        font-size: 2.4rem;
        line-height: 3rem;
    }

    .link-box .link span,
    #sub-menu li:not(.current) span,
    #menu li span,
    #home-template #menu li.size-s span {
        font-size: 1.6rem;
        line-height: 2rem;
    }

    #menu ul li:nth-of-type(1) a span,
    #menu ul li:nth-of-type(2) a span,
    #menu ul li:nth-of-type(5) a span,
    #menu ul li:last-of-type a span {
        font-size: 2.4rem;
        line-height: 2.8rem;
    }

    /* menu button */
    #menu-button {
        cursor: pointer;
        position: fixed;
        top: 1rem;
        right: 1rem;
        width: 4rem;
        height: 4rem;
        float: left;
        z-index: 100;
        display: none;
    }

    #menu-button,
    .open-menu #menu-button {
        display: block;
    }

    .open-menu #menu-button {
        right: calc(1rem + 15px);
    }

    .open-menu.no-mouse #menu-button {
        right: 1rem;
    }

    #menu-button span:after,
    #menu-button span:before,
    #menu-button span {
        width: 2.6rem;
        height: 2px;
        position: absolute;
        top: 1.9rem;
        left: 0.7rem;
        background-color: #007750;
        float: left;
    }

    #menu-button span:after,
    #menu-button span:before {
        content: "";
        left: 0;
    }

    #menu-button span:before {
        top: -1rem;
    }

    #menu-button span:after {
        top: 1rem;
    }

    .open-menu #menu-button span {
        background-color: transparent;
    }

    .open-menu #menu-button span:before {
        transform: rotate(45deg);
        top: 0;
    }

    .open-menu #menu-button span:after {
        transform: rotate(-45deg);
        top: 0;
    }

    html.open-menu #header #language {
        position: fixed;
        top: 4rem;
        width: auto;
        right: calc(1.6rem + 15px);
        z-index: 101;
        display: block;
    }

    .open-menu.no-mouse #header #language {
        right: 1.6rem;
    }

    .open-menu #header #language > div {
        display: block;
        position: relative;
        border: none;
    }

    .open-menu #header #language > div a {
        width: 3.9rem;
        overflow: hidden;
        text-indent: -1000px;
        border: 1px solid #3b3b3b;
        margin-top: 3.6rem;
        float: left;
        position: relative;
        margin-left: 3.2rem;
    }

    .open-menu #header #language > div a:after {
        content: attr(data-lang);
        text-indent: 0;
        text-align: center;
        width: 3.9rem;
        line-height: 1.9rem;
        margin-left: 0;
        float: left;
        position: absolute;
        left: 0;
    }

    #header #language > div {
        background-color: transparent;
    }

    #header #language > div a {
        background-color: #f0f0f0;
    }

    #header #language > div a.active {
        background-color: #3b3b3b;
        color: #fff;
        border-bottom: 1px solid #3b3b3b;
    }

    .open-menu #header #language {
        right: 1.6rem;
    }

    .open-menu #header #language span,
    .open-menu #header #language:after {
        display: none;
    }

    .open-menu #header #language > div {
        display: block;
    }

    html.open-menu #header #logo {
        position: fixed;
        top: 1.6rem;
        width: calc(100% - 13.6rem);
        left: 1.6rem;
        z-index: 101;
    }


    #content-template #menu nav {
        display: none;
    }

    #content-template.open-menu #menu nav {
        display: block;
    }

    /* size */
    .open-menu #menu ul.flex-grid {
        position: relative;
        display: grid;
        grid-template-rows: auto;
        width: 100%;
        column-gap: 0;
        -webkit-column-gap: 0;
        grid-template-columns: repeat(8, 1fr);
        grid-template-rows: repeat(4, 1fr);
    }

    .open-menu #menu ul.flex-grid li {
        position: relative;
        padding-bottom: 100%;
        width: 100%;
        float: left;
    }

    .open-menu #menu ul.flex-grid li.active a {
        opacity: 1;
        pointer-events: auto;
    }

    .open-menu #menu ul.flex-grid li:nth-of-type(4),
        /*.open-menu #menu ul.flex-grid li:nth-of-type(5),*/
    .open-menu #menu ul.flex-grid li:nth-of-type(3) {
        grid-row: 1;
        grid-column: 7 / 9;
        padding-bottom: 50%;
    }

    .open-menu #menu ul.flex-grid li:nth-of-type(4) a svg,
        /*.open-menu #menu ul.flex-grid li:nth-of-type(5) a svg,*/
    .open-menu #menu ul.flex-grid li:nth-of-type(3) a svg {
        height: 60%;
        right: 4%;
    }

    .open-menu #menu ul.flex-grid li:nth-of-type(4) a span,
        /*.open-menu #menu ul.flex-grid li:nth-of-type(5) a span,*/
    .open-menu #menu ul.flex-grid li:nth-of-type(3) a span {
        padding-right: 3rem;
    }

    /*.open-menu #menu ul.flex-grid li:nth-of-type(5),*/
    .open-menu #menu ul.flex-grid li:nth-of-type(3) {
        grid-row: 2;
    }

    /* size */
    .open-menu #menu ul.flex-grid .size-m {
        grid-column: span 2;
    }

    .open-menu #menu ul.flex-grid .size-l {
        grid-column: span 4;
    }

    .open-menu #menu ul.flex-grid {
        grid-template-rows: repeat(4, 1fr);
    }

    .open-menu #menu ul.flex-grid li:nth-of-type(1) {
        grid-row: 1 / 3;
    }

    .open-menu #menu ul.flex-grid li:nth-of-type(2) {
        grid-row: 3 / 5;
    }

    /*.open-menu #menu ul.flex-grid li:nth-of-type(3),*/
    .open-menu #menu ul.flex-grid li:nth-of-type(5) {
        grid-row: 1 / 5;
    }

    .open-menu #menu ul.flex-grid li:last-of-type {
        grid-row: 3 / 5;
    }

    .open-menu #menu ul.flex-grid li.size-l span {
        max-width: 50%;
        margin: 50% 0 0 50%;
    }

    .open-menu #menu ul.flex-grid li.size-l:nth-of-type(3) span {
        max-width: 100%;
        margin: 0;
    }

    .open-menu #menu ul.flex-grid .size-m:last-of-type {
        grid-column: 7 / 9;
    }

    .open-menu #menu ul.flex-grid.custom-color a:hover svg * {
        fill: #fff !important;
    }

    .open-menu #menu ul.flex-grid.custom-color span {
        color: inherit !important;
    }

    .open-menu #menu ul.flex-grid .bg-image span {
        color: #fff !important;
    }

    .open-menu #menu ul.flex-grid .size-m {
        grid-column: span 2;
    }

    .open-menu #menu ul.flex-grid .size-l {
        grid-column: span 4;
    }

    .open-menu #menu ul.flex-grid {
        grid-template-rows: repeat(4, 1fr);
    }

    .open-menu #menu ul.flex-grid li:nth-of-type(1) {
        grid-row: 1 / 3;
    }

    .open-menu #menu ul.flex-grid li:nth-of-type(2) {
        grid-row: 3 / 5;
    }

    /*.open-menu #menu ul.flex-grid li:nth-of-type(3),*/
    .open-menu #menu ul.flex-grid li:nth-of-type(5) {
        grid-row: 1 / 5;
        grid-column: 3 / 7;
    }

    html:not(#home-template) #menu ul li.bg-image a {
        background-size: cover;
        background-position: center;
    }

    .open-menu #menu ul.flex-grid .bg-image span {
        margin: 50% 0 0 50%;
        max-width: 50%;
    }

    .open-menu #menu ul.flex-grid li:last-of-type {
        grid-row: 3 / 5;
    }

    .open-menu #menu li.size-l span {
        max-width: 50%;
        margin: 50% 0 0 50%;
    }

    #footer .address {
        padding-left: 0;
    }

    li.quote.open #quote {
        min-width: 30rem;
    }

    #stage.headline-top .title-wrap,
    #stage.headline-top .text-wrap {
        grid-column: 1 / 7;
    }

}

/*****************************************************************/
/* MOBILE VIEWPORT */

@media only screen and (max-width: 665px) {

    body:after {
        content: "" !important;
    }

    html:not(.no-mouse) body > *,
    html.no-mouse body > * {
        display: block;
    }

    /* hide */
    html:not(#home-template) #menu,
    #sub-menu li svg,
    #menu ul li a svg,
    #header #language,
    #sub-menu,
    #aside {
        display: none;
    }

    .show-submenu-mobile #sub-menu {
        display: block;
        background-color: transparent;
    }

    /*
    .show-submenu-mobile #sub-menu li.active {
    display: none;
    }
    */
    .show-submenu-mobile #aside {
        grid-column: 1 / 9;
    }

    .show-submenu-mobile #stage {
        grid-row: 2;
    }

    .show-submenu-mobile #content {
        grid-row: 3;
    }

    #sub-menu li.quote .toggle,
    #sub-menu li.quote .toggle * {
        width: 100%;
    }

    /* menu button */
    #menu-button {
        display: block;
        cursor: pointer;
        position: fixed;
        top: 1rem;
        right: 1rem;
        width: 4rem;
        height: 4rem;
        float: left;
        z-index: 100;
    }

    .open-menu #menu-button {
        right: calc(1rem + 15px);
    }

    .open-menu.no-mouse #menu-button {
        right: 1rem;
    }

    #menu-button span:after,
    #menu-button span:before,
    #menu-button span {
        width: 2.6rem;
        height: 2px;
        position: absolute;
        top: 1.9rem;
        left: 0.7rem;
        background-color: #007750;
        float: left;
    }

    #menu-button span:after,
    #menu-button span:before {
        content: "";
        left: 0;
    }

    #menu-button span:before {
        top: -1rem;
    }

    #menu-button span:after {
        top: 1rem;
    }

    .open-menu #menu-button span {
        background-color: transparent;
    }

    .open-menu #menu-button span:before {
        transform: rotate(45deg);
        top: 0;
    }

    .open-menu #menu-button span:after {
        transform: rotate(-45deg);
        top: 0;
    }

    #menu-button {
        background-color: #f0f0f0;
    }

    #header #menu nav,
    #header #language {
        display: none;
    }

    #home-template #header #menu nav,
    .open-menu #header #language,
    .open-menu #header #menu nav {
        display: block !important;
    }

    .open-menu #header #language {
        z-index: 101;
    }

    .form fieldset fieldset.bulb-fieldset {
        padding-bottom: 12rem;
    }

    .form .standard,
    .total-price-checkbox .form-item {
        padding-left: 0;
    }

    .form .total-price-checkbox .item-head,
    .form .standard .item-head {
        position: relative;
        margin-top: 0;
    }

    .form .standard.small {
        padding-right: 0;
    }

    .form fieldset.quote-fieldset label {
        width: 60%;
    }

    .form fieldset.quote-fieldset label,
    .form fieldset.bulb-fieldset label {
        width: calc(95% - 13rem);
    }

    .form fieldset.quote-fieldset .price-tag,
    .form fieldset.bulb-fieldset .price-tag,
    .form fieldset fieldset input[type=number],
    .star-selector div[data-id="star-counter"] > input {
        max-width: 6rem;
        min-width: 6rem;
    }

    .form fieldset fieldset.bulb-fieldset .item-head:after,
    .form fieldset fieldset .item-head:after {
        left: calc(100% - 10rem);
    }

    /* mobile */
    #header #logo {
        grid-column: 1 / 8;
    }

    #header #logo *:not(img) {
        width: 41.1rem;
        font-size: 1.8rem;
        line-height: 2rem;
        min-height: 6rem;
    }

    #header #logo img {
        width: 4.8rem;
        margin-right: 2.8rem;
    }

    #footer .address,
    #footer .links,
    #footer .partner,
    .tab-group .tab-wrap .tab > .text-wrap,
    .tab-group .tab-wrap .tab.has-image > .image,
    .right.tab-group > .wrap,
    .tab-group > .wrap,
    .link-box:not(.title-text-small) + .link-box:not(.title-text-small):nth-of-type(2n) [class*="col-grid-"],
    .link-box:not(.title-text-small) + .link-box:not(.title-text-small):nth-of-type(2n) .title-wrap,
    .link-box:not(.title-text-small) + .link-box:not(.title-text-small):nth-of-type(2n) .title-wrap,
    .link-box,
    .link-box [class*="col-grid-"],
    .link-box .title-wrap,
    .text-box > .title-wrap,
    .text-box > .box-wrap,
    .text-box > .box-wrap > .box,
    .link-box.right [class*="col-grid-"],
    .link-box.right .title-wrap,
    #home-template #stage,
    #stage,
    #content {
        grid-column: 1 / span 8;
    }

    .link-box.right .title-wrap {
        margin-left: 0;
    }

    #footer .links {
        padding-top: 4rem;
        padding-bottom: 5rem;
    }

    #footer .partner img {
        max-width: 17rem;
    }

    .tab-group .tab-wrap .tab > .image {
        grid-column: 3 / 6;
    }

    #home-template #stage.has-box > .trans > .box,
    #home-template #stage.has-box > .trans > .link-box,
    #stage.has-box > .trans > .box,
    #stage.has-box > .trans > .link-box {
        grid-column: 1 / span 8;
        margin: 0;
        width: 100%;
    }

    #stage.has-box > .trans > .box.custom-color {
        margin-left: 1.6rem;
        margin-right: 1.6rem;
        width: calc(100% - 3.2rem);
    }

    #stage.has-box > .trans .box + a.link-box {
        margin-top: 3.2rem;
    }

    .title-text.text-col .wrap .image-wrap,
    .event-box > .box-wrap.large-box,
    .event-box > .title-wrap,
    .event-box > .box-wrap,
    .event-box > .text-wrap {
        margin: 0;
    }

    .tab-group .tab-wrap .tab > .image,
    .link-box:not(.title-text-small) + .link-box:not(.title-text-small):nth-of-type(2n) .link,
    .link-box:not(.title-text-small) + .link-box:not(.title-text-small):nth-of-type(2n) [class*="col-grid-"],
    .link-box:not(.title-text-small) + .link-box:not(.title-text-small):nth-of-type(2n) .title-wrap,
    .link-box:not(.title-text-small) + .link-box:not(.title-text-small):nth-of-type(2n) .title-wrap,
    .link-box:nth-of-type(1n) .link,
    .title-text.right.text-col.has-image.youtube .wrap,
    .title-text.right.text-col.has-image .wrap,
    .event-box .event-wrap .event {
        margin-left: 0;
        margin-right: 0;
    }

    #footer .address,
    #footer .links,
    #footer .partner,
    .title-text[class*="img-"] .wrap,
    .title-text.text-col .wrap {
        max-width: 100%;
        width: 100%;
    }

    .col-flow-2 {
        columns: 1;
    }

    #footer .address {
        padding-left: 0;
    }

    .link-box.large-col,
    .component.form,
    .component {
        padding: 3.2rem 0;
    }

    .link-box.large-col [class*="col-grid-"] {
        padding-left: 0;
    }

    .title-text.has-image .wrap {
        margin-bottom: 0;
    }

    #sub-menu ul.bg-image li a,
    #menu ul li.bg-image a {
        background-size: 200% auto;
    }

    #home-template #menu ul li.bg-image.size-s a,
    html:not(#home-template) #menu ul li.bg-image a {
        background-size: cover !important;
        background-position: 65% 90%;
    }

    .tab-group {
        width: calc(100% + 1.6rem);
    }

    .component.flex-grid.youtube {
        width: calc(100% + 4.8rem);
    }

    .component.flex-grid.youtube,
    .tab-group.left {
        margin-left: -1.6rem;
    }

    .tab-group .tab-wrap {
        width: 100%;
    }

    .tab-group .tab-wrap .tab > .text-wrap {
        grid-row: 2;
    }

    .tab-group .tab-wrap .tab.has-image > .image {
        grid-row: 1;
        margin-bottom: 3.2rem;
        margin-left: 0;
        width: calc(100% + 1.6rem);
    }

    .tab-group .tab-wrap .tab {
        align-content: start;
        align-items: start;
    }

    .tab-group .tab-header .tab-menu {
        display: none;
    }

    .tab-group .tab-header .title-wrap {
        grid-column: 1 / 6;
    }

    .tab-group .tab-header .tab-counter {
        grid-column: 6;
        align-self: end;
    }

    .tab-group .tab-wrap .tab > .text-wrap,
    .tab-group .tab-wrap .tab.has-image > .text-wrap {
        grid-column: 1 / 6;
    }

    .tab-group .tab .tab-menu.responsive {
        display: block;
    }

    .tab-group .tab-wrap .tab.has-image > .tab-menu.responsive {
        grid-column: 6;
        grid-row: 2;
    }

    .tab-group .tab-wrap .tab.has-image > .tab-menu.responsive > span {
        margin: 0 0 2rem 0;
    }

    .tab-group .tab-wrap .tab.has-image > .tab-menu.responsive > span:last-child {
        margin: 0;
    }

    .component.text-box > * {
        padding-left: 1.6rem;
        padding-right: 1.6rem;
    }

    .event-box > .title-wrap {
        margin-bottom: 1.4rem;
        padding-left: 1.6rem;
        padding-right: 1.6rem;
    }

    .event-box > .text-wrap {
        margin-top: 2rem;
        padding-left: 1.6rem;
        padding-right: 1.6rem;
    }

    #footer footer .address,
    #footer footer .links,
    #footer footer .partner {
        grid-column: 2 / 9;
    }

    #footer footer .partner p {
        max-width: 16rem;
    }

    #stage > [class*="col-grid-"] > .title-wrap,
    #stage > [class*="col-grid-"] > .text-wrap {
        grid-column: 1 / 9;
    }

    #stage:not(.has-image) > [class*="col-grid-"]:not(.trans) .text-wrap,
    #stage > [class*="col-grid-"] > .text-wrap {
        grid-row: 2;
    }

    #stage.has-image.image-top > [class*="col-grid-"]:not(.trans) .text-wrap {
        grid-row: 3;
    }

    #stage.has-image.image-bottom > [class*="col-grid-"]:not(.trans) .image-wrap {
        grid-row: 3;
    }

    #home-template #stage.has-box > .trans > .box {
        margin-left: 1.6rem;
        margin-right: 1.6rem;
        width: calc(100% - 3.2rem);
    }

    #stage.has-box > .trans > .link-box,
    #home-template #stage.has-box > .trans > .link-box {
        margin-top: 6.4rem;
        width: calc(100% + 1.6rem);
        min-height: 2rem;
        height: auto;
    }

    #stage.has-box > .trans > .link-box > *:not(.image-wrap):not(svg),
    #home-template #stage.has-box > .trans > .link-box > *:not(.image-wrap):not(svg) {
        padding-right: 1.6rem;
    }

    #stage {
        margin-bottom: 3.2rem;
    }

    .component.flex-grid.youtube {
        grid-column: 1 / 8;
    }

    .title-text.right > .wrap,
    .title-text.left > .wrap {
        padding-bottom: 3.2rem;
    }

    .title-text.text-col .wrap .image-wrap {
        padding: 0 0 3.2rem 0;
    }

    .title-text.text-col.youtube .wrap .title-wrap,
    .title-text.text-col.youtube .wrap .image-wrap {
        grid-column: 1 / 6;
    }

    .title-text.text-col.youtube .wrap .image-wrap {
        grid-row: 2;
    }

    .title-text.text-col.no-text.youtube .wrap .image-wrap {
        width: calc(100% + ((100vw - 3.2rem) / 8));
        margin-bottom: 0;
    }

    .title-text.has-image.youtube .wrap {
        padding: 1.6rem 0 13rem 0;
    }

    .title-text.has-image.youtube .wrap .title-wrap {
        padding-bottom: 1.6rem;
    }

    /*.component.text-box,*/
    . component.event-box,
    .component.link-box {
        padding-left: 1.6rem;
        padding-right: 1.6rem;
    }

    /* menu home */
    #home-template:not(.open-menu) #menu ul li:nth-of-type(1),
    #home-template:not(.open-menu) #menu ul li:nth-of-type(2) {
        grid-column: 1 / 5;
    }

    #home-template:not(.open-menu) #menu ul li:nth-of-type(3),
    #home-template:not(.open-menu) #menu ul li:nth-of-type(4),
    #home-template:not(.open-menu) #menu ul li:nth-of-type(5),
    #home-template:not(.open-menu) #menu ul li:nth-of-type(6),
    #home-template:not(.open-menu) #menu ul li:nth-of-type(7),
    #home-template:not(.open-menu) #menu ul li:nth-of-type(8) {
        grid-column: 5 / 9;
    }

    #home-template:not(.open-menu) #menu ul li:nth-of-type(1) {
        grid-row: 1 / span 2;
    }

    #home-template:not(.open-menu) #menu ul li:nth-of-type(2) {
        grid-row: 3 / span 2;
    }

    #home-template:not(.open-menu) #menu ul li:nth-of-type(3) {
        grid-row: 3;
    }

    #home-template:not(.open-menu) #menu ul li:nth-of-type(4) {
        grid-row: 1;
    }

    #home-template:not(.open-menu) #menu ul li:nth-of-type(5) {
        grid-row: 2;
    }

    #home-template:not(.open-menu) #menu ul li:nth-of-type(6) {
        grid-row: 4;
    }

    #home-template:not(.open-menu) #menu ul li:nth-of-type(7) {
        grid-row: 5;
    }

    #home-template:not(.open-menu) #menu ul li:nth-of-type(8) {
        grid-row: 6;
    }

    #home-template:not(.open-menu) #menu ul li:nth-of-type(3) a *,
    #home-template:not(.open-menu) #menu ul li:nth-of-type(4) a *,
    #home-template:not(.open-menu) #menu ul li:nth-of-type(5) a *,
    #home-template:not(.open-menu) #menu ul li:nth-of-type(6) a *,
    #home-template:not(.open-menu) #menu ul li:nth-of-type(7) a *,
    #home-template:not(.open-menu) #menu ul li:nth-of-type(8) a * {
        font-size: 2.2rem;
        line-height: 2.6rem;
    }

    #home-template:not(.open-menu) #menu li span,
    #sub-menu li span,
    #menu ul li a * {
        font-size: 2.2rem;
        line-height: 2.6rem;
        font-weight: 600;
    }

    #home-template:not(.open-menu) #menu ul li.size-m a span {
        max-width: 18.5rem;
    }

    #home-template:not(.open-menu) #menu ul li:nth-of-type(3) a *,
    #home-template:not(.open-menu) #menu ul li:nth-of-type(4) a *,
    #home-template:not(.open-menu) #menu ul li:nth-of-type(5) a *,
    #home-template:not(.open-menu) #menu ul li:nth-of-type(6) a *,
    #home-template:not(.open-menu) #menu ul li:nth-of-type(7) a *,
    #home-template:not(.open-menu) #menu ul li:nth-of-type(8) a * {
        max-width: 18.5rem;
    }

    .show-submenu-mobile #sub-menu ul {
        display: flex;
        flex-direction: row;
        align-content: stretch;
        align-items: stretch;
        justify-content: stretch;
        justify-items: stretch;
        background-color: transparent;
    }

    .show-submenu-mobile #sub-menu ul li {
        width: 100%;
        align-self: stretch;
    }

    .show-submenu-mobile li #quote {
        width: 100%;
    }

    #sub-menu ul li:not(.quote),
    #menu ul li {
        padding-bottom: 50%;
    }

    .show-submenu-mobile #sub-menu ul li:not(.quote) {
        padding-bottom: 0;
        max-width: 50%;
    }

    .show-submenu-mobile #sub-menu ul li.current {
        display: none;
    }

    #home-template:not(.open-menu) #menu li.size-l span {
        max-width: 100%;
        margin: 0 0 0 0;
    }

    #home-template:not(.open-menu) #menu ul.grid-8 li:nth-of-type(4),
    #home-template:not(.open-menu) #menu ul.grid-7 li:nth-of-type(4) {
        grid-row: 1;
    }

    #home-template:not(.open-menu) #menu ul.grid-8 li:nth-of-type(3) {
        grid-row: 2;
    }

    #home-template:not(.open-menu) #menu ul.grid-8 li:nth-of-type(5) {
        grid-column: 5 / 7;
        grid-row: 3;
    }

    #home-template:not(.open-menu) #menu ul.grid-7 li:nth-of-type(6) {
        grid-row: 4;
        grid-column: 5 / 7;
    }

    #home-template:not(.open-menu) #menu ul.grid-8 li:nth-of-type(6) {
        grid-column: 7 / 9;
        grid-row: 3;
    }

    #home-template:not(.open-menu) #menu ul.grid-8 li:nth-of-type(7) {
        grid-column: 5 / 7;
        grid-row: 4;
    }

    #home-template:not(.open-menu) #menu ul.grid-7 li:nth-of-type(7),
    #home-template:not(.open-menu) #menu ul.grid-8 li:nth-of-type(8) {
        grid-column: 7 / 9;
        grid-row: 4;
    }

    /* menu */
    html.open-menu #header {
        z-index: 100;
        position: relative;
    }

    html.open-menu body > .wrapper {
        z-index: 1;
        position: relative;
    }

    html:not(#home-template) #menu {
        display: block;
    }

    html:not(#home-template) #header #menu nav {
        display: none;
    }

    html:not(#home-template).open-menu #header #menu nav {
        display: block;
    }

    html.open-menu #menu {
        position: fixed;
        top: 0;
        width: 100%;
        left: 0;
        height: 100%;
        /*
        overflow-y: scroll;
        scroll-behavior: smooth;
        */
        z-index: 2;
        background-color: #f0f0f0;
    }

    html.open-menu #header #logo {
        position: fixed;
        top: 1.6rem;
        width: calc(100% - 13.6rem);
        left: 1.6rem;
        z-index: 101;
    }

    #header #logo span,
    #header #logo h1 {
        width: 25rem;
    }

    .open-menu #header #language {
        bottom: 1.6rem;
        top: auto;
        width: 7rem;
        float: right;
        position: fixed;
    }

    .open-menu #header #language {
        right: calc(1.6rem + 15px);
    }

    .open-menu.no-mouse #header #language {
        right: 1.6rem;
    }

    .open-menu #header #language > div {
        display: block;
        position: relative;
        border: none;
        background-color: transparent;
    }

    .open-menu #header #language > div a {
        width: 3.9rem;
        overflow: hidden;
        text-indent: -100rem;
        border: 1px solid #3b3b3b;
        margin-top: 3.6rem;
        float: left;
        position: relative;
        margin-left: 3.2rem;
    }

    .open-menu #header #language > div a:after {
        content: attr(data-lang);
        text-indent: 0;
        text-align: center;
        width: 3.9rem;
        line-height: 1.9rem;
        margin-left: 0;
        float: left;
        position: absolute;
        left: 0;
    }

    #header #language > div a.active {
        background-color: #3b3b3b;
        color: #fff;
        border-bottom: 1px solid #3b3b3b;
    }

    .open-menu #header #language {
        right: calc(1.6rem + 15px);
    }

    .open-menu #header #language span,
    .open-menu #header #language:after {
        display: none;
    }

    .open-menu #header #language > div {
        display: block;
    }

    #header #language:hover > div a.active:last-child,
    #header #language:hover > div a:last-child:hover,
    #header #language > div a:last-child,
    #header #language:hover > div a.active,
    #header #language:hover > div a:hover {
        border-bottom: 1px solid #3b3b3b;
    }

    .open-menu.no-mouse #menu {
        overflow-y: auto;
    }

    .open-menu #header #menu nav {
        display: block;
        margin-top: 12rem;
        height: calc(100% - 12rem);
        background-color: #f0f0f0;
        overflow-y: scroll;
        scroll-behavior: smooth;
        width: calc(100% + 15px);
    }

    #menu ul.flex-grid,
    #home-template.open-menu #menu ul[class*="col-grid"] {
        /*
        flex-direction: column;
        flex-wrap: nowrap;
        height: 100%;
        display: flex;
        align-items: flex-start;
        align-content: flex-start;
        */
        width: calc(50% + 6.3rem);
        min-width: 20rem;
        height: auto;
        display: block;
    }

    #menu ul.flex-grid li,
    #home-template.open-menu #menu ul[class*="col-grid"] li {
        width: calc(100% - 7rem);
        /*min-height: calc(100% / 6);*/
        min-height: calc((100vh - 12rem) / 6);
        height: 100%;
    }

    #home-template.open-menu #menu ul[class*="col-grid"] li ul li {
        min-height: 2rem;
        height: auto;
        padding-bottom: 0;
    }

    #menu ul.flex-grid li.active a,
    #home-template.open-menu #menu ul[class*="col-grid"] li.active a {
        pointer-events: auto;
        opacity: 1;
    }

    #home-template.open-menu #menu ul[class*="col-grid"] li a,
    #home-template.open-menu #menu ul[class*="col-grid"] li a * {
        font-size: 2.2rem !important;
        line-height: 2.6rem !important;
    }

    #home-template #menu li.size-l span {
        max-width: 100%;
        margin: 0;
    }

    #home-template.open-menu #menu li {
        padding-bottom: 1.8rem;
    }

    .title-text.text-col .wrap .image-wrap,
    .title-text.text-col .wrap .text-wrap,
    .title-text.text-col .wrap .title-wrap,
    #stage > [class*="col-grid-"] > .text-wrap,
    #stage > [class*="col-grid-"] > .title-wrap {
        grid-column: 1 / 7;
    }

    .title-text.text-col .wrap .image-wrap,
    .title-text.img-bottom .wrap .image-wrap,
    .title-text .wrap .text-wrap,
    .title-text .wrap .title-wrap,
    .title-text.text-col .wrap .text-wrap,
    .title-text.text-col .wrap .title-wrap {
        padding-left: 1.6rem;
        padding-right: 1.6rem;
        margin-left: 0;
        margin-right: 0;
    }

    .title-text.text-col .wrap .title-wrap {
        padding-bottom: 3.2rem;
    }

    .title-text.text-col.no-text .wrap .image-wrap,
    .title-text.text-col .wrap .image-wrap {
        grid-row: 2;
    }

    .title-text.text-col.no-text .wrap .image-wrap {
        margin-bottom: 1.4rem;
    }

    .title-text .wrap {
        padding-top: 3.2rem;
        padding-bottom: 3.2rem;
    }

    #stage > [class*="col-grid-"] {
        /*padding: 3.2rem 1.6rem;*/
        padding: 1.6rem;
    }

    #home-template #stage > [class*="col-grid-"] {
        padding-top: 3.2rem;
    }

    #home-template #stage > [class*="col-grid-"] .title-wrap + .text-wrap {
        padding-top: 3.2rem;
    }

    #home-template #stage > [class*="col-grid-"] .title-wrap {
        padding-top: 3.2rem;
    }

    #home-template #stage > [class*="col-grid-"] .title-wrap:first-child {
        padding-top: 0;
    }

    #home-template #stage .link-box .image-wrap,
    #stage .link-box .image-wrap {
        margin-top: 3.2rem !important;
    }

    #aside {
        display: block;
        position: relative;
        z-index: 2;
        min-width: 9rem;
    }

    .open-losung #aside {
        position: fixed;
        top: 0;
        left: 1.6rem;
        width: calc(100% - 3.2rem);
        height: calc(100% + 10rem);
        float: left;
        border-top: 11.5rem solid #f0f0f0;
    }

    .open-losung:not(#home-template) #aside #quote * {
        color: var(--customColor);
    }

    .open-losung #aside #quote time span:not(.toggle):nth-child(2) {
        display: none;
    }

    .open-losung #aside #quote time span:not(.toggle):nth-child(1) {
        display: block;
        padding-top: 0.4rem;
        padding-left: 0;
        padding-right: 5rem;
        margin-top: -1.6rem;
    }

    .open-losung #aside #quote {
        padding: 3.2rem 0;
        height: 100%;
        overflow-y: auto;
        scroll-behavior: smooth;
    }

    #aside #quote {
        padding: 0;
    }

    #aside #quote > * {
        display: none;
    }

    #aside #quote time span {
        white-space: normal;
    }

    #home-template.open-losung #aside {
        grid-column: 1 / 9;
        z-index: 1000;
    }

    .open-losung #aside #quote > * {
        display: block;
        padding-left: 1.6rem;
        padding-right: 1.6rem;
    }

    html:not(.open-losung) #aside #quote time {
        padding: 1.6rem;
        display: block;
        position: relative;
    }

    #home-template:not(.open-losung) #aside #quote time {
        background-color: var(--customItemColor);
        color: #fff !important;
        padding-right: 0;
    }

    #home-template:not(.open-losung) #aside #quote time span {
        padding-right: 1.6rem;
    }

    html:not(.open-losung):not(#home-template) #aside #quote time {
        color: var(--customColor) !important;
    }


    #aside #quote time span:not(.toggle):first-child {
        display: none;
    }

    #aside #quote time span:not(.toggle):nth-child(2) {
        display: block;
        color: #fff;
    }

    html:not(.open-losung) #aside #quote time span.toggle {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        cursor: pointer;
        display: block;
        float: left;
    }

    html.open-losung #aside #quote time span.toggle {
        display: none;
    }

    #home-template.open-losung #aside #quote time span.toggle {
        cursor: pointer;
        display: block;
        position: absolute;
        top: 1rem;
        right: 1rem;
        width: 4rem;
        height: 4rem;
        float: left;
        z-index: 100;
    }

    html.open-losung #aside #quote > .close {
        display: block;
        z-index: 10;
    }

    html.open-losung #aside #quote time span.toggle:after,
    html.open-losung #aside #quote time span.toggle:before {
        width: 2.6rem;
        height: 2px;
        position: absolute;
        top: 1.9rem;
        left: 0.7rem;
        background-color: #007750;
        float: left;
        content: "";
    }

    html.open-losung #aside #quote time span.toggle:before {
        transform: rotate(45deg);
    }

    html.open-losung #aside #quote time span.toggle:after {
        transform: rotate(-45deg);
    }

    html.open-losung:not(#home-template) #aside #quote > .close {
        width: 4rem;
        height: 4rem;
        padding: 0;
    }

    html.open-losung:not(#home-template) #aside #quote > .close:after,
    html.open-losung:not(#home-template) #aside #quote > .close:before {
        width: 2.6rem;
        height: 2px;
        position: absolute;
        top: 1.9rem;
        left: 0.7rem;
        background-color: #007750;
        float: left;
        content: "";
    }

    /* mobile menu open */
    .open-menu #menu ul {
        display: block;
        height: auto;
        min-height: 100%;
    }

    .open-menu #menu ul li,
    .open-menu #menu ul li a {
        position: relative;
    }

    .open-menu #menu ul li > .toggle {
        position: absolute;
        top: calc(((100vh - 12rem) / 6) / 2);
        right: -5rem;
        width: 4rem;
        height: 4rem;
        float: left;
        display: block;
        padding: 0;
        background-color: #3b3b3b;
        margin-top: -2rem;
        cursor: pointer;
    }

    .open-menu #menu ul li.custom-color > .toggle {
        background-color: #fff;
    }

    .open-menu #menu ul li.bg-color > .toggle {
        background-color: var(--customColor);
    }

    .open-menu #menu ul li > .toggle:after,
    .open-menu #menu ul li > .toggle:before {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 2rem;
        height: 2px;
        float: left;
        background-color: #fff;
        margin: -0.2rem 0 0 -1rem;
    }

    .open-menu #menu ul li.custom-color > .toggle:after,
    .open-menu #menu ul li.custom-color > .toggle:before {
        background-color: var(--customColor);
    }

    .open-menu #menu ul li > .toggle:before {
        transform: rotate(-90deg);
    }

    .open-menu #menu ul li.open > .toggle:before {
        display: none;
    }

    .open-menu #menu > nav > ul > li {
        display: flex;
        /*min-height: calc(100% / 6);*/
        min-height: calc((100vh - 12rem) / 6);
        height: auto;
        align-items: stretch;
        justify-items: stretch;
        align-content: stretch;
        justify-content: stretch;
        flex-direction: column;
        padding-bottom: 0 !important;
    }

    .open-menu #menu ul li a {
        position: relative;
        align-self: stretch;
        justify-self: stretch;
    }

    .open-menu #menu ul li > ul {
        display: none;
    }

    /*
    .open-menu #menu ul li.open > ul {
    display: block;
    }
    */
    .open-menu #menu ul li > ul,
    .open-menu #menu ul li > ul * {
        width: 100% !important;
        float: left;
        height: auto;
        background-color: transparent;
    }

    .open-menu #menu > nav > ul > li > a {
        min-height: calc(((100vh - 12rem) / 6));
        height: auto;
        margin-bottom: 2px;
    }

    .open-menu #menu > nav > ul > li.open > a {
        margin-bottom: 0;
    }

    .open-menu #menu ul li > ul {
        width: calc(100% - 2px) !important;
        margin-top: 2px;
    }

    .open-menu #menu ul li > ul > li {
        min-height: 2rem;
        height: auto;
        padding: 0;
    }

    .open-menu #menu ul li > ul a {
        background-color: #fafafa;
        margin-bottom: 2px;
        padding: 1.6rem;
        font-size: 2rem;
        line-height: 2.4rem;
    }

    .open-menu #menu ul li.bg-color > ul a,
    .open-menu #menu ul li.bg-color.open > ul a {
        color: #fff;
    }

    .open-menu#home-template #menu ul li:nth-of-type(1) {
        order: 1;
    }

    .open-menu#home-template #menu ul li:nth-of-type(2) {
        order: 2;
    }

    .open-menu#home-template #menu ul li:nth-of-type(3) {
        order: 5;
    }

    .open-menu#home-template #menu ul li:nth-of-type(4) {
        order: 3;
    }

    .open-menu#home-template #menu ul li:nth-of-type(5) {
        order: 4;
    }

    .open-menu#home-template #menu ul li:nth-of-type(6) {
        order: 6;
    }

    .star-selector {
        padding-bottom: 2rem;
    }

    .star-selector div[data-id*="star"].selected {
        margin-bottom: -1.6rem;
    }

    .star-selector div[data-id="star-counter"].active {
        margin-top: 3.4rem;
    }

    .form fieldset .star-button.next-star {
        margin-bottom: 14rem;
        margin-top: -3rem;
        float: left;
    }


    .star-selector .select-wrapper {
        max-width: calc(100% - 4rem);
    }

    .form .star-selector select {
        max-width: 100%;
    }

    form fieldset.star-fieldset {
        padding-bottom: 6rem;
    }

    .star-selector .reset-star {
        left: calc(100% - 2.4rem);
    }

    .star-fieldset .star-selector div[data-id="star-item-data"] input {
        margin-top: 3.6rem;
        max-width: 100%;
    }

    .text-wrap * {
        font-size: 1.8rem;
        line-height: 2.4rem;
    }

}

/*****************************************************************/
@media only screen and (max-width: 460px) {

    html {
        font-size: 55%;
    }

    #header #logo span,
    #header #logo h1 {
        width: 15rem;
    }

    #home-template:not(.open-menu) #menu ul li:nth-of-type(3) a *,
    #home-template:not(.open-menu) #menu ul li:nth-of-type(4) a *,
    #home-template:not(.open-menu) #menu ul li:nth-of-type(5) a *,
    #home-template:not(.open-menu) #menu ul li:nth-of-type(6) a *,
    #home-template:not(.open-menu) #menu ul li:nth-of-type(7) a *,
    #home-template:not(.open-menu) #menu ul li:nth-of-type(8) a *,
    #home-template:not(.open-menu) #menu li span,
    #sub-menu li span,
    #menu ul li a * {
        font-size: 1.8rem;
        line-height: 2.2rem;
    }

}

@media only screen and (max-width: 320px) {

    .show-submenu-mobile #sub-menu ul li:not(.quote) {
        max-width: 100%;
    }

}

/* dev note
@media only screen and (max-width : 615px) {

html:not(.no-mouse) body:after {
content: "DESIGN MOBILE: \0000a Viewport max. 600px Breite \0000a Noch nicht umgesetzt";
font-size: 2rem;
line-height: 2.4rem;
}

}

@media only screen and (max-width : 600px) {

.no-mouse body:after {
content: "DESIGN MOBILE: \0000a Viewport max. 600px Breite \0000a Noch nicht umgesetzt";
font-size: 2rem;
line-height: 2.4rem;
}

}
*/