:root {
    --background-body: #fff;
    --background: #efefef;
    --background-alt: #f7f7f7;
    --primary: #00a8a8;
    --primary-2: #00a8a8;
    --footer: #3cb482;
    --selection: #9e9e9e;
    --text-main: #363635;
    --text-bright: #363635;
    --text-muted: #70777f;
    --text-light: #fff;
    --button-text: var(--text-light);
    --links: #0076d1;
    --focus: rgba(0, 150, 191, 0.67);
    --border: #dbdbdb;
    --code: #000;
    --animation-duration: 0.1s;
    --button-hover: #ddd;
    --scrollbar-thumb: #d5d5d5;
    --scrollbar-thumb-hover: #c4c4c4;
    --form-placeholder: #949494;
    --form-text: #000;
    --variable: #39a33c;
    --highlight: #ff0;
    --select-arrow: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='63' width='117' fill='%23161f27'%3E%3Cpath d='M115 2c-1-2-4-2-5 0L59 53 7 2a4 4 0 00-5 5l54 54 2 2 3-2 54-54c2-1 2-4 0-5z'/%3E%3C/svg%3E");
    --padding: 0.5rem;
    --breakpoint-small: 640px;
    --breakpoint-medium: 1024px;
    --breakpoint-large: 1320px;
    --breakpoint-xlarge: 1920px;
    --color-hover: #fff054;
    --selection: rgba(255, 240, 84, 0.7);
    --ce-bottom-margin: calc(2 * var(--padding));
}

html {
    scrollbar-color: #d5d5d5 #fff;
    scrollbar-color: var(--scrollbar-thumb) var(--background-body);
    scrollbar-width: thin
}

body {
    font-family: "Bunday", sans-serif;
    padding: 0;
    margin: 0;
    max-width: none;
    line-height: 1.4;
    word-wrap: break-word;
    color: #363635;
    color: var(--text-main);
    background: #fff;
    background: var(--background-body);
    text-rendering: optimizeLegibility;
    background-image: url(../images/layout/bg-png-eh.png);
    overflow-x: hidden;
    --links: var(--primary);
    --button-color: var(--primary);
    --content-margin: 1rem;
}

button,
input,
textarea {
    transition: background-color .1s linear, border-color .1s linear, color .1s linear, box-shadow .1s linear, transform .1s ease;
    transition: background-color var(--animation-duration) linear, border-color var(--animation-duration) linear, color var(--animation-duration) linear, box-shadow var(--animation-duration) linear, transform var(--animation-duration) ease
}

b,
h1,
h2,
h3,
h4,
h5,
h6,
strong,
th {
    font-weight: 600
}

q:after,
q:before {
    content: none
}

blockquote>footer {
    font-style: normal;
    border: 0
}

address,
blockquote cite {
    font-style: normal
}

button,
input[type=button],
input[type=checkbox],
input[type=radio],
input[type=range],
input[type=submit],
select {
    cursor: pointer
}

input:not([type=checkbox]):not([type=radio]),
select {
    display: block
}

