/* Google Fonts Import */
@import url('https://fonts.googleapis.com/css2?family=Spicy+Rice&family=Montserrat:wght@300;400;700&family=Roboto:ital,wght@0,400;0,700;1,400;1,700&family=Playfair+Display:wght@300;700&display=swap');

/* Reset Styles */
html,body,div,span,applet,object,iframe,h1,h2,h3,#ems-wf-dest .ems-wf-title,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video,button {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
    box-sizing: border-box
}

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
    display: block
}

body {
    line-height: 1
}

ol,ul {
    list-style: none
}

blockquote,q {
    quotes: none
}

blockquote:before,blockquote:after,q:before,q:after {
    content: ""
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    float: none
}

/* Font Variables */
body {
    --h1-font-family: "Montserrat";
    --font-weight-bold: 700;
    --font-weight-light: 400;
    --h1-font-size: clamp(1.5625rem, .3158288948rem + 2.6631158455vw, 2.8125rem);
    --h1-line-height: clamp(1.5625rem, .3158288948rem + 2.6631158455vw, 2.8125rem);
    --h3-font-family: "Montserrat";
    --h3-font-size: clamp(1.25rem, 1.25rem + 0vw, 1.25rem);
    --h3-line-height: clamp(1.375rem, 1.375rem + 0vw, 1.375rem);
    --event-list-h3-font-size: clamp(.9375rem, .8751664447rem + .1331557923vw, 1rem);
    --event-list-h3-line-height: clamp(.9375rem, .8751664447rem + .1331557923vw, 1rem);
    --event-list-p-font-size: clamp(.8125rem, .7501664447rem + .1331557923vw, .875rem);
    --event-list-p-line-height: clamp(1.25rem, 1.1253328895rem + .2663115846vw, 1.375rem)
}

body .round-cta h3,body .round-cta #ems-wf-dest .ems-wf-title,#ems-wf-dest body .round-cta .ems-wf-title {
    line-height: .92em
}

body.spicy-rice-font {
    --h1-font-family: "Spicy Rice";
    --font-weight-bold: 400;
    --font-weight-light: 400;
    --h1-font-size: clamp(1.5625rem, .1911617843rem + 2.9294274301vw, 2.9375rem);
    --h1-line-height: clamp(1.75rem, .3786617843rem + 2.9294274301vw, 3.125rem);
    --h3-font-family: "Spicy Rice";
    --h3-font-size: clamp(1.25rem, 1.1253328895rem + .2663115846vw, 1.375rem);
    --h3-line-height: clamp(1.375rem, 1.2503328895rem + .2663115846vw, 1.5rem);
    --event-list-h3-font-size: clamp(1.125rem, 1.0003328895rem + .2663115846vw, 1.25rem);
    --event-list-h3-line-height: clamp(1.1875rem, 1.0628328895rem + .2663115846vw, 1.3125rem);
    --event-list-p-font-size: clamp(.9375rem, .8128328895rem + .2663115846vw, 1.0625rem);
    --event-list-p-line-height: clamp(1.375rem, 1.2503328895rem + .2663115846vw, 1.5rem)
}

body.spicy-rice-font h1,body.spicy-rice-font h2 {
    letter-spacing: 2.35px
}

body.spicy-rice-font h3,body.spicy-rice-font #ems-wf-dest .ems-wf-title,#ems-wf-dest body.spicy-rice-font .ems-wf-title {
    letter-spacing: 1.1px
}

body.spicy-rice-font strong {
    font-weight: var(--font-weight-bold)
}

body.spicy-rice-font .round-cta h3,body.spicy-rice-font .round-cta #ems-wf-dest .ems-wf-title,#ems-wf-dest body.spicy-rice-font .round-cta .ems-wf-title {
    line-height: 86.364%;
    font-size: var(--h3-font-size)
}

body.spicy-rice-font header #header_nav_wrap nav li a {
    letter-spacing: .66px;
    font-weight: var(--font-weight-bold)
}

body.spicy-rice-font header #header_nav_wrap #meta_nav_wrap li a {
    letter-spacing: .48px
}

body.copperplate-font {
    --h1-font-family: "Playfair Display";
    --font-weight-bold: 700;
    --font-weight-light: 300;
    --h1-font-size: clamp(1.5rem, .6273302264rem + 1.8641810919vw, 2.375rem);
    --h1-line-height: clamp(1.8125rem, .6281624501rem + 2.5299600533vw, 3rem);
    --h3-font-family: "Playfair Display";
    --h3-font-size: clamp(.75rem, .500665779rem + .5326231691vw, 1rem);
    --h3-line-height: clamp(1.125rem, .875665779rem + .5326231691vw, 1.375rem);
    --p-font-size: clamp(.625rem, .5003328895rem + .2663115846vw, .75rem);
    --p-line-height: clamp(.875rem, .625665779rem + .5326231691vw, 1.125rem);
    --event-list-h3-font-size: clamp(.75rem, .6253328895rem + .2663115846vw, .875rem);
    --event-list-h3-line-height: clamp(.875rem, .6879993342rem + .3994673768vw, 1.0625rem);
    --event-list-p-font-size: clamp(.5625rem, .4378328895rem + .2663115846vw, .6875rem);
    --event-list-p-line-height: clamp(1rem, .8753328895rem + .2663115846vw, 1.125rem)
}

/* Typography */
h1 {
    font-family: var(--h1-font-family),Arial,Helvetica,sans-serif;
    font-size: var(--h1-font-size);
    line-height: var(--h1-line-height);
    font-weight: var(--font-weight-bold);
    font-style: normal;
    text-transform: uppercase
}

h2 {
    font-family: var(--h1-font-family),Arial,Helvetica,sans-serif;
    font-size: var(--h1-font-size);
    line-height: var(--h1-line-height);
    font-weight: var(--font-weight-bold);
    font-style: normal;
    text-transform: uppercase;
    font-weight: var(--font-weight-light);
    margin-bottom: var(--h3-font-size)
}

h3,#ems-wf-dest .ems-wf-title {
    font-family: var(--h3-font-family),Arial,Helvetica,sans-serif;
    font-size: var(--h3-font-size);
    line-height: var(--h3-line-height);
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    margin-bottom: 1em
}

h3.sl,#ems-wf-dest .sl.ems-wf-title {
    font-weight: var(--font-weight-light)
}

h3.n-mb,#ems-wf-dest .n-mb.ems-wf-title {
    margin-bottom: 0
}

h3:not(.n-mb)+h3,#ems-wf-dest .ems-wf-title:not(.n-mb)+h3,#ems-wf-dest h3:not(.n-mb)+.ems-wf-title,#ems-wf-dest .ems-wf-title:not(.n-mb)+.ems-wf-title {
    margin-top: -1em
}

body {
    font-family: Roboto,Tahoma,Verdana,sans-serif;
    font-size: clamp(.9375rem,.9375rem + 0vw,.9375rem);
    line-height: clamp(1.4375rem,1.4375rem + 0vw,1.4375rem);
    font-weight: 400;
    color: var(--font-color);
    text-underline-offset: .25em
}

a {
    color: inherit;
    text-decoration: none
}

p {
    margin-bottom: clamp(15px,1vw,15px)
}

p.n-mb {
    margin-bottom: 0
}

/* Button Styles */
.button,.as-button,a[data-smtz-gid] {
    font-weight: 700!important;
    border-radius: 30px!important;
    border: 1px solid var(--font-color)!important;
    padding: clamp(2px,.4vw,6px) clamp(6px,.8vw,12px)!important;
    line-height: clamp(18px,1.6vw,24px)!important;
    display: inline-block!important;
    text-decoration: none!important;
    background-color: rgba(var(--cta-color-rgba))!important;
    position: relative!important;
    filter: drop-shadow(4px 4px 10px rgba(0,0,0,.5))!important;
    margin-bottom: clamp(15px,1vw,15px)
}

.button:before,.as-button:before,a[data-smtz-gid]:before {
    content: " ";
    border: 2px transparent solid;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    box-sizing: border-box;
    width: calc(100% + 14px);
    height: calc(100% + 14px);
    transition: all .7s ease
}

.button:hover:before,.as-button:hover:before,a[data-smtz-gid]:hover:before {
    border-radius: 30px;
    border: 1px #FFFFFF solid
}

/* Color Variables and Theme */
:root {
    --background-gradient: 135deg, rgba(var(--top-background-color-rgba)) 0%, rgba(var(--bottom-background-color-rgba)) 100%;
    --border-gradient: -15deg, rgba(var(--bottom-border-color-rgba)) 10%, rgba(var(--top-border-color-rgba)) 45%;
    --stdSpeed: 200
}

body {
    --main-color: #FFFFFF;
    --font-color: #FFFFFF;
    --font-color-rgb: 255,255,255;
    color: var(--font-color);
    background-color: var(--main-bg-color);
    animation: fadein 1s;
    -webkit-animation: fadein 1s
}

body.fixed {
    overflow: hidden
}

body.dark-mode {
    --main-bg-color: #000000;
    --main-bg-color-rgb: 0,0,0;
    --footer-bg-color: #262626;
    --footer-font-color: #FFFFFF;
    --footer-font-color-rgb: 255,255,255
}

body.light-mode {
    --main-bg-color: #FFFFFF;
    --main-bg-color-rgb: 255,255,255;
    --footer-bg-color: #E8E8E8;
    --footer-font-color: #000000;
    --footer-font-color-rgb: 0,0,0
}

/* Layout */
.wrapper-width,#main_wrapper {
    max-width: 1500px;
    margin: auto
}

.content-width {
    max-width: 980px;
    margin: auto
}

@media screen and (max-width: 1024px) {
    .content-width {
        padding-left: 20px;
        padding-right: 20px
    }
    .content-width .content-width:not(.related-events) {
        padding: 0
    }
}

div,main,aside {
    box-sizing: border-box
}

.flex-area {
    display: flex
}

/* Animations */
@keyframes fadein {
    0% { opacity: 0 }
    to { opacity: 1 }
}

@-webkit-keyframes fadein {
    0% { opacity: 0 }
    to { opacity: 1 }
}

/* Basic Elements */
button {
    background-color: transparent;
    border: none;
    cursor: pointer
}

.button,.as-button {
    cursor: pointer
}

hr {
    border-width: 1px 0 0 0;
    border-color: #fff9;
    margin-top: clamp(15px,2vw,30px);
    margin-bottom: clamp(12px,1.67vw,25px)
}

svg {
    overflow: visible
}

/* Tables */
table {
    border-top: 1px solid var(--font-color)
}

table th {
    text-align: left;
    font-weight: 700
}

table th,table td {
    padding: clamp(4px,.8vw,12px) 0
}

table tr:not(:last-child) {
    border-bottom: 1px solid #919191
}

@media screen and (max-width: 1024px) {
    table {
        width: 100%!important
    }
}

html,body,div,span,applet,object,iframe,h1,h2,h3,#ems-wf-dest .ems-wf-title,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video,button {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
    box-sizing: border-box
}

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
    display: block
}

body {
    line-height: 1
}

ol,ul {
    list-style: none
}

blockquote,q {
    quotes: none
}

blockquote:before,blockquote:after,q:before,q:after {
    content: ""
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    float: none
}

@font-face {
    font-family: Spicy Rice;
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(../fonts/spicyRice/spicy-rice.woff2) format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}

@font-face {
    font-family: Copperplate;
    src: url(../fonts/copperplate/opticopperplate-heavy.woff) format("woff"),url(../fonts/copperplate/opticopperplate-heavy.woff2) format("woff2");
    font-style: normal;
    font-weight: 700;
    font-display: swap
}

@font-face {
    font-family: Copperplate;
    src: url(../fonts/copperplate/opticopperplate-light.woff) format("woff"),url(../fonts/copperplate/opticopperplate-light.woff2) format("woff2");
    font-style: normal;
    font-weight: 300;
    font-display: swap
}

@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/montserrat/montserrat-normal.woff2) format("woff2")
}

@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 700;
    src: url(../fonts/montserrat/montserrat-bold.woff2) format("woff2")
}

@font-face {
    font-family: Roboto;
    font-style: italic;
    font-weight: 400;
    src: url(../fonts/roboto/roboto-regular-italic.woff2) format("woff2")
}

@font-face {
    font-family: Roboto;
    font-style: italic;
    font-weight: 700;
    src: url(../fonts/roboto/roboto-bold-italic.woff2) format("woff2")
}

@font-face {
    font-family: Roboto;
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/roboto/roboto-regular.woff2) format("woff2")
}