button,
input,
select,
textarea {
    color: var(--form-text, #000);
    background-color: var(--background, #efefef);
    font-family: inherit;
    font-size: inherit;
    margin-right: 6px;
    margin-bottom: 6px;
    padding: 10px;
    border: none;
    border-radius: 6px;
    outline: none
}

input[type=checkbox],
input[type=radio] {
    height: 1em;
    width: 1em
}

input[type=radio] {
    border-radius: 100%
}

input {
    vertical-align: top
}

label {
    vertical-align: middle;
    margin-bottom: 4px;
    display: inline-block
}

button,
input:not([type=checkbox]):not([type=radio]),
input[type=range],
select,
textarea {
    -webkit-appearance: none
}

textarea {
    display: block;
    margin-right: 0;
    box-sizing: border-box;
    resize: vertical
}

textarea:not([cols]) {
    width: 100%
}

textarea:not([rows]) {
    min-height: 40px;
    height: 140px
}

select {
    background: #efefef url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='63' width='117' fill='%23161f27'%3E%3Cpath d='M115 2c-1-2-4-2-5 0L59 53 7 2a4 4 0 00-5 5l54 54 2 2 3-2 54-54c2-1 2-4 0-5z'/%3E%3C/svg%3E") calc(100% - 12px) 50%/12px no-repeat;
    background: var(--background) var(--select-arrow) calc(100% - 12px) 50%/12px no-repeat;
    padding-right: 35px
}

select::-ms-expand {
    display: none
}

select[multiple] {
    padding-right: 10px;
    background-image: none;
    overflow-y: auto
}

button,
input[type=button],
input[type=submit] {
    padding-right: 30px;
    padding-left: 30px
}

button:hover,
input[type=button]:hover,
input[type=submit]:hover {
    background: #ddd;
    background: var(--button-hover)
}

button:focus,
input:focus,
select:focus,
textarea:focus {
    box-shadow: 0 0 0 2px rgba(0, 150, 191, .67);
    box-shadow: 0 0 0 2px var(--focus)
}

button:active,
input[type=button]:active,
input[type=checkbox]:active,
input[type=radio]:active,
input[type=range]:active,
input[type=submit]:active {
    transform: translateY(2px)
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
    cursor: not-allowed;
    opacity: .5
}

::-moz-placeholder {
    color: #949494;
    color: var(--form-placeholder)
}

:-ms-input-placeholder {
    color: #949494;
    color: var(--form-placeholder)
}

::-ms-input-placeholder {
    color: #949494;
    color: var(--form-placeholder)
}

::placeholder {
    color: #949494;
    color: var(--form-placeholder)
}

fieldset {
    border: 1px solid rgba(0, 150, 191, .67);
    border: 1px solid var(--focus);
    border-radius: 6px;
    margin: 0 0 12px;
    padding: 10px
}

legend {
    font-size: .9em;
    font-weight: 600
}

input[type=range] {
    /*margin: 10px 0;*/
    /*padding: 10px 0;*/
    /*background: transparent*/
}

input[type=range]:focus {
    outline: none
}

input[type=range]::-webkit-slider-runnable-track {
    /*width: 100%;*/
    /*height: 9.5px;*/
    /*-webkit-transition: .2s;*/
    /*transition: .2s;*/
    /*background: #efefef;*/
    /*background: var(--background);*/
    /*border-radius: 3px*/
}

input[type=range]::-webkit-slider-thumb {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    height: 20px;
    width: 20px;
    border-radius: 50%;
    background: #dbdbdb;
    background: var(--border);
    -webkit-appearance: none;
    margin-top: -2px
}

input[type=range]:focus::-webkit-slider-runnable-track {
    /*background: #efefef;*/
    /*background: var(--background)*/
}

input[type=range]::-moz-range-track {
    width: 100%;
    height: 9.5px;
    -moz-transition: .2s;
    transition: .2s;
    /*background: #efefef;*/
    /*background: var(--background);*/
    border-radius: 3px
}

input[type=range]::-moz-range-thumb {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    height: 20px;
    width: 20px;
    border-radius: 50%;
    background: #dbdbdb;
    background: var(--border)
}

input[type=range]::-ms-track {
    width: 100%;
    height: 9.5px;
    background: transparent;
    border-color: transparent;
    border-width: 16px 0;
    color: transparent
}

input[type=range]::-ms-fill-lower,
input[type=range]::-ms-fill-upper {
    background: #efefef;
    background: var(--background);
    border: .2px solid #010101;
    border-radius: 3px;
    box-shadow: 1px 1px 1px #000, 0 0 1px #0d0d0d
}

input[type=range]::-ms-thumb {
    box-shadow: 1px 1px 1px #000, 0 0 1px #0d0d0d;
    border: 1px solid #000;
    height: 20px;
    width: 20px;
    border-radius: 50%;
    background: #dbdbdb;
    background: var(--border)
}

input[type=range]:focus::-ms-fill-lower,
input[type=range]:focus::-ms-fill-upper {
    background: #efefef;
    background: var(--background)
}

a {
    text-decoration: none;
    color: #0076d1;
    color: var(--links)
}

a:hover {
    text-decoration: underline
}

code,
samp,
time {
    background: #efefef;
    background: var(--background);
    color: #000;
    color: var(--code);
    padding: 2.5px 5px;
    border-radius: 6px;
    font-size: 1em
}

pre>code {
    padding: 10px;
    display: block;
    overflow-x: auto
}

var {
    color: #39a33c;
    color: var(--variable);
    font-style: normal;
    font-family: monospace
}

kbd {
    background: #efefef;
    background: var(--background);
    border: 1px solid #dbdbdb;
    border: 1px solid var(--border);
    border-radius: 2px;
    color: #363635;
    color: var(--text-main);
    padding: 2px 4px
}

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

hr {
    border: none;
    border-top: 1px solid #dbdbdb;
    border-top: 1px solid var(--border)
}

table {
    border-collapse: collapse;
    margin-bottom: 10px;
    width: 100%;
    table-layout: fixed
}

table caption,
td,
th {
    text-align: left
}

td,
th {
    padding: 6px;
    vertical-align: top;
    word-wrap: break-word
}

thead {
    border-bottom: 1px solid #dbdbdb;
    border-bottom: 1px solid var(--border)
}

tfoot {
    border-top: 1px solid #dbdbdb;
    border-top: 1px solid var(--border)
}

tbody tr:nth-child(2n) {
    background-color: #f7f7f7;
    background-color: var(--background-alt)
}

::-webkit-scrollbar {
    height: 10px;
    width: 10px
}

::-webkit-scrollbar-track {
    background: #efefef;
    background: var(--background);
    border-radius: 6px
}

::-webkit-scrollbar-thumb {
    background: #d5d5d5;
    background: var(--scrollbar-thumb);
    border-radius: 6px
}

::-webkit-scrollbar-thumb:hover {
    background: #c4c4c4;
    background: var(--scrollbar-thumb-hover)
}

::-moz-selection {
    background-color: #9e9e9e;
    background-color: var(--selection);
    color: #000;
    color: var(--text-bright)
}

::selection {
    background-color: #9e9e9e;
    background-color: var(--selection);
    color: #000;
    color: var(--text-bright)
}

details {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background-color: #f7f7f7;
    background-color: var(--background-alt);
    padding: 10px 10px 0;
    margin: 1em 0;
    border-radius: 6px;
    overflow: hidden
}

details[open] {
    padding: 10px
}

details> :last-child {
    margin-bottom: 0
}

details[open] summary {
    margin-bottom: 10px
}

summary {
    display: list-item;
    background-color: #efefef;
    background-color: var(--background);
    padding: 10px;
    margin: -10px -10px 0;
    cursor: pointer;
    outline: none
}

summary:focus,
summary:hover {
    text-decoration: underline
}

details> :not(summary) {
    margin-top: 0
}

summary::-webkit-details-marker {
    color: #363635;
    color: var(--text-main)
}

@media print {

    body,
    button,
    code,
    details,
    input,
    pre,
    summary,
    textarea {
        background-color: #fff
    }

    button,
    input,
    textarea {
        border: 1px solid #000
    }

    body,
    button,
    code,
    footer,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    input,
    pre,
    strong,
    summary,
    textarea {
        color: #000
    }

    summary::marker {
        color: #000
    }

    summary::-webkit-details-marker {
        color: #000
    }

    tbody tr:nth-child(2n) {
        background-color: #f2f2f2
    }

    a {
        color: #00f;
        text-decoration: underline
    }
}

@media screen and (min-width: 640px) {
    :root {
        --padding: 1rem;
    }
}

@media screen and (min-width: 1024px) {
    :root {
        --padding: 2rem;
    }
}

@media screen and (min-width: 1320px) {
    :root {
        --padding: 3rem;
    }
}

@media screen and (min-width: 1024px) {
    body {
        --content-margin: 2rem;
    }
}

@media screen and (min-width: 1320px) {
    body {
        --content-margin: 3rem;
    }
}

@media screen and (min-width: 1920px) {
    body {
        --content-margin: 4rem;
    }
}

main {
    position: relative;
    z-index: 1;
}

@media screen and (min-width: 1024px) {
    main {
        display: grid;
        grid-template-columns: calc(50% + var(--padding)) calc(50% - var(--padding));
    }

    main>div {
        grid-column: 1/3;
    }

    main>.frame-color:first-child {
        grid-column: 1/2;
        margin-top: calc(-3 * var(--padding));
        grid-template-columns: 1fr;
        max-width: 50vw;
        margin-bottom: var(--ce-bottom-margin);
    }

    main>.frame-color:first-child+.frame {
        grid-column: 2/3;
        grid-template-columns: unset;
        justify-self: center;
        max-width: 640px;
    }

    main>.frame-color:first-child+.frame-type-bwg_contacts {
        width: calc(100% - 3 * var(--padding));
        padding: calc(1.5 * var(--padding));
    }

    main>.frame-color:first-child+.frame-type-bwg_contacts .vcards {
        display: block;
    }
}

@media screen and (min-width: 1024px) and (min-width: 1320px) {
    main>.frame-color:first-child+.frame-type-bwg_contacts .vcard {
        grid-template-columns: 100px 1fr 1fr;
        column-gap: var(--padding);
        margin-bottom: 1.5rem;
        justify-items: start;
    }

    main>.frame-color:first-child+.frame-type-bwg_contacts .vcard__image {
        order: 1;
    }

    main>.frame-color:first-child+.frame-type-bwg_contacts .vcard h2,
    main>.frame-color:first-child+.frame-type-bwg_contacts .vcard .addressTeam {
        order: 2;
    }

    main>.frame-color:first-child+.frame-type-bwg_contacts .vcard__content {
        order: 3;
        text-align: left;
    }

    main>.frame-color:first-child+.frame-type-bwg_contacts .vcard__content.team h2 {
        text-align: left;
    }

    main>.frame-color:first-child+.frame-type-bwg_contacts .vcard.team {
        grid-template-columns: 1fr 1fr;
    }

    main>.frame-color:first-child+.frame-type-bwg_contacts .vcard.team h2 {
        font-size: 1.3rem;
        line-height: 1.5;
    }

    main>.frame-color:first-child+.frame-type-bwg_contacts .vcard.team p {
        margin-bottom: 0;
        line-height: 1.5;
    }

    main>.frame-color:first-child+.frame-type-bwg_contacts .vcard.team .vcard__image {
        width: 100%;
        height: auto;
    }

    main>.frame-color:first-child+.frame-type-bwg_contacts .vcard.team .vcard__image picture {
        width: 100%;
    }

    main>.frame-color:first-child+.frame-type-bwg_contacts .vcard.team .vcard__image picture img {
        border-radius: 70px;
        width: 100%;
        height: auto;
    }
}

@media screen and (min-width: 1024px) {
    main>.frame.frame-default.frame-type-textmedia.frame-layout-0:first-child {
        margin-top: 4.5rem;
    }
}

.footer {
    padding: var(--ce-bottom-margin) var(--padding);
    padding-bottom: 5rem;
    background: var(--footer);
    color: #FFF;
    --links: #FFF;
}

@media screen and (min-width: 1320px) {
    .footer {
        padding: var(--ce-bottom-margin) var(--padding);
        padding-left: calc((100vw - var(--padding) - 1320px) / 2);
        padding-right: calc((100vw - var(--padding) - 1320px) / 2);
    }
}

.footer p {
    font-size: 2rem;
    text-align: left;
    font-weight: bold;
}

.footer p a {
    display: block;
}

@media screen and (min-width: 640px) {
    .footer p {
        font-size: 1.5rem;
    }

    .footer p a {
        display: inline;
    }
}

@media screen and (min-width: 1320px) {
    .footer p {
        font-size: 2rem;
    }
}

.footer p a {
    text-decoration: underline;
}

.footer ul {
    margin: 0;
    list-style: none;
    padding: 0;
    justify-content: center;
    font-size: 1rem;
    line-height: 2;
}

@media screen and (min-width: 1024px) {
    .footer ul {
        justify-content: space-between;
        display: flex;
        flex-wrap: wrap;
        gap: var(--padding);
        font-size: 1.3rem;
        line-height: unset;
    }
}

.frame-color+.footer,
.frame-type-bwg_button:not(.frame-type-bwg_button--open)~.frame~.footer {
    margin-top: calc(2 * var(--ce-bottom-margin));
}

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

    .frame-color+.footer,
    .frame-type-bwg_button:not(.frame-type-bwg_button--open)~.frame~.footer {
        margin-top: calc(-1 * var(--ce-bottom-margin));
    }
}

@font-face {
    font-family: "icomoon";
    src: url(../../assets/fonts/b7d06e4ca971743b88d87a7643607508.eot);
    src: url(../../assets/fonts/b7d06e4ca971743b88d87a7643607508.eot#iefix) format("embedded-opentype"), url(../../assets/fonts/76c7a91d35237a89f3f86a56b174ea91.woff2) format("woff2"), url(../../assets/fonts/0b133f21348d782c43058908ceecd8e2.ttf) format("truetype"), url(../../assets/fonts/2398ad21149a86890db16e16c40540e0.woff) format("woff"), url(../../assets/fonts/74e0130f85e7da1481688476f56332c9.svg#icomoon) format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

[class^=icon-],
[class*=" icon-"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: "icomoon" !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-info-circle:before {
    content: "\e909";
}

.icon-arrow-left:before {
    content: "\e901";
}

.icon-keyboard_arrow_left_double:before {
    content: "\e905";
}

.icon-keyboard_arrow_right_double:before {
    content: "\e906";
}

.icon-keyboard_arrow_right:before {
    content: "\e902";
}

.icon-keyboard_arrow_left:before {
    content: "\e907";
}

.icon-close:before {
    content: "\e918";
}

.icon-check-circle:before {
    content: "\e908";
}

.icon-menu:before {
    content: "\e916";
}

.icon-search:before {
    content: "\e917";
}

.icon-X-schwarz:before {
    content: "\e90a";
}

.icon-download:before {
    content: "\e900";
    color: #fff;
}

.icon-Pfeil-Link_5-W_EH-w-05:before {
    content: "\e903";
    color: #fff;
}

.icon-Pfeil-Link_5-W_EH-05:before {
    content: "\e904";
}

section.header {
    min-height: 7rem;
}

section.header--image {
    overflow: hidden;
}

section.header--video {
    display: grid;
    max-height: 75vh;
    align-content: center;
    justify-content: center;
    overflow: hidden;
}

section.header picture {
    transition: transform 6s ease 0.1s;
    transform: scale(1.1);
}

section.header video {
    pointer-events: none;
    width: 100vw;
}

section.header.not-animated picture {
    transform: scale(1.2);
    transition-duration: 0s;
    transition-delay: 0s;
    z-index: 0;
}

@media screen and (min-width: 640px) {
    section.header {
        min-height: 9rem;
    }
}

@media screen and (min-width: 1024px) {
    section.header {
        min-height: 10rem;
    }

    section.header.not-animated picture {
        transform: scale(1.2) translate3d(25px, -25px, 0);
    }
}

@media screen and (min-width: 1320px) {
    section.header {
        min-height: 11rem;
    }
}


.frame {
    margin-bottom: var(--ce-bottom-margin);
    display: grid;
}

.frame.frame-type-bwg_contacts {
    width: 100%;
    max-width: 1320px;
    justify-self: center;
}

.frame-type-textmedia picture {
    transition: transform 0.6s ease 0.1s;
}

.frame-type-textmedia .ce-textpic {
    transition: transform 0.6s ease 0.1s;
}

.frame-type-textmedia.frame {
    margin-bottom: 0;
}

.frame-type-textmedia.frame .ce-textpic {
    padding-top: 0;
    padding-bottom: 0;
}

.frame-type-textmedia.frame header {
    margin-top: 8.75rem;
}

@media screen and (min-width: 1024px) {
    .frame-type-textmedia.frame {
        margin-bottom: var(--ce-bottom-margin);
    }

    .frame-type-textmedia.frame .ce-textpic {
        padding: calc(1.5 * var(--padding));
    }

    .frame-type-textmedia.frame .faqContent.show .ce-textpic {
        padding: 0;
    }

    .frame-type-textmedia.frame header {
        margin-top: 0;
    }
}

.frame-type-textmedia .caption {
    font-size: 1rem;
}

@media screen and (min-width: 1024px) {
    .frame-type-textmedia:nth-child(2n+1) {
        grid-template-columns: calc(50% - var(--padding)) calc(50% + var(--padding));
        display: grid;
    }

    .frame-type-textmedia:nth-child(2n+1) .caption {
        text-align: right;
        padding: 1rem calc(1.5 * var(--padding));
        width: calc(100% - 3 * var(--padding));
        justify-self: center;
        max-width: 735px;
        margin: 0;
        margin-top: 1rem;
    }

    .frame-type-textmedia:nth-child(2n) {
        grid-template-columns: calc(50% + var(--padding)) calc(50% - var(--padding));
    }

    .frame-type-textmedia:nth-child(2n)>div:first-child {
        order: 2;
    }

    .frame-type-textmedia:nth-child(2n)>div:nth-child(2) {
        order: 1;
        display: grid;
    }

    .frame-type-textmedia:nth-child(2n)>div:nth-child(2) .caption {
        display: grid;
        text-align: left;
        padding: 1rem calc(1.5 * var(--padding));
        width: calc(100% - 3 * var(--padding));
        justify-self: center;
        max-width: 735px;
        margin: 0;
        margin-top: 1rem;
    }
}

@media screen and (min-width: 1024px) {
    .frame.frame-default.frame-type-textmedia~.frame.frame-color.frame-type-bwg_button.frame-layout-0.image-0 {
        margin-bottom: 0;
    }
}

@media screen and (min-width: 1024px) {
    .frame-type-bwg_button~.frame-type-textmedia:nth-child(even) {
        grid-template-columns: calc(50% - var(--padding)) calc(50% + var(--padding));
    }

    .frame-type-bwg_button~.frame-type-textmedia:nth-child(even)>div:first-child {
        order: 1;
    }

    .frame-type-bwg_button~.frame-type-textmedia:nth-child(even)>div:nth-child(2) {
        order: 2;
    }

    .frame-type-bwg_button~.frame-type-textmedia:nth-child(odd) {
        grid-template-columns: calc(50% - var(--padding)) calc(50% + var(--padding));
    }

    .frame-type-bwg_button~.frame-type-textmedia:nth-child(odd)>div:first-child {
        order: 2;
    }

    .frame-type-bwg_button~.frame-type-textmedia:nth-child(odd)>div:nth-child(2) {
        order: 1;
    }
}

.frame-color {
    background: linear-gradient(-65deg, var(--primary-2) 0%, var(--primary) 60%);
    color: #FFF;
    --text-bright: #FFF;
    --links: #FFF;
}

.frame-color .button {
    color: var(--primary);
    --button-color: #FFF;
}

.frame-color+.frame-color {
    margin-top: calc(-1 * var(--ce-bottom-margin));
}

.frame-subpage {
    max-width: 1920px;
}

.frame-subpage:nth-child(odd) .ce-textpic {
    padding-left: 0;
}

.frame-subpage:nth-child(even) .ce-textpic {
    padding-right: 0;
}

.frame-default.frame-type-textmedia.media-align-start,
.frame-subpage.frame-type-textmedia.media-align-start {
    padding-bottom: 0;
}

.frame-default.frame-type-textmedia.media-align-start h2,
.frame-subpage.frame-type-textmedia.media-align-start h2 {
    margin-top: 0;
}

.frame-default.frame-type-textmedia.media-align-start:nth-child(odd) .ce-textpic,
.frame-default.frame-type-textmedia.media-align-start:nth-child(even) .ce-textpic,
.frame-default.frame-type-textmedia.media-align-start:nth-child(odd) .ce-image,
.frame-default.frame-type-textmedia.media-align-start:nth-child(even) .ce-image,
.frame-subpage.frame-type-textmedia.media-align-start:nth-child(odd) .ce-textpic,
.frame-subpage.frame-type-textmedia.media-align-start:nth-child(even) .ce-textpic,
.frame-subpage.frame-type-textmedia.media-align-start:nth-child(odd) .ce-image,
.frame-subpage.frame-type-textmedia.media-align-start:nth-child(even) .ce-image {
    align-self: start;
    padding-top: 0;
}

.frame-default.frame-type-textmedia.media-align-center:nth-child(odd) .ce-image,
.frame-default.frame-type-textmedia.media-align-center:nth-child(even) .ce-image,
.frame-subpage.frame-type-textmedia.media-align-center:nth-child(odd) .ce-image,
.frame-subpage.frame-type-textmedia.media-align-center:nth-child(even) .ce-image {
    align-self: center;
}

.frame.frame-color.frame-type-form_formframework+.frame-default.frame-type-textmedia .ce-textpic,
.frame.frame-color.frame-type-form_formframework+.frame-subpage.frame-type-textmedia .ce-textpic,
.frame.frame-color.frame-type-textmedia.frame-layout-0+.frame-default.frame-type-textmedia .ce-textpic,
.frame.frame-color.frame-type-textmedia.frame-layout-0+.frame-subpage.frame-type-textmedia .ce-textpic,
.frame.frame-color.frame-type-container.frame-layout-0+.frame-default.frame-type-textmedia .ce-textpic,
.frame.frame-color.frame-type-container.frame-layout-0+.frame-subpage.frame-type-textmedia .ce-textpic,
.frame.frame-color.frame-type-menu_section.frame-layout-0.image-0+.frame-default.frame-type-textmedia .ce-textpic,
.frame.frame-color.frame-type-menu_section.frame-layout-0.image-0+.frame-subpage.frame-type-textmedia .ce-textpic {
    padding-top: calc(1.5 * var(--padding));
}

.frame.frame-color.frame-type-menu_section.frame-layout-0.image-0+.frame-default.frame-type-textmedia .ce-textpic,
.frame.frame-color.frame-type-menu_section.frame-layout-0.image-0+.frame-subpage.frame-type-textmedia .ce-textpic {
    padding: calc(1.5 * var(--padding));
    width: calc(100% - 3 * var(--padding));
}

.frame-type-bwg_button.frame-type-bwg_button--open {
    height: 0;
    overflow: hidden;
    margin: 0;
}

.frame.frame-color.frame-type-bwg_button {
    margin-bottom: 0;
}

@media screen and (min-width: 1024px) {
    .frame.frame-color.frame-type-bwg_button {
        margin-bottom: var(--ce-bottom-margin);
    }
}

.frame-type-bwg_button:not(.frame-type-bwg_button--open)~.frame {
    max-height: 0;
    overflow: hidden;
    margin-bottom: 0;
    margin-top: 0;
}

.frame-type-bwg_button:not(.frame-type-bwg_button--open)~.frame+.footer {
    margin-top: 0;
}

.frame-type-bwg_contacts+.frame-type-bwg_contacts-additional {
    margin-top: calc(-1 * var(--ce-bottom-margin));
    background: var(--footer);
}

@media screen and (min-width: 1320px) {
    .frame-type-list+.frame-type-bwg_contacts {
        margin-bottom: 0;
    }

    .frame-type-list+.frame-type-bwg_contacts .vcards {
        margin-bottom: 0;
    }

    .frame-type-list+.frame-type-bwg_contacts .vcards .vcard:last-child {
        margin-bottom: 0;
    }
}

.frame-type-uploads {
    padding: 0 var(--padding);
    margin-top: 36.2px;
    margin-bottom: 8.0625rem;
}

.frame-type-uploads+.frame-type-uploads {
    margin-top: 0;
    padding-top: 0;
}

@media screen and (min-width: 1320px) {
    .frame-type-uploads {
        padding-left: calc((100vw - var(--padding) - 1320px) / 2);
        padding-right: calc((100vw - var(--padding) - 1320px) / 2);
    }
}

.frame.frame-default.frame-type-textmedia~.panoshow {
    margin-top: 8.75rem;
    text-align: center;
    margin-bottom: var(--ce-bottom-margin);
}

.frame.frame-default.frame-type-textmedia~.panoshow h2 {
    text-align: left;
}

.frame.frame-default.frame-type-textmedia~.panoshow iframe,
.frame.frame-default.frame-type-textmedia~.panoshow h2 {
    width: 640px !important;
    max-width: 90vw !important;
    margin-right: auto !important;
    margin-left: auto !important;
    overflow: hidden;
}

@media screen and (min-width: 1024px) {
    .frame.frame-default.frame-type-textmedia~.panoshow {
        margin-top: 0;
        width: calc(100% - 3 * var(--padding));
        padding: calc(1.5 * var(--padding));
        justify-self: center;
        text-align: left;
    }

    .frame.frame-default.frame-type-textmedia~.panoshow iframe,
    .frame.frame-default.frame-type-textmedia~.panoshow h2 {
        max-width: unset;
        margin-right: unset !important;
        margin-left: unset !important;
    }

    .frame.frame-default.frame-type-textmedia~.panoshow iframe {
        text-align: left;
    }
}

.button {
    background: var(--button-color);
    color: #FFF;
    padding: 1rem 1.5rem 0.75rem;
    border-radius: 2.5rem;
    display: inline-block;
    margin: var(--padding) 0;
    transition: all 0.2s ease;
}

.button:hover,
.button:active {
    --button-color: var(--color-hover);
    color: var(--primary);
}

.button-container .button {
    justify-self: center;
}

.button-container {
    display: grid;
    gap: 0.75rem;
}

.button-container a {
    font-size: 1.3rem;
}

.button-container a.extern span.icon-Pfeil-Link_5-W_EH-w-05:before {
    font-size: 0.8rem;
}

.buttonClose {
    position: relative;
    float: right;
    z-index: 1000;
    right: 1rem;
    bottom: 1rem;
    font-size: 50px;
    cursor: pointer;
}

@media screen and (max-width: 1021px) {
    #id02 {
        top: 1px;
    }
}

.topbar {
    display: grid;
    grid-template-columns: 70px auto;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0));
    width: calc(100% - 2 * var(--padding));
    padding: 0 var(--padding);
    position: absolute;
    align-items: start;
    gap: 2rem;
    overflow: hidden;
    z-index: 9;
}

@media screen and (min-width: 640px) {
    .topbar {
        grid-template-columns: 100px auto;
    }
}

@media screen and (min-width: 1320px) {
    .topbar {
        grid-template-columns: 100px auto 300px;
        width: 1320px;
        padding: 0 calc((100vw - 1320px) / 2);
    }
}

.topbar__logo {
    max-width: 100px;
    order: 1;
}

.topbar__menu svg {
    height: 1.6rem;
    position: relative;
    margin-left: 5px;
}

@media screen and (min-width: 1024px) {
    .topbar__menu svg {
        height: 2rem;
    }
}

.topbar__menu svg.icon-close {
    display: none;
}

.topbar__menu svg path {
    fill: var(--menu-item-color, #FFF);
}

.topbar__menu .icon-wrapper {
    width: 24px;
    display: flex;
    justify-content: center;
}

.topbar__menu ul {
    list-style: none;
    padding: 0;
    display: flex;
    gap: 2rem;
    margin: 1rem 0;
    justify-content: space-between;
    font-size: 1.2rem;
}

.topbar__menu ul.level-1 li {
    position: relative;
}

@media screen and (min-width: 1024px) {
    .topbar__menu ul.level-1 li {
        font-size: 1.3rem;
    }
}

@media screen and (min-width: 1320px) {
    .topbar__menu ul.level-1 li {
        font-size: 1.5rem;
    }
}

.topbar__menu ul.level-2 {
    position: absolute;
    transform: translate3d(0, -800px, 0);
    opacity: 0;
    display: inline-block;
    margin: 1rem 0;
    transition: transform 0.001s ease 0s, opacity 0.1s ease 0s;
}

.topbar__menu ul.level-2 a {
    font-size: 1rem;
    white-space: normal;
}

.topbar__menu button {
    padding: 0;
    background: unset;
    margin: 0;
    color: #fff;
}

.topbar__menu a,
.topbar__menu button {
    color: var(--menu-item-color, #FFF);
    display: flex;
    padding: 1rem 0;
    transition: font-size 0.3s ease 0s;
    white-space: nowrap;
    align-items: center;
}

.topbar__menu a:hover,
.topbar__menu a.active,
.topbar__menu button:hover,
.topbar__menu button.active {
    --menu-item-color: var(--color-hover);
    color: var(--menu-item-color, #FFF);
    transform: unset;
}

.topbar__menu a:focus-within,
.topbar__menu button:focus-within {
    box-shadow: unset;
}

.topbar__menu--main {
    order: 2;
    display: none;
    font-weight: bold;
}

.topbar__menu--main ul.level-1 {
    position: absolute;
    animation: menu-out;
    animation-duration: 0.3s;
    animation-timing-function: linear;
    animation-fill-mode: both;
    animation-delay: 0s;
}

.topbar__menu--actions {
    justify-self: end;
    order: 3;
}

.topbar__menu--actions li.showDesktop {
    display: none;
}

.topbar__menu--actions li.showMobile {
    display: block;
}

@media screen and (min-width: 640px) {
    .topbar__menu--actions li.showDesktop {
        display: block;
    }

    .topbar__menu--actions li.showMobile {
        display: none;
    }
}

@media screen and (min-width: 1320px) {
    .topbar__menu {
        display: flex;
        gap: var(--padding);
    }
}

@keyframes topbar-in {
    0% {
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0));
        min-height: 140px;
        height: auto;
    }

    1% {
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0));
        height: 100vh;
    }

    100% {
        height: 100vh;
        background: #fff054;
    }
}

@keyframes menu-in {
    0% {
        max-width: 300px;
    }

    40% {
        transform: translate3d(0, 0, 0);
    }

    100% {
        width: 100vw;
        transform: translate3d(calc(-100px - 1.5 * var(--padding)), 150px, 0);
        max-width: 1320px;
    }
}

@keyframes menu-out {
    0% {
        width: 100vw;
        transform: translate3d(calc(-100px - 1.5 * var(--padding)), 150px, 0);
        max-width: 1320px;
    }

    40% {
        width: 100vw;
    }

    80% {
        transform: translate3d(0, 0, 0);
    }

    100% {
        max-width: 300px;
    }
}

.open-menu {
    --menu-item-color: var(--text-bright);
}

.open-menu .topbar {
    position: fixed;
    animation: topbar-in;
    animation-duration: 0.5s;
    animation-timing-function: ease;
    animation-fill-mode: both;
}