@font-face {
    font-family: Roboto;
    font-style: normal;
    font-weight: 700;
    src: url(../fonts/roboto/roboto-bold.woff2) format("woff2")
}

body {
    --h1-font-family: "Montserrat";
    --font-weight-bold: 700;
    --font-weight-light: 400;
    --h1-font-size: clamp(1.5625rem, .3158288948rem + 2.6631158455vw, 2.8125rem);
    --h1-line-height: clamp(1.5625rem, .3158288948rem + 2.6631158455vw, 2.8125rem);
    --h3-font-family: "Montserrat";
    --h3-font-size: clamp(1.25rem, 1.25rem + 0vw, 1.25rem);
    --h3-line-height: clamp(1.375rem, 1.375rem + 0vw, 1.375rem);
    --event-list-h3-font-size: clamp(.9375rem, .8751664447rem + .1331557923vw, 1rem);
    --event-list-h3-line-height: clamp(.9375rem, .8751664447rem + .1331557923vw, 1rem);
    --event-list-p-font-size: clamp(.8125rem, .7501664447rem + .1331557923vw, .875rem);
    --event-list-p-line-height: clamp(1.25rem, 1.1253328895rem + .2663115846vw, 1.375rem)
}

body .round-cta h3,body .round-cta #ems-wf-dest .ems-wf-title,#ems-wf-dest body .round-cta .ems-wf-title {
    line-height: .92em
}

body.spicy-rice-font {
    --h1-font-family: "Spicy Rice";
    --font-weight-bold: 400;
    --font-weight-light: 400;
    --h1-font-size: clamp(1.5625rem, .1911617843rem + 2.9294274301vw, 2.9375rem);
    --h1-line-height: clamp(1.75rem, .3786617843rem + 2.9294274301vw, 3.125rem);
    --h3-font-family: "Spicy Rice";
    --h3-font-size: clamp(1.25rem, 1.1253328895rem + .2663115846vw, 1.375rem);
    --h3-line-height: clamp(1.375rem, 1.2503328895rem + .2663115846vw, 1.5rem);
    --event-list-h3-font-size: clamp(1.125rem, 1.0003328895rem + .2663115846vw, 1.25rem);
    --event-list-h3-line-height: clamp(1.1875rem, 1.0628328895rem + .2663115846vw, 1.3125rem);
    --event-list-p-font-size: clamp(.9375rem, .8128328895rem + .2663115846vw, 1.0625rem);
    --event-list-p-line-height: clamp(1.375rem, 1.2503328895rem + .2663115846vw, 1.5rem)
}

body.spicy-rice-font h1,body.spicy-rice-font h2 {
    letter-spacing: 2.35px
}

body.spicy-rice-font h3,body.spicy-rice-font #ems-wf-dest .ems-wf-title,#ems-wf-dest body.spicy-rice-font .ems-wf-title {
    letter-spacing: 1.1px
}

body.spicy-rice-font strong {
    font-weight: var(--font-weight-bold)
}

body.spicy-rice-font .round-cta h3,body.spicy-rice-font .round-cta #ems-wf-dest .ems-wf-title,#ems-wf-dest body.spicy-rice-font .round-cta .ems-wf-title {
    line-height: 86.364%;
    font-size: var(--h3-font-size)
}

body.spicy-rice-font header #header_nav_wrap nav li a {
    letter-spacing: .66px;
    font-weight: var(--font-weight-bold)
}

body.spicy-rice-font header #header_nav_wrap #meta_nav_wrap li a {
    letter-spacing: .48px
}

body.copperplate-font {
    --h1-font-family: "Copperplate";
    --font-weight-bold: 700;
    --font-weight-light: 300;
    --h1-font-size: clamp(1.5rem, .6273302264rem + 1.8641810919vw, 2.375rem);
    --h1-line-height: clamp(1.8125rem, .6281624501rem + 2.5299600533vw, 3rem);
    --h3-font-family: "Copperplate";
    --h3-font-size: clamp(.75rem, .500665779rem + .5326231691vw, 1rem);
    --h3-line-height: clamp(1.125rem, .875665779rem + .5326231691vw, 1.375rem);
    --p-font-size: clamp(.625rem, .5003328895rem + .2663115846vw, .75rem);
    --p-line-height: clamp(.875rem, .625665779rem + .5326231691vw, 1.125rem);
    --event-list-h3-font-size: clamp(.75rem, .6253328895rem + .2663115846vw, .875rem);
    --event-list-h3-line-height: clamp(.875rem, .6879993342rem + .3994673768vw, 1.0625rem);
    --event-list-p-font-size: clamp(.5625rem, .4378328895rem + .2663115846vw, .6875rem);
    --event-list-p-line-height: clamp(1rem, .8753328895rem + .2663115846vw, 1.125rem)
}

h1 {
    font-family: var(--h1-font-family),Arial,Helvetica,sans-serif;
    font-size: var(--h1-font-size);
    line-height: var(--h1-line-height);
    font-weight: var(--font-weight-bold);
    font-style: normal;
    text-transform: uppercase
}

h2 {
    font-family: var(--h1-font-family),Arial,Helvetica,sans-serif;
    font-size: var(--h1-font-size);
    line-height: var(--h1-line-height);
    font-weight: var(--font-weight-bold);
    font-style: normal;
    text-transform: uppercase;
    font-weight: var(--font-weight-light);
    margin-bottom: var(--h3-font-size)
}

h3,#ems-wf-dest .ems-wf-title {
    font-family: var(--h3-font-family),Arial,Helvetica,sans-serif;
    font-size: var(--h3-font-size);
    line-height: var(--h3-line-height);
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    display: inline-block;
}

h3.sl,#ems-wf-dest .sl.ems-wf-title {
    font-weight: var(--font-weight-light)
}

h3.n-mb,#ems-wf-dest .n-mb.ems-wf-title {
    margin-bottom: 0
}

h3:not(.n-mb)+h3,#ems-wf-dest .ems-wf-title:not(.n-mb)+h3,#ems-wf-dest h3:not(.n-mb)+.ems-wf-title,#ems-wf-dest .ems-wf-title:not(.n-mb)+.ems-wf-title {
    margin-top: -1em
}

body {
    font-family: Roboto,Tahoma,Verdana,sans-serif;
    font-size: clamp(.9375rem,.9375rem + 0vw,.9375rem);
    line-height: clamp(1.4375rem,1.4375rem + 0vw,1.4375rem);
    font-weight: 400;
    color: var(--font-color);
    text-underline-offset: .25em
}

a {
    color: inherit;
    text-decoration: none
}

p {
    margin-bottom: clamp(15px,1vw,15px)
}

p.n-mb {
    margin-bottom: 0
}

.button,.as-button,a[data-smtz-gid] {
    font-weight: 700!important;
    border-radius: 30px!important;
    border: 1px solid var(--font-color)!important;
    padding: clamp(2px,.4vw,6px) clamp(6px,.8vw,12px)!important;
    line-height: clamp(18px,1.6vw,24px)!important;
    display: inline-block!important;
    text-decoration: none!important;
    background-color: rgba(var(--cta-color-rgba))!important;
    position: relative!important;
    filter: drop-shadow(4px 4px 10px rgba(0,0,0,.5))!important;
    margin-bottom: clamp(15px,1vw,15px)
}

.button:before,.as-button:before,a[data-smtz-gid]:before {
    content: " ";
    border: 2px transparent solid;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    box-sizing: border-box;
    width: calc(100% + 14px);
    height: calc(100% + 14px);
    transition: all .7s ease
}

.button:hover:before,.as-button:hover:before,a[data-smtz-gid]:hover:before {
    border-radius: 30px;
    border: 1px #FFFFFF solid
}

.button[href^="javascript:sukoaUtils.dcmadr("]:after,.as-button[href^="javascript:sukoaUtils.dcmadr("]:after,a[data-smtz-gid][href^="javascript:sukoaUtils.dcmadr("]:after {
    background-image: url(../images/icons/CTA_Icon_Mail.svg)
}

.button[href^="tel:"]:after,.as-button[href^="tel:"]:after,a[data-smtz-gid][href^="tel:"]:after {
    background-image: url(../images/icons/CTA_Icon_Call.svg)
}

.button.download-icon:after,.button[href^="/dam/"]:after,.button[href^="/author/dam/"]:after,.as-button.download-icon:after,.as-button[href^="/dam/"]:after,.as-button[href^="/author/dam/"]:after,a[data-smtz-gid].download-icon:after,a[data-smtz-gid][href^="/dam/"]:after,a[data-smtz-gid][href^="/author/dam/"]:after {
    background-image: url(../images/icons/CTA_Icon_Download.svg)
}

.button.external-icon:after,.button[href^=http]:after,.as-button.external-icon:after,.as-button[href^=http]:after,a[data-smtz-gid].external-icon:after,a[data-smtz-gid][href^=http]:after {
    background-image: url(../images/icons/CTA_Icon_OffSite.svg)
}

.button.ticket-icon:after,.button[href^="https://smeetz.com/"]:after,.as-button.ticket-icon:after,.as-button[href^="https://smeetz.com/"]:after,a[data-smtz-gid].ticket-icon:after,a[data-smtz-gid][href^="https://smeetz.com/"]:after {
    background-image: url(../images/icons/CTA_icon_Tickets.svg)!important
}

.button.calendar-icon:after,.as-button.calendar-icon:after,a[data-smtz-gid].calendar-icon:after {
    background-image: url(../images/icons/CTA_Icon_Reservieren.svg)!important
}

.button[href^="javascript:sukoaUtils.dcmadr("],.button[href^="tel:"],.button[href^="/dam/"],.button[href^="/author/dam/"],.button[target=_blank][href^=http],.button.ticket-icon,.button.calendar-icon,.button.external-icon,.as-button[href^="javascript:sukoaUtils.dcmadr("],.as-button[href^="tel:"],.as-button[href^="/dam/"],.as-button[href^="/author/dam/"],.as-button[target=_blank][href^=http],.as-button.ticket-icon,.as-button.calendar-icon,.as-button.external-icon,a[data-smtz-gid][href^="javascript:sukoaUtils.dcmadr("],a[data-smtz-gid][href^="tel:"],a[data-smtz-gid][href^="/dam/"],a[data-smtz-gid][href^="/author/dam/"],a[data-smtz-gid][target=_blank][href^=http],a[data-smtz-gid].ticket-icon,a[data-smtz-gid].calendar-icon,a[data-smtz-gid].external-icon {
    padding-right: clamp(32px,2.8vw,42px)!important;
    padding-top: clamp(6px,.47vw,7px)!important;
    min-height: clamp(32px,2.67vw,40px)
}

.button[href^="javascript:sukoaUtils.dcmadr("]:after,.button[href^="tel:"]:after,.button[href^="/dam/"]:after,.button[href^="/author/dam/"]:after,.button[target=_blank][href^=http]:after,.button.ticket-icon:after,.button.calendar-icon:after,.button.external-icon:after,.as-button[href^="javascript:sukoaUtils.dcmadr("]:after,.as-button[href^="tel:"]:after,.as-button[href^="/dam/"]:after,.as-button[href^="/author/dam/"]:after,.as-button[target=_blank][href^=http]:after,.as-button.ticket-icon:after,.as-button.calendar-icon:after,.as-button.external-icon:after,a[data-smtz-gid][href^="javascript:sukoaUtils.dcmadr("]:after,a[data-smtz-gid][href^="tel:"]:after,a[data-smtz-gid][href^="/dam/"]:after,a[data-smtz-gid][href^="/author/dam/"]:after,a[data-smtz-gid][target=_blank][href^=http]:after,a[data-smtz-gid].ticket-icon:after,a[data-smtz-gid].calendar-icon:after,a[data-smtz-gid].external-icon:after {
    width: clamp(24px,1.87vw,28px);
    height: clamp(24px,1.87vw,28px)
}

.button:after,.as-button:after,a[data-smtz-gid]:after {
    display: inline-block;
    content: "";
    margin-left: .4em;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: clamp(3px,.33vw,5px)
}

ajx-anchor.button {
    box-sizing: border-box;
    padding-right: clamp(32px,2.8vw,42px)!important;
    padding-top: clamp(6px,.47vw,7px)!important;
    min-height: clamp(32px,2.67vw,40px)
}

ajx-anchor.button:after {
    background-image: url(../images/icons/CTA_Icon_Reservieren.svg)!important;
    width: clamp(24px,1.87vw,28px);
    height: clamp(24px,1.87vw,28px)
}

a[data-smtz-gid] {
    font-family: inherit!important;
    height: auto!important
}

a {
    transition: opacity .7s ease
}