.open-menu a.active,
.open-menu a:hover {
    --menu-item-color: var(--text-bright);
}

.open-menu .topbar__menu--main {
    position: relative;
}

.open-menu .topbar__menu--main ul.level-1 {
    animation: menu-in;
    animation-duration: 0.4s;
    animation-timing-function: linear;
    animation-fill-mode: both;
    animation-delay: 0s;
}

.open-menu .topbar__menu--main ul.level-1>li {
    width: calc(20% - var(--padding));
}

.open-menu .topbar__menu--main ul.level-2 {
    transform: translate3d(0, 0, 0);
    opacity: 1;
    transition: transform 0.4s ease 0.3s, opacity 0.3s ease 0.5s;
}

.open-menu .topbar__menu--main a {
    font-size: 1.75rem;
    transition: font-size 0.5s ease 0s;
}

.open-menu svg.icon-close {
    display: inline;
}

.open-menu svg.icon-open {
    display: none;
}

.topbar.onload,
.topbar.onload ul.level-1 {
    animation-duration: 0.00001s;
}

.menu_main.menu-w-subpages {
    opacity: 0;
    visibility: hidden;
    transition: visibility 0.3s linear, opacity 0.3s linear;
    width: 100vw;
    background-image: linear-gradient(115deg, hsl(55deg, 100%, 66%) 0%, hsl(55deg, 93%, 64%) 17%, hsl(55deg, 87%, 61%) 43%, hsl(55deg, 81%, 59%) 64%, hsl(55deg, 76%, 56%) 77%, hsl(55deg, 72%, 53%) 86%, hsl(55deg, 69%, 50%) 92%, hsl(55deg, 73%, 47%) 96%, hsl(55deg, 79%, 44%) 99%, hsl(55deg, 90%, 40%) 100%);
    position: fixed;
    z-index: 1;
    left: 0;
    height: 100%;
    overflow-y: auto;
}

.menu_main.menu-w-subpages.open-menu {
    opacity: 1;
    visibility: visible;
    transition: opacity 1000ms ease-in-out;
}

.menu_main.menu-w-subpages .topbar__shadow {
    height: 125px;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0));
}

.menu_main.menu-w-subpages .topbar__shadow .menu_fixed a.topbar__logo {
    margin-left: 0.5rem;
}

.menu_main.menu-w-subpages .topbar__shadow .menu_fixed a.topbar__logo img {
    width: 100px;
    height: auto;
}

.menu_main.menu-w-subpages .topbar__shadow .menu_fixed #closeMenuButton,
.menu_main.menu-w-subpages .topbar__shadow .menu_fixed #closeSearchButton,
.menu_main.menu-w-subpages .topbar__shadow .menu_fixed #closeMenuButtonMobile {
    margin-top: 2rem;
    margin-right: 1rem;
    font-size: 1.5rem;
    color: var(--color-text);
    float: right;
}

.menu_main.menu-w-subpages .topbar__shadow .menu_fixed #closeSearchButton {
    margin-right: 2rem;
}

.menu_main.menu-w-subpages .menu_fixed {
    width: calc(100% - 2 * var(--padding));
    padding: 0 var(--padding);
    overflow: hidden;
}

@media screen and (min-width: 1320px) {
    .menu_main.menu-w-subpages .menu_fixed {
        width: 1320px;
        max-width: 100vw;
        margin: 0 auto;
    }
}

.menu_main.menu-w-subpages .menu_fixed ul {
    padding-left: 0;
}

.menu_main.menu-w-subpages .menu_fixed ul.level-1 {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-row-gap: 4rem;
    margin: 4rem 0;
    /*@media screen and (min-width: $breakpoint-large) {
  	grid-template-columns: repeat(5, 1fr);
  	grid-template-areas:
  	'item1 item2 item3 item4 item5'
  	' item6 havarie havarie havarie havarie';
  	> li.navItem {
  		&:nth-child(5),&:nth-child(6) {
  			border-right: none;
  		}
  		&:nth-child(1), &:nth-child(2),&:nth-child(3),&:nth-child(4) {
  			border-right: 1px solid #000;
  		}
  	}
  }*/
}

.menu_main.menu-w-subpages .menu_fixed ul.level-1 li {
    list-style-type: none;
    text-align: center;
}

.menu_main.menu-w-subpages .menu_fixed ul.level-1 li a {
    color: #000;
}

.menu_main.menu-w-subpages .menu_fixed ul.level-1>li.navItem {
    padding: 0 1.875rem;
}

.menu_main.menu-w-subpages .menu_fixed ul.level-1>li.navItem>a.h2 {
    margin-bottom: 3rem;
    display: block;
}

.menu_main.menu-w-subpages .menu_fixed ul.level-1>li.navItem>ul li {
    margin-bottom: 1.5625rem;
}

.menu_main.menu-w-subpages .menu_fixed ul.level-1>li.navItem>ul li a {
    line-height: 25px;
    font-size: 1.3rem;
}

.menu_main.menu-w-subpages .menu_fixed ul.level-1>li.navItem>ul li a:hover {
    text-decoration: underline;
}

.menu_main.menu-w-subpages .menu_fixed ul.level-1>li.navItem>ul li a .icon-Pfeil-Link_5-W_EH-05:before {
    font-size: 0.8rem;
}

.menu_main.menu-w-subpages .menu_fixed ul.level-1>li.h2 {
    color: #000;
    margin-top: 3rem;
}

.menu_main.menu-w-subpages .menu_fixed ul.level-1>li.h2 a {
    text-decoration: underline;
}

@media screen and (min-width: 640px) {
    .menu_main.menu-w-subpages .menu_fixed ul.level-1 {
        grid-template-columns: repeat(2, 1fr);
        grid-template-areas: "item1 item2" "item3 item4" "item5 item6" "havarie havarie";
    }

    .menu_main.menu-w-subpages .menu_fixed ul.level-1>li.navItem {
        border-right: 1px solid #000;
    }

    .menu_main.menu-w-subpages .menu_fixed ul.level-1>li.navItem:nth-child(2),
    .menu_main.menu-w-subpages .menu_fixed ul.level-1>li.navItem:nth-child(4),
    .menu_main.menu-w-subpages .menu_fixed ul.level-1>li.navItem:nth-child(6) {
        border-right: none;
    }

    .menu_main.menu-w-subpages .menu_fixed ul.level-1>li.h2 {
        grid-area: havarie;
        color: #000;
        margin-top: 0;
    }
}

@media screen and (min-width: 1024px) {
    .menu_main.menu-w-subpages .menu_fixed ul.level-1 {
        grid-template-columns: repeat(3, 1fr);
        grid-template-areas: "item1 item2 item3" "item4 item5 item6" "havarie havarie havarie";
    }

    .menu_main.menu-w-subpages .menu_fixed ul.level-1>li.navItem:nth-child(3),
    .menu_main.menu-w-subpages .menu_fixed ul.level-1>li.navItem:nth-child(6) {
        border-right: none;
    }

    .menu_main.menu-w-subpages .menu_fixed ul.level-1>li.navItem:nth-child(2),
    .menu_main.menu-w-subpages .menu_fixed ul.level-1>li.navItem:nth-child(4) {
        border-right: 1px solid #000;
    }
}

.menu_main.menu-w-subpages .menu_fixed form {
    width: 100%;
    max-width: calc(1320px - 8rem);
    margin: 2rem auto 0 auto;
    display: grid;
    grid-template-columns: 1fr auto;
    border-bottom: 2px solid #000;
}

.menu_main.menu-w-subpages .menu_fixed form input {
    background: unset;
    border-radius: 0;
    border: none;
    font-size: 1rem;
}

.menu_main.menu-w-subpages .menu_fixed form input:focus {
    box-shadow: unset;
}

@media screen and (min-width: 640px) {
    .menu_main.menu-w-subpages .menu_fixed form input {
        font-size: 2rem;
    }
}

.menu_main.menu-w-subpages .menu_fixed form input::placeholder {
    color: #000;
    opacity: 0.4;
}

.menu_main.menu-w-subpages .menu_fixed form button {
    border-radius: 0;
    background: unset;
    margin: 0;
    padding: 1rem;
}

.menu_main.menu-w-subpages .menu_fixed form button:focus {
    box-shadow: unset;
}

.menu_main.menu-w-subpages .menu_fixed form button .icon-keyboard_arrow_right:before {
    font-size: 2rem;
}

.menu_main.menu-w-subpages .menu_fixed form button:hover,
.menu_main.menu-w-subpages .menu_fixed form button.active {
    transform: unset;
}

.menu_main.menu-w-subpages.erlebnishaus {
    background-position: top;
    background-size: cover;
    background-image: url("data:image/svg+xml,%3Csvg id='Ebene_1' data-name='Ebene 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 3840'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23636aaf%3B%7D.cls-2%7Bfill:%2345b384%3B%7D.cls-3%7Bfill:%23fff155%3B%7D.cls-4%7Bfill:%23007457%3B%7D.cls-5%7Bfill:%2300aec3%3B%7D.cls-6%7Bfill:%234a458b%3B%7D%3C/style%3E%3C/defs%3E%3Ctitle%3EHG Erlebnishaus Menu%3C/title%3E%3Crect class='cls-1' width='1920' height='3840'/%3E%3Cpath class='cls-2' d='M1007.79 485.21c22.09 1.28 39.12-5.17 50-10.14l4.73-2.16c9-4.09 18-8 27-12 9.52-4.15 19-8.32 28.47-12.61q23.4-10.05 46.74-20.21c41.21-17.88 83.83-36.36 125.56-53.33q5.7-2.31 11.39-4.58c1.89-.57 4.07-1.11 6.37-1.71 10.37-2.72 24.56-6.46 39-13h0c46.23-21.06 60.46-56.23 64.82-75.28a103.65 103.65 0 0 0 2.4-30.47c-6.07-86.33-99.1-107.27-143.81-117.34-4-.9-7.42-1.63-9.55-2.2a394.48 394.48 0 0 1-52.42-19.92c-3-1.42-7-3.62-11.36-6C1169.91 89.41 1135.94 71 1098.94 72a88.17 88.17 0 0 0-34.12 8c-15.75 7.18-48.5 22.1-80.33 122.57-8.81 27.8-19.17 57.17-31.68 89.75q-8.38 21.81-17.19 43.46l-.29.61c-7.17 14.54-29 58.78-2.81 103.56C948 466.5 976.18 483.42 1007.79 485.21Z' transform='translate(0)'/%3E%3Cpath class='cls-2' d='M1177.54 3042.69q-8.79-21.64-17.19-43.46c-12.5-32.58-22.87-61.94-31.67-89.75-31.84-100.47-64.59-115.39-80.33-122.57a88.07 88.07 0 0 0-34.13-8c-37-1.07-71 17.37-98.25 32.17-4.4 2.39-8.31 4.59-11.36 6a394 394 0 0 1-52.42 19.93c-2.13.57-5.56 1.29-9.55 2.19-44.71 10.07-137.74 31-143.8 117.35a103.6 103.6 0 0 0 2.39 30.46c4.37 19.06 18.6 54.22 64.82 75.28h0c14.46 6.58 28.65 10.32 39 13 2.3.6 4.48 1.14 6.37 1.71 3.8 1.51 7.59 3 11.39 4.59 41.73 17 84.35 35.44 125.56 53.32q23.37 10.14 46.74 20.21c9.44 4.3 19 8.46 28.47 12.61 9 4 18.05 7.9 27 12l4.73 2.17c10.9 5 27.93 11.42 50 10.13 31.6-1.79 59.78-18.71 75.27-45.24 26.13-44.79 4.35-89-2.81-103.56Z' transform='translate(0)'/%3E%3Cpath class='cls-3' d='M179.33 813.39c17.66-5 173.34-51.5 200.34-135.52a64.13 64.13 0 0 0 3.12-22.55c-.9-19.27-11.29-37.11-28.52-49a79.14 79.14 0 0 0-45.2-13.69c-32 .3-60.33 16.87-85.3 31.5-5.05 3-10 5.88-15 8.63-66.5 37-142.61 46.77-208.77 29.4V818.14C59.85 831 121.71 829.77 179.33 813.39Z' transform='translate(0)'/%3E%3Cpath class='cls-4' d='M1853.38 2048.29q-2.28 1.58-4.61 3.08c-76.72 49.76-184.54 49.54-274.69-.56-5-2.75-9.95-5.68-15-8.63-25-14.63-53.28-31.2-85.3-31.5a79.14 79.14 0 0 0-45.2 13.69c-17.23 11.84-27.62 29.68-28.52 49a64.13 64.13 0 0 0 3.12 22.55c27 84 182.68 130.5 200.34 135.52 103.94 29.55 221.69 9.75 316.48-52.89v-203C1903.19 2004.32 1880.65 2029.55 1853.38 2048.29Z' transform='translate(0)'/%3E%3Cpath class='cls-5' d='M1747.28 438.08c-24.65 69.28-7.2 151.51-48.44 215.58-57.5 89.32-162.77 12.57-226.18-25.73-52.33-31.6-103.64-46.3-162.57-27.59-69.34 22-123.61 81-149.64 148-29.62 76.26-32.36 172.3 2.92 245.28 32.73 67.72 115.29 70.9 133.89-12.82 9.1-41-3.75-82.49-8.62-123.75s1.68-89.83 36.81-114.16c34.83-24.12 83.13-13.64 118.43 7.84s64 52.51 100.7 71.62c80.49 41.9 193.54 11.54 244.16-65.57 47.52-72.39 32-165.34 81.68-236.3 14-20 31-30.66 49.58-35.18V329.28C1838.41 320.75 1777.73 352.5 1747.28 438.08Z' transform='translate(0)'/%3E%3Cpath class='cls-5' d='M242.74 3227.43c49.68 71 34.16 163.91 81.68 236.3 50.63 77.11 163.67 107.47 244.17 65.58 36.72-19.12 65.4-50.14 100.7-71.63s83.59-32 118.42-7.84c35.13 24.33 41.68 72.89 36.81 114.16s-17.72 82.8-8.62 123.75c18.6 83.72 101.16 80.54 133.9 12.82 35.27-73 32.53-169 2.91-245.28-26-67-80.3-126-149.64-148.05-58.92-18.7-110.24-4-162.57 27.59-63.41 38.3-168.68 115.05-226.18 25.73-41.23-64.06-23.79-146.29-48.44-215.58-34.58-97.19-108.14-125-207-103.14C117.51 3051 55.6 3089.06 0 3101.41v134.15a211.35 211.35 0 0 0 34.12-8C100.89 3205.66 191.61 3154.38 242.74 3227.43Z' transform='translate(0)'/%3E%3Cpath class='cls-2' d='M125.29 1656.67c35.29-21.48 83.59-32 118.42-7.84 35.13 24.33 41.68 72.89 36.81 114.16s-17.72 82.79-8.62 123.75c18.6 83.72 101.16 80.54 133.9 12.82 35.27-73 32.53-169 2.91-245.28-26-67-80.3-126-149.64-148-58.92-18.7-110.24-4-162.57 27.59-26.91 16.26-61.36 39.43-96.5 53.91v150.84a161.1 161.1 0 0 0 24.59-10.28C61.31 1709.18 90 1678.16 125.29 1656.67Z' transform='translate(0)'/%3E%3Cpath class='cls-6' d='M347.64 22.36c-33.2 48.79-36.78 120.83-8.7 175.19A166.32 166.32 0 0 0 353.4 220.7c32.08 42.75 88 70.38 142.53 70.38h1.72a162.65 162.65 0 0 0 25.61-2.28c72.81-12.37 145.91-101.36 142.23-173.11a144.46 144.46 0 0 0-3.59-25.45A199.41 199.41 0 0 0 614.08 0H366.78A136.65 136.65 0 0 0 347.64 22.36Z' transform='translate(0)'/%3E%3Cpath class='cls-3' d='M1628 3705.82c-34-50-100.51-72.36-151.34-72.36-20.31 0-39.24 3.23-56.25 9.59-50.74 19-92.61 70.28-106.68 130.63a145.66 145.66 0 0 0-3.59 25.45 123.22 123.22 0 0 0 5.32 40.87H1651.3C1661.39 3793.86 1653.33 3743.07 1628 3705.82Z' transform='translate(0)'/%3E%3Cpath class='cls-6' d='M1045.9 1706.79a162.65 162.65 0 0 0 25.61 2.28h1.72c54.51 0 110.45-27.63 142.53-70.38a166.32 166.32 0 0 0 14.46-23.15c28.08-54.36 24.51-126.4-8.69-175.19-34-50-100.51-72.36-151.34-72.36-20.31 0-39.24 3.23-56.25 9.6-50.74 19-92.61 70.27-106.68 130.63a145.4 145.4 0 0 0-3.59 25.45C900 1605.43 973.1 1694.42 1045.9 1706.79Z' transform='translate(0)'/%3E%3Cpath class='cls-4' d='M426 900.76c-48.47 71.23-53.69 176.42-12.69 255.78a243.07 243.07 0 0 0 21.11 33.8C481.27 1252.76 563 1293.1 642.53 1293.1H645a239.5 239.5 0 0 0 37.4-3.33c106.29-18.07 213-148 207.65-252.75a211.31 211.31 0 0 0-5.24-37.16c-20.54-88.13-81.68-163-155.75-190.72-24.84-9.3-52.47-14-82.13-14C572.77 795.12 475.68 827.78 426 900.76Z' transform='translate(0)'/%3E%3Cpath class='cls-6' d='M1673.18 2570c-74.07 27.74-135.21 102.6-155.75 190.72a211.45 211.45 0 0 0-5.24 37.16c-5.37 104.76 101.36 234.68 207.65 252.75a239.61 239.61 0 0 0 37.4 3.33h2.51c56.83 0 114.73-20.58 160.25-55.07V2606.2c-50.14-34.33-113-50.2-164.68-50.2C1725.65 2556 1698 2560.71 1673.18 2570Z' transform='translate(0)'/%3E%3Cpath class='cls-5' d='M825.24 2518h2.51c79.58 0 161.26-40.34 208.09-102.76a242.9 242.9 0 0 0 21.12-33.8c41-79.36 35.77-184.54-12.7-255.78-49.65-73-146.74-105.64-220.94-105.64-29.67 0-57.3 4.71-82.14 14-74.07 27.74-135.21 102.6-155.75 190.72a211.45 211.45 0 0 0-5.24 37.16c-5.37 104.76 101.36 234.68 207.65 252.75A239.61 239.61 0 0 0 825.24 2518Z' transform='translate(0)'/%3E%3C/svg%3E");
}

.menu_main.menu-w-subpages.mobile.open-menu .topbar__shadow .menu_fixed a.topbar__logo {
    margin-left: 1.75rem;
}

.menu_main.menu-w-subpages.mobile ul.level-1 {
    grid-row-gap: 0;
    padding: 0 2rem;
}

.menu_main.menu-w-subpages.mobile ul.level-1 li {
    text-align: left;
}

.menu_main.menu-w-subpages.mobile ul.level-1>li.navItem {
    position: relative;
    border-bottom: 1px solid var(--text-main);
    padding: 0;
}

.menu_main.menu-w-subpages.mobile ul.level-1>li.navItem>a.h2 {
    margin: 1rem 0;
}

.menu_main.menu-w-subpages.mobile ul.level-1>li.navItem button {
    background-color: transparent;
    position: absolute;
    right: 0;
    top: 0.5rem;
    margin-bottom: 0rem;
    font-size: 2.5rem;
    display: grid;
    padding: 0.5rem;
    width: 2.5rem;
    height: 2.5rem;
    margin-right: 0;
}

.menu_main.menu-w-subpages.mobile ul.level-1>li.navItem button span {
    display: block;
    transform-origin: center;
    transition: all 0.2s ease-in-out;
    line-height: unset;
    height: 100%;
    width: 100%;
    font-size: 1rem;
    transform: rotate(22.5deg);
}

.menu_main.menu-w-subpages.mobile ul.level-1>li.navItem button+ul.level-2 {
    height: 0;
    max-height: 100vh;
    transition: all 0.3s ease-in-out;
    overflow: hidden;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
}

.menu_main.menu-w-subpages.mobile ul.level-1>li.navItem button.showSub span {
    transform-origin: center;
    transform: rotate(45deg);
    transition: all 0.2s ease-in-out;
}

.menu_main.menu-w-subpages.mobile ul.level-1>li.navItem button.showSub+ul.level-2 {
    height: auto;
    max-height: 100vh;
    transition: all 0.3s ease-in-out;
    overflow-y: unset;
    opacity: 1;
    padding-top: 3rem;
    padding-bottom: 1rem;
}

@media screen and (min-width: 640px) {
    .topbar.erlebnishaus {
        grid-template-columns: 100px auto;
    }
}

.topbar.erlebnishaus .topbar__shadow {
    background: unset;
}

.topbar.erlebnishaus .menu_main.menu-w-subpages .topbar__shadow .menu_fixed a.topbar__logo {
    margin-left: 0;
}

.topbar.erlebnishaus .menu_main.menu-w-subpages .topbar__shadow .menu_fixed a.topbar__logo img {
    width: 100%;
    max-width: 150px;
}

.topbar.erlebnishaus .topbar__logo img {
    max-width: 150%;
}

.topbar.erlebnishaus .menu_main.menu-w-subpages .menu_fixed ul.level-1 {
    display: block;
    text-align: center;
}

.topbar.erlebnishaus .menu_main.menu-w-subpages .menu_fixed ul.level-1>li.navItem {
    border: unset;
    margin-bottom: 3rem;
}

.topbar.erlebnishaus .menu_main.menu-w-subpages .menu_fixed ul.level-1>li.navItem>a.h2 {
    font-family: "BundaySans";
    margin-bottom: 1rem;
}

.topbar.erlebnishaus .menu_main.menu-w-subpages .menu_fixed ul.level-1>li.navItem>span {
    font-size: 1.3rem;
}

@media screen and (min-width: 1024px) {
    .topbar.erlebnishaus {
        grid-template-columns: 100px auto;
    }
}

@media screen and (min-width: 1320px) {
    .topbar.erlebnishaus {
        width: 1320px;
        padding: 0 calc((100vw - 1320px) / 2);
    }
}

.news-list-view {
    margin-bottom: 4rem;
}

.news-list-view a {
    color: #000;
}

.news-list-view a:hover {
    text-decoration: none;
}

.news-list-view a.button {
    color: #fff;
}

.news-list-view a.button:hover {
    color: var(--primary);
}

.news-list-view .article {
    color: #000;
    display: grid;
    grid-template-columns: 1fr;
    margin-bottom: 3rem;
    border-top: 1px solid var(--text-main);
    padding-top: 2rem;
}

.news-list-view .article:first-child {
    border-top: none;
}

.news-list-view .article:nth-child(odd),
.news-list-view .article:nth-child(even) {
    grid-template-areas: "txt" "img";
}

.news-list-view .article .news-img-wrap {
    grid-area: img;
}

.news-list-view .article .teaser-text {
    grid-area: txt;
}

@media screen and (min-width: 1024px) {
    .news-list-view .article {
        border: unset;
        grid-template-columns: 1fr 1fr;
    }

    .news-list-view .article:nth-child(odd) {
        grid-template-areas: "txt img";
    }

    .news-list-view .article:nth-child(even) {
        grid-template-areas: "img txt";
    }
}

.news-list-view .article strong {
    font-weight: normal;
}

.news-list-view .news-img-wrap {
    width: 100%;
    overflow: hidden;
    display: grid;
    align-content: start;
}

.news-list-view .news-img-wrap img {
    width: 100%;
    height: auto;
}

.news-list-view .teaser-text {
    padding: calc(1.5 * var(--padding));
}

.news-list-view h3 {
    margin: 0 0 var(--padding);
    font-size: 1.7rem;
}

.news-list-view p {
    margin: 0;
}

.news-single .article>.ce-textpic:not(.centered) {
    max-width: unset;
    padding: 0;
    width: 100%;
}

.news-single .article>.ce-textpic:not(.centered) .ce-textpic {
    padding-top: 0;
}

.news-single .article>.ce-textpic:not(.centered) .ce-textpic p {
    margin-top: 0;
}

@font-face {
    font-family: "Bunday";
    font-style: normal;
    font-weight: 400;
    src: local(""), url(../../assets/fonts/5d0f3c519625435107caf23630ce0792.woff2) format("woff2"), url(../../assets/fonts/f888f5551f645d89554bc2106d814dbd.woff) format("woff");
}

@font-face {
    font-family: "Bunday";
    font-style: normal;
    font-weight: 600;
    src: local(""), url(../../assets/fonts/52d5b05b00ee51b72b4a5bc11cdc2fb5.woff2) format("woff2"), url(../../assets/fonts/f211f4e552306aa2e176c2ad8c38bbfe.woff) format("woff");
}

@font-face {
    font-family: "Bunday";
    font-style: oblique;
    font-weight: 800;
    src: local(""), url(../../assets/fonts/5d52edc3e7df5857c0acc0f15b821a46.woff2) format("woff2"), url(../../assets/fonts/a3799c2851b4d8b7573645debacb7220.woff) format("woff");
}

@font-face {
    font-family: "Bunday";
    font-style: italic;
    font-weight: 400;
    src: local(""), url(../../assets/fonts/5d52edc3e7df5857c0acc0f15b821a46.woff2) format("woff2"), url(../../assets/fonts/a3799c2851b4d8b7573645debacb7220.woff) format("woff");
}

@font-face {
    font-family: "BundaySans";
    font-style: normal;
    font-weight: 800;
    src: local(""), url(../../assets/fonts/0e030ccd4819254df6e30c603fb030d2.woff2) format("woff2"), url(../../assets/fonts/606ac15076d9e7055dfc042f242bdf18.woff) format("woff");
}

p {
    font-size: 1.3rem;
    word-break: break-word;
}

a:hover {
    text-decoration: none;
}

form span a {
    text-decoration: underline;
}

form span a:hover {
    text-decoration: underline;
}

picture {
    display: flex;
}

ul {
    margin-left: 0;
    padding-left: 1.1rem;
}

blockquote {
    font-style: italic;
    margin: var(--padding) 0;
    font-size: 1.3rem;
    text-align: center;
}

@media screen and (min-width: 1320px) {
    blockquote {
        font-size: 1.6rem;
    }
}

blockquote:before {
    content: "»";
}

blockquote:after {
    content: "«";
}

blockquote+p.author {
    text-align: center;
    margin: calc(-0.5 * var(--padding)) 0 var(--padding);
}

h1,
h2,
h3,
h4,
h5,
h6,
.search-wallet * {
    font-family: "Bunday", sans-serif;
}

.containerErlebnishaus h1,
.containerErlebnishaus h2,
.containerErlebnishaus h3,
.containerErlebnishaus h4,
.containerErlebnishaus h5,
.containerErlebnishaus h6 {
    font-family: "BundaySans", sans-serif;
    word-break: break-word;
}

h1,
.h1 {
    font-weight: bold;
    font-size: 1.6rem;
    line-height: 1.1;
}

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

    h1,
    .h1 {
        font-size: 2rem;
    }
}

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

    h1,
    .h1 {
        font-size: 2.5rem;
    }
}

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

    h1,
    .h1 {
        font-size: 3rem;
    }
}

h2,
.h2,
.ehsub h1,
.frame h1,
.frame .h1,
.frame .ce-contacts h2 {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: calc(2 * var(--padding));
    line-height: 1.1;
}

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

    h2,
    .h2,
    .ehsub h1,
    .frame h1,
    .frame .h1,
    .frame .ce-contacts h2 {
        font-size: 1.4rem;
    }
}

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

    h2,
    .h2,
    .ehsub h1,
    .frame h1,
    .frame .h1,
    .frame .ce-contacts h2 {
        margin-bottom: calc(var(--padding));
        font-size: 1.8rem;
    }
}

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

    h2,
    .h2,
    .ehsub h1,
    .frame h1,
    .frame .h1,
    .frame .ce-contacts h2 {
        font-size: 2.2rem;
    }
}

.frame-type-uploads h2 {
    margin-top: 0;
    margin-bottom: var(--padding);
}

h3,
.h3 {
    font-size: 1.17rem;
    margin-bottom: calc(1.5 * var(--padding));
    line-height: 1.1;
}

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

    h3,
    .h3 {
        font-size: 1.2rem;
    }
}

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

    h3,
    .h3 {
        margin-bottom: calc(var(--padding));
        font-size: 1.6rem;
    }
}

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

    h3,
    .h3 {
        font-size: 1.8rem;
    }
}

h4,
.h4 {
    font-size: 1rem;
}

table {
    width: 100% !important;
    border: 0 !important;
    --table-padding: 10px;
}

table p {
    margin: 0;
}

table p+p {
    margin-top: var(--table-padding);
}

table td {
    border: 0;
    padding: var(--table-padding);
}

table tr {
    border-bottom: 1px solid var(--text-main);
}

table tbody tr:nth-child(2n) {
    background: none;
}

table.contenttable {
    font-size: 1.3rem;
}

.frame-color table.contenttable tr {
    border-bottom-color: var(--text-bright);
}

.centered {
    text-align: center;
}

.formConfirmation>p>span.icon-check-circle::before {
    font-size: 4rem;
}

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

@media screen and (min-width: 1024px) {
    img.placeholderimg {
        max-width: 150px;
    }
}

@media screen and (min-width: 1320px) {
    img.placeholderimg {
        max-width: 250px;
    }
}

img.placeholderimg.team {
    max-width: 200px;
}

@media screen and (min-width: 1024px) {
    img.placeholderimg.team {
        max-width: 300px;
    }
}

@media screen and (min-width: 1320px) {
    img.placeholderimg.team {
        max-width: 500px;
    }
}

.ce-textpic {
    width: calc(100% - 3 * var(--padding));
    padding: calc(1.5 * var(--padding));
    justify-self: center;
    max-width: 640px;
}

.ce-textpic.centered {
    text-align: center;
    margin: 0 auto;
    padding-bottom: 0;
}

@media screen and (min-width: 1024px) {
    .ce-textpic.centered {
        padding-bottom: calc(1.5 * var(--padding));
    }
}

.ce-textpic.centered+.frame.frame-default.frame-type-textmedia .ce-textpic header {
    margin-top: 7.41rem;
}

@media screen and (min-width: 1024px) {
    .ce-textpic.centered+.frame.frame-default.frame-type-textmedia .ce-textpic header {
        margin-top: 0;
    }
}

.ce-textpic p a {
    text-decoration: underline;
    color: var(--primary);
}

.ce-textpic p+ul {
    margin-top: -1rem;
}

.ce-button {
    justify-self: center;
    margin: calc(2 * var(--padding));
}

.ce-button .button {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    border-radius: 2.25rem;
    margin: 0 auto;
    max-width: 100%;
    font-size: 1.3rem;
    color: var(--primary);
}

.ce-contacts h2 {
    text-align: center;
    font-size: 3rem;
}

.ce-contacts .vcards {
    margin-bottom: var(--content-margin);
}

.ce-contacts .vcards.elements-1 {
    grid-template-columns: 1fr;
}

@media screen and (min-width: 640px) {
    .ce-contacts .vcards {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--content-margin);
    }

    .ce-contacts .vcards.elements-1 {
        grid-template-columns: 1fr;
    }
}