a .text-class-name {
    background: red
}

a.link-with-icon {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    gap: clamp(5px,.53vw,8px)
}

@media screen and (max-width: 1024px) {
    a.link-with-icon {
        line-height:30px
    }
}

a.link-with-icon span.icon svg {
    width: 17px;
    height: 17px;
    display: block;
    padding-top: clamp(2px,.2vw,3px)
}

a.link-with-icon span.icon svg path {
    fill: var(--footer-font-color)
}

@media screen and (max-width: 1024px) {
    a.link-with-icon span.icon {
        margin-top:4px;
        margin-right: 6px
    }
}

.texts a:not(.button),.downloads a:not(.button),form .text a:not(.button) {
    opacity: .65;
    padding-left: clamp(11px,.87vw,13px);
    position: relative;
    display: inline-block
}

.texts a:not(.button):not(.link-title):before,.downloads a:not(.button):not(.link-title):before,form .text a:not(.button):not(.link-title):before {
    content: ">";
    position: absolute;
    left: 0
}

.texts a:not(.button).back-link:before,.downloads a:not(.button).back-link:before,form .text a:not(.button).back-link:before {
    content: "<"
}

.texts a:not(.button).link-title,.downloads a:not(.button).link-title,form .text a:not(.button).link-title {
    padding-left: 0;
    padding-right: 12px;
    text-transform: uppercase
}

.texts a:not(.button).link-title:after,.downloads a:not(.button).link-title:after,form .text a:not(.button).link-title:after {
    content: ">";
    position: absolute;
    right: 0
}

.texts a:not(.button):hover,.downloads a:not(.button):hover,form .text a:not(.button):hover {
    opacity: 1
}
/*
table {
    border-top: 1px solid var(--font-color)
}
*/

table th {
    text-align: left;
    font-weight: 700
}

table th,table td {
    padding: clamp(4px,.8vw,12px) 0
}

table tr:not(:last-child) {
    border-bottom: 1px solid #919191
}

@media screen and (max-width: 1024px) {
    table {
        width:100%!important
    }
}

.text ul,.text ol {
    margin-bottom: clamp(12px,1.2vw,18px)
}

.text ul {
    margin-left: 14px
}

.text ul li {
    list-style: disc
}

.text ol {
    margin-left: 18px
}

.text ol li {
    list-style: decimal
}

:root {
    --background-gradient: 135deg, rgba(var(--top-background-color-rgba)) 0%, rgba(var(--bottom-background-color-rgba)) 100%;
    --border-gradient: -15deg, rgba(var(--bottom-border-color-rgba)) 10%, rgba(var(--top-border-color-rgba)) 45%
}

body {
    --main-color: #FFFFFF;
    --font-color: #FFFFFF;
    --font-color-rgb: 255,255,255;
    color: var(--font-color);
    background-color: var(--main-bg-color)
}

body.dark-mode {
    --main-bg-color: #000000;
    --main-bg-color-rgb: 0,0,0;
    --footer-bg-color: #262626;
    --footer-font-color: #FFFFFF;
    --footer-font-color-rgb: 255,255,255
}

body.light-mode {
    --main-bg-color: #FFFFFF;
    --main-bg-color-rgb: 255,255,255;
    --footer-bg-color: #E8E8E8;
    --footer-font-color: #000000;
    --footer-font-color-rgb: 0,0,0
}

:root {
    --stdSpeed: 200
}

body {
    animation: fadein 1s;
    -webkit-animation: fadein 1s
}

body.fixed {
    overflow: hidden
}

.wrapper-width,#main_wrapper {
    max-width: 1500px;
    margin: auto
}

.content-width {
    max-width: 980px;
    margin: auto
}

@media screen and (max-width: 1024px) {
    .content-width {
        padding-left:20px;
        padding-right: 20px
    }

    .content-width .content-width:not(.related-events) {
        padding: 0
    }
}

div,main,aside {
    box-sizing: border-box
}

.flex-area {
    display: flex
}

#main_wrapper {
    min-height: 70vh;
    margin-top: 28px
}

@media screen and (min-width: 1025px) {
    #main_wrapper {
        margin-top:clamp(72px,6.67vw,100px)
    }
}

@media screen and (min-width: 750px) {
    .column-wrap {
        display:-moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -ms-flex-direction: row;
        -webkit-flex-direction: row;
        flex-direction: row;
        -ms-flex-wrap: nowrap;
        -webkit-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-align-items: stretch;
        align-items: stretch;
        -webkit-justify-content: flex-start;
        justify-content: flex-start;
        gap: 10px
    }

    .column-wrap .main-col {
        width: 66.32%;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -ms-flex-direction: row;
        -webkit-flex-direction: row;
        flex-direction: row;
        -ms-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-align-items: stretch;
        align-items: stretch;
        -webkit-justify-content: flex-start;
        justify-content: flex-start;
        gap: 10px
    }
}

@media screen and (min-width: 750px) and (min-width: 750px) and (max-width: 1024px) {
    .column-wrap .main-col {
        width:60%
    }
}

@media screen and (min-width: 750px) {
    .column-wrap .main-col .main-content {
        display:-moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -ms-flex-direction: row;
        -webkit-flex-direction: row;
        flex-direction: row;
        -ms-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-align-items: stretch;
        align-items: stretch;
        -webkit-justify-content: flex-start;
        justify-content: flex-start;
        gap: 10px
    }

    .column-wrap .sidebar-col {
        width: 32.65%
    }
}

@media screen and (min-width: 750px) and (min-width: 750px) and (max-width: 1024px) {
    .column-wrap .sidebar-col {
        width:40%
    }
}

@media screen and (max-width: 749px) {
    .column-wrap .main-col>.box {
        margin-bottom:14px
    }
}

.column-wrap .sidebar-col>section:not(:last-child) {
    border-bottom: 1px solid rgba(255,255,255,.6)
}

.box {
    position: relative;
    width: 100%
}

.box.box-left {
    border-radius: 15px 15px 0
}

.box.box-left:not(.half-box) {
    flex-basis: 100%
}

.box.box-right {
    border-radius: 15px 15px 15px 0;
    padding: clamp(10px,1.33vw,20px);
    padding-right: clamp(15px,2vw,30px)
}

.box.box-right .box-text {
    padding-left: 0;
    padding-right: 0
}

.box.box-right .box-text:first-child {
    padding-top: 0
}

.box.half-box {
    flex-basis: calc(50% - 5px)
}

.box .box-text {
    padding: clamp(12px,1.33vw,20px)
}

@media screen and (max-width: 749px) {
    .box .box-text {
        padding:20px 10px
    }
}

.box .image:not(.image-inline) {
    border-radius: 15px;
    overflow: hidden
}

.box .image:not(.image-inline) img {
    width: 100%
}

@media screen and (max-width: 749px) {
    .box .image {
        width:100%
    }
}

.box .image img {
    display: block;
    height: auto;
    max-width: 100%
}

.box .image.image-bottom,.box .image.image-right {
    border-radius: 15px 15px 0
}

@media screen and (max-width: 1024px) {
    .box .image.image-right {
        border-radius:15px
    }
}

.box .image.image-inline {
    padding: 0vw 1.33vw 1.33vw
}

.box-bg {
    position: relative;
    background-clip: padding-box;
    border: solid 3px transparent
}

.box-bg:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: inherit;
    background: linear-gradient(var(--background-gradient));
    z-index: -1
}

.box-bg:not(.popup-box):after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: inherit;
    padding: 3px;
    background: linear-gradient(var(--border-gradient));
    -webkit-mask: linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    z-index: -1
}

.box-bg.popup-box {
    border: 3px solid #FFFFFF;
    background-color: rgba(var(--cta-color-rgba));
    border-radius: 15px 15px 0
}

.box-bg.popup-box .box-text {
    padding: clamp(30px,5.33vw,80px) clamp(40px,7vw,105px) clamp(14px,2.13vw,32px) clamp(12px,1.33vw,20px)
}

.box-bg.box-text {
    padding: clamp(12px,1.33vw,20px)
}

.spaceBefore.space-1,.spaceAfter.space-1 {
    height: 2.8vw!important
}

@media screen and (min-width: 1501px) {
    .spaceBefore.space-1,.spaceAfter.space-1 {
        height:42px!important
    }
}

.spaceBefore.space-2,.spaceAfter.space-2 {
    height: 5.6vw!important
}

@media screen and (min-width: 1501px) {
    .spaceBefore.space-2,.spaceAfter.space-2 {
        height:84px!important
    }
}

.spaceBefore.space-3,.spaceAfter.space-3 {
    height: 8.4vw!important
}

@media screen and (min-width: 1501px) {
    .spaceBefore.space-3,.spaceAfter.space-3 {
        height:126px!important
    }
}

@keyframes fadein {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-webkit-keyframes fadein {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

button {
    background-color: transparent;
    border: none;
    cursor: pointer
}

.button,.as-button {
    cursor: pointer
}

hr {
    border-width: 1px 0 0 0;
    border-color: #fff9;
    margin-top: clamp(15px,2vw,30px);
    margin-bottom: clamp(12px,1.67vw,25px)
}

svg {
    overflow: visible
}

body.home-page header {
    position: absolute;
    top: 0;
    width: 100%;
    height: clamp(80px,6.67vw,6.67vw);
    z-index: 10
}

@media screen and (max-width: 1024px) {
    body.home-page header {
        position:fixed
    }
}

#home_wrapper .edit-mode {
    margin-top: 6.67vw
}

#home_wrapper .site-logo {
    width: clamp(110px,14.53vw,218px);
    height: clamp(110px,14.53vw,218px)
}

#home_teaser_header {
    position: relative
}

#home_teaser_header .teaser-wrapper {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start
}

#home_teaser_header .teaser-wrapper>div,#home_teaser_header .teaser-wrapper>section {
    flex-basis: 50%;
    aspect-ratio: 750/465;
    overflow: hidden
}

@media screen and (max-width: 749px) {
    #home_teaser_header .teaser-wrapper>div,#home_teaser_header .teaser-wrapper>section {
        flex-basis:100%;
        height: 25vh
    }
}

#home_teaser_header .teaser-wrapper>div a,#home_teaser_header .teaser-wrapper>div .teaser-image,#home_teaser_header .teaser-wrapper>section a,#home_teaser_header .teaser-wrapper>section .teaser-image {
    position: relative;
    display: block;
    height: 100%
}

#home_teaser_header .teaser-wrapper>div .carousel-teaser,#home_teaser_header .teaser-wrapper>div .splide__track,#home_teaser_header .teaser-wrapper>section .carousel-teaser,#home_teaser_header .teaser-wrapper>section .splide__track {
    height: 100%
}

#home_teaser_header .teaser-wrapper>div .teaser-image,#home_teaser_header .teaser-wrapper>section .teaser-image {
    background-size: cover;
    background-position: center;
    transition: all .2s
}

#home_teaser_header .teaser-wrapper>div .teaser-image:after,#home_teaser_header .teaser-wrapper>section .teaser-image:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: inherit;
    background-size: cover;
    transform-origin: center;
    background-color: var(--main-bg-color);
    transition: transform .4s ease-in-out
}

#home_teaser_header .teaser-wrapper>div .teaser-image:hover:after,#home_teaser_header .teaser-wrapper>section .teaser-image:hover:after {
    transform: scale(1.05)
}

#home_teaser_header .teaser-wrapper .edit-comp-wrap .edit-comp-inner,#home_teaser_header .teaser-wrapper .edit-comp-wrap .home-teaser {
    position: relative;
    display: block;
    height: 100%
}

#home_teaser_header .teaser-wrapper .teaser-text {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
    z-index: 1
}

#home_teaser_header .teaser-wrapper .teaser-text p {
    margin-bottom: 0;
    text-transform: uppercase;
    font-family: var(--h1-font-family),Arial,Helvetica,sans-serif
}

@media screen and (max-width: 749px) {
    #home_teaser_header .teaser-wrapper .teaser-text p {
        line-height:20px
    }
}

#home_teaser_header .teaser-wrapper .teaser-text p.title {
    font-size: clamp(1.125rem,.875665779rem + .5326231691vw,1.375rem);
    font-weight: 700
}

#home_teaser_header .teaser-wrapper .teaser-text p.subtitle {
    font-size: clamp(.8125rem,.6254993342rem + .3994673768vw,1rem)
}

#home_teaser_header .site-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%)
}

@media screen and (max-width: 1024px) {
    #home_teaser_header .site-logo {
        width:117px;
        height: 117px
    }
}

#home_text {
    position: relative
}

#home_text .home-text-wrap {
    margin-top: 28px
}

@media screen and (min-width: 1025px) {
    #home_text .home-text-wrap {
        padding-left:clamp(0px,23.33vw,350px);
        margin-top: clamp(50px,5.53vw,83px);
        margin-bottom: clamp(80px,7.47vw,112px)
    }
}

@media screen and (min-width: 1025px) {
    #home_text .site-logo {
        position:absolute;
        top: 0;
        left: clamp(50px,5vw,75px);
        width: clamp(80px,11.67vw,175px);
        height: clamp(80px,11.67vw,175px)
    }
}

#scroll_home_content {
    position: absolute;
    bottom: clamp(10px,1.4vw,21px);
    left: 50%;
    transform: translate(-50%);
    width: clamp(20px,2vw,30px)
}

#scroll_home_content svg {
    display: block
}

.event-detail #event_content .box-text {
    padding: clamp(10px,1.33vw,20px)
}

.event-detail .event-dates.collapsible-entry {
    border-bottom: none
}

.event-detail .event-dates.collapsible-entry .colbtn {
    height: 30px
}

.event-detail .event-dates-wrapper table {
    table-layout: auto;
    margin-bottom: clamp(15px,1vw,15px)
}

.event-detail .event-dates-wrapper table,.event-detail .event-dates-wrapper table tr {
    border: none
}

.event-detail .event-dates-wrapper table th,.event-detail .event-dates-wrapper table td {
    padding: 0 6px 0 0
}

.event-detail #event_description {
    padding-right: clamp(15px,2vw,30px)
}

.event-detail #event_tickets {
    margin-bottom: clamp(10px,1.33vw,20px);
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    gap: clamp(6px,.8vw,12px)
}

@media screen and (min-width: 750px) {
    .event-detail #event_tickets {
        text-align:right
    }
}

.event-detail #event_open_eyes_img {
    text-align: center;
    margin: clamp(12px,1.53vw,23px) auto
}

.event-detail #event_open_eyes_img img {
    display: inline-block;
    max-width: 100%
}

.event-detail #event_sidebar>div:not(:last-child) {
    padding-bottom: clamp(12px,1.6vw,24px);
    margin-bottom: clamp(12px,1.6vw,24px);
    border-bottom: 1px solid rgba(255,255,255,.6)
}

.event-detail #event_sidebar #event_poster {
    text-align: right
}

.event-detail #event_sidebar #event_poster #event_detail_link {
    margin-bottom: clamp(12px,2vw,30px)
}

.event-detail #event_sidebar #event_poster img {
    width: 50%
}

.entity.event .event-text h3,.entity.event .event-text #ems-wf-dest .ems-wf-title,#ems-wf-dest .entity.event .event-text .ems-wf-title {
    margin-bottom: clamp(2px,.4vw,6px);
    font-size: var(--event-list-h3-font-size);
    line-height: var(--event-list-h3-line-height)
}

.entity.event .event-text p {
    font-family: var(--h1-font-family),Arial,Helvetica,sans-serif;
    font-size: var(--event-list-p-font-size);
    line-height: var(--event-list-p-line-height);
    margin-bottom: 0;
    text-transform: uppercase
}

#page_titles {
    margin-bottom: clamp(76px,5.67vw,85px);
    margin-top: clamp(95px,7.33vw,110px)
}

#page_titles:before {
    content: "";
    position: absolute;
    width: 100%;
    height: clamp(100px,26.67vw,400px);
    left: 0;
    transform: translateY(-35%);
    background: linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(255,255,255,0) .01%,rgba(0,0,0,.1) 36.46%,rgba(0,0,0,.1) 66.67%,rgba(0,0,0,0) 100%);
    background-blend-mode: multiply;
    z-index: -1
}

@media screen and (max-width: 1024px) {
    #page_titles {
        min-height:clamp(100px,13.33vw,200px)
    }
}

@media screen and (max-width: 1024px) {
    body:not(.home-page) {
        padding-top:clamp(180px,18.67vw,280px)
    }
}

header {
    background: linear-gradient(180deg,rgba(0,0,0,.6) 10.93%,rgba(0,0,0,0) 100%);
    height: clamp(120px,10vw,150px);
    position: relative
}

@media screen and (max-width: 1024px) {
    header {
        height:100px;
        width: 100%;
        position: fixed;
        z-index: 100;
        top: 0
    }
}

header #meta_nav_wrap {
    position: relative
}

@media screen and (min-width: 1025px) {
    header #meta_nav_wrap {
        display:-moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -ms-flex-direction: row;
        -webkit-flex-direction: row;
        flex-direction: row;
        -ms-flex-wrap: nowrap;
        -webkit-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-align-items: flex-start;
        align-items: flex-start;
        -webkit-justify-content: flex-end;
        justify-content: flex-end;
        gap: clamp(8px,1.07vw,16px);
        margin-right: clamp(-16px,-1.07vw,-2px)
    }
}

@media screen and (max-width: 1024px) {
    header #meta_nav_wrap {
        margin:0;
        width: 100%
    }

    header #meta_nav_wrap #meta-navigation+#mobile_contact_text {
        margin-top: 55px
    }
}

header #meta_nav_wrap #mobile_contact_text {
    padding-top: 20px;
    border-top: 1px solid #FFFFFF
}

header #meta_nav_wrap #mobile_contact_text a+br {
    display: none
}

header #meta_nav_wrap nav {
    margin-bottom: 16px
}

header #meta_nav_wrap li {
    font-family: var(--h1-font-family),Arial,Helvetica,sans-serif;
    font-size: clamp(.75rem,.6253328895rem + .2663115846vw,.875rem);
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: uppercase;
    text-decoration: none
}

header #meta_nav_wrap #meta-navigation>ul {
    gap: clamp(12px,1.6vw,24px)
}

@media screen and (max-width: 1024px) {
    header #meta_nav_wrap #meta-navigation>ul {
        display:-moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -ms-flex-direction: column;
        -webkit-flex-direction: column;
        flex-direction: column;
        -ms-flex-wrap: nowrap;
        -webkit-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: flex-start;
        justify-content: flex-start;
        padding-top: 10px
    }
}

@media screen and (min-width: 1025px) {
    header #meta_nav_wrap #meta-navigation>ul {
        display:-moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -ms-flex-direction: row;
        -webkit-flex-direction: row;
        flex-direction: row;
        -ms-flex-wrap: nowrap;
        -webkit-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: flex-start;
        justify-content: flex-start
    }
}

header #lang_nav {
    width: 50px
}

header #lang_nav p.current-l,header #lang_nav li {
    font-family: var(--h1-font-family),Arial,Helvetica,sans-serif;
    font-size: clamp(.875rem,.7503328895rem + .2663115846vw,1rem);
    font-style: normal;
    line-height: 2.5;
    text-transform: uppercase;
    text-decoration: none;
    margin-bottom: 0;
    padding-left: clamp(6px,.53vw,8px)
}

@media screen and (max-width: 1024px) {
    header #lang_nav {
        display:-moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -ms-flex-direction: row;
        -webkit-flex-direction: row;
        flex-direction: row;
        -ms-flex-wrap: nowrap;
        -webkit-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: center;
        justify-content: center;
        width: 100%;
        gap: 20px
    }

    header #lang_nav>ul {
        flex-direction: row!important
    }

    header #lang_nav p.current-l,header #lang_nav li {
        padding-left: 0!important
    }
}

@media screen and (min-width: 1025px) {
    header #lang_nav {
        position:relative;
        transition: all .4s ease-in-out
    }

    header #lang_nav:hover,header #lang_nav:hover>ul {
        background: rgba(0,0,0,.7)
    }

    header #lang_nav ul {
        transition: all .4s ease-in-out;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        z-index: 100;
        flex-direction: column!important;
        gap: 0!important
    }

    header #lang_nav ul li {
        transition: all .4s ease-in-out;
        max-height: 40px;
        overflow: hidden;
        cursor: default
    }

    header #lang_nav:not(:hover) li:not(.current-l) {
        max-height: 0
    }
}

header #header_nav_wrap #header_nav_content {
    display: contents
}

header #header_nav_wrap nav>ul {
    gap: clamp(20px,3.33vw,50px)
}

@media screen and (max-width: 1024px) {
    header #header_nav_wrap nav>ul {
        display:-moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -ms-flex-direction: column;
        -webkit-flex-direction: column;
        flex-direction: column;
        -ms-flex-wrap: nowrap;
        -webkit-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: flex-start;
        justify-content: flex-start
    }
}

@media screen and (min-width: 1025px) {
    header #header_nav_wrap nav>ul {
        display:-moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -ms-flex-direction: row;
        -webkit-flex-direction: row;
        flex-direction: row;
        -ms-flex-wrap: nowrap;
        -webkit-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-align-items: flex-start;
        align-items: flex-start;
        -webkit-justify-content: flex-start;
        justify-content: flex-start
    }
}

header #header_nav_wrap nav li a {
    font-family: var(--h1-font-family),Arial,Helvetica,sans-serif;
    font-size: clamp(.875rem,.7503328895rem + .2663115846vw,1rem);
    font-style: normal;
    line-height: 2.5;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap
}

header #header_nav_wrap nav li a .icon {
    white-space: nowrap
}

header #header_nav_wrap nav li a .icon svg {
    width: 14px
}

header #header_nav_wrap nav li>a {
    color: var(--font-color);
    opacity: .7;
    transition: all .2s ease-in-out;
    text-underline-offset: 6px;
    text-decoration-color: rgba(var(--font-color-rgb),.5)
}

header #header_nav_wrap nav li.active>a,header #header_nav_wrap nav li:hover>a {
    opacity: 1;
    text-decoration: underline
}

header #header_nav_wrap nav li.has-subs {
    position: relative
}

@media screen and (max-width: 1024px) {
    header #header_nav_wrap nav li.has-subs>ul.nav {
        position:relative;
        max-height: 0;
        overflow: hidden;
        transition: max-height .2s cubic-bezier(.17,.67,.58,.72)
    }
}

@media screen and (min-width: 1025px) {
    header #header_nav_wrap nav li.has-subs>ul.nav {
        position:absolute;
        background: rgba(0,0,0,.7);
        padding: 1vw 2.4vw .87vw .67vw;
        visibility: hidden;
        z-index: -1
    }
}

header #header_nav_wrap nav li.has-subs:hover>ul.nav {
    visibility: visible;
    top: calc(100% - 1px);
    z-index: 1
}

@media screen and (max-width: 1024px) {
    header #header_nav_wrap nav li.has-subs {
        text-align:center
    }

    header #header_nav_wrap nav li.has-subs>ul.nav>li:first-child {
        padding-top: 10px
    }

    header #header_nav_wrap nav li.has-subs.open>a,header #header_nav_wrap nav li.has-subs.active>a {
        opacity: 1
    }

    header #header_nav_wrap nav li.has-subs.open .arrow-down-icon,header #header_nav_wrap nav li.has-subs.active .arrow-down-icon {
        transform: rotate(180deg)
    }

    header #header_nav_wrap nav li.has-subs.open>ul.nav,header #header_nav_wrap nav li.has-subs.active>ul.nav {
        max-height: 1000px
    }
}

@media screen and (min-width: 1025px) {
    header #header_nav_wrap nav li.has-subs .m-nav-icon {
        display:none
    }
}

@media screen and (max-width: 1024px) {
    header #header_nav_wrap nav li.has-subs {
        position:relative
    }

    header #header_nav_wrap nav li.has-subs>a .icon {
        display: none
    }

    header #header_nav_wrap nav li.has-subs .m-nav-icon {
        display: inline-block;
        width: 20px
    }

    header #header_nav_wrap nav li.has-subs .m-nav-icon svg path {
        pointer-events: none
    }
}

header #header_nav_wrap nav>.sub>li>a {
    font-size: clamp(1.25rem,1.25rem + 0vw,1.25rem);
    font-weight: 700;
    line-height: 1.1
}

#header_image_wrap {
    position: absolute;
    width: 100%;
    top: 0;
    left: 50%;
    transform: translate(-50%);
    z-index: -1
}

#header_image_wrap .sizer {
    aspect-ratio: 1500/1000;
    width: 100%;
    background-position: center;
    background-size: cover;
    overflow: hidden;
    position: relative
}

@media screen and (max-width: 1024px) {
    #header_image_wrap .sizer {
        aspect-ratio:390/600
    }
}

#header_image_wrap .sizer video {
    position: absolute;
    min-width: 100%;
    min-height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%)
}