@media screen and (min-width: 1024px) {
    .ce-contacts .vcards {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .ce-contacts .vcards.elements-1 {
        grid-template-columns: 1fr;
    }
}

.ce-contacts .vcard {
    display: grid;
    margin-bottom: var(--content-margin);
    justify-items: center;
}

.ce-contacts .vcard a {
    text-decoration: underline;
}

.ce-contacts .vcard picture {
    display: flex;
    border-radius: 100%;
    overflow: hidden;
    aspect-ratio: 1;
    margin-top: calc(0.5 * var(--content-margin));
    margin-bottom: 1rem;
}

.ce-contacts .vcard.team picture {
    aspect-ratio: unset;
    border-radius: unset;
    overflow: unset;
    margin-bottom: calc(0.5 * var(--content-margin));
    margin-top: unset;
}

.ce-contacts .vcard.team picture img {
    border-radius: 5rem;
}

.ce-contacts .vcard h2,
.ce-contacts .vcard p,
.ce-contacts .vcard h4 {
    margin: 0;
}

.ce-contacts .vcard h2+p {
    margin-bottom: calc(0.15 * var(--content-margin));
}

.ce-contacts .vcard__content {
    text-align: center;
}

.ce-contacts-additional {
    display: grid;
    justify-content: center;
    gap: var(--padding);
    padding: calc(2 * var(--padding)) 0;
    max-width: 1320px;
    justify-self: center;
    text-align: center;
    width: calc(100vw - 2 * var(--padding));
}

.ce-contacts-additional h2 {
    margin-top: 0;
    margin-bottom: calc(0.5 * var(--padding));
}

.ce-contacts-additional p {
    margin-bottom: 0;
}

@media screen and (min-width: 640px) {
    .ce-contacts-additional {
        grid-template-columns: 1fr 1fr;
    }
}

@media screen and (min-width: 1024px) {
    .ce-contacts-additional {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

.frame__accordion h1, .frame__accordion h2 {
  text-align: center;
  line-height: 2;
  margin-top: var(--padding);
}

.accordion {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 1rem;
}

.accordion .block {
    border-bottom: 1px solid #000;
}

.accordionpre {
    margin-bottom: 2rem;
}

.accordionpre+.accordion {
    margin-bottom: 2rem;
}

@media screen and (min-width: 1024px) {
    .accordionpre+.accordion {
        margin-bottom: 0;
    }
}

button.accordion {
    background-color: #fff;
    border: unset;
    display: block;
    width: 100%;
    text-align: left;
    font-weight: normal;
    position: relative;
    padding: 2rem 10% 2rem 0;
}

button.accordion:focus {
    box-shadow: unset !important;
}

@media screen and (min-width: 1024px) {
    button.accordion {
        padding: 2rem 30% 2rem 0;
    }
}

button.accordion svg {
    height: 1.5rem;
    position: absolute;
    right: 0;
    top: 2rem;
    transform: rotate(270deg);
    transition: all 0.3s ease-in-out;
}

@media screen and (min-width: 1320px) {
    button.accordion svg {
        top: 2.5rem;
    }
}

button.accordion svg:before {
    color: #fff;
    font-size: 1.5rem;
    line-height: 0.75;
}

button.accordion svg.open {
    transition: all 0.3s ease-in-out;
    transform: rotate(90deg);
}

.bwgeh_bg button.accordion {
    background-color: unset;
}

.bwgeh_bg button.accordion+.faqContent {
    background-color: unset;
}

.faqContent {
    height: 0;
    opacity: 0;
    transition: all 0.3s ease-in-out;
    overflow: hidden;
    background-color: #fff;
    padding: 0 2rem 0 0;
    font-size: 1rem;
}

.faqContent.show {
    height: auto;
    opacity: 1;
    transition: all 0.3s ease-in-out;
    padding-top: 0;
    padding-bottom: 3rem;
}

.faqContent>.ce-textpic {
    padding: 0;
    width: 100%;
    max-width: unset;
    margin: 1rem 0;
}

.accordionImage {
    align-items: start;
}

.accordionImage .faqContent {
    padding-bottom: 0.5rem;
}

.accordionImage>.ce-textpic {
    padding-top: 0;
}

.accordionImage>.ce-textpic p {
    margin: 0;
    margin-bottom: inherit;
}

.accordionImage>.ce-textpic h2 {
    margin-top: 0;
}

.accordionImage>.ce-textpic .accordion {
    padding-right: 0;
    padding-left: 0;
}

.accordionImage>.ce-textpic .accordion .block .accordion.h2 {
    font-size: 1.3rem;
    font-weight: bold;
    padding: 0.5rem 2rem 0 0;
}

.accordionImage>.ce-textpic .accordion .block .accordion.h2:focus {
    box-shadow: none;
}

.accordionImage>.ce-textpic .accordion .block .accordion.h2 svg {
    top: 1rem;
    height: 0.75rem;
}

.frame__accordion h2 {
    text-align: center;
    line-height: 2;
}

h2 span.icon-download:before {
    color: var(--text-main);
    font-size: 1.8rem;
}

.ce-textpic ul {
    padding-left: 0;
}

.ce-textpic ul li{
    font-size: 1.3rem;
    list-style-type: none;
    position: relative;
    margin-left: 1rem;
    display: inline-block;
}

.ce-textpic ul li:before {
    content: "· ";
    font-weight: 600;
    position: absolute;
    left: -1rem;
}

.ce-textpic ul li {
    display: block;
}

.ce-textpic.centered ul li {
    display: inline-block;
}

.ce-textpic ol li {
    font-size: 1.3rem;
}

.frame-type-uploads {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 1rem;
}

.frame-type-uploads h1, .frame-type-uploads h2 {
    text-align: center;
}

.frame-type-uploads .ce-uploads {
    margin: 0;
    columns: 1;
}

@media screen and (min-width: 640px) {
    .frame-type-uploads .ce-uploads {
        columns: 2;
    }
}

@media screen and (min-width: 1024px) {
    .frame-type-uploads .ce-uploads {
        columns: 3;
    }
}

.frame-type-uploads .ce-uploads:not(.magazines) ul {
    width: 100%;
    margin: 0;
    padding: 0;
}

.frame-type-uploads .ce-uploads:not(.magazines) li {
    list-style-type: none;
    justify-items: center;
}

.frame-type-uploads .ce-uploads:not(.magazines) li .button {
    
}

.frame-type-uploads .ce-uploads.magazines {
    display: grid;
    columns: unset;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    justify-items: center;
}

.frame-type-uploads .ce-uploads.magazines li:before {
    content: "";
}

.frame-type-uploads .ce-uploads.magazines li {
    margin: 0;
    display: grid;
    grid-row-gap: 2rem;
    grid-template-rows: 10rem auto;
}

.frame-type-uploads .ce-uploads.magazines li a {
    justify-self: center;
}

.frame-type-uploads .ce-uploads.magazines div.magazineCon {
    width: 12rem;
    height: 12rem;
    overflow: hidden;
    position: relative;
    border-radius: 100%;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border: 3px solid #fff;
}

.frame-type-uploads .ce-uploads.magazines div.magazineCon:hover:before {
    content: "";
    position: absolute;
    top: -3px;
    right: -3px;
    bottom: -3px;
    left: -3px;
    border: 2px solid red;
    border-radius: 7px;
}

.frame-type-uploads .ce-uploads.magazines div.magazineCon img {
    max-width: unset;
    margin: -7.2rem -3.25rem;
}

.frame-type-uploads .ce-uploads.magazines div.magazineCon .overlay {
    width: 12rem;
    height: 12rem;
    position: absolute;
    top: 0;
    color: #fff;
    text-align: center;
    font-size: 1rem;
}

.frame-type-uploads .ce-uploads.magazines div.magazineCon .overlay>div {
    margin: 4.5rem 0;
}

.frame-type-uploads .ce-uploads.magazines div.magazineCon .overlay>div>* {
    text-shadow: 0px 0px 11px rgba(0, 0, 0, 0.85);
}

.frame-type-uploads .ce-uploads.magazines div.magazineCon .overlay span.icon-download {
    font-size: 3rem;
    margin-bottom: 0;
    display: block;
    line-height: 0.3;
}

.frame-type-uploads .ce-uploads.magazines div.magazineCon .overlay:hover {
    background-color: var(--color-hover);
    color: var(--text-main);
}

.frame-type-uploads .ce-uploads.magazines div.magazineCon .overlay:hover>div>* {
    text-shadow: unset;
}

.frame-type-uploads .ce-uploads.magazines div.magazineCon .overlay:hover span.icon-download:before {
    color: var(--text-main);
}

.frame-type-uploads .ce-uploads.magazines .magContents {
    text-align: center;
    margin-top: 1.5rem;
}

.frame-type-uploads .ce-uploads.magazines .magContents .ce-uploads-description {
    margin-top: 0.5rem;
    display: block;
}

.frame-type-uploads .ce-uploads.magazines .magContents .ce-uploads-description p {
    margin: 0;
    line-height: 1.5;
}

.frame-type-uploads .ce-uploads.magazines .magContents .ce-uploads-fileName {
    font-weight: bold;
}

.frame-type-uploads .ce-uploads.magazines .magContents a {
    text-decoration: unset;
    line-height: 1.5;
}

@media screen and (min-width: 1024px) {
    .frame-type-uploads .ce-uploads.magazines .magContents {
        margin-top: 4.0625rem;
    }
}

@media screen and (min-width: 640px) {
    .frame-type-uploads .ce-uploads.magazines {
        grid-template-columns: repeat(2, 1fr);
    }

    .frame-type-uploads .ce-uploads.magazines.gridSingle {
        grid-template-columns: 1fr;
    }
}

@media screen and (min-width: 1024px) {
    .frame-type-uploads .ce-uploads.magazines {
        grid-template-columns: repeat(4, 1fr);
    }

    .frame-type-uploads .ce-uploads.magazines.gridSingle {
        grid-template-columns: 1fr;
    }
}

.frame-type-uploads .ce-uploads li a {
}

.frame-type-uploads .ce-uploads li a:hover {
    color: var(--primary);
}

.frame-type-container .grid.grid-2 {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-column-gap: 2rem;
    padding: calc(1.5 * var(--padding));
    justify-items: center;
}

@media screen and (min-width: 640px) {
    .frame-type-container .grid.grid-2 {
        padding-bottom: 0;
        grid-template-columns: 1fr 1fr;
    }
}

.frame-type-container .grid.grid-2 .frame.frame-default.frame-type-textmedia.frame-layout-0 {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: max-content;
    margin-bottom: 0;
}

.frame-type-container .grid.grid-2 .frame.frame-default.frame-type-textmedia.frame-layout-0 .ce-textpic {
    padding: 0;
    width: 100%;
    text-align: center;
    order: 2;
}

.frame-type-container .grid.grid-2 .frame.frame-default.frame-type-textmedia.frame-layout-0 .ce-image .ce-row {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 0.5fr 1fr;
    grid-row-gap: 2rem;
    justify-items: center;
    margin-bottom: 2rem;
}

.frame-type-container .grid.grid-2 .frame.frame-default.frame-type-textmedia.frame-layout-0 .ce-image .ce-column {
    text-align: center;
}

.frame-type-container .grid.grid-2 .frame.frame-default.frame-type-textmedia.frame-layout-0 .ce-image .ce-column:first-child figure img {
    max-height: 5rem;
    width: auto;
}

@media screen and (min-width: 640px) {
    .frame-type-container .grid.grid-2 .frame.frame-default.frame-type-textmedia.frame-layout-0 .ce-image .ce-column:first-child figure img {
        max-height: 7rem;
    }
}

.frame-type-container .grid.grid-2 .frame.frame-default.frame-type-textmedia.frame-layout-0 .ce-image .ce-column:nth-child(2) figure img {
    width: 80%;
    max-width: 15rem;
    height: auto;
    border-radius: 100%;
    -webkit-box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.5);
    box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.5);
}

.frame-type-container .grid.grid-2 .frame.frame-default.frame-type-textmedia.frame-layout-0 .ce-image figure {
    margin: 0;
}

.frame-type-container .grid.grid-3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto;
    grid-column-gap: 2rem;
    padding-bottom: 0;
    justify-items: center;
}

.frame-type-container .grid.grid-4-rows {
    padding: var(--ce-bottom-margin) var(--padding);
    padding-left: calc((100vw - var(--padding) - 1320px) / 2);
    padding-right: calc((100vw - var(--padding) - 1320px) / 2);
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-column-gap: 2rem;
    padding-bottom: 0;
    justify-items: center;
}

.frame-type-container .grid.grid-4-rows>div {
    width: 100%;
}

.frame-type-container .grid.grid-4-rows .frame__accordion {
    margin-bottom: 1rem;
}