#header_image_wrap:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 380px;
    background: linear-gradient(180deg,rgba(var(--main-bg-color-rgb),0) 0%,var(--main-bg-color) 100%)
}

#header_logo_wrap>.content-width {
    position: relative
}

@media screen and (min-width: 1025px) {
    #header_logo_wrap .main-site-logo {
        position:absolute;
        top: clamp(-20px,-1.33vw,-2px);
        right: 0
    }

    #header_logo_wrap .main-site-logo img {
        width: clamp(44px,6vw,90px);
        height: clamp(44px,6vw,90px)
    }

    #header_logo_wrap .main-site-title {
        display: none
    }
}

.site-logo {
    width: clamp(75px,9.33vw,140px);
    height: clamp(75px,9.33vw,140px);
    border-radius: 50%;
    overflow: hidden;
    display: inline-block;
    position: relative
}

@media screen and (min-width: 1025px) {
    .site-logo {
        left:clamp(10px,4.33vw,65px)
    }
}

.site-logo img {
    position: absolute;
    width: 100%;
    top: 0;
    object-fit: cover
}

@media screen and (min-width: 1025px) {
    #nav_burger,#mobile_contact_text {
        display:none
    }
}

@media screen and (max-width: 1024px) {
    body.nav-open {
        overflow:hidden
    }

    body.nav-open #burger_line line:nth-child(1),body.nav-open #burger_line line:nth-child(4) {
        opacity: 0
    }

    body.nav-open #burger_line line:nth-child(2) {
        transform: rotate(45deg)
    }

    body.nav-open #burger_line line:nth-child(3) {
        transform: rotate(-45deg)
    }

    body #header_nav_wrap {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background-color: #000000d9;
        z-index: 1000;
        overflow-y: scroll;
        overflow-x: hidden;
        padding-top: 84px
    }

    body #header_nav_wrap #header_nav_content {
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -ms-flex-direction: column-reverse;
        -webkit-flex-direction: column-reverse;
        flex-direction: column-reverse;
        -ms-flex-wrap: nowrap;
        -webkit-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: flex-end;
        justify-content: flex-end;
        gap: 12px
    }

    body #main-nav,body #meta-navigation {
        position: relative;
        padding-bottom: 24px
    }

    body #main-nav:after,body #meta-navigation:after {
        content: "";
        height: 1px;
        width: 150px;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translate(-50%);
        background: var(--font-color)
    }

    body:not(.nav-open) #header_nav_wrap {
        display: none
    }

    #nav_burger {
        padding: 30px 20px;
        z-index: 1001;
        position: relative;
        display: inline-block
    }

    #burger_icon {
        width: 30px
    }

    #burger_line line {
        transform-origin: center;
        transition: transform .3s ease-in-out,opacity .2s ease-in-out;
        opacity: 1
    }

    #header_logo_wrap {
        position: absolute;
        right: 15px;
        top: 15px;
        z-index: 10000;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -ms-flex-direction: row;
        -webkit-flex-direction: row;
        flex-direction: row;
        -ms-flex-wrap: nowrap;
        -webkit-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: center;
        justify-content: center
    }
}

@media screen and (max-width: 1024px) and (max-width: 1024px) {
    #header_logo_wrap {
        position:fixed
    }
}

@media screen and (max-width: 1024px) {
    #header_logo_wrap .main-site-logo img {
        display:none
    }

    #header_logo_wrap .main-site-title {
        font-family: var(--h3-font-family),Arial,Helvetica,sans-serif;
        font-size: 12px;
        font-style: normal;
        font-weight: 400;
        line-height: 10px;
        font-variant: all-small-caps;
        text-align: right;
        margin-bottom: 0
    }
}

.ph {
    opacity: 0
}

footer {
    background-color: var(--footer-bg-color);
    margin-top: 3.53vw
}

footer>.wrapper-width,footer>#main_wrapper {
    padding: clamp(10px,1.47vw,22px) clamp(30px,4.67vw,70px)
}

footer .footer-copyright {
    text-align: center
}

@media screen and (max-width: 1024px) {
    footer .footer-copyright {
        margin-top:50px
    }
}

footer,footer p,footer a,footer li,footer td,footer th,footer label,footer h2,footer h3,footer #ems-wf-dest .ems-wf-title,#ems-wf-dest footer .ems-wf-title,footer h4,footer h5 {
    color: var(--footer-font-color)
}

footer .footer-column p,footer .footer-column a,footer .footer-column li,footer .footer-column td,footer .footer-column th {
    margin-bottom: clamp(4px,.67vw,10px)
}

footer .footer-column a {
    text-decoration: none
}

footer .footer-column a:not(:hover) {
    color: rgba(var(--footer-font-color-rgb),.65)
}

footer .footer-column:first-child {
    flex-basis: clamp(200px,20vw,300px)
}

@media screen and (min-width: 750px) and (max-width: 1024px) {
    footer .footer-column {
        flex-basis:calc(48% - 20px)
    }

    footer .footer-column:first-child {
        flex-basis: calc(66% - 20px)
    }
}

footer .footer-column h3,footer .footer-column #ems-wf-dest .ems-wf-title,#ems-wf-dest footer .footer-column .ems-wf-title {
    margin-bottom: clamp(6px,.93vw,14px)
}

@media screen and (max-width: 1024px) {
    footer .footer-column {
        margin-bottom:clamp(22px,1.6vw,24px)
    }

    footer .footer-column p {
        line-height: 30px;
        margin-bottom: 0
    }
}

footer .main-site-logo {
    width: clamp(82px,6.13vw,92px);
    display: block
}

@media screen and (max-width: 749px) {
    footer .main-site-logo {
        margin-bottom:12px
    }
}

footer .main-site-logo img {
    width: 100%;
    height: auto
}

footer .main-site-title {
    display: none
}

#footer_wrap {
    margin-bottom: 3.8vw
}

@media screen and (min-width: 750px) {
    #footer_wrap {
        display:-moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -ms-flex-direction: row;
        -webkit-flex-direction: row;
        flex-direction: row;
        -ms-flex-wrap: nowrap;
        -webkit-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-align-items: flex-start;
        align-items: flex-start;
        -webkit-justify-content: flex-start;
        justify-content: flex-start;
        gap: clamp(20px,6.67vw,100px)
    }
}

@media screen and (min-width: 750px) and (max-width: 1024px) {
    #footer_wrap {
        flex-wrap:wrap
    }
}

#footer_newsletter_signup #ems-wf-dest {
    width: clamp(200px,20vw,300px)
}

#footer_newsletter_signup #ems-wf-dest .ems-wf-label {
    display: block;
    padding-bottom: 5px
}

#footer_newsletter_signup #ems-wf-dest .ems-wf-inputElement.ems-wf-twoColumn {
    float: none!important;
    width: 100%!important
}

@media screen and (max-width: 1024px) {
    #footer_newsletter_signup #ems-wf-dest {
        width:100%;
        margin-bottom: 42px
    }
}

#footer_newsletter_signup #ems-wf-dest input[type=text],#footer_newsletter_signup #ems-wf-dest input[type=password],#footer_newsletter_signup #ems-wf-dest textarea,#footer_newsletter_signup #ems-wf-dest select,#footer_newsletter_signup #ems-wf-dest button {
    width: 100%;
    height: clamp(30px,2.67vw,40px);
    background-color: #d9d9d9;
    border: none;
    outline: none
}

#footer_newsletter_signup #ems-wf-dest .ems-wf-checkboxGroup {
    width: clamp(200px,20vw,300px)
}

#footer_newsletter_signup #ems-wf-dest .ems-wf-inputElement {
    min-height: 66px;
    padding: 0
}

#footer_newsletter_signup .ems-wf-dialog {
    max-width: 300px
}

#footer_newsletter_signup #caymlandform_input_newsletteranmeldungfooter_email_adresse,#footer_newsletter_signup #caymlandform_input_newsletteranmeldungfooter_submit_mini,#footer_newsletter_signup input[type=email] {
    width: 100%;
    height: clamp(30px,2.67vw,40px);
    background-color: #d9d9d9;
    border: none;
    border-radius: 0;
    outline: none;
    padding: .5em;
    box-sizing: border-box
}

#ems-wf-dest {
    color: inherit
}

#ems-wf-dest .ems-wf-buttons {
    margin-bottom: clamp(5px,.67vw,10px)
}

#scroll_top {
    text-align: center;
    padding-top: 10px;
    padding-bottom: 20px;
    cursor: pointer
}

@media screen and (min-width: 1025px) {
    #scroll_top {
        display:none
    }
}

#scroll_top .icon {
    display: block
}

#scroll_top .icon svg {
    width: 16px;
    transform: rotate(180deg)
}

#popup {
    display: none
}

#popup h3,#popup #ems-wf-dest .ems-wf-title,#ems-wf-dest #popup .ems-wf-title {
    font-family: var(--h1-font-family),Arial,Helvetica,sans-serif;
    font-size: var(--h1-font-size);
    line-height: var(--h1-line-height);
    font-weight: var(--font-weight-bold);
    font-style: normal;
    text-transform: uppercase
}

#popup h3.sl,#popup #ems-wf-dest .sl.ems-wf-title,#ems-wf-dest #popup .sl.ems-wf-title {
    font-family: var(--h1-font-family),Arial,Helvetica,sans-serif;
    font-size: var(--h1-font-size);
    line-height: var(--h1-line-height);
    font-weight: var(--font-weight-bold);
    font-style: normal;
    text-transform: uppercase;
    font-weight: var(--font-weight-light);
    margin-bottom: var(--h3-font-size)
}

.overlay #popup {
    display: block
}

.splide__container {
    box-sizing: border-box;
    position: relative
}

.splide__list {
    backface-visibility: hidden;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    margin: 0!important;
    padding: 0!important
}

.splide.is-initialized:not(.is-active) .splide__list {
    display: block
}

.splide__pagination {
    -ms-flex-align: center;
    align-items: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0;
    pointer-events: none
}

.splide__pagination li {
    display: inline-block;
    line-height: 1;
    list-style-type: none;
    margin: 0;
    pointer-events: auto
}

.splide:not(.is-overflow) .splide__pagination {
    display: none
}

.splide__progress__bar {
    width: 0
}

.splide {
    position: relative;
    visibility: hidden
}

.splide.is-initialized,.splide.is-rendered {
    visibility: visible
}

.splide__slide {
    backface-visibility: hidden;
    box-sizing: border-box;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    list-style-type: none!important;
    margin: 0;
    position: relative
}

.splide__slide img {
    vertical-align: bottom
}

.splide__spinner {
    animation: splide-loading 1s linear infinite;
    border: 2px solid #999;
    border-left-color: transparent;
    border-radius: 50%;
    bottom: 0;
    contain: strict;
    display: inline-block;
    height: 20px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 20px
}

.splide__sr {
    clip: rect(0 0 0 0);
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px
}

.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause {
    display: none
}

.splide__toggle.is-active .splide__toggle__pause {
    display: inline
}

.splide__track {
    overflow: hidden;
    position: relative;
    z-index: 0
}

@keyframes splide-loading {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(1turn)
    }
}

.splide__track--draggable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.splide__track--fade>.splide__list>.splide__slide {
    margin: 0!important;
    opacity: 0;
    z-index: 0
}

.splide__track--fade>.splide__list>.splide__slide.is-active {
    opacity: 1;
    z-index: 1
}

.splide--rtl {
    direction: rtl
}

.splide__track--ttb>.splide__list {
    display: block
}

.splide__arrow {
    -ms-flex-align: center;
    align-items: center;
    background: #ccc;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    display: -ms-flexbox;
    display: flex;
    height: 2em;
    -ms-flex-pack: center;
    justify-content: center;
    opacity: .7;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2em;
    z-index: 1
}

.splide__arrow svg {
    fill: #000;
    height: 1.2em;
    width: 1.2em
}

.splide__arrow:hover:not(:disabled) {
    opacity: .9
}

.splide__arrow:disabled {
    opacity: .3
}

.splide__arrow:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__arrow--prev {
    left: 1em
}

.splide__arrow--prev svg {
    transform: scaleX(-1)
}

.splide__arrow--next {
    right: 1em
}

.splide.is-focus-in .splide__arrow:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__pagination {
    bottom: .5em;
    left: 0;
    padding: 0 1em;
    position: absolute;
    right: 0;
    z-index: 1
}

.splide__pagination__page {
    background: #ccc;
    border: 0;
    border-radius: 50%;
    display: inline-block;
    height: 8px;
    margin: 3px;
    opacity: .7;
    padding: 0;
    position: relative;
    transition: transform .2s linear;
    width: 8px
}

.splide__pagination__page.is-active {
    background: #fff;
    transform: scale(1.4);
    z-index: 1
}

.splide__pagination__page:hover {
    cursor: pointer;
    opacity: .9
}

.splide__pagination__page:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide.is-focus-in .splide__pagination__page:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__progress__bar {
    background: #ccc;
    height: 3px
}

.splide__slide {
    -webkit-tap-highlight-color: rgba(0,0,0,0)
}

.splide__slide:focus {
    outline: 0
}

@supports (outline-offset: -3px) {
    .splide__slide:focus-visible {
        outline:3px solid #0bf;
        outline-offset: -3px
    }
}

@media screen and (-ms-high-contrast: none) {
    .splide__slide:focus-visible {
        border: 3px solid #0bf
    }
}

@supports (outline-offset: -3px) {
    .splide.is-focus-in .splide__slide:focus {
        outline:3px solid #0bf;
        outline-offset: -3px
    }
}

@media screen and (-ms-high-contrast: none) {
    .splide.is-focus-in .splide__slide:focus {
        border: 3px solid #0bf
    }

    .splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus {
        border-color: #0bf
    }
}

.splide__toggle {
    cursor: pointer
}

.splide__toggle:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide.is-focus-in .splide__toggle:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__track--nav>.splide__list>.splide__slide {
    border: 3px solid transparent;
    cursor: pointer
}

.splide__track--nav>.splide__list>.splide__slide.is-active {
    border: 3px solid #000
}

.splide__arrows--rtl .splide__arrow--prev {
    left: auto;
    right: 1em
}

.splide__arrows--rtl .splide__arrow--prev svg {
    transform: scaleX(1)
}

.splide__arrows--rtl .splide__arrow--next {
    left: 1em;
    right: auto
}

.splide__arrows--rtl .splide__arrow--next svg {
    transform: scaleX(-1)
}

.splide__arrows--ttb .splide__arrow {
    left: 50%;
    transform: translate(-50%)
}

.splide__arrows--ttb .splide__arrow--prev {
    top: 1em
}

.splide__arrows--ttb .splide__arrow--prev svg {
    transform: rotate(-90deg)
}

.splide__arrows--ttb .splide__arrow--next {
    bottom: 1em;
    top: auto
}

.splide__arrows--ttb .splide__arrow--next svg {
    transform: rotate(90deg)
}

.splide__pagination--ttb {
    bottom: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    left: auto;
    padding: 1em 0;
    right: .5em;
    top: 0
}

.filters-wrapper {
    display: grid;
    grid-gap: 10px;
    grid-template-columns: repeat(auto-fill,minmax(220px,1fr));
    margin-bottom: 20px
}

.filters-wrapper .filter {
    position: relative
}

.filters-wrapper button {
    width: 100%;
    color: #fff;
    padding: 10px;
    text-transform: uppercase;
    background-color: rgba(var(--cta-color-rgb),.85);
    text-align: left
}

.filters-wrapper button .icon {
    position: relative;
    display: inline-block;
    width: 15px;
    transition: transform .2s cubic-bezier(.17,.67,.58,.72)
}

.filters-wrapper button .icon svg {
    max-width: 100%
}

.filters-wrapper button.open .icon {
    transform: rotateX(-180deg)
}

.filters-wrapper .options-wrapper {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 0;
    max-height: 0;
    transition: height .2s cubic-bezier(.17,.67,.58,.72),max-height .2s cubic-bezier(.17,.67,.58,.72);
    z-index: 10;
    overflow: hidden
}

.filters-wrapper ul {
    position: absolute;
    z-index: 10;
    width: 100%;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: stretch;
    align-items: stretch;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    background-color: rgba(var(--cta-color-rgb),.85)
}

.filters-wrapper ul li label {
    display: block;
    padding: 10px
}

.filters-wrapper input {
    display: none
}

.filters-wrapper label {
    text-transform: uppercase;
    cursor: pointer
}

.event-list {
    transition: opacity .3s
}

.event-list .page .event {
    border-left: 1px solid var(--footer-font-color)
}

.event-list .page .event:hover img {
    transform: scale(1.05)
}

.event-list .page .event a {
    text-decoration: none;
    color: var(--footer-font-color)
}

.event-list .page .event .event-image {
    overflow: hidden
}

.event-list .page .event img {
    position: relative;
    width: 100%;
    transition: transform .2s cubic-bezier(.17,.67,.58,.72)
}

.event-list .page .event .event-text {
    padding: .67vw .67vw 0
}

.event-list.loading {
    opacity: 0
}

:root {
    counter-reset: masonry
}

.masonry {
    display: grid;
    grid-gap: 10px;
    grid-template-columns: repeat(auto-fill,minmax(220px,1fr));
    grid-auto-rows: 0
}

.person-list {
    margin-top: 10px;
    display: grid;
    gap: 10px
}

@media screen and (min-width: 1025px) {
    .person-list {
        grid-template-columns:calc(50% - 5px) calc(50% - 5px)
    }
}

@media screen and (max-width: 749px) {
    .person-list {
        grid-template-columns:1fr
    }
}

.person-list .person-entry.box-bg:before,.person-list .person-entry.box-bg:after {
    top: 10px
}

.related-events {
    margin-top: clamp(50px,10vw,150px);
    background-color: var(--footer-bg-color);
    padding: 20px 10px
}

.related-events .entity a {
    text-decoration: none
}

.related-events,.related-events p,.related-events a,.related-events li,.related-events td,.related-events th,.related-events label,.related-events h2,.related-events h3,.related-events #ems-wf-dest .ems-wf-title,#ems-wf-dest .related-events .ems-wf-title,.related-events h4,.related-events h5 {
    color: var(--footer-font-color)
}

.related-events h3,.related-events #ems-wf-dest .ems-wf-title,#ems-wf-dest .related-events .ems-wf-title {
    margin-bottom: clamp(2px,.4vw,6px)
}

.related-events .event-image {
    width: 100%;
    position: relative;
    overflow: hidden;
    margin-bottom: 20px;
    transform-origin: center 75%;
    transition: all .3s ease;
    opacity: .9
}

.related-events .event-image:before {
    content: "";
    position: relative;
    display: block;
    height: 0;
    width: 100%;
    padding-bottom: 64.5%
}

.related-events .event-image img,.related-events .event-image .sizer {
    position: absolute;
    width: 100%;
    top: 0;
    object-fit: cover
}

.related-events .event-image .sizer {
    height: 100%;
    background-color: var(--main-bg-color)
}

.related-events .event:hover {
    z-index: 1000
}

.related-events .event:hover .event-image {
    opacity: 1;
    transform: scale(1.13)
}

.related-events .splide .splide__track {
    padding-top: clamp(10px,1.33vw,20px)
}

.related-events .splide .splide__arrow {
    top: 32.25%;
    background-color: var(--footer-bg-color);
    border: 1px solid var(--footer-font-color)
}

.related-events .splide .splide__arrow svg path {
    fill: var(--footer-font-color)
}

.related-events .splide.splide-events .splide__arrow {
    top: 120px
}

@media screen and (max-width: 1024px) {
    .related-events .splide.splide-events .splide__arrow {
        top:clamp(80px,8vw,120px)
    }
}

.text-image.img-left,.text-image.img-right {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    gap: clamp(4px,.67vw,10px)
}

.text-image.img-left>div,.text-image.img-right>div {
    flex-basis: calc(50% - .33vw)
}

@media screen and (max-width: 1024px) {
    .text-image.img-left {
        flex-direction:column
    }
}

@media screen and (max-width: 1024px) {
    .text-image.img-right {
        flex-direction:column-reverse
    }
}

.texts+.link {
    margin-top: clamp(10px,1.6vw,24px)
}

.teaser .teaser-image {
    position: relative
}

.teaser .teaser-image .teaser-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    max-width: 40%;
    height: auto
}

.teaser .teaser-image.with-logo .image img {
    opacity: .8
}

.teaser .teaser-image.img-only .image {
    border-bottom-right-radius: 0
}

.teaser .link {
    text-align: right
}

.teaser .link .as-button {
    margin-top: 1.33vw
}

.video .video-embed {
    position: relative;
    width: 100%
}

.video .video-embed .sizer {
    position: relative;
    aspect-ratio: 1224/690;
    width: 100%
}

.video .video-embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: 100%;
    max-width: 100%
}

.video .video-embed .video-poster {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-size: cover;
    background-position: center
}

.video .video-embed .video-poster button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%)
}

.video .video-embed .video-poster button svg {
    filter: drop-shadow(4px 4px 10px rgba(0,0,0,.5));
    transition: transform .3s
}

.video .video-embed .video-poster button.scale svg {
    animation: 1s ease-out buttonClick
}

.video .video-embed .video-poster button:hover svg {
    transform: scale(1.1)
}

.video .video-embed.video-init .video-poster {
    display: none
}

@keyframes buttonClick {
    0% {
        transform: scale(1)
    }

    25% {
        transform: scale(1.3)
    }

    to {
        transform: scale(.4)
    }
}

.splide.splide-images img {
    max-width: 100%
}

.splide.splide-texts .splide__pagination {
    bottom: unset;
    left: 0;
    padding: 0 1em;
    position: relative;
    right: 0;
    z-index: 1;
    margin-top: 14px
}

@media screen and (max-width: 749px) {
    .splide.splide-texts .splide__pagination {
        margin-top:clamp(4px,.93vw,14px)
    }
}

.splide.splide-texts.txt-cntr {
    text-align: center
}

.splide .splide__pagination__page {
    border: 1px solid rgba(255,255,255,.8);
    background: rgba(255,255,255,.8);
    width: 10px;
    height: 10px
}

.splide .splide__pagination__page.is-active {
    background: transparent;
    transform: scale(1);
    z-index: 1
}

.splide .splide__arrow {
    background-color: #262626;
    border: 1px solid #FFFFFF;
    width: 40px;
    height: 40px;
    opacity: 1;
    filter: drop-shadow(4px 4px 10px rgba(0,0,0,.5));
    transition: all .3s
}

.splide .splide__arrow svg {
    height: 1.6em;
    width: 1.6em
}

.splide .splide__arrow svg path {
    fill: #fff;
    transition: all .3s
}

.splide .splide__arrow:hover {
    transform: translateY(-50%) scale(1.05);
    opacity: 1
}

.splide .splide__arrow:hover svg path {
    transform: translate(4px)
}

.slider .box-text h3,.slider .box-text #ems-wf-dest .ems-wf-title,#ems-wf-dest .slider .box-text .ems-wf-title {
    margin-bottom: 0
}

.slider .slider-entry.edit-mode {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start
}

.google-review {
    padding-top: clamp(12px,1.33vw,20px);
    padding-bottom: clamp(12px,1.33vw,20px)
}

.google-review .google-rating-widget {
    position: relative;
    padding: .9375rem .9375rem .625rem;
    color: #444;
    background: #fff;
    border-radius: 0px 0px 1vw;
    box-shadow: 0 2px 4px #00000040;
    animation: appear_from_bottom .4s ease-in-out .2s 1 both
}

.google-review .google-rating-widget:before {
    content: " ";
    display: block;
    height: .25rem;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: row;
    overflow: hidden;
    background: linear-gradient(90deg,#4285f4,#4285f4 16.6666666667%,#ea4335 0,#ea4335 33.3333333333%,#fbbc05 0,#fbbc05 50%,#4285f4 0,#4285f4 66.6666666667%,#34a853 0,#34a853 83.3333333333%,#ea4335 0,#ea4335) no-repeat 0 0;
    background-size: 100%
}

.google-review .google-rating-widget .google-rating-widget-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 600
}

.google-review .google-rating-widget .google-rating-widget-rating {
    margin: .625rem 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    line-height: 0
}

.google-review .google-rating-widget .google-rating-widget-rating .google-rating-widget-rating-score {
    margin: 0 .5rem 0 0;
    font-size: 1.25rem;
    font-weight: 600
}

.google-review .google-rating-widget .google-rating-widget-rating .google-rating-widget-rating-stars {
    width: 5.625rem;
    height: 1.125rem;
    background: url(../images/star-empty.svg) repeat 0 0;
    background-size: 18px 18px
}

.google-review .google-rating-widget .google-rating-widget-rating .google-rating-widget-rating-stars span {
    display: block;
    height: 1rem;
    background: url(../images/star-filled.svg) repeat 0 0;
    background-size: 18px 18px
}

.google-review .google-rating-widget .google-rating-widget-based {
    font-size: .875rem;
    color: #4449
}