.frame-type-container .grid.grid-4-rows .accordion.h2 {
    font-size: 1.2rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.frame-type-container .grid.grid-4-rows .accordion.h2 svg {
    margin-left: 1rem;
    right: unset;
    top: 1rem;
}

.frame-type-container .grid.grid-4-rows .faqContent {
    padding-bottom: 0;
}

.frame-type-container .grid.grid-4-rows .faqContent .ce-textpic {
    margin-top: 0;
}

.frame-type-container .grid.grid-4-rows .faqContent .ce-textpic ul {
    margin-top: 0;
}

.frame-type-container .grid.grid-4-rows .faqContent .ce-textpic ul li {
    display: block;
    margin: 0;
}

.frame-type-container .grid.grid-4-rows .faqContent .ce-textpic ul li:before {
    content: "";
}

.frame-type-container .grid.grid-4-rows .faqContent .ce-textpic ul li a {
    text-decoration: underline;
    color: var(--primary);
}

@media screen and (min-width: 640px) {
    .frame-type-container .grid.grid-4-rows {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (min-width: 1024px) {
    .frame-type-container .grid.grid-4-rows {
        grid-template-columns: repeat(4, 1fr);
    }

    .frame-type-container .grid.grid-4-rows .frame__accordion {
        margin-bottom: var(--ce-bottom-margin);
    }

    .frame-type-container .grid.grid-4-rows .accordion.h2 {
        font-size: 1.625rem;
    }

    .frame-type-container .grid.grid-4-rows .accordion.h2 svg {
        top: 1.25rem;
    }
}

.frame-type-container.container-4 {
    margin-bottom: 0;
}

.frame-color .grid-2-rows .frame-type-textmedia {
    grid-template-columns: 1fr;
    margin: 0;
}

.frame-color .grid-2-rows .frame-type-textmedia:first-child .ce-textpic {
    padding-bottom: 0;
}

.frame-color .grid-2-rows .frame-type-textmedia:last-child .ce-textpic {
    padding-top: 0;
    padding-bottom: 0;
}

.threecolumns {
    padding: var(--ce-bottom-margin) var(--padding);
    padding-left: calc((100vw - var(--padding) - 1320px) / 2);
    padding-right: calc((100vw - var(--padding) - 1320px) / 2);
}

.threecolumns .grid-3-rows {
    padding: 1rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-items: center;
    grid-template-rows: auto;
    grid-column-gap: 3rem;
    grid-row-gap: 3rem;
}

@media screen and (min-width: 1024px) {
    .threecolumns .grid-3-rows {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

.threecolumns .grid-3-rows .frame-type-textmedia {
    grid-template-columns: 1fr;
    justify-items: center;
    margin: 0;
}

.threecolumns .grid-3-rows .frame-type-textmedia .ce-image {
    order: 1;
    width: 100%;
    max-width: 14.75rem;
    height: auto;
}

.threecolumns .grid-3-rows .frame-type-textmedia .ce-image img {
    border-radius: 100%;
}

.threecolumns .grid-3-rows .frame-type-textmedia .ce-textpic {
    order: 2;
    padding: 1rem;
    width: 100%;
    text-align: center;
}

.threecolumns .grid-3-rows .frame-type-textmedia .ce-textpic a {
    text-decoration: unset;
}

.frame-default+.threecolumns {
    padding-top: 0;
}

.frame-type-html {
    display: grid;
}

@media screen and (min-width: 1320px) {
    .frame-type-html {
        grid-template-columns: calc(50% - var(--padding)) calc(50% + var(--padding));
    }
}

.frame-type-html>div {
    width: calc(100% - 3 * var(--padding));
    padding: calc(1.5 * var(--padding));
    justify-self: center;
    max-width: 640px;
}

.frame-type-html iframe {
    max-width: 100%;
}

.frame-type-html hr {
    width: 100vw;
    border-color: var(--text-main);
    border-top-width: 1.5px;
}

.panoshow iframe {
    max-width: 100vw;
}

.ehFooterlink {
    display: block;
    width: 100%;
}

.ce-textpic .ce-bodytext .button-container {
    margin: 1.5rem 0 3rem 0;
}

@media screen and (min-width: 1024px) {
    .ce-textpic .ce-bodytext .button-container {
        margin: 0;
    }
}

a.button {
    text-align: center;
    word-break: break-word;
}

.cc-btn.cc-allow,
.cc-btn.cc-deny {
    color: #fff;
}

.frame-type-form_formframework {
    padding: 2rem 1rem 4rem 1rem;
}

@media screen and (min-width: 1024px) {
    .frame-type-form_formframework {
        padding: 2rem 4rem 4rem 4rem;
    }
}

.frame-type-form_formframework .row {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-column-gap: 1.5rem;
    grid-row-gap: 1rem;
}

@media screen and (min-width: 640px) {
    .frame-type-form_formframework .row {
        grid-template-columns: 1fr 1fr;
    }
}

.frame-type-form_formframework .form-group textarea {
    border-radius: 0;
    --background: rgba(255, 255, 255, 0.2);
    color: #FFF;
    font-size: 1.3rem;
}

.frame-type-form_formframework .form-group input {
    width: calc(100% - 20px);
    margin: 0;
    border-radius: 0;
    --background: rgba(255, 255, 255, 0.2);
    color: #FFF;
    font-size: 1.3rem;
}

.frame-type-form_formframework .form-group input[type=checkbox] {
    /* Add if not using autoprefixer */
    -webkit-appearance: none;
    /* Remove most all native input styles */
    appearance: none;
    /* For iOS < 15 */
    background-color: rgba(255, 255, 255, 0.2);
    /* Not removed via appearance */
    margin: 0;
    font: inherit;
    color: #fff;
    width: 3rem;
    height: 3rem;
    border: unset;
    border-radius: 0;
}

.frame-type-form_formframework .form-group input[type=checkbox]:before {
    text-align: center;
    display: block;
    content: "X";
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: center;
    transition: 120ms transform ease-in-out;
    /* Windows High Contrast Mode */
    background-color: transparent;
}

.frame-type-form_formframework .form-group input[type=checkbox]:checked::before {
    transform: scale(1);
}

.frame-type-form_formframework .form-group input::placeholder {
    color: #fff;
    opacity: 1;
}

.frame-type-form_formframework .form-group .input * {
    font-size: 1.3rem;
}

.frame-type-form_formframework .form-group label {
    margin: 0.5rem 0;
    font-size: 1.3rem;
}

.frame-type-form_formframework .form-check .form-check-label {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-column-gap: 1rem;
    margin-top: 3rem;
    margin-bottom: 4rem;
}

.frame-type-form_formframework .clearfix p {
    font-size: 1rem;
    margin: 0 0 1rem 0;
}

.frame-type-form_formframework .actions {
    text-align: center;
}

.frame-type-form_formframework .actions .btn-primary {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    border-radius: 2.25rem;
    margin: 0 auto;
    width: 300px;
    max-width: 100%;
    font-size: 1.3rem;
    color: var(--primary);
}

.frame-type-form_formframework .actions .btn-primary:hover {
    background-color: var(--color-hover);
}

form.placeholder {
    position: absolute;
    left: 0;
    width: 50%;
    max-width: 50%;
    z-index: -1;
}

.frame-color.frame-type-list .frame-color {
    align-self: start;
    margin-bottom: 0;
}

@media screen and (min-width: 1024px) {
    .frame-color.frame-type-list {
        max-height: 638px;
    }
}

.frame-color.searchform.popup {
    grid-column: 1/3;
    justify-self: center;
    z-index: 5;
    width: 100%;
    align-self: end;
    position: relative;
}

@media screen and (min-width: 1024px) {
    .frame-color.searchform.popup {
        width: 50%;
        margin-bottom: -10rem;
    }
}

.frame-color.placeholder {
    display: none;
}

@media screen and (min-width: 640px) {
    .frame-color.placeholder {
        display: block;
        height: 650px;
    }
}

.searchOverlay {
    display: none;
}

.searchOverlay.show {
    display: block;
    position: fixed;
    background-color: #000;
    width: 100%;
    height: 100%;
    z-index: 4;
    opacity: 0.6;
    top: 0;
}

.frame.frame-color.frame-type-list.frame-layout-0.image-0>.frame.frame-color.placeholder {
    height: 0;
}

@media screen and (min-width: 1024px) {
    .frame.frame-color.frame-type-list.frame-layout-0.image-0>.frame.frame-color.searchform.popup {
        width: 50%;
        position: absolute;
        left: 0;
        right: 0;
        margin: 0 auto;
        transform: translateY(-50%);
        top: 14rem;
    }
}


}


.gmnoprint {
    height: auto;
}

.gmnoprint.gm-bundled-control.gm-bundled-control-on-bottom {
    bottom: 10rem !important;
    right: 4rem !important;
}

.gmnoprint>div {
    background-color: unset !important;
}

.gmnoprint>div button.gm-control-active {
    background-color: #ffffff !important;
    border-radius: 100% !important;
    margin-bottom: 1rem !important;
    width: 4rem !important;
    height: 4rem !important;
}

@media screen and (min-width: 1024px) {
    .gmnoprint.gm-bundled-control.gm-bundled-control-on-bottom {
        bottom: 15rem !important;
        right: 10rem !important;
    }
}

div[data-slider] {
    display: grid;
    max-width: 1320px;
    grid-template-columns: 1fr 5fr 1fr;
    grid-template-rows: 8fr 1fr;
}

div[data-slider] div[data-slider-item] {
    grid-column: 1/4;
    grid-row: 1/3;
    opacity: 0;
}

div[data-slider] div[data-slider-item].active {
    opacity: 1;
    z-index: 2;
    transition: opacity 0.5s ease;
}

div[data-slider] div[data-slider-item].last {
    opacity: 0;
    z-index: 1;
    transition: none;
}

div[data-slider] div[data-slider-item] a {
    display: flex;
}

div[data-slider] a[data-change-to="-1"],
div[data-slider] a[data-change-to="+1"] {
    grid-column: 1/2;
    grid-row: 1/3;
    display: grid;
    justify-content: center;
    align-content: center;
    z-index: 3;
}

div[data-slider] a[data-change-to="-1"] span,
div[data-slider] a[data-change-to="+1"] span {
    background: rgba(255, 255, 255, 0.7);
    transition: background-color 0.3s ease;
    height: 3rem;
    width: 3rem;
    border-radius: 3rem;
    display: grid;
    justify-content: center;
    align-content: center;
}

div[data-slider] a[data-change-to="-1"]:hover span,
div[data-slider] a[data-change-to="+1"]:hover span {
    background: white;
}

div[data-slider] a[data-change-to="+1"] {
    grid-column: 3/4;
}

div[data-slider] nav {
    grid-column: 1/4;
    grid-row: 2/3;
    justify-content: center;
    align-items: start;
    margin-top: -2rem;
    display: flex;
    gap: 10px;
    z-index: 3;
}

@media screen and (min-width: 1320px) {
    div[data-slider] nav {
        margin-top: -1rem;
    }
}

div[data-slider] nav a {
    background: rgba(255, 255, 255, 0.5);
    transition: background-color 0.3s ease;
    height: 10px;
    width: 10px;
    display: inline-block;
    border-radius: 10px;
}

div[data-slider] nav a.active {
    background-color: #FFF;
}

body.open-modal {
    overflow: hidden;
}

body.open-modal .pageshadow {
    z-index: 998;
    transition: background-color 0.3s ease 0s;
}

body.open-modal .pageshadow.dark {
    background: rgba(0, 0, 0, 0.5);
}

body.open-modal .modal {
    transform: translate3d(0, 0, 0);
    transition: transform 0.5s ease 0s;
    transition-delay: 0.4s;
}

.pageshadow {
    position: fixed;
    background: rgba(0, 0, 0, 0);
    transition: background-color 0.3s ease 0.5s;
    width: 100vw;
    height: 100vh;
    left: 0;
    top: 0;
    z-index: -1;
}

.modal {
    position: fixed;
    background: #FFF;
    width: calc(100vw - 2rem);
    height: calc(100vh - 2rem);
    left: 1rem;
    top: 1rem;
    box-shadow: 0 0 2rem #000;
    z-index: 999;
    border-radius: 5px;
    transform: translate3d(0, 100vh, 0);
    transition: transform 0.5s ease 0s;
}

.modal h4 {
    font-weight: 500;
}

@media screen and (min-width: 1024px) {
    .modal {
        width: rem-calc(640);
        left: calc(50vw - 300px);
    }

    .modal h4,
    .modal h5 {
        text-align: center;
    }
}

@media screen and (min-width: 1320px) {
    .modal {
        width: rem-calc(900);
        left: calc(50vw - 450px);
    }
}

@media screen and (min-height: 790px) {
    .modal {
        height: 750px;
        top: calc(50vh - 375px);
    }
}

.modal h3,
.modal h4,
.modal h5,
.modal p {
    color: blue;
}

.modal .icon-spinner {
    color: green;
    display: block;
    font-size: 300%;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.booking {
    width: 60rem;
    max-width: 70%;
}

.booking .button.clear {
    border-radius: 100%;
    padding: 1rem;
    line-height: 0.64;
    margin: 0.5rem 0;
}

.booking .button.clear.day {
    padding: 0.5rem;
    min-width: 2rem;
    line-height: 1.2;
}

.booking .button.clear:not(.disabled):hover {
    background: green;
    color: #FFF;
}

.booking .button.clear.disabled {
    background-color: lightgrey;
    color: grey;
}

.booking .button.clear.hide {
    display: none;
}

.booking .button.clear.green {
    color: #fff;
}

.booking .button.clear.yellow {
    color: yellow;
}

.booking .button.clear.active {
    background: green;
    color: #FFF;
}

.booking__container {
    position: relative;
    overflow: hidden;
    height: 100%;
    width: 100%;
}

.booking__wrapper {
    position: absolute;
    width: 600%;
    height: 100%;
    top: 0;
    left: 0;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    transform: translate3d(0, 0, 0);
    transition: transform 0.5s ease;
}

.modal[data-step="1"] .booking__wrapper {
    transform: translate3d(-16.67%, 0, 0);
}

.modal[data-step="2"] .booking__wrapper {
    transform: translate3d(-33.34%, 0, 0);
}

.modal[data-step="3"] .booking__wrapper {
    transform: translate3d(-50%, 0, 0);
}

.modal[data-step="4"] .booking__wrapper {
    transform: translate3d(-66.67%, 0, 0);
}

.modal[data-step="5"] .booking__wrapper {
    transform: translate3d(-83.334%, 0, 0);
}

@media screen and (min-width: 1320px) {
    .booking__wrapper {
        width: 500%;
        grid-template-columns: 1fr 0.5fr 0.5fr 1fr 1fr 1fr;
    }

    .modal[data-step="1"] .booking__wrapper,
    .modal[data-step="2"] .booking__wrapper {
        transform: translate3d(-20%, 0, 0);
    }

    .modal[data-step="3"] .booking__wrapper {
        transform: translate3d(-40%, 0, 0);
    }

    .modal[data-step="4"] .booking__wrapper {
        transform: translate3d(-60%, 0, 0);
    }

    .modal[data-step="5"] .booking__wrapper {
        transform: translate3d(-80%, 0, 0);
    }
}

.booking__step {
    padding: 1rem;
    display: grid;
    grid-template-rows: auto 1fr auto;
    overflow-y: scroll;
}

@media screen and (min-height: 740px) {
    .booking__step {
        overflow-y: auto;
    }
}

@media screen and (min-width: 1024px) {
    .booking__step {
        padding: 1rem 2rem;
    }
}

.booking__step__top {
    margin-bottom: 1rem;
}

.booking__step__content {
    align-self: center;
    text-align: center;
}

.booking__step__bottom {
    display: grid;
    grid-template-columns: auto auto;
}

.booking__step__bottom.hide-for-large {
    display: none;
}

.booking__step__bottom .button {
    justify-self: left;
}

.booking__step__bottom .button+.button {
    justify-self: right;
}

.booking__step--1 .navigation {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    margin-bottom: 1rem;
}

.booking__step--1 .week {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
}

@media screen and (min-width: 1024px) {
    .booking__step--1 {
        background: blue;
    }

    .booking__step--1 p,
    .booking__step--1 h4,
    .booking__step--1 h5 {
        color: #fff;
    }
}

.booking__step--2 .booking__step__content {
    position: relative;
    height: 100%;
    width: 100%;
}

.booking__step--2 .booking__step__content__wrapper {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: calc(100% - 1rem);
    overflow-x: hidden;
    overflow-y: scroll;
    padding-right: 0.7rem;
}

.booking__step--2 .day {
    display: none;
}

.booking__step--2 .day.active {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-column-gap: 0.5rem;
}

.booking__step--2 .day.active .button {
    padding-left: 0;
    padding-right: 0;
    border-radius: 5px;
}

.booking__step--5 {
    padding: 0;
}

.booking__step--5 .booking__step__top {
    background: blue;
    text-align: center;
}

.booking__step--5 .booking__step__top img {
    max-width: 200px;
}

.booking__step--5 .booking__step__content p.color-light {
    color: #a8a6bb;
}

.booking__step--5 .booking__step__bottom {
    justify-content: center;
}

.booking .confirm__wrapper {
    display: grid;
    grid-template-columns: 1fr;
    border-bottom: 1px solid green;
    margin-bottom: 1rem;
}

.booking .confirm__wrapper h3 {
    margin-bottom: 0.5rem;
}

.booking .confirm__cal {
    border: 1px solid #CCC;
    color: blue;
    display: grid;
    grid-template-columns: 1fr;
    justify-self: center;
    margin-bottom: 0.5rem;
    align-self: center;
}

.booking .confirm__month {
    background: green;
    color: #FFF;
    display: block;
    text-align: center;
    text-transform: uppercase;
    padding: 0.1rem 1rem;
}

.booking .confirm__date {
    text-align: center;
    font-size: 200%;
    padding: 0.3rem 1rem;
    line-height: 1;
    display: block;
}

.booking .confirm__time strong {
    font-size: 160%;
    font-weight: 200;
}

@media screen and (min-width: 1024px) {
    .booking .confirm__wrapper {
        grid-template-columns: unset;
        grid-template-areas: "cal text" "cal text" "time text";
        margin-top: 2rem;
        margin-left: 3rem;
        margin-right: 3rem;
        grid-column-gap: 2rem;
    }

    .booking .confirm__time {
        grid-area: time;
    }

    .booking .confirm__right {
        text-align: left;
    }
}

.booking__step.booking__step--3.form .form__field {
    text-align: left;
}

.booking__step.booking__step--3.form .form__field input {
    width: 100%;
}

.bookingform.grid.grid-2,
#slide__1.grid.grid-2 {
    display: grid;
    grid-template-columns: 1fr;
    grid-column-gap: 2rem;
}

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

    .bookingform.grid.grid-2,
    #slide__1.grid.grid-2 {
        grid-template-columns: 1fr 1fr;
    }
}

.formfields form .row {
    margin-bottom: 3rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
}

#begegnungsstaette-cal .booking__step.booking__step--3.form,
#gaestewohnung-cal .booking__step.booking__step--3.form {
    padding: 0;
}

#begegnungsstaette-cal .booking__step.booking__step--3.form .grid.grid-2,
#gaestewohnung-cal .booking__step.booking__step--3.form .grid.grid-2 {
    display: grid;
    grid-template-columns: 1fr;
    grid-column-gap: 2rem;
}

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

    #begegnungsstaette-cal .booking__step.booking__step--3.form .grid.grid-2,
    #gaestewohnung-cal .booking__step.booking__step--3.form .grid.grid-2 {
        grid-template-columns: 1fr 1fr;
    }
}

#begegnungsstaette-cal .bookingform form.grid.grid-2,
#gaestewohnung-cal .bookingform form.grid.grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 2rem;
}

.bookingForm,
.bookingForm a {
    margin: 0;
}

.calendarBackground {
    position: fixed;
    width: 100vw;
    height: 100vh;
    opacity: 0;
    z-index: -1;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: none;
}

.calendarBackground.show {
    opacity: 1;
    z-index: 4;
    display: block;
}

.calendarContent {
    position: absolute;
    overflow: hidden;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: 0 auto;
    background-color: var(--primary);
    max-width: 900px;
    width: 100%;
    opacity: 0;
    height: max-content;
    z-index: -1;
    transition: transform 0.5s ease;
    -webkit-transition: -webkit-transform 0.5s ease;
}

.calendarContent.show {
    opacity: 1;
    z-index: 4;
}

@media screen and (min-width: 640px) {
    .calendarContent {
        top: -5%;
    }
}

.calendarContent .grid.grid-2 {
    padding: 0;
    justify-items: unset;
}

.calendarContent[data-step="0"] .calendar__wrapper form {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.calendarContent[data-step="1"] .calendar__wrapper form {
    -webkit-transform: translate3d(-16.6666666667%, 0, 0);
    transform: translate3d(-16.6666666667%, 0, 0);
}

.calendarContent[data-step="2"] .calendar__wrapper form {
    -webkit-transform: translate3d(-33.3333333333%, 0, 0);
    transform: translate3d(-33.3333333333%, 0, 0);
}

.calendarContent[data-step="3"] .calendar__wrapper form {
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
}

.calendarContent[data-step="4"] .calendar__wrapper form {
    -webkit-transform: translate3d(-66.6666666667%, 0, 0);
    transform: translate3d(-66.6666666667%, 0, 0);
}

.calendarContent[data-step="5"] .calendar__wrapper form {
    -webkit-transform: translate3d(-83.3333333333%, 0, 0);
    transform: translate3d(-83.3333333333%, 0, 0);
}

.calendarContent[data-step="6"] .calendar__wrapper form {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
}

.calendarContent form .slides {
    padding: 6rem;
    position: relative;
    display: grid;
    grid-template-rows: auto 1fr 3.75rem;
    grid-row-gap: 2rem;
    padding-right: 0;
    padding-left: 0;
    width: 100vw;
}

.calendarContent form .slides .grid.grid-3 {
    display: grid;
    grid-template-columns: 6.25rem 1fr 6.25rem;
    grid-template-rows: auto;
    grid-column-gap: 2rem;
    padding-bottom: 0;
    justify-items: center;
}

.calendarContent form .slides button.abort,
.calendarContent form .slides button.back,
.calendarContent form .slides button.next {
    background: transparent;
    color: #fff;
    font-size: 1.3rem;
}

.calendarContent form .slides .abort,
.calendarContent form .slides .back,
.calendarContent form .slides .next {
    text-transform: capitalize;
    display: block;
    width: fit-content;
    padding: 0;
    margin: 0;
}

.calendarContent form .slides .back {
    justify-self: start;
}

.calendarContent form .slides .back:before {
    font-family: icomoon;
    content: "\e907";
    vertical-align: bottom;
}

.calendarContent form .slides .next {
    justify-self: end;
}

.calendarContent form .slides .next:after {
    font-family: icomoon;
    content: "\e902";
    vertical-align: bottom;
}

.calendarContent form .slides button[type=submit],
.calendarContent form .slides a.button {
    font-size: 1.3rem;
    height: 2rem;
    margin: 0;
}

.calendarContent form .slides button[type=submit] {
    height: 100%;
}

.calendarContent form .slides h3 {
    text-align: center;
    font-size: 2.5rem;
    margin: 0;
}

.calendarContent form .slides>div {
    padding: 0 1rem !important;
}

.calendarContent form .slides.slide__6 {
    background-color: #fff;
    color: var(--primary);
    text-align: center;
    grid-row-gap: 4rem;
    padding-right: 0;
    padding-left: 0;
    width: 100%;
}

.calendarContent form .slides.slide__6 a.button {
    background-color: var(--primary);
    color: #fff;
}

.calendarContent form .slides.slide__6 a.button:hover {
    background-color: var(--color-hover);
    color: var(--primary);
}

.calendarContent form .slides.slide__6 div {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
}

.calendarContent form .slides.slide__6 img {
    width: 100%;
    height: auto;
}

.calendarContent form .slides.slide__1 {
    background: rgb(0, 168, 168);
    background: linear-gradient(180deg, rgb(0, 168, 168) 50%, rgb(255, 255, 255) 50%);
    padding-right: 0;
    padding-left: 0;
    width: 100vw;
    grid-template-rows: 1fr auto;
}

.calendarContent form .slides.slide__1 .grid-2 {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
}

.calendarContent form .slides.slide__1 .grid-2 div.mobileGreen {
    background-color: transparent;
}

.calendarContent form .slides.slide__1 .grid-2 div.mobileWhite {
    background-color: #fff;
    color: var(--primary);
}

.calendarContent form .slides.slide__1 .grid-2 div.mobileWhite input[type=time] {
    border: 1px solid var(--primary);
    color: var(--primary);
}

.calendarContent form .slides.slide__1 .grid-2 div:nth-child(2) h3 {
    color: rgb(0, 168, 168);
}

.calendarContent form .slides.slide__1 .grid-2 .abort {
    color: rgb(0, 168, 168);
    height: 2rem;
}

.calendarContent form .slides.slide__1 h3 {
    margin-bottom: 3rem;
}

@media screen and (min-width: 640px) {
    .calendarContent form .slides.slide__1 {
        background: linear-gradient(90deg, rgb(0, 168, 168) 50%, rgb(255, 255, 255) 50%);
        padding-right: 5%;
        padding-left: 5%;
        width: 90%;
    }

    .calendarContent form .slides.slide__1 .grid-2 {
        grid-column-gap: 10%;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
    }

    .calendarContent form .slides.slide__1 .grid-2 div {
        padding: 0;
    }

    .calendarContent form .slides.slide__1 .grid-2 div.mobileWhite {
        background-color: transparent;
    }

    .calendarContent form .slides.slide__1 .grid-2 .abort {
        color: #fff;
    }
}

@media screen and (Min-width: 640px) {
    .calendarContent form .slides {
        padding-right: 5%;
        padding-left: 5%;
        width: 90%;
    }
}

.calendarContent form#booking-6 .slides button.next {
    color: #fff;
}

.calendarContent form#booking-6 .slides.slide__1 button.next {
    color: var(--text-main);
}

.calendarContent.showCalendar-1[data-step="1"] .calendar__wrapper form {
    -webkit-transform: translate3d(-16.6666666667%, 0, 0);
    transform: translate3d(-33.3333333333%, 0, 0);
}

.calendarContent.showCalendar-1[data-step="2"] .calendar__wrapper form {
    -webkit-transform: translate3d(-33.3333333333%, 0, 0);
    transform: translate3d(-66.6666666667%, 0, 0);
}

.calendar__wrapper {
    height: auto;
    width: 100vw;
    max-width: 900px;
    overflow: hidden;
}

.calendar__wrapper form {
    display: grid;
    overflow: hidden;
    width: 600%;
    padding: 0;
}

.calendar__wrapper form#booking-2,
.calendar__wrapper form#booking-6 {
    grid-template-columns: repeat(6, 1fr);
}

.calendar__wrapper form#booking-1 {
    grid-template-columns: repeat(3, 1fr);
}

.calendar__wrapper form#booking-1 .form-group.form-group--checkbox.membership {
    grid-template-columns: auto 1fr;
}

@media screen and (min-width: 1024px) {
    .calendar__wrapper form#booking-1 .form-group.form-group--checkbox.membership {
        grid-template-columns: 1fr;
    }
}

.calendar__wrapper.wrapper__1 form {
    width: 300%;
}

.calendar__wrapper.wrapper__1 form .slides.slide__1 {
    background: var(--primary);
}

.frame-type-form_formframework.bookingForm input[type=checkbox]+span {
    font-size: 1.3rem;
    max-width: 250px;
}

.frame-type-form_formframework.bookingForm .form-group.form-group--checkbox {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-column-gap: 1rem;
}

.frame-type-form_formframework.bookingForm .form-group.form-group--checkbox+p {
    margin-top: 4rem;
}

.frame-type-form_formframework.bookingForm .radiolist {
    border: unset;
    max-width: 35rem;
    margin: 0 auto;
    position: relative;
}

.frame-type-form_formframework.bookingForm .radiolist .form-group {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-column-gap: 1.5rem;
    margin: 20px 0;
}

.frame-type-form_formframework.bookingForm .radiolist .form-group input[type=radio] {
    display: none;
}

.frame-type-form_formframework.bookingForm .radiolist .form-group input[type=radio]+label {
    width: calc(100% - 20px);
    margin: 0;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.2);
    padding: 10px;
    color: #FFF;
}

.frame-type-form_formframework.bookingForm .radiolist .form-group input[type=radio]+label:hover {
    cursor: pointer;
    background: var(--color-hover);
    color: var(--primary);
}

.frame-type-form_formframework.bookingForm .radiolist .form-group input[type=radio]:checked+label {
    background: var(--color-hover);
    color: var(--primary);
}

.frame-type-form_formframework.bookingForm .radiolist .form-group .info {
    display: grid;
    align-content: start;
    padding-top: 0.5rem;
}

.frame-type-form_formframework.bookingForm .radiolist .form-group .info .birthdayDescription {
    display: none;
    position: absolute;
    width: calc(100% - 20px);
    max-width: 30.625rem;
    left: 0.5rem;
    top: 2rem;
    z-index: 1;
    -webkit-box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.5);
    box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.5);
}

.frame-type-form_formframework.bookingForm .radiolist .form-group .info .birthdayDescription .frame-type-textmedia {
    background-color: #fff;
}

.frame-type-form_formframework.bookingForm .radiolist .form-group .info .birthdayDescription .ce-textpic {
    padding-bottom: 3rem;
}

.frame-type-form_formframework.bookingForm .radiolist .form-group .info .birthdayDescription h1,
.frame-type-form_formframework.bookingForm .radiolist .form-group .info .birthdayDescription h2 {
    color: var(--text-main);
    font-size: 1.3rem;
}

.frame-type-form_formframework.bookingForm .radiolist .form-group .info .birthdayDescription p {
    color: var(--text-main);
    margin: 0;
    font-size: 1rem;
}

.frame-type-form_formframework.bookingForm .radiolist .form-group .info .birthdayDescription .ce-image,
.frame-type-form_formframework.bookingForm .radiolist .form-group .info .birthdayDescription .button-container {
    display: none;
}

.frame-type-form_formframework.bookingForm .radiolist .form-group .info span.icon-info-circle:before {
    font-size: 2rem;
    color: #fff;
}

.frame-type-form_formframework.bookingForm .radiolist .form-group .info .birthdaybtn {
    margin: 0;
    padding: 0;
    background: transparent;
}

.frame-type-form_formframework.bookingForm .radiolist .form-group .info .birthdaybtn:hover span.icon-info-circle,
.frame-type-form_formframework.bookingForm .radiolist .form-group .info .birthdaybtn:focus-visible span.icon-info-circle {
    cursor: pointer;
}

.frame-type-form_formframework.bookingForm .radiolist .form-group .info .birthdaybtn:hover span.icon-info-circle:before,
.frame-type-form_formframework.bookingForm .radiolist .form-group .info .birthdaybtn:focus-visible span.icon-info-circle:before {
    color: var(--highlight);
}

.frame-type-form_formframework.bookingForm .radiolist .form-group .info .birthdaybtn:hover+.birthdayDescription,
.frame-type-form_formframework.bookingForm .radiolist .form-group .info .birthdaybtn:focus-visible+.birthdayDescription {
    display: block;
}

.frame-type-form_formframework.bookingForm .checklist {
    border: unset;
    max-width: 35rem;
    margin: 0 auto;
}

.frame-type-form_formframework.bookingForm .checklist .form-group {
    margin: 20px 0;
}

.frame-type-form_formframework.bookingForm .checklist .form-group input[type=radio] {
    display: none;
}

.frame-type-form_formframework.bookingForm .checklist .form-group input[type=radio]:checked+label {
    width: calc(100% - 20px);
    margin: 0;
    border-radius: 0;
    background: var(--color-hover);
    color: var(--primary);
}

.frame-type-form_formframework.bookingForm .checklist .form-group input[type=radio]:checked+label:hover {
    cursor: pointer;
}

.frame-type-form_formframework.bookingForm .checklist .form-group input[type=radio]+label {
    width: calc(100% - 20px);
    margin: 0;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.2);
    padding: 10px;
    color: #FFF;
}

.frame-type-form_formframework.bookingForm .checklist .form-group input[type=radio]+label:hover {
    cursor: pointer;
    background: var(--color-hover);
    color: var(--primary);
}

.frame-type-form_formframework.bookingForm .form-group.count {
    text-align: center;
    width: 100%;
}

.frame-type-form_formframework.bookingForm .form-group.count input {
    width: 100%;
    max-width: 130px;
    margin: 1rem auto 0 auto;
    text-align: center;
}

.frame-type-form_formframework.bookingForm .form-group.count input::placeholder {
    text-align: center;
}

.frame-type-form_formframework.bookingForm .form-group.count:first-child {
    margin-bottom: 4rem;
}

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

    #begegnungsstaette-cal .bookingform,
    #gaestewohnung-cal .bookingform {
        position: relative;
    }

    #begegnungsstaette-cal .bookingform label,
    #gaestewohnung-cal .bookingform label {
        font-size: 1.3rem;
    }

    #begegnungsstaette-cal .bookingform input#datum,
    #gaestewohnung-cal .bookingform input#datum {
        margin-bottom: 1.5rem;
    }
}

#begegnungsstaette-cal .booking__step__content,
#gaestewohnung-cal .booking__step__content {
    text-align: left;
}

#begegnungsstaette-cal .formfields,
#gaestewohnung-cal .formfields {
    /*overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s ease-in-out;
  margin-top: 5rem;
  &.show {
    max-height: 200rem;
    transition: max-height 0.8s ease-in-out;
  }*/
}

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

    #begegnungsstaette-cal .formfields,
    #gaestewohnung-cal .formfields {
        margin-top: unset;
    }
}

#begegnungsstaette-cal form,
#gaestewohnung-cal form {
    overflow: initial;
}

#begegnungsstaette-cal form.show,
#gaestewohnung-cal form.show {
    height: auto;
}

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

    #begegnungsstaette-cal form,
    #gaestewohnung-cal form {
        position: relative;
    }
}

#begegnungsstaette-cal form>input,
#gaestewohnung-cal form>input {
    max-width: calc(100vw - 2rem);
    margin: 0;
    border-radius: 0;
    --background: rgba(255, 240, 84, 0.9);
    color: var(--primary);
    font-size: 1.3rem;
    opacity: 1;
}

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

    #begegnungsstaette-cal form>input,
    #gaestewohnung-cal form>input {
        width: calc(100% - 20px);
        max-width: unset;
    }
}

#begegnungsstaette-cal form select,
#gaestewohnung-cal form select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    --background: rgba(255, 255, 255, 0.2);
    border-radius: 0;
    --select-arrow: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='63' width='117' fill='%23ffffff'%3E%3Cpath d='M115 2c-1-2-4-2-5 0L59 53 7 2a4 4 0 00-5 5l54 54 2 2 3-2 54-54c2-1 2-4 0-5z'/%3E%3C/svg%3E");
    color: #FFF;
    width: 100%;
    max-width: calc(100vw - 2rem);
    font-size: 1.3rem;
}

#begegnungsstaette-cal form select option,
#gaestewohnung-cal form select option {
    background: rgba(0, 0, 0, 0.8);
}

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

    #begegnungsstaette-cal form select,
    #gaestewohnung-cal form select {
        width: 100%;
        max-width: unset;
    }
}

#begegnungsstaette-cal form button#showmorefields,
#gaestewohnung-cal form button#showmorefields {
    border: unset;
    border-radius: unset;
    background: transparent;
    padding: 0;
    margin: 0;
    color: #fff;
    text-align: left;
    position: absolute;
    bottom: -3rem;
    left: 0;
    font-size: 1.3rem;
}

#begegnungsstaette-cal form button#showmorefields svg,
#gaestewohnung-cal form button#showmorefields svg {
    height: 1rem;
    transform: rotate(270deg);
    transition: all 0.3s ease-in-out;
    fill: #fff !important;
}

#begegnungsstaette-cal form button#showmorefields.active svg,
#gaestewohnung-cal form button#showmorefields.active svg {
    transform: rotate(90deg);
    transition: all 0.3s ease-in-out;
}

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

    #begegnungsstaette-cal form button#showmorefields,
    #gaestewohnung-cal form button#showmorefields {
        bottom: 0;
    }
}

#begegnungsstaette-cal form button[type=submit],
#gaestewohnung-cal form button[type=submit] {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    border-radius: 2.25rem;
    margin: 0 auto;
    width: 300px;
    max-width: 100%;
    font-size: 1.3rem;
}

#begegnungsstaette-cal form button[type=submit]:hover,
#gaestewohnung-cal form button[type=submit]:hover {
    background-color: var(--color-hover);
}

#begegnungsstaette-cal form div.mt,
#gaestewohnung-cal form div.mt {
    height: 91px;
}

#gaestewohnung-cal .form-group.form-group--checkbox {
    margin-top: 1rem;
}

#gaestewohnung-cal .form_grid.btnContainer {
    height: 3rem;
}

#preform div>input {
    max-width: calc(100vw - 2rem);
    margin: 0;
    border-radius: 0;
    --background: rgba(255, 240, 84, 0.9);
    color: var(--primary);
    font-size: 1.3rem;
    opacity: 1;
}

@media screen and (min-width: 1024px) {
    #preform div>input {
        width: calc(100% - 20px);
        max-width: unset;
    }
}

#preform select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    --background: rgba(255, 255, 255, 0.2);
    border-radius: 0;
    --select-arrow: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='63' width='117' fill='%23ffffff'%3E%3Cpath d='M115 2c-1-2-4-2-5 0L59 53 7 2a4 4 0 00-5 5l54 54 2 2 3-2 54-54c2-1 2-4 0-5z'/%3E%3C/svg%3E");
    color: #FFF;
    width: 100%;
    max-width: calc(100vw - 2rem);
    font-size: 1.3rem;
}

#preform select option {
    background: rgba(0, 0, 0, 0.8);
}

@media screen and (min-width: 1024px) {
    #preform select {
        width: 100%;
        max-width: unset;
    }
}

#preform+booking-calendar+button#showmorefields {
    border: unset;
    border-radius: unset;
    background: transparent;
    padding: 0;
    margin: 0;
    color: #fff;
    text-align: left;
    font-size: 1.3rem;
    margin-top: 1rem;
}

#preform+booking-calendar+button#showmorefields svg {
    height: 1rem;
    transform: rotate(270deg);
    transition: all 0.3s ease-in-out;
    fill: #fff !important;
}

#preform+booking-calendar+button#showmorefields.active svg {
    transform: rotate(90deg);
    transition: all 0.3s ease-in-out;
}

@media screen and (min-width: 1024px) {
    #preform+booking-calendar+button#showmorefields {
        bottom: 0;
    }
}

form select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    --background: rgba(255, 255, 255, 0.2);
    border-radius: 0;
    --select-arrow: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='63' width='117' fill='%23ffffff'%3E%3Cpath d='M115 2c-1-2-4-2-5 0L59 53 7 2a4 4 0 00-5 5l54 54 2 2 3-2 54-54c2-1 2-4 0-5z'/%3E%3C/svg%3E");
    color: #FFF;
    width: 100%;
    max-width: calc(100vw - 2rem);
    font-size: 1.3rem;
}

form select option {
    background: rgba(0, 0, 0, 0.8);
}

@media screen and (min-width: 1024px) {
    form select {
        width: 100%;
        max-width: unset;
    }
}

input.error-class {
    outline-color: var(--highlight);
    outline-style: solid;
    outline-width: 5px;
    outline-offset: -5px;
}

input#phone {
    /* Chrome, Safari, Edge, Opera */
    /* Firefox */
}

input#phone::-webkit-outer-spin-button,
input#phone::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input#phone[type=number] {
    -moz-appearance: textfield;
}

.ordinaryBooking .form-group.form-group--checkbox {
    padding-top: 0.8rem;
    padding-bottom: 1rem;
}

.ordinaryBooking .form-group.form-group--checkbox span {
    line-height: 1;
}

.ordinaryBooking .form-group.form-group--checkbox.membership {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.ordinaryBooking .form-group.form-group--checkbox.membership div:first-child {
    display: grid;
    grid-column-gap: 1rem;
    grid-template-columns: auto 1fr;
    padding-top: 0.8rem;
}

@media screen and (min-width: 1024px) {
    .ordinaryBooking .form-group.form-group--checkbox.membership {
        display: block;
    }

    .ordinaryBooking .form-group.form-group--checkbox.membership div {
        grid-area: 1/3;
        grid-template-columns: auto 1fr;
        grid-template-rows: auto;
    }

    .ordinaryBooking .form-group.form-group--checkbox.membership div:first-child {
        padding-top: 0;
    }

    .ordinaryBooking .form-group.form-group--checkbox.membership div:last-child {
        grid-area: 1/3;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }
}

.calendarContent form .slides .loadingAni {
    display: none;
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    padding: 0 !important;
}

.calendarContent form .slides .loadingAni div {
    padding: 0 !important;
}

.calendarContent form .slides .loadingAni.active {
    display: block;
}

.lds-ring {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
    left: 50%;
    margin-left: -50px;
    top: 50%;
    margin-top: -50px;
}

.lds-ring div {
    box-sizing: border-box;
    display: block;
    position: absolute;
    width: 64px;
    height: 64px;
    margin: 8px;
    border: 8px solid #fff;
    border-radius: 50%;
    animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    border-color: #fff transparent transparent transparent;
}

.lds-ring div:nth-child(1) {
    animation-delay: -0.45s;
}

.lds-ring div:nth-child(2) {
    animation-delay: -0.3s;
}

.lds-ring div:nth-child(3) {
    animation-delay: -0.15s;
}

@keyframes lds-ring {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

svg#Object {
    width: 100vw;
    height: auto;
    margin-bottom: -1rem;
}

svg#Object+.footer {
    background-color: var(--primary);
    width: calc(100% - 3 * var(--padding));
    padding: calc(1.5 * var(--padding));
    padding-top: 0;
}