#ems-wf-dest .ems-wf-twoColumn,.form .ems-wf-twoColumn {
    width: 100%
}

#ems-wf-dest .ems-wf-buttons,.form .ems-wf-buttons {
    font-weight: 700;
    border-radius: 30px;
    border: 1px solid var(--font-color);
    color: var(--font-color);
    padding: clamp(2px,.4vw,6px) clamp(6px,.8vw,12px);
    height: clamp(24px,2.67vw,40px);
    display: inline-block;
    text-decoration: none;
    position: relative;
    filter: drop-shadow(4px 4px 10px rgba(0,0,0,.5));
    margin-right: 20px
}

#ems-wf-dest .ems-wf-buttons:before,.form .ems-wf-buttons:before {
    content: " ";
    border: 2px transparent solid;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    box-sizing: border-box;
    width: calc(100% + 14px);
    height: calc(100% + 14px);
    transition: all .7s ease
}

#ems-wf-dest .ems-wf-buttons:hover:before,.form .ems-wf-buttons:hover:before {
    border-radius: 30px;
    border: 1px #FFFFFF solid
}

#ems-wf-dest form input,#ems-wf-dest form button,.form form input,.form form button {
    color: var(--font-color)
}

#ems-wf-dest form .field,.form form .field {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden
}

#ems-wf-dest form .form-row,.form form .form-row {
    margin-bottom: 20px;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: stretch;
    align-items: stretch;
    -webkit-justify-content: flex-start;
    justify-content: flex-start
}

#ems-wf-dest form .form-row>label,.form form .form-row>label {
    font-weight: 700
}

#ems-wf-dest form .form-row>label .controlname,.form form .form-row>label .controlname {
    background-color: #599900;
    color: #fff;
    padding: 5px;
    border-radius: 5px
}

#ems-wf-dest form input[type=text],#ems-wf-dest form input[type=email],#ems-wf-dest form input[type=date],.form form input[type=date] {
    width: clamp(120px,16vw,240px) !important;
    height: 26px
}

#ems-wf-dest form textarea,.form form textarea {
    max-width: 100%;
    height: 100px
}

#ems-wf-dest form input[type=text],#ems-wf-dest form input[type=email],#ems-wf-dest form input[type=date],#ems-wf-dest form textarea,.form form input[type=text],.form form input[type=email],.form form input[type=date],.form form textarea {
    background: linear-gradient(var(--background-gradient)) padding-box,linear-gradient(#730027,#730027) border-box;
    border-radius: 3px;
    color: var(--font-color);
    border: 2px solid transparent
}

#ems-wf-dest form label[for],.form form label[for] {
    cursor: pointer
}

.opening-hours-cta {
    position: absolute;
    top: clamp(12px,1.33vw,20px);
    right: clamp(12px,1.33vw,20px)
}

@media screen and (max-width: 749px) {
    .opening-hours-cta {
        top:-26px
    }
}

.round-cta {
    border-radius: 50%;
    background-color: rgba(var(--cta-color-rgba));
    border: 1px solid #FFFFFF;
    width: clamp(90px,6.67vw,100px);
    height: clamp(90px,6.67vw,100px);
    text-align: center;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    padding-top: clamp(8px,.8vw,12px);
    padding-bottom: clamp(10px,1.07vw,16px);
    padding-left: clamp(1px,.53vw,8px);
    padding-right: clamp(1px,.53vw,8px)
}

.round-cta h3,.round-cta #ems-wf-dest .ems-wf-title,#ems-wf-dest .round-cta .ems-wf-title {
    line-height: .89;
    word-spacing: 9999px
}

.round-cta .small-subtitle {
    font-family: var(--h3-font-family),Arial,Helvetica,sans-serif;
    font-size: var(--h3-font-size);
    line-height: var(--h3-line-height);
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    margin-bottom: 1em;
    font-weight: 400;
    font-size: clamp(.6875rem,.5628328895rem + .2663115846vw,.8125rem);
    line-height: 1;
    margin-top: clamp(1px,.13vw,2px);
    margin-bottom: clamp(4px,.53vw,8px)
}

.opening-hours p {
    margin-bottom: 0
}

.overlay {
    position: fixed;
    z-index: 10001;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition: opacity .2s cubic-bezier(.17,.67,.58,.72),transform .2s cubic-bezier(.17,.67,.58,.72);
    pointer-events: none;
    opacity: 0;
    transform: scale(.7);
    background-color: #000b
}

.overlay.visible {
    pointer-events: auto;
    opacity: 1;
    transform: scale(1)
}

.overlay .overlay-wrapper {
    position: relative;
    height: 100%;
    width: 100%;
    margin: 0 auto;
    transition: transform .2s cubic-bezier(.17,.67,.58,.72)
}

.overlay .overlay-wrapper .overlay-close {
    position: absolute;
    right: 20px;
    top: 20px;
    z-index: 99;
    border: none
}

.overlay .overlay-wrapper .overlay-close svg {
    width: 37.7px;
    height: 37.7px
}

.overlay .overlay-wrapper .overlay-close svg .ov-close {
    stroke: #fff
}

.overlay .overlay-scroll {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: stretch;
    align-items: stretch;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    width: 700px;
    max-width: 100%;
    margin: auto;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-block: contain
}

.overlay .overlay-content {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    margin-left: auto;
    margin-right: auto
}

.overlay .overlay-content>iframe {
    min-height: 90vh
}

.overlay .overlay-content.content-width {
    padding-left: 0;
    padding-right: 0
}

.overlay#shared-overlay .hov-hidden {
    display: none;
    visibility: hidden
}

.overlay#shared-overlay .hov-only {
    display: inherit;
    visibility: visible
}

.overlay.expanded .overlay-wrapper,.overlay.expanded .overlay-wrapper .overlay-scroll {
    max-width: 100%
}

.hov-only {
    display: none;
    visibility: hidden
}

.table-booking .link {
    display: flex;
    justify-content: flex-end
}

section.collapsible .texts p:last-child {
    margin-bottom: 0
}

.collapsible-entry {
    margin-bottom: 4px
}

.collapsible-entry:not(:last-child) {
    border-bottom: 1px solid rgba(255,255,255,.6)
}

.collapsible-entry .colbtn {
    color: inherit;
    background: none;
    border: none;
    width: 100%;
    cursor: pointer;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    gap: 24px;
    height: 68px
}

.collapsible-entry .colbtn .icon {
    width: 36px;
    padding-right: 20px
}

.collapsible-entry .colbtn .icon,.collapsible-entry .colbtn .icon svg {
    display: inline-block
}

.collapsible-entry.unfold .vertical {
    opacity: 0
}

.collapsible-entry.unfold .colbtn {
    margin-bottom: -3px
}

.collapsible-entry.unfold .colbtn .icon svg {
    transform: rotate(180deg)
}

.collapsible-entry .collapsible-wrapper {
    position: relative;
    max-height: 0;
    height: 0;
    overflow: hidden;
    transition: height .2s cubic-bezier(.17,.67,.58,.72),max-height .2s cubic-bezier(.17,.67,.58,.72)
}

.collapsible-entry+.collapsible-entry {
    margin-top: -1px
}

.collapsible-entry.hidden {
    display: none
}

.collapsible-entry.edit-mode .collapsible-wrapper .collapsible-area {
    padding-top: 20px;
    padding-bottom: 40px
}

.collapsible-entry.edit-mode .collapsible-wrapper .collapsible-area div.mgnlEditorBar {
    display: flex!important
}

section.menu h3.sl,section.menu #ems-wf-dest .sl.ems-wf-title,#ems-wf-dest section.menu .sl.ems-wf-title {
    font-size: 15px
}

section.menu .menu-container {
    display: flex;
    text-align: center
}

section.menu .menu-container .entry {
    margin-top: 31px;
    flex: 1 1 0;
    padding: 0 10px
}

section.menu .menu-container .entry h4 {
    margin-bottom: 1.4375rem;
    font-size: 18px
}

section.menu .menu-container .entry .price {
    margin-top: 1.4375rem;
    font-weight: 700
}

section.menu .menu-container .entry+.entry {
    border-left: solid 1px white
}

main,aside.sidebar-col {
    container-type: inline-size
}

@container (max-width: 460px) {
    section.menu .menu-container {
        flex-direction: column
    }

    section.menu .menu-container .entry {
        margin-top: unset;
        padding: 16px 0
    }

    section.menu .menu-container .entry+.entry {
        border-top: solid 1px white;
        border-left: none
    }
}