svg#Object+.footer .eh.grid-4 {
    padding-top: 2rem;
    display: grid;
    grid-template-rows: auto;
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    margin-bottom: 4rem;
    grid-template-columns: repeat(2, 1fr);
}

svg#Object+.footer .eh.grid-4 ul {
    display: block;
}

svg#Object+.footer .eh.grid-4 h2 {
    margin: 0;
    line-height: 0.5;
}

svg#Object+.footer .eh.grid-4 a {
    font-size: 1.3rem;
}

@media screen and (min-width: 1024px) {
    svg#Object+.footer .eh.grid-4 {
        grid-template-columns: repeat(4, 1fr);
        padding-top: 0;
    }

    svg#Object+.footer .eh.grid-4 ul,
    svg#Object+.footer .eh.grid-4 a {
        font-size: 1rem;
    }
}

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

    svg#Object+.footer .eh.grid-4 ul,
    svg#Object+.footer .eh.grid-4 a {
        font-size: 1.3rem;
    }
}

svg#Object+.footer .logos {
    display: grid;
    grid-template-rows: auto;
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    align-items: center;
    justify-items: center;
    grid-template-columns: repeat(2, 1fr);
}

svg#Object+.footer .logos img {
    max-height: 4rem;
    width: auto;
    max-width: 236.3px;
}

@media screen and (min-width: 1024px) {
    svg#Object+.footer .logos {
        grid-template-columns: repeat(4, 1fr);
    }
}

.containerErlebnishaus .frame-type-menu_section {
    text-align: center;
}

.containerErlebnishaus .frame-type-menu_section .ce-textpic ul,
.containerErlebnishaus .frame-type-menu_section .ce-textpic ul li {
    list-style-type: none !important;
    padding: 0;
    line-height: 2;
}

.containerErlebnishaus .frame-type-menu_section .ce-textpic ul:before,
.containerErlebnishaus .frame-type-menu_section .ce-textpic ul li:before {
    content: "";
}

.containerErlebnishaus .frame-type-menu_section .ce-textpic ul a,
.containerErlebnishaus .frame-type-menu_section .ce-textpic ul li a {
    font-size: 2rem;
    text-align: center;
    font-family: BundaySans;
    text-decoration: underline;
}

.containerErlebnishaus .frame-type-menu_section .ce-textpic ul a:hover,
.containerErlebnishaus .frame-type-menu_section .ce-textpic ul li a:hover {
    color: var(--highlight);
}

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

    .containerErlebnishaus .frame-type-menu_section .ce-textpic ul,
    .containerErlebnishaus .frame-type-menu_section .ce-textpic ul li {
        line-height: 1.4;
    }
}

.containerErlebnishaus h1 {
    font-size: 2.2rem;
}

.containerErlebnishaus>.frame-color:first-child+.frame {
    justify-self: unset;
    grid-template-columns: 1fr;
    align-items: start;
    grid-column-gap: 3rem;
    grid-row-gap: 2rem;
    grid-template-rows: auto;
    grid-template-areas: "img" "text";
    justify-items: center;
}

.containerErlebnishaus>.frame-color:first-child+.frame.no-image {
    display: block;
}

@media screen and (min-width: 640px) {
    .containerErlebnishaus>.frame-color:first-child+.frame {
        grid-template-columns: 1fr 2fr;
        grid-template-areas: "img text";
    }
}

@media screen and (min-width: 1024px) and (max-width: 1300px) {
    .containerErlebnishaus>.frame-color:first-child+.frame {
        grid-template-columns: 1fr;
        grid-template-areas: "img" "text";
    }
}

.containerErlebnishaus>.frame-color:first-child+.frame .ce-textpic {
    padding: 0;
    width: 100%;
    grid-area: text;
}

.containerErlebnishaus>.frame-color:first-child+.frame .ce-textpic header h1 {
    margin: 0;
    margin-bottom: calc(0.5 * var(--padding));
}

.containerErlebnishaus>.frame-color:first-child+.frame .ce-textpic header+.ce-bodytext p {
    margin-top: 0;
}

@media screen and (min-width: 1024px) and (max-width: 1300px) {

    .containerErlebnishaus>.frame-color:first-child+.frame .ce-textpic h2,
    .containerErlebnishaus>.frame-color:first-child+.frame .ce-textpic p {
        text-align: center;
    }
}

.containerErlebnishaus>.frame-color:first-child+.frame .ce-image {
    grid-area: img;
}

.containerErlebnishaus>.frame-color:first-child+.frame .ce-image img {
    border-radius: 100%;
    max-width: 15rem;
    height: auto;
}

@media screen and (min-width: 640px) {
    .containerErlebnishaus>.frame-color:first-child+.frame .ce-image img {
        max-width: 100%;
        margin-top: 3rem;
    }
}

@media screen and (min-width: 1024px) and (max-width: 1300px) {
    .containerErlebnishaus>.frame-color:first-child+.frame .ce-image img {
        max-width: 15rem;
        margin-top: 0;
    }
}

.containerErlebnishaus .frame-type-textmedia h2 {
    margin-bottom: 0;
}

.containerErlebnishaus tbody tr td:first-child {
    text-align: right;
}

.containerErlebnishaus tbody tr:last-child {
    border-bottom: unset;
}

.containerErlebnishaus tbody td {
    vertical-align: middle;
}

.containerErlebnishaus+#Footer {
    z-index: 10;
    position: relative;
    zoom: 1;
}

.containerErlebnishaus+#Footer:after {
    visibility: hidden;
    display: block;
    content: "";
    clear: both;
    height: 0;
}

.containerErlebnishaus+#Footer #footerInnerWrapper {
    position: absolute;
    top: 0;
    left: 0;
}

.topbar.erlebnishaus .searchoverlay {
    background-image: linear-gradient(115deg, hsl(182deg, 33%, 77%) 0%, hsl(181deg, 36%, 77%) 4%, hsl(181deg, 37%, 78%) 10%, hsl(181deg, 39%, 78%) 17%, hsl(181deg, 42%, 78%) 27%, hsl(181deg, 43%, 79%) 38%, hsl(181deg, 46%, 79%) 50%, hsl(181deg, 47%, 79%) 65%, hsl(181deg, 50%, 80%) 81%, hsl(181deg, 51%, 80%) 100%);
}

.topbar.erlebnishaus .menu_main.menu-w-subpages.erlebnishaus #closeMenuButton,
.topbar.erlebnishaus .menu_main.menu-w-subpages.erlebnishaus #closeSearchButton,
.topbar.erlebnishaus .menu_main.menu-w-subpages.erlebnishaus #closeMenuButtonMobile {
    color: var(--highlight);
}

.topbar.erlebnishaus .menu_main.menu-w-subpages.erlebnishaus .menu_fixed .navItem a {
    color: #fff;
}

.bwgeh_bg {
    background-position: top;
    background-size: contain;
    background-repeat: repeat-y;
}

@media screen and (min-width: 640px) {
    .bwgeh_bg {
        background-size: cover;
    }
}

@media screen and (min-width: 1320px) {
    .bwgeh_bg {
        background-size: auto;
    }
}


/* Functional styling;
 * These styles are required for noUiSlider to function.
 * You don't need to change these rules to apply your design.
 */
.noUi-target,
.noUi-target * {
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-user-select: none;
    -ms-touch-action: none;
    touch-action: none;
    -ms-user-select: none;
    -moz-user-select: none;
    user-select: none;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.noUi-target {
    position: relative;
}

.noUi-base,
.noUi-connects {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
}

/* Wrapper for all connect elements.
 */
.noUi-connects {
    overflow: hidden;
    z-index: 0;
}

.noUi-connect,
.noUi-origin {
    will-change: transform;
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    height: 100%;
    width: 100%;
    -ms-transform-origin: 0 0;
    -webkit-transform-origin: 0 0;
    -webkit-transform-style: preserve-3d;
    transform-origin: 0 0;
    transform-style: flat;
}

/* Offset direction
 */
.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin {
    left: 0;
    right: auto;
}

/* Give origins 0 height/width so they don't interfere with clicking the
 * connect elements.
 */
.noUi-vertical .noUi-origin {
    top: -100%;
    width: 0;
}

.noUi-horizontal .noUi-origin {
    height: 0;
}

.noUi-handle {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    position: absolute;
}

.noUi-touch-area {
    height: 100%;
    width: 100%;
}

.noUi-state-tap .noUi-connect,
.noUi-state-tap .noUi-origin {
    -webkit-transition: transform 0.3s;
    transition: transform 0.3s;
}

.noUi-state-drag * {
    cursor: inherit !important;
}

/* Slider size and handle placement;
 */
.noUi-horizontal {
    height: 18px;
}

.noUi-horizontal .noUi-handle {
    width: 34px;
    height: 28px;
    right: -17px;
    top: -6px;
}

.noUi-vertical {
    width: 18px;
}

.noUi-vertical .noUi-handle {
    width: 28px;
    height: 34px;
    right: -6px;
    bottom: -17px;
}

.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle {
    left: -17px;
    right: auto;
}

/* Styling;
 * Giving the connect element a border radius causes issues with using transform: scale
 */
.noUi-target {
    background: #FAFAFA;
    border-radius: 4px;
    border: 1px solid #D3D3D3;
    box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB;
}

.noUi-connects {
    border-radius: 3px;
}

.noUi-connect {
    background: #3FB8AF;
}

/* Handles and cursors;
 */
.noUi-draggable {
    cursor: ew-resize;
}

.noUi-vertical .noUi-draggable {
    cursor: ns-resize;
}

.noUi-handle {
    border: 1px solid #D9D9D9;
    border-radius: 3px;
    background: #FFF;
    cursor: default;
    box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB;
}

.noUi-active {
    box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB;
}

/* Handle stripes;
 */
.noUi-handle:before,
.noUi-handle:after {
    content: "";
    display: block;
    position: absolute;
    height: 14px;
    width: 1px;
    background: #E8E7E6;
    left: 14px;
    top: 6px;
}

.noUi-handle:after {
    left: 17px;
}

.noUi-vertical .noUi-handle:before,
.noUi-vertical .noUi-handle:after {
    width: 14px;
    height: 1px;
    left: 6px;
    top: 14px;
}

.noUi-vertical .noUi-handle:after {
    top: 17px;
}

/* Disabled state;
 */
[disabled] .noUi-connect {
    background: #B8B8B8;
}

[disabled].noUi-target,
[disabled].noUi-handle,
[disabled] .noUi-handle {
    cursor: not-allowed;
}

/* Base;
 *
 */
.noUi-pips,
.noUi-pips * {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.noUi-pips {
    position: absolute;
    color: #999;
}

/* Values;
 *
 */
.noUi-value {
    position: absolute;
    white-space: nowrap;
    text-align: center;
}

.noUi-value-sub {
    color: #ccc;
    font-size: 10px;
}

/* Markings;
 *
 */
.noUi-marker {
    position: absolute;
    background: #CCC;
}

.noUi-marker-sub {
    background: #AAA;
}

.noUi-marker-large {
    background: #AAA;
}

/* Horizontal layout;
 *
 */
.noUi-pips-horizontal {
    padding: 10px 0;
    height: 80px;
    top: 100%;
    left: 0;
    width: 100%;
}

.noUi-value-horizontal {
    -webkit-transform: translate(-50%, 50%);
    transform: translate(-50%, 50%);
}

.noUi-rtl .noUi-value-horizontal {
    -webkit-transform: translate(50%, 50%);
    transform: translate(50%, 50%);
}

.noUi-marker-horizontal.noUi-marker {
    margin-left: -1px;
    width: 2px;
    height: 5px;
}

.noUi-marker-horizontal.noUi-marker-sub {
    height: 10px;
}

.noUi-marker-horizontal.noUi-marker-large {
    height: 15px;
}

/* Vertical layout;
 *
 */
.noUi-pips-vertical {
    padding: 0 10px;
    height: 100%;
    top: 0;
    left: 100%;
}

.noUi-value-vertical {
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    padding-left: 25px;
}

.noUi-rtl .noUi-value-vertical {
    -webkit-transform: translate(0, 50%);
    transform: translate(0, 50%);
}

.noUi-marker-vertical.noUi-marker {
    width: 5px;
    height: 2px;
    margin-top: -1px;
}

.noUi-marker-vertical.noUi-marker-sub {
    width: 10px;
}

.noUi-marker-vertical.noUi-marker-large {
    width: 15px;
}

.noUi-tooltip {
    display: block;
    position: absolute;
    border: 1px solid #D9D9D9;
    border-radius: 3px;
    background: #fff;
    color: #000;
    padding: 5px;
    text-align: center;
    white-space: nowrap;
}

.noUi-horizontal .noUi-tooltip {
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    left: 50%;
    bottom: 120%;
}

.noUi-vertical .noUi-tooltip {
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    top: 50%;
    right: 120%;
}

.noUi-horizontal .noUi-origin>.noUi-tooltip {
    -webkit-transform: translate(50%, 0);
    transform: translate(50%, 0);
    left: auto;
    bottom: 10px;
}

.noUi-vertical .noUi-origin>.noUi-tooltip {
    -webkit-transform: translate(0, -18px);
    transform: translate(0, -18px);
    top: auto;
    right: 28px;
}

/* overlay */
.popup-overlay {
    position: fixed;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(0, 0, 0, .6);
    z-index: 1000;
    padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)
}

/* card */
.popup-content {
    color: #fff;
    padding: 20px 22px;
    border-radius: 12px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, .3);
    inline-size: min(92vw, 42rem);
    max-height: 90dvh;
    overflow: auto;
    text-align: left;
    position: relative;
    animation: fadeIn .3s ease-out
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: scale(.96)
    }

    to {
        opacity: 1;
        transform: scale(1)
    }
}

.popup-content h3 {
    margin: 0 0 12px;
    text-align: center;
    line-height: 1.2
}

/* layout */
.popup-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    align-items: start
}

.popup-text {
    line-height: 1.5
}

/* image / thumbnail */
.popup-img {
    align-self: start
}

.popup-img img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px
}

.popup-thumb {
    background: 0 0;
    border: 0;
    padding: 0;
    cursor: pointer;
    display: block;
    line-height: 0;
    border-radius: 8px
}

.popup-thumb:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px
}

/* lightbox */
.popup-lightbox {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, .88);
    z-index: 1100;
    padding: 2rem
}

.popup-lightbox img {
    max-width: 96vw;
    max-height: 92dvh;
    display: block;
    border-radius: 10px
}

.popup-lightbox .lb-close {
    position: absolute;
    top: 12px;
    right: 16px;
    background: 0 0;
    border: 0;
    font-size: 2rem;
    line-height: 1;
    color: #fff;
    cursor: pointer
}

.popup-lightbox .lb-close:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px
}

/* footer */
.button-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 12px
}

/* responsive */
@media (max-width:768px) {
    .popup-body {
        grid-template-columns: 1fr
    }
}

/* motion/accessibility */
@media (prefers-reduced-motion:reduce) {

    .event-button,
    .popup-content {
        animation: none
    }
}

/* ===========================================
   ACCESSIBILITY FOUNDATION - Theme Independent
   =========================================== */

/* Screen Reader Only Content */
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Skip Link - versteckt bis Focus */
.skip-link {
    position: absolute;
    top: -40px;
    left: 6px;
    background: #000;
    color: #fff;
    padding: 8px 16px;
    text-decoration: none;
    border-radius: 4px;
    font-weight: bold;
    z-index: 10000;
    transform: translateY(-100%);
    transition: transform 0.3s ease;
}

.skip-link:focus {
    transform: translateY(0%);
    outline: 2px solid #fff;
    outline-offset: 2px;
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
    .skip-link {
        transition: none;
    }
}

/* Main Content - Remove focus outline (skip-link target) */
main:focus {
    outline: none;
}

.mt {
    margin-top: calc(3 * var(--padding));
}

.mb {
    margin-bottom: calc(3 * var(--padding));
}

.max-1204 {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 1rem;
}

/* Scroll to Top Button */
.scroll-to-top {
    display: none;
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    z-index: 1000;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background-color: var(--primary);
    color: var(--text-light);
    border: 1px solid #fff;
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    opacity: 0;
    transform: scale(0.8);
    pointer-events: none;
    padding: 0;
}

.scroll-to-top.visible {
    display: block;
    opacity: 0.9;
    transform: scale(1);
    pointer-events: auto;
}

.scroll-to-top:hover {
    opacity: 1;
    transform: scale(1.1);
}

.scroll-to-top:focus {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

.scroll-to-top svg {
    width: 1.5rem;
    height: 1.5rem;
    margin: auto;
    display: block;
}