/* Radio Accordeon */
.caymlandform-radiogrp-row form { 
    position: relative; 
    top: 100px; 
    left: 100px; 
    background: -webkit-linear-gradient(bottom,#eaeaea, #fafafa);
    padding: 10px;
    display: inline-block;
    box-shadow: 0 1px 1px rgba(0,0,0,.65);
    border-radius: 3px;
    border: solid 1px #ddd;
    width: 450px; 
    height: 355px;
}

.caymlandform-radiogrp-row input { 
    display: none; 
}

/* Target the label when it contains a checked radio button */
.caymlandform-radiogrp-label:has(input[type="radio"]:checked) {
    background: rgba(var(--cta-color-rgba))!important;
    border: solid 1px rgba(0,0,0,.15) !important;
    color: white !important; 
    box-shadow: 0 1px 1px rgba(0,0,0,.65), 0 1px 0 rgba(255,255,255,.1) inset !important;
    text-shadow: 0 -1px 0 rgba(0,0,0,.6) !important;
}

/* Fallback using JavaScript-friendly approach */
.caymlandform-radiogrp-label.checked {
    background: rgba(var(--cta-color-rgba)) !important;
    border: solid 1px rgba(0,0,0,.15) !important;
    color: white !important; 
    box-shadow: 0 1px 1px rgba(0,0,0,.65), 0 1px 0 rgba(255,255,255,.1) inset !important;
    text-shadow: 0 -1px 0 rgba(0,0,0,.6) !important;
}

.caymlandform-radiogrp-label {
    font-weight: 700 !important;
    border-radius: 30px !important;
    border: 1px solid var(--font-color) !important;
    padding: clamp(2px, .4vw, 6px) clamp(6px, .8vw, 12px) !important;
    line-height: clamp(18px, 1.6vw, 24px) !important;
    display: inline-block !important;
    text-decoration: none !important;
    background-color: #e9ecef !important;
    position: relative !important;
    filter: drop-shadow(4px 4px 10px rgba(0, 0, 0, .5)) !important;
    margin-bottom: clamp(15px, 1vw, 15px);
    color: #6c757d;
}

.caymlandform-radiogrp-label:last-child { 
    margin-right: 0; 
}

.caymlandform-radiogrp-label:hover {     
    background-color: #5aa86a;
    border-radius: 30px;
    border: 1px #FFFFFF solid;
}

.caymlandform-radiogrp-label:has(input[type="radio"]:checked) {
    border: 1px #FFFFFF solid !important;
    border-radius: 30px !important;
}

.caymlandform-radiogrp-row article { 
    height: 0; 
    overflow: hidden; 
    -webkit-transition: height .25s linear, opacity .15s linear;
    transition: height .25s linear, opacity .15s linear; 
    position: static;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    color: var(--font-color);
    font-family: var(--font-family);
    font-size: var(--font-size);
    line-height: var(--font-line-height);
    opacity: 0;
    background: none;
    border: none;
    box-sizing: border-box;
}

/* Article as sibling of label - when input inside label is checked */
.caymlandform-radiogrp-label:has(input:checked) + article { 
    height: auto; 
    padding: 10px;
    opacity: 1; 
}

/* Alternative selector for different structures */
label:has(input:checked) + article { 
    height: auto; 
    padding: 10px;
    opacity: 1; 
}

/* Fallback selectors for older browsers */
.caymlandform-radiogrp-row input:checked ~ article { 
    height: auto; 
    padding: 10px;
    opacity: 1; 
}

.caymlandform-radiogrp-label input:checked ~ article { 
    height: auto; 
    padding: 10px;
    opacity: 1; 
}

/* ===== STYLES MOVED FROM landingpage_new.html ===== */

/* CSS Variables */
:root {
    --top-background-color-rgba: 195, 108, 96, .8;
    --bottom-background-color-rgba: 180, 127, 46, .8;
    --top-border-color-rgba: 247, 225, 72, .45;
    --bottom-border-color-rgba: 185, 111, 111, 1;
    --cta-color-rgba: 107, 186, 120, 1;
    --cta-color-rgb: 107, 186, 120;
}

/* Rangeslider Styling */
.range-slider-container {
    margin: 20px 0;
}

.range-slider {
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: linear-gradient(to right, #6bba78 0%, #6bba78 100%);
    outline: none;
    -webkit-appearance: none;
    position: relative;
}

.range-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #6bba78;
    cursor: pointer;
    border: 3px solid white;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
    transition: all 0.3s ease;
}

.range-slider::-webkit-slider-thumb:hover {
    transform: scale(1.1);
    box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}

.range-slider::-moz-range-thumb {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #6bba78;
    cursor: pointer;
    border: 3px solid white;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
    transition: all 0.3s ease;
}

.range-slider::-moz-range-thumb:hover {
    transform: scale(1.1);
    box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}

.range-slider::-ms-thumb {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #6bba78;
    cursor: pointer;
    border: 3px solid white;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

.range-display {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-top: 10px;
    font-size: 14px;
    color: #666;
}

.range-value {
    background: #6bba78;
    color: white;
    padding: 8px 16px;
    border-radius: 20px;
    font-weight: bold;
    font-size: 16px;
    min-width: 80px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
    font-weight: 700 !important;
    border-radius: 30px !important;
    border: 1px solid var(--font-color) !important;
    padding: clamp(2px, .4vw, 6px) clamp(6px, .8vw, 12px) !important;
    line-height: clamp(18px, 1.6vw, 24px) !important;
    display: inline-block !important;
    text-decoration: none !important;
    background-color: rgba(var(--cta-color-rgba)) !important;
    position: relative !important;
    filter: drop-shadow(4px 4px 10px rgba(0, 0, 0, .5)) !important;
    margin-bottom: clamp(15px, 1vw, 15px);
}

.range-labels {
    display: flex;
    justify-content: space-between;
    margin-top: 5px;
    font-size: 12px;
    color: #999;
}

.range-value {
    transition: all 0.3s ease;
}

.range-value.updating {
    transform: scale(1.1);
}

/* Klickbare Bilder für Radio Buttons */
.image-radio-container {
    display: flex;
    gap: 20px;
    margin: 20px 0;
    flex-wrap: wrap;
}

.image-radio-option {
    position: relative;
    cursor: pointer;
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    flex: 1;
    min-width: 200px;
}

.image-radio-option:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.image-radio-option.selected {
    border: 4px solid #6bba78;
    box-shadow: 0 8px 25px rgba(107,186,120,0.3);
    transform: translateY(-2px);
}

.image-radio-option img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    display: block;
}

.image-radio-option:hover img {
    transform: scale(1.05);
}

.image-radio-option.selected img {
    transform: scale(1.02);
}

.image-radio-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: flex-end;
    padding: 20px;
    color: white;
    font-weight: bold;
    font-size: 16px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

.image-radio-checkmark {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #6bba78;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: bold;
    font-size: 18px;
    opacity: 0;
    transform: scale(0);
    transition: all 0.3s ease;
}

.image-radio-option.selected .image-radio-checkmark {
    opacity: 1;
    transform: scale(1);
}

/* Apéro Feld Styling */
.apero-container {
    display: flex;
    gap: 30px;
    margin: 30px 0;
    align-items: flex-start;
}

.apero-content {
    flex: 1;
    background: white;
    border-radius: 15px;
    padding: 25px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    border: 2px solid #f0f0f0;
    transition: all 0.3s ease;
}

.apero-content:hover {
    box-shadow: 0 12px 35px rgba(0,0,0,0.15);
    transform: translateY(-2px);
}

.apero-title {
    font-size: 28px;
    font-weight: bold;
    color: #333;
    margin-bottom: 15px;
    text-align: center;
}

.apero-subtitle {
    font-size: 16px;
    color: #666;
    margin-bottom: 8px;
    text-align: center;
}

.apero-price {
    font-size: 18px;
    font-weight: bold;
    color: #6bba78;
    margin-bottom: 25px;
    text-align: center;
}

.apero-section {
    margin-bottom: 20px;
}

.apero-section-title {
    font-size: 18px;
    font-weight: bold;
    color: #6bba78;
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.apero-item {
    margin-bottom: 8px;
    padding: 8px 0;
    border-bottom: 1px solid #f0f0f0;
    display: flex;
    align-items: center;
}

.apero-item:last-child {
    border-bottom: none;
}

.apero-item-name {
    font-weight: bold;
    color: #333;
    margin-right: 10px;
}

.apero-item-description {
    color: #666;
    font-style: italic;
    font-size: 14px;
}

.apero-icons {
    display: flex;
    gap: 8px;
    margin-left: auto;
}

.apero-icon {
    width: 20px;
    height: 20px;
    background: #6bba78;
    border-radius: 50%;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: bold;
}

.apero-image {
    flex-shrink: 0;
    width: 280px;
    height: auto;
}

.apero-image img {
    width: 100%;
    height: auto;
    border-radius: 15px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
}

.apero-contact {
    background: #6bba78;
    color: white;
    padding: 15px;
    border-radius: 10px;
    text-align: center;
    margin-top: 20px;
    font-weight: bold;
}

.apero-contact-title {
    font-size: 16px;
    margin-bottom: 8px;
}

.apero-contact-info {
    font-size: 14px;
    opacity: 0.9;
}

.apero-radio-options {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 20px;
}

.apero-radio-option {
    display: flex;
    align-items: center;
    padding: 15px;
    background: #f8f9fa;
    border: 2px solid #e9ecef;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.apero-radio-option:hover {
    background: #e3f2fd;
    border-color: #6bba78;
}

.apero-radio-option.selected {
    background: #e8f5e8;
    border-color: #6bba78;
    box-shadow: 0 4px 12px rgba(107,186,120,0.2);
}

.apero-radio-button {
    width: 20px;
    height: 20px;
    border: 2px solid #ccc;
    border-radius: 50%;
    margin-right: 15px;
    position: relative;
    transition: all 0.3s ease;
}

.apero-radio-option.selected .apero-radio-button {
    border-color: #6bba78;
    background: #6bba78;
}

.apero-radio-option.selected .apero-radio-button::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    background: white;
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.apero-radio-text {
    flex: 1;
    color: #333;
    font-weight: 500;
}

/* Dynamische Anzeige */
.dynamic-section {
    transition: all 0.3s ease;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    padding: 0;
    margin: 0;
}

.dynamic-section.show {
    opacity: 1;
    max-height: 2000px;
    padding: 20px 0;
    margin: 20px 0;
}

.contact-notice {
    background: #ff9800;
    color: white;
    padding: 20px;
    border-radius: 10px;
    text-align: center;
    margin: 20px 0;
    display: none;
}

.contact-notice h3 {
    margin-bottom: 10px;
}

.contact-notice p {
    margin: 5px 0;
}

/* Verstecke originale Radio Buttons */
input[name="caymlandform[nrjkw]"] {
    display: none;
}

#caymlandform_formulargastrowk_kicwg .caymlandform-radiogrp-row {
    display: none;
}

/* Debug Info */
.debug-info {
    background: #f0f0f0;
    padding: 10px;
    border-radius: 5px;
    margin: 10px 0;
    font-size: 12px;
    color: #666;
    font-family: monospace;
    display: none;
}

/* Responsive Block */
.responsive-block {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.responsive-text, .responsive-image {
    flex: 1 1 300px;
    box-sizing: border-box;
}

.responsive-image img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    border-radius: 15px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    width: 350px;
    object-fit: scale-down;
}

h3.caymlandform-label {
    font-size: 22px;
    display: block;
    font-weight: normal;
    margin-bottom: 22px;
}
h3[fr-original-class="caymlandform-label"] {
    font-family: var(--h3-font-family), Arial, Helvetica, sans-serif !important;
    font-size: var(--h3-font-size) !important;
    line-height: var(--h3-line-height) !important;
    font-weight: var(--font-weight-bold) !important;
    text-transform: uppercase !important;
    margin-bottom: 22px !important;
    letter-spacing: 1.1px !important;
    display: block !important;
    cursor: text !important;
}

/* Column Layout */
.column-wrap .main-col {
    width: 100% !important;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: stretch;
    align-items: stretch;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    gap: 10px;
}

.container {
    margin: 0 auto;
    width: 100%;
    max-width: 900px;
    padding: 0;
}

/* Custom Navigation Buttons */
.custom-nav-buttons {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 20px 0;
    padding: 15px;
}

.custom-nav-btn {
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    min-width: 100px;
    border: 1px solid var(--font-color) !important;
}

.custom-nav-btn.back {
    background-color: #6c757d;
    font-weight: 700 !important;
    border-radius: 30px !important;
    border: 1px solid var(--font-color) !important;
    padding: clamp(2px, .4vw, 6px) clamp(6px, .8vw, 12px) !important;
    line-height: clamp(18px, 1.6vw, 24px) !important;
    display: inline-block !important;
    text-decoration: none !important;
    position: relative !important;
    filter: drop-shadow(4px 4px 10px rgba(0, 0, 0, .5)) !important;
    margin-bottom: clamp(15px, 1vw, 15px);
}

.custom-nav-btn.back:hover {
    border-radius: 30px;
    border: 1px #FFFFFF solid;
}

.custom-nav-btn.next {
    background: #6bba78;
    color: white;
    padding: 8px 16px;
    border-radius: 20px;
    font-weight: bold;
    font-size: 16px;
    min-width: 80px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.custom-nav-btn.next:hover {
    background-color: #5aa86a;
    border-radius: 30px;
    border: 1px #FFFFFF solid;
}

.custom-nav-btn:disabled {
    background-color: #e9ecef !important;
    color: #6c757d;
    cursor: not-allowed;
}

.page-info {
    font-size: 14px;
    color: inherit;
    font-weight: 500;
}

.caymlandform-pagebreak-wrapper {
    display: none !important;
}

.caymlandform-selectbox, .caymlandform-input, .caymlandform-textarea {
    width: 100% !important;
    padding: 0.5em 0.5em;
    box-shadow: 0px 0px 0px #fff inset;
    box-sizing: border-box;
    background: linear-gradient(var(--background-gradient)) padding-box, linear-gradient(#730027, #730027) border-box;
    border-radius: 3px;
    color: var(--font-color);
    border: 2px solid transparent;
}

/* Accordion Styles for Hauptspeise */
.hauptspeise-accordion {
    border: 1px solid #ddd;
    border-radius: 8px;
    margin: 10px 0;
    overflow: hidden;
}

.accordion-item {
    border-bottom: 1px solid #eee;
}

.accordion-item:last-child {
    border-bottom: none;
}

.accordion-header {
    background: #f8f9fa;
    padding: 15px 20px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background-color 0.3s ease;
    user-select: none;
}

.accordion-header:hover {
    background: #e9ecef;
}

.accordion-header h4 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #333;
}

.accordion-toggle {
    font-size: 20px;
    font-weight: bold;
    color: #666;
    transition: transform 0.3s ease;
}

.accordion-item.active .accordion-toggle {
    transform: rotate(45deg);
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    background: #fff;
}

.accordion-item.active .accordion-content {
    max-height: 500px;
    padding: 15px 20px;
}

.accordion-content label {
    display: block;
    margin: 8px 0;
    padding: 5px 0;
    cursor: pointer;
}

.accordion-content input[type="checkbox"] {
    margin-right: 10px;
}

/* Responsive Design */
@media (max-width: 768px) {
    .range-slider {
        height: 10px;
    }
    
    .range-slider::-webkit-slider-thumb {
        -webkit-appearance: none;
        appearance: none;
        width: 28px;
        height: 28px;
    }
    
    .range-value {
        font-size: 18px;
        padding: 10px 18px;
    }

    .image-radio-container {
        flex-direction: column;
        gap: 15px;
    }

    .image-radio-option {
        min-width: auto;
    }

    .image-radio-option img {
        height: 150px;
    }

    .apero-container {
        flex-direction: column;
        gap: 20px;
    }

    .apero-image {
        width: 100%;
        order: -1;
    }

    .apero-content {
        padding: 20px;
    }

    .apero-title {
        font-size: 24px;
    }
}

label input:checked ~ article { 
    height: auto; 
    padding: 10px;
    opacity: 1; 
}

/* Backup selector for different DOM structures */
.caymlandform-radiogrp-row div > input:checked ~ article { 
    height: auto; 
    opacity: 1; 
}

.caymlandform-label {
    font-family: var(--h3-font-family), Arial, Helvetica, sans-serif !important;
    font-size: var(--h3-font-size) !important;
    line-height: var(--h3-line-height) !important;
    font-weight: var(--font-weight-bold) !important;
    text-transform: uppercase !important;
    margin-bottom: 22px !important;
    letter-spacing: 1.1px   !important;
    display: block !important;
    cursor: text !important;
}

