/* gLightBox v3.3.1 */
.glightbox-container{width:100%;height:100%;position:fixed;top:0;left:0;z-index:999999!important;overflow:hidden;-ms-touch-action:none;touch-action:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;outline:0}.glightbox-container.inactive{display:none}.glightbox-container .gcontainer{position:relative;width:100%;height:100%;z-index:9999;overflow:hidden}.glightbox-container .gslider{-webkit-transition:-webkit-transform .4s ease;transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;height:100%;left:0;top:0;width:100%;position:relative;overflow:hidden;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.glightbox-container .gslide{width:100%;position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:0}.glightbox-container .gslide.current{opacity:1;z-index:99999;position:relative}.glightbox-container .gslide.prev{opacity:1;z-index:9999}.glightbox-container .gslide-inner-content{width:100%}.glightbox-container .ginner-container{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;margin:auto;height:100vh}.glightbox-container .ginner-container.gvideo-container{width:100%}.glightbox-container .ginner-container.desc-bottom,.glightbox-container .ginner-container.desc-top{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.glightbox-container .ginner-container.desc-left,.glightbox-container .ginner-container.desc-right{max-width:100%!important}.gslide iframe,.gslide video{outline:0!important;border:none;min-height:165px;-webkit-overflow-scrolling:touch;-ms-touch-action:auto;touch-action:auto}.gslide:not(.current){pointer-events:none}.gslide-image{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gslide-image img{max-height:100vh;display:block;padding:0;float:none;outline:0;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;max-width:100vw;width:auto;height:auto;-o-object-fit:cover;object-fit:cover;-ms-touch-action:none;touch-action:none;margin:auto;min-width:200px}.desc-bottom .gslide-image img,.desc-top .gslide-image img{width:auto}.desc-left .gslide-image img,.desc-right .gslide-image img{width:auto;max-width:100%}.gslide-image img.zoomable{position:relative}.gslide-image img.dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.gslide-video{position:relative;max-width:100vh;width:100%!important}.gslide-video .plyr__poster-enabled.plyr--loading .plyr__poster{display:none}.gslide-video .gvideo-wrapper{width:100%;margin:auto}.gslide-video::before{content:'';position:absolute;width:100%;height:100%;background:rgba(255,0,0,.34);display:none}.gslide-video.playing::before{display:none}.gslide-video.fullscreen{max-width:100%!important;min-width:100%;height:75vh}.gslide-video.fullscreen video{max-width:100%!important;width:100%!important}.gslide-inline{background:#fff;text-align:left;max-height:calc(100vh - 40px);overflow:auto;max-width:100%;margin:auto}.gslide-inline .ginlined-content{padding:20px;width:100%}.gslide-inline .dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.ginlined-content{overflow:auto;display:block!important;opacity:1}.gslide-external{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;min-width:100%;background:#fff;padding:0;overflow:auto;max-height:75vh;height:100%}.gslide-media{display:-webkit-box;display:-ms-flexbox;display:flex;width:auto}.zoomed .gslide-media{-webkit-box-shadow:none!important;box-shadow:none!important}.desc-bottom .gslide-media,.desc-top .gslide-media{margin:0 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gslide-description{position:relative;-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%}.gslide-description.description-left,.gslide-description.description-right{max-width:100%}.gslide-description.description-bottom,.gslide-description.description-top{margin:0 auto;width:100%}.gslide-description p{margin-bottom:12px}.gslide-description p:last-child{margin-bottom:0}.zoomed .gslide-description{display:none}.glightbox-button-hidden{display:none}.glightbox-mobile .glightbox-container .gslide-description{height:auto!important;width:100%;position:absolute;bottom:0;padding:19px 11px;max-width:100vw!important;-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important;max-height:78vh;overflow:auto!important;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.75)));background:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.75) 100%);-webkit-transition:opacity .3s linear;transition:opacity .3s linear;padding-bottom:50px}.glightbox-mobile .glightbox-container .gslide-title{color:#fff;font-size:1em}.glightbox-mobile .glightbox-container .gslide-desc{color:#a1a1a1}.glightbox-mobile .glightbox-container .gslide-desc a{color:#fff;font-weight:700}.glightbox-mobile .glightbox-container .gslide-desc *{color:inherit}.glightbox-mobile .glightbox-container .gslide-desc .desc-more{color:#fff;opacity:.4}.gdesc-open .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:.4}.gdesc-open .gdesc-inner{padding-bottom:30px}.gdesc-closed .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:1}.greset{-webkit-transition:all .3s ease;transition:all .3s ease}.gabsolute{position:absolute}.grelative{position:relative}.glightbox-desc{display:none!important}.glightbox-open{overflow:hidden}.gloader{height:25px;width:25px;-webkit-animation:lightboxLoader .8s infinite linear;animation:lightboxLoader .8s infinite linear;border:2px solid #fff;border-right-color:transparent;border-radius:50%;position:absolute;display:block;z-index:9999;left:0;right:0;margin:0 auto;top:47%}.goverlay{width:100%;height:calc(100vh + 1px);position:fixed;top:-1px;left:0;background:#000;will-change:opacity}.glightbox-mobile .goverlay{background:#000}.gclose,.gnext,.gprev{z-index:99999;cursor:pointer;width:26px;height:44px;border:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gclose svg,.gnext svg,.gprev svg{display:block;width:25px;height:auto;margin:0;padding:0}.gclose.disabled,.gnext.disabled,.gprev.disabled{opacity:.1}.gclose .garrow,.gnext .garrow,.gprev .garrow{stroke:#fff}.gbtn.focused{outline:2px solid #0f3d81}iframe.wait-autoplay{opacity:0}.glightbox-closing .gclose,.glightbox-closing .gnext,.glightbox-closing .gprev{opacity:0!important}.glightbox-clean .gslide-description{background:#fff}.glightbox-clean .gdesc-inner{padding:22px 20px}.glightbox-clean .gslide-title{font-size:1em;font-weight:400;font-family:arial;color:#000;margin-bottom:19px;line-height:1.4em}.glightbox-clean .gslide-desc{font-size:.86em;margin-bottom:0;font-family:arial;line-height:1.4em}.glightbox-clean .gslide-video{background:#000}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.75);border-radius:4px}.glightbox-clean .gclose path,.glightbox-clean .gnext path,.glightbox-clean .gprev path{fill:#fff}.glightbox-clean .gprev{position:absolute;top:-100%;left:30px;width:40px;height:50px}.glightbox-clean .gnext{position:absolute;top:-100%;right:30px;width:40px;height:50px}.glightbox-clean .gclose{width:35px;height:35px;top:15px;right:10px;position:absolute}.glightbox-clean .gclose svg{width:18px;height:auto}.glightbox-clean .gclose:hover{opacity:1}.gfadeIn{-webkit-animation:gfadeIn .5s ease;animation:gfadeIn .5s ease}.gfadeOut{-webkit-animation:gfadeOut .5s ease;animation:gfadeOut .5s ease}.gslideOutLeft{-webkit-animation:gslideOutLeft .3s ease;animation:gslideOutLeft .3s ease}.gslideInLeft{-webkit-animation:gslideInLeft .3s ease;animation:gslideInLeft .3s ease}.gslideOutRight{-webkit-animation:gslideOutRight .3s ease;animation:gslideOutRight .3s ease}.gslideInRight{-webkit-animation:gslideInRight .3s ease;animation:gslideInRight .3s ease}.gzoomIn{-webkit-animation:gzoomIn .5s ease;animation:gzoomIn .5s ease}.gzoomOut{-webkit-animation:gzoomOut .5s ease;animation:gzoomOut .5s ease}@-webkit-keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes gfadeIn{from{opacity:0}to{opacity:1}}@keyframes gfadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes gfadeOut{from{opacity:1}to{opacity:0}}@keyframes gfadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@-webkit-keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@-webkit-keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@-webkit-keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@media (min-width:769px){.glightbox-container .ginner-container{width:auto;height:auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.glightbox-container .ginner-container.desc-top .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-top .gslide-image,.glightbox-container .ginner-container.desc-top .gslide-image img{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.glightbox-container .ginner-container.desc-left .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-left .gslide-image{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.gslide-image img{max-height:97vh;max-width:100%}.gslide-image img.zoomable{cursor:-webkit-zoom-in;cursor:zoom-in}.zoomed .gslide-image img.zoomable{cursor:-webkit-grab;cursor:grab}.gslide-inline{max-height:95vh}.gslide-external{max-height:100vh}.gslide-description.description-left,.gslide-description.description-right{max-width:275px}.glightbox-open{height:auto}.goverlay{background:rgba(0,0,0,.92)}.glightbox-clean .gslide-media{-webkit-box-shadow:1px 2px 9px 0 rgba(0,0,0,.65);box-shadow:1px 2px 9px 0 rgba(0,0,0,.65)}.glightbox-clean .description-left .gdesc-inner,.glightbox-clean .description-right .gdesc-inner{position:absolute;height:100%;overflow-y:auto}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.32)}.glightbox-clean .gclose:hover,.glightbox-clean .gnext:hover,.glightbox-clean .gprev:hover{background-color:rgba(0,0,0,.7)}.glightbox-clean .gprev{top:45%}.glightbox-clean .gnext{top:45%}}@media (min-width:992px){.glightbox-clean .gclose{opacity:.7;right:20px}}@media screen and (max-height:420px){.goverlay{background:#000}}

/* Splide */
.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}

.splide.is_only1 { visibility:visible; }
.splide.is_only1 ul.splide__list { display:block; cursor:auto; }


/*
COLOR DEFINITIONS
*/

:root {
    --color-red:    #e2001a;
    --color-black:  #000;
    --color-white:  #fff;
    --color-lightgrey:   #dad9d6;

    --color-red-transparent:   #e2001a66;
    --color-white-transparent: #fff4;
    --rotate-badge: rotate(-2.5deg);

    --color-nav-bkg: #000c;
    --borderradius: .4em;
    --vh: 1vh;
}

@media (prefers-reduced-motion:no-preference) {
    html { scroll-behavior:smooth; }
}

@media (prefers-reduced-motion:reduce) {
    #advantagesdisplay { display:none; }
}

@media only screen and (max-width:30em), screen and (max-height:25em) {
    :root {
        --borderradius: .3em;
    }
}


body { background:var(--color-black); color:var(--color-white); font:1.1em/1.5em text,sans-serif; margin:0;}

* { box-sizing:border-box; }

.invisible { position:absolute!important; height:1px; width:1px; overflow:hidden; clip:rect(1px, 1px, 1px, 1px); white-space:nowrap; }

body a { color:inherit; }
main a { text-underline-offset:.1em; transition:text-underline-offset .2s ease, text-decoration-color .2s .01s ease; text-decoration-color:currentColor; text-decoration-thickness:.1em; }
main h2 a,
main h3 a,
main h4 a { text-decoration:none; }

main a[href^=mailto],
main a[href^=tel] { text-decoration:none; text-underline-offset:1em; text-decoration-color:transparent; }

main a:not(.call2action):hover { text-decoration:underline; text-decoration-thickness:.15em; text-underline-offset:.33em; text-decoration-color:var(--color-red); }
main .col-2 a:hover { color:var(--color-red); }


/* Legacy hyphenation limits for Safari */
h1, h2, h3,
ul.icons span,
ul.links2 li a { -webkit-hyphenate-limit-before:5; -webkit-hyphenate-limit-after:3; }


body > header { width:100%; position:fixed; z-index:10; top:0; left:0; right:0; margin:0 auto 0; padding-top:2.5em; display:flex; align-items:center; justify-content:space-between; transition:all .2s ease; }

body > header a,
body > footer a,
nav a { color:#fff!important; text-decoration:none; }

body > header a:hover,
body > header a:focus,
body > footer a:hover,
body > footer a:focus,
nav a:hover,
nav a:focus { text-decoration:underline; text-decoration:underline solid #fff .1em; }

body > header a.home { margin-top:1em; display:none; } /* temporarily disabled */
body > header a.home img { width:4.2em; max-width:13.5vw; }

main p { margin:.25em 0; }

nav ul { text-align:center; padding:0; margin:0; }
nav ul li { list-style:none; display:inline-block; padding:0; margin:0 1em; }
nav ul li a { display:inline-block; padding:.5em; }
nav > ul > li > a { padding:.1em; }

#navmain > ul > li:not(.home) > a:focus { background:var(--color-red-transparent); outline:none; text-decoration:none; }
#navmain > ul > li ul a:focus { -ms-scroll-limit-x-maxbackground:var(--color-red-transparent); }

body > header aside:not(:empty) { width:4.2em; max-width:13.5vw; }
body > header aside a { display:inline-block; padding:.5em 1em; }

#navmain { width:90em; max-width:calc(100% - 2em); margin:0 auto; flex-grow:0; padding:0; }
#navmain img { width:12em; height:auto; transition:transform .1s ease-out; }

#navmain > ul { display:flex; justify-content:space-between; max-width:90em; margin-left:auto; margin-right:auto; }
#navmain > ul > li { vertical-align:top; margin:0; padding:1em .5em; background-color:#47474700; transition:background-color .3s .1s ease-out, box-shadow .2s .1s ease-out, border-color .2s .3s ease; box-shadow:none; transform-origin:center; perspective:2000px; z-index:1; }

#navmain > ul > li.lang span + span { position:absolute!important; height:1px; width:1px; overflow:hidden; clip:rect(1px, 1px, 1px, 1px); white-space:nowrap; }

#navmain > ul ul { position:absolute; margin-left:-1em; text-align:left; top:3.2em; }
#navmain ul ul { position:absolute; display:flex; flex-direction:column; vertical-align:top; min-width:calc(100% + 4em); margin:.75em 0 0 -2.5em; padding:0 .5em; max-height:0; overflow:hidden; transition:all .2s .2s ease-out; background:transparent; border-radius:0 0 var(--borderradius) var(--borderradius); overflow-x:hidden; }
#navmain ul ul li { margin:0; }

#navmain ul li:nth-last-child(2) ul,
#navmain ul li:last-child ul { right:-1.5em; }


#navmain > ul > li.home { width:13em; padding:1em 1em 0 0; }
#navmain > ul > li.home a { position:relative; top:-.25em; padding:0; }
#navmain > ul > li.home a:focus img,
#navmain > ul > li.home a:hover img { transform:scale(1.05); }
#navmain > ul > li.home a:focus { outline:none; }

li.home a > span { clip:rect(0 0 0 0); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; white-space:nowrap; width:1px; }


#navmain ul ul a { width:100%; color:var(--color-black)!important; padding:.15em .75em; transition:all .4s .01s ease-out; }
#navmain ul ul li { --bkg:url(../Icons/CurveHotel/svg/menu-dash.svg); }

#navmain ul ul a::before { display:inline-block; content:""; background-size:contain; background-image:var(--bkg); background-repeat:no-repeat; background-position:center center; width:1.9em; height:1.9em; margin:-.45em 0; position:relative; top:.12em; left:-.35em; transition:filter .3s ease-out; filter:invert(19%) sepia(94%) saturate(7440%) hue-rotate(352deg) brightness(92%) contrast(105%); }

#navmain ul ul { border-radius:var(--borderradius); }
#navmain ul ul a:hover,
#navmain ul ul a:active,
#navmain ul ul a:focus { background:var(--color-white); color:var(--color-red)!important; text-underline-offset:.1em; transition:text-underline-offset .2s ease, text-decoration-color .2s .01s ease; text-decoration-color:var(--color-red); text-decoration-thickness:.1em; transition-duration:.1s; }

#navmain > ul > li.hassub[aria-expanded="true"] { z-index:10; }

#navmain > ul > li.hassub[aria-expanded="true"] > a,
#navmain > ul > li:not(.home) > a:hover { background:var(--color-red); color:var(--color-white)!important; text-decoration:none; }

#navmain > ul > li.hassub[aria-expanded="true"] > a { transform:var(--rotate-badge); }

#navmain > ul > li.hassub { border-bottom:1px solid transparent; margin-right:1em; }
#navmain > ul > li.hassub > a { position:relative; padding-right:2.25em; margin-right:-1.8em; transition:background-color .2s, transform .2s .2s ease-out; will-change:transform; }

#navmain > ul > li.hassub::before { content:""; display:block; width:calc(100% + 6em); height:5em; position:absolute; left:-2em; top:.5em; transform:perspective(10em) rotateX(70deg); }


#navmain > ul > li.hassub .navbutton { all:unset; outline:revert; position:absolute; top:1.2em; width:2em; height:1.9em; line-height:1.5em; margin:-.1em -1em -.5em .25em; background:transparent; text-align:center; }
#navmain > ul > li.hassub .navbutton::after {  content:""; display:block; position:absolute; width:.9em; height:.9em; top:.35em; right:1.2em; background:transparent url(../Icons/dropdown.svg) center center no-repeat; background-size:contain; opacity:1; transition:transform .2s .3s ease, opacity .2s .3s ease; transform:rotate(0deg); }
#navmain > ul > li.hassub[aria-expanded="true"] .navbutton::after { transform:rotate(90deg) scaleX(1); }
#navmain > ul > li.hassub ul { pointer-events:none; }

#navmain > ul > li.hassub[aria-expanded="true"] ul { padding:.75em .5em; max-height:22em; max-height:calc(var(--actualHeight) + 2em); background:var(--color-white); box-shadow:0 .5em 2em #000c; pointer-events:auto; }
#navmain > ul > li.hassub .navbutton:hover::after,
#navmain > ul > li.hassub .navbutton:focus::after { filter:sepia(100%) saturate(17) hue-rotate(43deg) brightness(2.5); }

#navmain > ul > li.ignore-hover[aria-expanded="false"]:hover .submenu { pointer-events:none; opacity:0; max-height:0!important; }

@media (pointer: fine) {
    #navmain > ul > li.hassub:hover .navbutton::after { transform:rotate(90deg) scaleX(1); transition-delay:.1s; }
    #navmain > ul > li.hassub:hover ul { padding:.75em .5em; max-height:22em; max-height:calc(var(--actualHeight) + 2em); background:var(--color-white); box-shadow:0 .5em 2em #000c; pointer-events: auto; }
    #navmain > ul > li.hassub:hover ul li:nth-child(6) + li { display:none; }
}

#navmain a.logo { position:absolute; left:50%; transform:translate(-50%,-2.33em); z-index:2; }

body > header aside a,
#navmain a { display:inline-block; font-size:.86em; font-weight:bold; text-transform:uppercase; letter-spacing:.04em; white-space:nowrap; transition:background-color .2s ease; padding:.25em .75em; }

a.logo img { transition:transform .25s ease; }
a.logo:hover img { transform:scale(1.1); transition:transform .15s ease-out; }

/* Reset styles */
figure { margin:0; padding:0; }
ul { margin:0; padding:0; }


main { font-size:1.15em; line-height:1.4; min-height:12em; width:100%; overflow-x:hidden; }

@media only screen and (max-width:40em) {
    main { font-size:1em; }
}


/* Links in general */

a { text-underline-offset:.1em; }

a.red,
a.red:visited,
a.red:focus { color:var(--color-red); }

.call2action:not(.red) { line-height:1.1em; text-decoration:none!important; font-weight:bold; text-transform:uppercase; background:var(--color-red); color:var(--color-white); display:inline-block; padding:.66em .75em .8em; min-width:8em; margin:1em 1em 1em 0; transition:all .2s ease, color .2s ease; text-align:center; position:relative; overflow:hidden; }

.call2action.ghost:not(.red) { background:transparent; color:inherit; }

.call2action:not(.red):hover { background:var(--color-white); border-color:var(--color-white); color:var(--color-red); text-shadow:none!important; transition-duration:.2s; }

.call2action svg { width:1.66em; fill:var(--color-white); position:absolute; top:59%; left:1em; transform:translateY(-60%); transition:fill .2s ease; }
.call2action svg ~ svg { transform:scaleX(-1) translateY(-60%); left:unset; right:1em; }

.call2action.arrow { padding-left:1.5em; padding-right:3em; }
.call2action.arrow svg { left:unset; right:1em; width:1.3em; top:59%; }

.text .call2action { margin:1 1em 0 0; }
.text .call2action:last-child { margin-right:auto; }

@media only screen and (max-width:30em) {
    .call2action:not(.red) { display:block; margin:1em auto 1em auto; width:intrinsic; width:max-content; max-width:100%; }
}


/* pictures in general */

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

/* iFrames */

iframe { border:0; }

/* c-elems */

main header h1,
main header h2 { display:flex; flex-direction:column-reverse; font:bold 4em/1 heading,sans-serif; text-transform:uppercase; max-width:14.3em; }
main h1,
main h2 { margin-left:auto; margin-right:auto; font-weight:normal; -ms-hyphens:auto; -moz-hyphens:auto; -webkit-hyphens:auto; hyphens:auto; hyphenate-limit-chars:auto 8 6; }
main h1 strong,
main h1 span,
main h2 strong,
main h2 span { display:block; font-weight:normal; }
main h1 strong,
main h1 span,
main h2 strong { font-size:.8em; line-height:1.1; }
main h1 span,
main h2 span { font:calc(.92em/4) / 1 text,sans-serif; font-weight:bold; text-transform:uppercase; margin: 0 auto 1em; background:var(--color-white); transform:var(--rotate-badge); color:var(--color-black); padding:.5em .75em; }

main h3 { font:bold 2.5em/1 heading,sans-serif; text-transform:uppercase; margin:0 auto .75em; display:flex; flex-direction:column-reverse; }
main h3 span { display:inline-block; margin:0 auto 1em; font:bold calc(.8em / 2.5)/1.1 heading,sans-serif; background:var(--color-white); transform:var(--rotate-badge); color:var(--color-black); padding:.5em .75em; }

main h1,
main h2 { -ms-hyphens:auto; -moz-hyphens:auto; -webkit-hyphens:auto; hyphens:auto; hyphenate-limit-chars:auto 8 6; }

main h1,
main h2,
main h3 { margin-top:.66em; }

main h4 { font:bold 1em/1.1 heading,sans-serif; text-transform:uppercase; margin:1.5em auto .25em; display:flex; flex-direction:column-reverse; }
main h4 { font-weight:bold;letter-spacing:.06em; }

.col-2 h1 span,
.col-2 h2 span,
.col-2 h3 span { background:var(--color-black); color:var(--color-white);}


main .text > h3 { font-size:1em; }


main h3 + p.info,
main h4 + p.info { margin-top:0; }


.nobreak { white-space:nowrap; }

@media only screen and (max-width:100em) {
    main header h1,
    main header h2 { font:bold 3em/1 heading,sans-serif; }
}

@media only screen and (max-width:60em) {
    main header h1,
    main header h2 { font:bold 2.5em/1 heading,sans-serif; }

    main h3 { font:bold 1.75em/1 heading,sans-serif; }
    main h3 span { font:bold calc(.8em / 1.75)/1 heading,sans-serif; }

}

@media only screen and (max-width:40em) {
    .frame-type-text .content > h1,
    .frame-type-text .content > h2,
    main h1,
    main header h1,
    main h2,
    main header h2 { font-size:2.5em; line-height:1.1em; margin-left:auto; margin-right:auto; font-weight:bold; -ms-hyphens:auto; -moz-hyphens:auto; -webkit-hyphens:auto; hyphens:auto; hyphenate-limit-chars:auto 4 3; hyphenate-limit-lines:2; margin-bottom:1em!important; }
    .frame-type-text h1 span,
    .frame-type-text h2 span,
    main h1 span,
    main h2 span { font-size:.92rem; line-height:1.1em; }

    main h1, 
    main h2,
    main h1 strong,
    main h2 strong { line-height:1.1; }

    main h3 { font-size:1.5em; line-height:1.1; -ms-hyphens:auto; -moz-hyphens:auto; -webkit-hyphens:auto; hyphens:auto; hyphenate-limit-chars:auto 5 3; hyphenate-limit-lines:2; }
    main h3 span { font-size:.92rem; }

    main h4,
    main p.info { font-size:1em; }
}

@media only screen and (max-width:30em) {
    .nobreak { white-space:normal; }
    .frame-type-text .content > h1,
    .frame-type-text .content > h2,
    main h1,
    main header h1,
    main h2,
    main header h2 { font-size:1.75em; line-height:1.1em; }
    .frame-type-text h1 span,
    .frame-type-text h2 span,
    main h1 span,
    main h2 span { font-size:.92rem; line-height:1.1em; }
}


.frame { width:100%; background-color:transparent; color:var(--color-white); position:relative; z-index:1; text-align:center; }
.frame.col-1 { background:transparent; color:var(--color-white); }

.frame.col-2 { background:var(--color-white); color:var(--color-black); }

.frame.col-6 { overflow:hidden; }


/* Safety borders to avoid adjacent gradients of the same color */

.frame .text p,
.frame .text ol { color:var(--color-white); }

.frame.col-1 .text p,
.frame.col-1 .text ol { color:var(--color-white); }

.frame.col-2 .text p,
.frame.col-2 .text ol,

.frame.col-4 .text p,
.frame.col-4 .text ol,
.frame.col-6 .text p,
.frame.col-6 .text ol { color:var(--color-black); }

.frame .content .text p.info { letter-spacing:.1ex; }

.frame.col-1::before,
.frame.col-4::before { content:""; display:block; position:absolute; top:0; left:0; right:0; bottom:0; width:100%; height:100%; max-height:100%; background:var(--color-red); background:radial-gradient(ellipse closest-side, #f008 0%, #f007 35%, #f001 75%, #f000 88%, #f000 100%); mix-blend-mode:screen; pointer-events:none; z-index:-2; }

footer.frame.col-1::before { background:radial-gradient(ellipse at center bottom, #f006 0%, #f005 25%, #f001 40%, #f000 62%, #f000 100%); mix-blend-mode:screen; pointer-events:none; z-index:-2; top:20%; width:300%; left:-100%; }

#navmobile::after,
.frame.col-0::after,
.frame.col-1::after,
.frame.col-2::after,
.frame.col-4::after,
.frame.col-5::after,
.frame.col-6::after { content:""; display:block; position:absolute; top:0; bottom:0; right:0; left:0; width:100%; background:transparent url(../Images/Background/Rauschen-Overlay_small.png) center; background-size:417px 229px; opacity:1; pointer-events:none; z-index:-1; }

#navmobile::after { position:fixed; }

.frame.col-4::before,
.frame.col-4::after { mix-blend-mode:soft-light; }

.frame.col-0 + .frame.col-0 { padding-top:0; }

.frame.col-6 + .frame.col-6 { padding-top:0; }

.frame:first-child:not(.frame-type-heroimage):not(.frame-type-heroslider):not(.frame-type-herotext) { margin-top:13em; }

.frame .content { width:90vw; max-width:80em; margin:0 auto; position:relative; padding:3em 0; box-sizing:border-box; }

.frame.frame-type-herocontent .text p,
.frame.frame-type-herocontent .text ul:not(.icons),
.frame.frame-type-herocontent .text ol { color:var(--color-white); opacity:.95; }



.frame-type-shortcut > * { margin:0!important; }

.frame-type-text header:last-child { padding-top:3em; margin-bottom:-3em; }

.frame-type-text:last-child { padding-bottom:3em; }
.frame-type-text .content > * { max-width:50em; width:calc(100% - 2em); margin-left:auto; margin-right:auto; text-align:left; }
.frame-type-text .content::after { content:""; display:table; clear:both; }

.frame-type-text .content > header:last-child { text-align:center; }

.frame-type-text h1::after,
.frame-type-text h2::after { content:""; display:block; width:1px; height:.33em; background:transparent; margin:0 auto; pointer-events:none; }

.frame-type-text .content > p { margin-bottom:.5em; }

.frame-type-text .content > h2 { font-size:1.5em; max-width:33.33em; }
.frame-type-text .content > h3 { font-size:1em; font-weight:bold; letter-spacing:.1em; margin-top:1em; margin-bottom:.5em; }
.frame-type-text .content > h4 { font-size:1em; font-weight:bold; margin-top:.5em; margin-bottom:.5em; }
.frame-type-text .content > h5 { font-size:1em;  }
.frame-type-text .content > h6 { font-size:1em; }

h2:first-child,
h3:first-child,
h4:first-child,
p:first-child,
ul:first-child { margin-top:0; }

.frame-type-text .content > ul { padding-left:2.4em; }
.frame-type-text .content li { margin:1em 0; }

.text ul { margin-top:.5em; margin-bottom:.25em; padding-left:1.5em; }
.text ul li { position:relative; margin-bottom:.25em; }

.text ol { margin-top:.5em; margin-bottom:.25em; padding-left:1.5em; }
.text ol li { margin-bottom:.25em; padding-left:.2em; }

.text li.soldout { text-decoration:line-through; padding-top:.5em; text-decoration-color:var(--color-red); }
.text li.soldout::after { display:inline-block; content:"Ausverkauft"; font-size:.5em; text-decoration:line-through; background:var(--color-black); color:var(--color-white); font-weight:bold; text-transform:uppercase; letter-spacing:.1em; padding:.3em; position:absolute; left:-1em; top:0; transform:var(--rotate-badge); }
main .text li.soldout::after { text-decoration:none!important; }

html[lang="en"] .text li.soldout::after { content:"Sold out"; }

@media only screen and (max-width:80em) {
    .frame:first-child:not(.frame-type-heroimage):not(.frame-type-heroslider):not(.frame-type-herotext) { margin-top:0; padding-top:5em; }
}

@media only screen and (max-width:40em) {
    section.frame-type-textandslider .text,
    section.frame-type-textandslider.right .text { padding-bottom:0; }

    .frame-type-text .content > h1.seperate,
    .frame-type-text .content > h2.seperate { float:none; }
}

@media only screen and (max-width:50em) {
    .frame-type-text .content > * { width:100%!important; padding-right:0; float:none; }
    .frame-type-text h2 span { font-size:1.1rem; line-height:1.5; }
}

@media only screen and (max-width:32em) {
    .frame-type-text h2 span { font-size:1rem; line-height:1.5; letter-spacing:.02em; }
}

.frame header svg { width:3em; height:auto; fill:var(--color-white); margin-bottom:1.25em; }
.frame header svg + svg  { transform:scaleX(-1); position:relative; left:-.3em; }

.frame header svg + h2 { margin-top:0; }
.frame header svg + h2 > span { margin-top:2em; }

.frame.col-1 header svg { fill:#fff; }

.frame video.bkg { width:100%; height:100%; min-height:100vh; overflow:hidden; position:absolute; object-fit:cover; top:0; right:0; bottom:0; left:0; z-index:-2; }

/* background videos only – content videos (.frame-type-video, textvideo) need their controls */
.herovideo video::-webkit-media-controls-panel,
video.bkg::-webkit-media-controls-panel {

  display: none!important;

  -webkit-appearance: none;

}


.frame video.bkg::--webkit-media-controls-play-button { display:none!important; -webkit-appearance:none; }
.frame video.bkg::-webkit-media-controls-start-playback-button,
.frame video.bkg:host::shadow::-webkit-media-controls-container,
.frame video.bkg::slotted::-webkit-media-controls-container { display:none!important; visibility:hidden!important; opacity:0!important; -webkit-appearance:none!important; }




.frame-type-intro { text-align:center; }
.frame-type-intro .content { padding-top:7em; padding-bottom:7em; }
.frame-type-intro h1,
.frame-type-intro h2 { margin:0 auto .5em; }
.frame-type-intro h1 strong,
.frame-type-intro h2 strong { margin:0 auto; max-width:14.3em; }
.frame-type-intro h1 span,
.frame-type-intro h2 span { margin:0 auto 1.5em; }
.frame-type-intro p { margin:.5em auto 2em; max-width:46em; }

.frame-type-intro .icons { width:66em; max-width:100%; margin:2em auto; }
.frame-type-intro .icons li { width:calc(25%); }

.frame-type-intro .icons .has li { width:calc(25%); }
.frame-type-intro.seating ul.icons { font-size:1em; width:auto; max-width:100%; justify-content:center; }
.frame-type-intro.seating ul.icons li { width:auto; flex-grow:0; padding:.25em 1em; }
.frame-type-intro.seating ul.icons li span { font-weight:normal; }
.frame-type-intro.seating ul.icons li img { width:5em; height:auto; }

.frame-type-intro:has(div.galleryrows)::before { top:auto; height:50%; left:-5em; right:-0em; width:calc(100% + 10em); bottom:-5vw; }

@media only screen and (min-width:40em) {
.frame-type-intro .text ul { margin:.25em auto 1.5em; list-style:none; max-width:46em; }
.frame-type-intro .text ul li:not(:last-child)::after { display:block; content:"—"; margin:-.25em auto -.5em; }

.frame-type-intro .text ol { counter-reset:wjol; margin:.25em auto 1.5em auto; list-style:none; max-width:46em; }
.frame-type-intro .text ol li { position:relative; margin-bottom:.5em; counter-increment:wjol; }
.frame-type-intro .text ol li::before { display:block; content: counters(wjol, '.') ' '; margin:.5em auto 0; }
.frame-type-intro .text ol li::after { display:block; content:"—    —"; top:0; margin:0 auto; position:absolute; left:50%; transform:translateX(-50%); }
}

@media only screen and (max-width:40em) {
    .frame-type-intro .content { padding-top:3.5em; }
    .frame-type-intro .icons li { width:calc(50%); }
}

@media only screen and (max-width:40em) {
    .frame-type-intro .text { text-align:left; }
}

.frame-type-heroimage { min-height:100vh; width:100%; padding:0; }

.frame-type-herovideo { overflow:hidden; }

.frame-type-heroimage picture,
.frame-type-heroimage img.hero,
.frame-type-heroimage video { width:100%; min-height:100vh; overflow:hidden; position:absolute; object-fit:cover; top:0; right:0; bottom:0; left:0; filter:contrast(.9) brightness(.8); }

.frame-type-heroimage figure:not(.hascontent) picture,
.frame-type-heroimage figure:not(.hascontent) img.hero { filter:none; }

.frame-type-heroimage figcaption.content { display:flex; padding:0; flex-direction:column; align-items:center; justify-content:center; min-height:100vh; height:100%; width:100%; position:relative; z-index:5; text-align:center; }
.frame-type-heroimage figure, figcaption { margin:0; padding:0; }

.frame-type-heroimage figure::after { content:""; display:block; position:absolute; top:0; right:0; bottom:0; left:0; pointer-events:inherit; background:#000; opacity:.15; }

.darken-0 figure::after { opacity:0; }
.darken-5 figure::after { opacity:.05; }
.darken-10 figure::after { opacity:.1; }
.darken-15 figure::after { opacity:.15; }
.darken-20 figure::after { opacity:.2; }
.darken-25 figure::after { opacity:.25; }
.darken-30 figure::after { opacity:.3; }
.darken-35 figure::after { opacity:.35; }
.darken-40 figure::after { opacity:.4; }
.darken-45 figure::after { opacity:.45; }
.darken-50 figure::after { opacity:.5; }
.darken-55 figure::after { opacity:.55; }
.darken-60 figure::after { opacity:.6; }
.darken-65 figure::after { opacity:.65; }
.darken-70 figure::after { opacity:.7; }
.darken-75 figure::after { opacity:.75; }
.darken-80 figure::after { opacity:.8; }

.frame-type-heroimage h1,
.frame-type-heroimage h2 { font:bold 3.1em/1 heading,sans-serif; text-transform:uppercase; color:var(--color-white); display:flex; flex-direction:column-reverse; margin:-1em 0 0 0; }
.frame-type-heroimage h1 img,
.frame-type-heroimage h2 img { height:5em; height:min(38vw,30vh); width:auto; }
.frame-type-heroimage h1 strong span,
.frame-type-heroimage h2 strong span { clip:rect(0 0 0 0); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; white-space:nowrap; width:1px; }

.frame-type-heroimage h1 strong span::after,
.frame-type-heroimage h2 strong span::after { content:""; display:block; width:1px; height:.33em; background:transparent; margin:0 auto; pointer-events:none; }

.frame-type-heroimage h1 > span,
.frame-type-heroimage h2 > span { display:block; font:1rem/1.5em text,sans-serif; margin-top:.6em; }

.poweredby { letter-spacing:.025em; text-transform:uppercase; font-size:90%; }
.hospitalityx img { display:block; margin:.75em auto 0; width:11.5em; max-width:75vw; filter:saturate(0) brightness(10); transition:filter .3s ease; }
a.hospitalityx:hover img { filter:saturate(1) brightness(1); }



.frame-type-heroimage ul.icons { margin:2em 0 -2em; }

.frame-type-heroimage.hastext figcaption.content { justify-content:space-around; }
.frame-type-heroimage.hastext h1 img,
.frame-type-heroimage.hastext h2 img,
.frame-type-heroimage.hastext ul.icons { display:none; }

.frame-type-heroimage .subcontent { width:90vw; max-width:80em; margin:2em auto; font-size:95%; position:relative; display:flex; align-items:flex-start; justify-content:space-between; }
.frame-type-heroimage .subcontent > div { box-sizing:border-box; width:50%; padding:0 1em 0 0; }
.frame-type-heroimage .subcontent > div + div { padding:0 0 0 1em; }
.frame-type-heroimage .subcontent div.text { font-size:133%; line-height:1.1em; margin-top:.5em; padding:0 6.5vw; max-width:25em; margin-left:auto; margin-right:auto; }
.frame-type-heroimage .subcontent div.text p { margin:0 0 .5em; }

.frame-type-heroimage a.call2action { padding:.9em 1.5em .75em; margin-right:auto; }

.frame-type-heroimage h1 + a.call2action { border:none; }

.frame-type-herovideo figure { background-size:cover; background-position:center; background-repeat:no-repeat; min-height:100vh; }

@media only screen and (max-width:60em) {
    .frame-type-heroimage figcaption.content > div { font-size:1.75vw; }
    .frame-type-heroimage .subcontent div.text { padding:0 3.5vw; }
}

@media only screen and (max-width:40em), only screen and (max-height:40em) {
    .frame-type-heroimage figcaption.content > div { font-size:3vw; font-size:clamp(1rem, 3vw, 2.5rem); max-width:15em; }
    .frame-type-heroimage h1,
    .frame-type-heroimage h2 { font-size:2em; line-height:1.15em; }
}

@media only screen and (max-width:35em) {
    .frame-type-heroimage .subcontent { flex-direction:column; align-items:center; justify-content:space-between; }
    .frame-type-heroimage .subcontent > div { width:100%; padding:1em 0!important; max-width:25em; }
}

@media only screen and (max-width:30em), only screen and (max-height:25em) {
    .frame-type-heroimage figcaption.content > div { font-size:2vw; font-size:clamp(1rem, 2vw, 1.5rem); max-width:15em; }
    .frame-type-heroimage h1,
    .frame-type-heroimage h2 { font-size:1.5em; line-height:1.15em; }
}


@media only screen and (max-height:30em) {
    .frame-type-heroimage figcaption.content { padding-top:5em; }
}

.frame-type-fakeheader { text-align:center; padding:1em 0 0; margin:0!important; }
.frame-type-fakeheader .content { padding:10em 0 4em; }
.frame-type-fakeheader .content h1,
.frame-type-fakeheader .content h2 { margin:0; }
.frame-type-fakeheader img { width:18em; max-width:50vw; }

@media only screen and (max-width:80em) {
    .frame-type-fakeheader .content { padding-top:1.25em; }
}

@media only screen and (max-width:36em) {
    .frame-type-fakeheader .content { padding-top:6.5em; padding-left:1em; padding-right:1em; }
}


.videocontrols { position:absolute; z-index:10; bottom:8em; right:50%; transform:translateX(1em); color:#fffb; transition:bottom .2s ease-out; }
.videocontrols button { all:unset; outline:revert; display:flex; flex-direction:row-reverse; }
.videocontrols button > * { flex-grow:0; flex-shrink:0;  }
.videocontrols button svg { width:1.5em; margin-left:.5em; }
.videocontrols button svg * { opacity:0; transition:opacity .1s ease; }
.videocontrols button[aria-pressed="true"] svg .pause { opacity:1 }
.videocontrols button:not([aria-pressed="true"]) svg .play { opacity:1; }
.videocontrols button span { opacity:0; transition:opacity 1.5s .6s ease; }
.videocontrols button svg:hover + span { opacity:1; transition:opacity .2s ease; }



.frame.frame-type-herocontent { min-height:80vh; color:#fff; background-image:none; }
.frame-type-herocontent figcaption.content { max-width:46em; min-height:80vh; padding:3em 0; }
.frame.frame-type-heroimage figcaption.content > div { font-size:1em; max-width:80vw; width:50em; }
.frame.frame-type-heroimage figcaption.content > div .logo { max-width:100%; width:6.78em; margin:0 auto; }
.frame.frame-type-herocontent figcaption.content > div { font-size:1em; max-width:calc(100vw - 6em); width:39em; }
.frame-type-herocontent header { margin-bottom:2em; }
.frame-type-herocontent h2 { margin:0 auto; }
.frame-type-herocontent h2 strong { background:transparent; width:auto; height:auto; margin:0 auto; }
.frame-type-herocontent h2 span { margin:0 auto; }
.frame-type-herocontent figure,
.frame-type-herocontent picture,
.frame-type-herocontent figure img { min-height:80vh; height:100%; }
.frame.frame-type-herocontent .text p,
.frame.frame-type-herocontent .text ul:not(.icons),
.frame.frame-type-herocontent .text ol { line-height:1.5; color:var(--color-white); }
.frame-type-herocontent .text h3 + p { margin-top:.5em; }
.frame-type-herocontent .text .icons { justify-content:center; margin-bottom:0em; }
.frame.frame-type-herocontent a.call2action { margin:2em auto 0; position:static; transform:none; border:none; }

.frame-type-herocontent figure::after { content:""; display:block; position:absolute; top:0; right:0; bottom:0; left:0; pointer-events:inherit; background:#000; }


@media only screen and (max-width:40em) {
    .frame.frame-type-heroimage figcaption.content > div { max-width:calc(100vw - 4em); }
}

@media only screen and (max-width:27em) {
    .frame.frame-type-heroimage figcaption.content > div { max-width:calc(100vw - 2em); }
}

@media only screen and (max-width:22em) {
    .frame.frame-type-heroimage figcaption.content > div { max-width:calc(100vw - 1em); }
}



.frame-type-herotext { background:#fff; color:var(--color-black); }
.frame-type-herotext > div { display:flex; align-items:center; justify-content:center; min-height:100vh; width:100vw; margin:0; padding:5em 0; position:relative; flex-direction:column; text-align:center; background-size:cover; background-attachment:fixed; }
.frame-type-herotext > div > div { width:90vw; max-width:80em; margin:0 auto; }
.frame-type-herotext h1,
.frame-type-herotext h2 { font-size:inherit; font-weight:normal; padding:0 .5em; }
.frame-type-herotext h1 strong,
.frame-type-herotext h2 strong { font-weight:inherit; display:block; margin-bottom:1.75em; letter-spacing:.1em; }
.frame-type-herotext h1 span,
.frame-type-herotext h2 span { display:block; font:bold 4em/1 heading,sans-serif; max-width:17em; margin:0 auto; }
.frame-type-herotext h1 span::after,
.frame-type-herotext h2 span::after { content:""; display:block; width:1px; height:.33em; background:transparent; margin:0 auto; pointer-events:none; }

.frame-type-herotext .bodytext { margin:2em auto; max-width:52em; }
.frame-type-herotext .bodytext h3 { font-size:.8em; }

.caps { text-transform:uppercase; letter-spacing:.1em; font-size:95%; }
.capslink { display:table; text-transform:uppercase; letter-spacing:.1em; margin-top:1em; font-size:95%; }

.ce-bodytext p { margin-bottom:2em; line-height:1.4em; letter-spacing:.1ex; }
.ce-bodytext ul { margin:1em auto 0 1.5em; }
.ce-bodytext ul li { margin-top:.5em; line-height:1.2em; letter-spacing:.1ex; }
.ce-bodytext p:last-child { margin-bottom:0; }
.frame-type-text a.call2action,
.ce-bodytext a.call2action { margin:0 2em 0 0; }
.frame.left .ce-bodytext a.call2action { margin:0 0 0 2em; }
.ce-bodytext a.call2action:hover { background:#fff; color:#dc4914; text-decoration-color:#dc4914; }

.ce-bodytext p.intro,
.bodytext p.intro,
.frame-type-text p.intro { font-size:95%; margin-bottom:3em; }


/* Gallery rows */

.galleryrows { margin:-2em auto 0; padding-bottom:4em; max-width:110em; }
.galleryrows .gallery { display:flex; justify-content:center; align-items:flex-start; flex-wrap:wrap-reverse; margin:0 -17.5% -3.5em; padding:0; }
.galleryrows .gallery li { list-style:none; margin:0; padding:.75em; line-height:0; width:20%; box-sizing:border-box; }
.galleryrows .gallery li img { object-fit:cover; border-radius:var(--borderradius); }


@media only screen and (max-width:40em) {
    .galleryrows .gallery { margin:0; padding:0 .25em; }
    .galleryrows .gallery li { width:50%; padding:.25em; }
    .galleryrows .gallery li:nth-child(1) { display:none; }
}



/* RTE styles */

.frame-type-textimage.layout-1 ul,
.frame-type-textimage .intro ul { margin-left:0!important; }
.frame-type-textimage.layout-1 ul li,
.frame-type-textimage .intro ul li { list-style:none; background:transparent url(../Icons/checkmark.svg) left .3em no-repeat; background-size:auto .8em; padding-left:1.7em!important; }

.content ul.checkmark { margin-left:0!important; }
.content ul.checkmark li { list-style:none; padding-left:1.5em!important; position:relative; }
.content ul.checkmark li::before { content:""; width:1em; height:1em; display:inline-block; position:absolute; left:-.5em; top:.1em; background:transparent url(../Icons/checkmark.svg) left .3em no-repeat; background-size:.9em; }

.frame.col-2 .text ul.checkmark li::before { filter:brightness(.5) sepia(100%) saturate(100) brightness(.95); }

.content a.urlbreak { overflow-wrap:break-word; word-wrap:break-word; -ms-word-break:break-all; word-break:break-all; word-break:break-word; -ms-hyphens:auto; -moz-hyphens:auto; -webkit-hyphens:auto; hyphens:auto; }
.content a.urltruncate { max-width:100%; overflow-wrap:break-word; word-wrap:break-word; -webkit-hyphens:auto; -ms-hyphens:auto; -moz-hyphens:auto; hyphens:auto; }


.splide__arrows { width:90vw; max-width:80em; margin:0 auto; position:relative; box-sizing:border-box; }
.splide__arrow { background:transparent; font-weight:bold; font-size:1.5em; top:50%; margin-top:-.75em; height:1.5em; width:1.5em; }
.splide__arrow { opacity:1 !important; filter:none; background:var(--color-red); color:var(--color-white); border-radius:0; padding:0 0 .25em; transform:var(--rotate-badge); }
.splide__arrow .label { clip:rect(0 0 0 0); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; white-space:nowrap; width:1px; }
.splide__arrow:hover { background:var(--color-white); color:var(--color-red); }


.frame-type-heroslider .splide__pagination { bottom:1.5em; }
.splide__pagination__page { background:var(--color-white)!important; border-radius:.1em; transition:all .3s ease; margin:0 .2em; opacity:1; }
.splide__pagination__page.is-active { width:1.5em; transform:none; }

@media only screen and (max-width:60em) {
    .frame-type-heroslider .splide__arrow { bottom:4em; width:3em; }
}

@media only screen and (max-width:40em) {
    .frame-type-heroslider li figure .pic { padding-bottom:130%; }
    .frame-type-heroslider .splide__arrows { bottom:0; height:1em; margin-bottom:.5em; }
    .frame-type-heroslider .splide__arrow { bottom:0; width:7em; }
}

@media only screen and (max-width:30em) {
    .frame-type-heroslider .splide__arrow { bottom:0; width:3.5em; }
}


/* Hero Content Slider */

.frame-type-herocontentslider { min-height:100vh; }
.frame-type-herocontentslider > header { position:absolute; top:1em; width:100%; z-index:5; display:flex; flex-direction:column-reverse; }
.frame-type-herocontentslider > header h2 { max-width:unset; text-align:center; }

.frame-type-herocontentslider ul.tabs { margin:1.5em 0 2em }
.frame-type-herocontentslider ul.tabs:first-child { margin-top:3em; }
.frame-type-herocontentslider > header h2:last-child { margin-top:1em; }

.frame-type-herocontentslider .splide__list li { width:100%; }
.frame-type-herocontentslider li figure div.pic { width:100%; flex-shrink:0; }
.frame-type-herocontentslider li img { position:absolute; left:0; height:100%; width:100%; object-fit:cover; }

.frame-type-herocontentslider figure,
.frame-type-herocontentslider picture,
.frame-type-herocontentslider figure img { min-height:100vh; height:100%; }

.frame-type-herocontentslider figure img { filter:brightness(.95); }
.frame-type-herocontentslider .darken-40 figure img { filter:brightness(.9); }
.frame-type-herocontentslider .darken-45 figure img { filter:brightness(.9); }
.frame-type-herocontentslider .darken-50 figure img { filter:brightness(.8); }
.frame-type-herocontentslider .darken-55 figure img { filter:brightness(.8); }
.frame-type-herocontentslider .darken-60 figure img { filter:brightness(.7); }
.frame-type-herocontentslider .darken-65 figure img { filter:brightness(.7); }
.frame-type-herocontentslider .darken-70 figure img { filter:brightness(.6); }
.frame-type-herocontentslider .darken-75 figure img { filter:brightness(.6); }
.frame-type-herocontentslider .darken-80 figure img { filter:brightness(.45); }
.frame-type-herocontentslider .darken-85 figure img { filter:brightness(.45); }
.frame-type-herocontentslider .darken-90 figure img { filter:brightness(.3); }
.frame-type-herocontentslider .darken-95 figure img { filter:brightness(.3); }

.frame-type-herocontentslider figcaption.content { padding-top:calc(33vh - 1em); justify-content:flex-start; }

.frame-type-herocontentslider .splide__arrows { position:absolute; top:0; right:calc((100vw - 90vw) / 2 - 2.66em); bottom:0; left:calc((100vw - 90vw) / 2 - 2.66em); width:unset; max-width:unset; height:100%; max-height:unset; pointer-events:none; }
.frame-type-herocontentslider .splide__arrows button { pointer-events:all; }
.frame-type-herocontentslider .splide__arrow { opacity:1 !important; filter:none; background:var(--color-red); border-radius:0; padding:0 0 .25em; transform:var(--rotate-badge); }
.frame-type-herocontentslider .splide__arrow:hover  { background:var(--color-white); color:var(--color-red); }

.frame-type-herocontentslider h3 { display:block!important; font:bold 3em/1 heading,sans-serif!important; text-transform:uppercase; text-align:center; max-width:9em; margin:0 auto .75em; text-shadow:0 0 .5em #000; position:relative; -ms-hyphens:auto; -moz-hyphens:auto; -webkit-hyphens:auto; hyphens:auto; hyphenate-limit-chars:auto 5 4; }
.frame-type-herocontentslider h3 i { display:inline-block; margin:0 auto 1em; font:bold calc(.8em / 3)/1.1 heading,sans-serif; background:var(--color-white); transform:var(--rotate-badge); color:var(--color-black); padding:.25em .45em; text-shadow:none; }

.frame-type-herocontentslider p { margin:1em auto; }

@media only screen and (max-width:60em) {
    .frame-type-herocontentslider h3 { hyphenate-limit-chars: auto 4 4; }
}

@media only screen and (max-width:40em) {
    .frame-type-herocontentslider figcaption.content { padding-top:15em; }
    .frame-type-herocontentslider h3 { font-size:2em!important; line-height:1.1!important; }
    .frame-type-herocontentslider h3 i { font-size:.4em; }
}

@media only screen and (max-width:32em) {
    .frame-type-herocontentslider figcaption.content { padding-top:7em; }
    .frame-type-herocontentslider h3 { font:bold 1.5em/1.1 heading,sans-serif!important; }
}

/* Hero SVG Image */

.frame-type-herosvg .content { padding-top:7em; padding-bottom:7em; }
.frame-type-herosvg img { height:auto; width:66em; max-width:100%; }
.frame-type-herosvg.colorize img { filter:sepia(1) saturate(.7) hue-rotate(45deg); }

@media (orientation: portrait) {
    .frame-type-herosvg .content { padding-top:3em; padding-bottom:3em; }
    .frame-type-herosvg img { height:auto; }
}

@media only screen and (max-width:40em) {
    .frame-type-herosvg img { max-width:calc(100vw - 3em); }
}



/* Asymetrical Sliders */

.frame-type-aslider > header { max-width:90em; margin:0 auto; padding:3em 1.5em 1.5em; text-align:center; }
.frame-type-aslider > header > h2:last-child { margin-bottom:0; }
.frame-type-aslider > header > h2 span { margin:1em auto 1em; }

.frame-type-aslider { padding:2em 0 1em; }
.frame-type-aslider .content { width:100%; max-width:unset; padding-top:0; }

.frame-type-aslider .splide__list { width:100%; }
.frame-type-aslider .splide__list li { width:100%; }
.frame-type-aslider li figure { display:flex; flex-direction:column; align-items:center; position:relative; }
.frame-type-aslider li figure div.pic { position:relative; width:60%; flex-shrink:0; }
.frame-type-aslider li figure figcaption { width:100%; padding:2em 3em 2em; display:flex; flex-direction:column; align-items:center; }
.frame-type-aslider li figure figcaption h3 i { text-transform:none; font-style:normal; color:var(--color-greyish-text); white-space:nowrap; }
.frame-type-aslider li figure figcaption p { max-width:80%; margin:1em auto 0; }

.frame-type-aslider li figure div.pic h3 { position:absolute; bottom:2.5em; left:2.5em; font-size:1em; z-index:2; font-weight:bold; text-transform:uppercase; text-align:left; max-width:24em; }
.frame-type-aslider li figure div.pic h3 strong { font:bold 2.25em/1 heading,sans-serif; text-shadow:0 0 .5em #000; }
.frame-type-aslider li figure div.pic h3 span { position:absolute; top:-1.33em; left:0; font:bold .92em/1.1 heading,sans-serif; margin:0 auto 0 0; background:var(--color-black); transform:var(--rotate-badge); color:var(--color-white); padding:.5em .5em; }


.frame-type-aslider li figcaption { opacity:0; transition:opacity .3s ease; }
.frame-type-aslider li.is-active figcaption { opacity:1; transition-duration:1.5s; }
.frame-type-aslider li.is-prev figcaption,
.frame-type-aslider li.is-next figcaption { opacity:0; }

.frame-type-aslider li .splide__track,
.frame-type-aslider li picture,
.frame-type-aslider li picture > img { width:100%; height:auto; border-radius:var(--borderradius); }

.frame-type-aslider li picture > img { filter:brightness(.75); }

.frame-type-aslider li picture + aside { bottom:1.5em; }

.text .icons { justify-content:space-between; flex-wrap:nowrap; margin:-1.5em -1em 1em; width:calc(100% + 1em); }
.text .icons li { flex-grow:0; min-height:unset; padding:0 .2em; opacity:1; max-width:8em; margin:0; }
.text .icons li img,
.text .icons li svg { width:100%; max-width:6em; height:auto; margin:0 auto; }
.text ul.icons li span { display:block; margin-top:-.5em; -ms-hyphens:auto; -moz-hyphens:auto; -webkit-hyphens:auto; hyphens:auto; hyphenate-limit-chars:auto 6 3; }

.frame-type-aslider .text .icons { width:100%; max-width:22em; }

.frame-type-aslider .text .icons li img,
.frame-type-aslider .text .icons li svg { max-width:3.2em; }
.frame-type-aslider .text .icons li span { font-size:.75em; }

.frame-type-aslider .content h3 { font:bold 1.25em/1.1 heading,sans-serif; text-transform:none; letter-spacing:unset; }

.frame-type-aslider .splide__arrows { position:relative; top:calc(3em + 12vw); right:0; bottom:unset; left:0; width:100%; max-width:100%; }
.frame-type-aslider .splide__arrow { opacity:1!important; filter:none; background:var(--color-red); border-radius:0; padding:0 0 .25em; transform:var(--rotate-badge); }
.frame-type-aslider .splide__arrow svg { fill:var(--color-black); }
.frame-type-aslider .splide__arrow--prev { left:24.5%; top:0; bottom:unset; }
.frame-type-aslider .splide__arrow--next { right:24.5%; top:-1vw; bottom:unset; }
.frame-type-aslider .splide__arrow:hover { background:var(--color-white); color:var(--color-red); }

.frame-type-aslider.col-1 .splide__arrow svg { fill:var(--color-black); }

.frame-type-aslider ul.icons.seating { font-size:1em; width:20em; max-width:100%; justify-content:center; }
.frame-type-aslider ul.icons.seating li img { margin:0 auto; }
.frame-type-aslider ul.icons.seating li.notitle img { opacity:.4; }

@media only screen and (max-width:100em) {
    .frame-type-aslider li figure div.pic h3 { bottom:1.5em; left:1.5em; }
}

@media only screen and (max-width:80em) {
    .frame-type-aslider li figure div.pic h3 {font-size:.8em; }
}

@media only screen and (max-width:60em) {
    .frame-type-aslider { padding-bottom:0; }
    .frame-type-aslider .content { padding-left:10vw!important; padding-right:10vw!important; }

    .frame-type-aslider > header h2 { margin-bottom:0; }
    .frame-type-aslider > header ul { margin-top:1.5em; }

    .frame-type-aslider .splide__list > li { width:100%; }
    .frame-type-aslider > .splide__track > ul > li { opacity:1!important; padding:0 1em!important; }
    .frame-type-aslider li figure { left:0; flex-direction:column; }
    .frame-type-aslider li figure div.pic { width:calc(100% - 4em); margin: 0 auto; }
    .frame-type-aslider li figure div.pic picture,
    .frame-type-aslider li figure div.pic img { aspect-ratio:2; }

    .frame-type-aslider li figure figcaption { display:block; width:100%; padding:2em 0 2em 0; }

    .frame-type-aslider .splide__arrows { position:relative; bottom:unset; top:calc(3em + 17vw); }
    .frame-type-aslider .splide__arrow--prev { left:1em; }
    .frame-type-aslider .splide__arrow--next { right:1em; }

    .frame-type-aslider ul.icons { width:33em; max-width:100%; }
    body main .frame-type-aslider ul.icons li { width:25%; }

    .frame-type-aslider li picture + aside { bottom:3.5em; }

    .frame-type-aslider li figure div.pic { display:flex; flex-direction:column-reverse; }
    .frame-type-aslider li figure div.pic h3 { position:relative; font-size:.66em; bottom:auto; top:-1.25em; margin-left:0; margin-bottom:-1.5em; }
    .frame-type-aslider li figure div.pic h3 strong { }
    .frame-type-aslider li figure div.pic h3 span { }

    .frame-type-aslider li figure figcaption { display:block; width:100%; padding:1.25em 3em 2em 3em; margin-top:0em; text-align:left; }
    .frame-type-aslider li figure figcaption * { margin-left:0!important; max-width:100%!important; }
}

@media only screen and (max-width:40em) {
    .frame-type-aslider .content { padding-left:2vw!important; padding-right:2vw!important; padding-top:0; margin-top:2em; }
    .frame-type-aslider > header { padding-bottom:0; }

    .frame-type-aslider > header li { padding:0 .5em; }

    .frame-type-aslider .splide__list li { width:100%; }

    .frame-type-aslider li figure div.pic { width:100%; }

    .frame-type-aslider li figure figcaption { padding-left:1em; padding-right:1em; }
    
    .frame-type-aslider .splide__arrows { font-size:.6em; top:calc(5em + 17vw); }    
    .frame-type-aslider .splide__arrow--prev { left:0; }
    .frame-type-aslider .splide__arrow--next { right:0; }

    .frame-type-aslider li picture + aside { bottom:1.5em; }

    .frame-type-aslider .content h3 { font:bold 1.2em/1.1 heading,sans-serif; }

}


/* Slider pagination tabs buttons */

ul.tabs { padding:0; margin:-.5em 0 0; text-align:center; }
ul.tabs li { display:inline-block; width:auto; list-style:none; opacity:1; padding:.2em .5em;  }
ul.tabs button { font-size:.8em; font-weight:bold; text-transform:uppercase; letter-spacing:.05em; padding:.4em .5em .5em; transition:background-color .2s ease; }
ul.tabs li.active button { background:var(--color-red)!important; color:var(--color-white); }
ul.tabs li button:hover { background:var(--color-red-transparent)!important; }
ul.tabs li:not(.active) button { cursor:pointer; }

@media only screen and (max-width:60em) {
    ul.tabs { margin-top:1.5em!important; min-height:2.5em; }
}

@media only screen and (max-width:30em) {
    ul.tabs li { display:none; }
    ul.tabs.lastactive li:first-child,
    ul.tabs li.active + li { display:inline-block; }
    ul.tabs li::after { display:none!important; }
    ul.tabs li button { background:var(--color-white)!important; color:var(--color-black)!important; }
    ul.tabs li button:hover { background:var(--color-red)!important; color:var(--color-white)!important; }
    ul.tabs li button::after { content:" >"; position:relative; display:inline-block; top:-.31ex; margin-left:.5em; letter-spacing:-.2em; transform:scaleY(1.33); }
}


/* Video im Inhalt (curvehotel_video) */

section.frame-type-video .content { padding:3.5em 0 3em; }
section.frame-type-video figure.video { position:relative; margin:0; line-height:0; overflow:hidden; border-radius:var(--borderradius); box-shadow:.5em .5em 2.5em #0006; background:var(--color-black); }
section.frame-type-video video { display:block; width:100%; height:auto; object-fit:contain; }

section.frame-type-video .videoplay { all:unset; position:absolute; top:50%; left:50%; width:4em; height:4em; transform:translate(-50%, -50%) var(--rotate-badge); background:var(--color-red); box-shadow:0 .5em 1.5em #0009; cursor:pointer; transition:transform .2s ease-out, background-color .2s ease-out; }
section.frame-type-video .videoplay::after { content:""; position:absolute; top:50%; left:54%; transform:translate(-50%, -50%); border-style:solid; border-width:.8em 0 .8em 1.3em; border-color:transparent transparent transparent var(--color-white); transition:border-color .2s ease-out; }
section.frame-type-video .videoplay:hover,
section.frame-type-video .videoplay:focus-visible { background:var(--color-white); transform:translate(-50%, -50%) var(--rotate-badge) scale(1.1); }
section.frame-type-video .videoplay:hover::after,
section.frame-type-video .videoplay:focus-visible::after { border-left-color:var(--color-red); }
section.frame-type-video .videoplay:focus-visible { outline:.2em solid var(--color-red); outline-offset:.2em; }
section.frame-type-video figure.has-played .videoplay { display:none; }

/* landscape: header on top, video as wide as three of the four tile columns (see .cols4 .tiles) */
section.frame-type-video.landscape .text { max-width:50em; margin:0 auto 2.5em; }
section.frame-type-video.landscape header h2 { margin:0 auto; }
section.frame-type-video.landscape .text p { max-width:40em; margin:1em auto 0; }
section.frame-type-video.landscape figure.video { width:calc((100% + 2em) * .75 - 2em); margin:0 auto; }
section.frame-type-video.landscape video { aspect-ratio:16/9; }

/* portrait: narrow video that fits the screen height, text next to it – aligned to the 4-column tile grid
   (one column = (100% + 2em) / 4, see .cols4 .tiles):
   video left  -> text starts at the third column (= middle tile of a centered 3-tile row) and runs to the right edge
   video right -> video ends half a column before the right edge (= right edge of the landscape video),
                  text keeps a comfortable line length */
section.frame-type-video.portrait .content { display:grid; align-items:center; }
section.frame-type-video.portrait .videowrap,
section.frame-type-video.portrait .textwrap { grid-row:1; }
section.frame-type-video.portrait video { aspect-ratio:9/16; }
section.frame-type-video.portrait .textwrap { text-align:left; }
section.frame-type-video.portrait .text h2 { margin:0 0 .5em 0; }
section.frame-type-video.portrait .text h2 span { margin-left:0; }
section.frame-type-video.portrait .text p { letter-spacing:.1ex; }

section.frame-type-video.portrait.left .content { grid-template-columns:calc((100% + 2em) * .375) 1fr; }
section.frame-type-video.portrait.left .videowrap { grid-column:1; }
section.frame-type-video.portrait.left .textwrap { grid-column:2; }
section.frame-type-video.portrait.left figure.video { width:min(100% - 3em, calc((100vh - 10em) * 9 / 16)); width:min(100% - 3em, calc((100svh - 10em) * 9 / 16)); }

section.frame-type-video.portrait.right .content { grid-template-columns:1fr min(calc((100% + 2em) * .375 - 3em), calc((100vh - 10em) * 9 / 16)) calc((100% + 2em) * .125); grid-template-columns:1fr min(calc((100% + 2em) * .375 - 3em), calc((100svh - 10em) * 9 / 16)) calc((100% + 2em) * .125); }
section.frame-type-video.portrait.right .textwrap { grid-column:1; padding-right:4em; }
section.frame-type-video.portrait.right .text p { max-width:33em; }
section.frame-type-video.portrait.right .videowrap { grid-column:2; }

/* portrait, red gradient (col-1 / col-4): the glow is centered behind the video instead of the section.
   --video-x is the video's center, derived from the same tile grid as the layout above
   (--cw = width of .frame .content, --col = one tile column, --video-w = video width) */
section.frame-type-video.portrait { --cw:min(90vw, 80em); --col:calc((var(--cw) + 2em) / 4); --video-w:min(calc(var(--col) * 1.5 - 3em), calc((100vh - 10em) * 9 / 16)); }
section.frame-type-video.portrait.left { --video-x:calc(50% - var(--cw) / 2 + var(--video-w) / 2); }
section.frame-type-video.portrait.right { --video-x:calc(50% + var(--cw) / 2 - var(--col) / 2 - var(--video-w) / 2); }
section.frame-type-video.portrait.col-1::before,
section.frame-type-video.portrait.col-4::before { background:radial-gradient(ellipse calc(var(--video-w) * 1.4) 55% at var(--video-x) 50%, #f008 0%, #f007 35%, #f001 75%, #f000 88%, #f000 100%); }

/* medium screens: landscape video uses the full content width, so the right-aligned portrait video follows it */
@media only screen and (max-width:90em) {
    section.frame-type-video.portrait.right { --video-x:calc(50% + var(--cw) / 2 - var(--video-w) / 2); }
    section.frame-type-video.landscape figure.video { width:100%; }
    section.frame-type-video.portrait.right .content { grid-template-columns:1fr min(calc((100% + 2em) * .375 - 3em), calc((100vh - 10em) * 9 / 16)) 0; grid-template-columns:1fr min(calc((100% + 2em) * .375 - 3em), calc((100svh - 10em) * 9 / 16)) 0; }
}

@media only screen and (max-width:50em) {
    section.frame-type-video.portrait .content { display:flex; flex-direction:column-reverse; align-items:stretch; gap:2em; }
    section.frame-type-video.portrait.right .textwrap { padding-right:0; }
    section.frame-type-video.portrait .videowrap { width:min(100%, calc((100vh - 8em) * 9 / 16)); width:min(100%, calc((100svh - 8em) * 9 / 16)); margin:0 auto; }
    section.frame-type-video.portrait.left figure.video { width:100%; }
    section.frame-type-video.portrait.col-1::before,
    section.frame-type-video.portrait.col-4::before { background:radial-gradient(ellipse closest-side, #f008 0%, #f007 35%, #f001 75%, #f000 88%, #f000 100%); }
}

/* Image next to text */

section.frame-type-textimage { padding:3em 0; }
section.frame-type-textimage > header { width:100%; max-width:60em; margin:0 auto; text-align:center; }
section.frame-type-textimage > header h2 span { margin-top:.5em; }
section.frame-type-textimage .content { position:relative; margin:0 auto; display:flex; align-items:stretch; }
section.frame-type-textimage .textwrap { width:50%; padding:0; height:auto; position:relative; z-index:5; }
section.frame-type-textimage .text { width:100%; min-height:100%; padding:0 2em 1em; box-sizing:border-box; position:relative; z-index:5; display:flex; flex-direction:column; justify-content:space-between; }
section.frame-type-textimage header + .content .text { justify-content:center; }
section.frame-type-textimage .text h2 { margin:0; }
section.frame-type-textimage .text p,
section.frame-type-textimage .content header p { max-width:26em; max-width:33em; letter-spacing:.1ex; }
section.frame-type-textimage .content header h2 { max-width:11em; margin-left:0; }
section.frame-type-textimage .imagewrap  { position:relative; width:50%; padding:0; line-height:0; }
section.frame-type-textimage figure  { position:relative; width:100%; height:auto; overflow:hidden; border-radius:var(--borderradius); box-shadow:.5em .5em 2.5em #0006; }
section.frame-type-textimage .ce-textpic { position:relative; width:50%; padding:0; line-height:0; overflow:hidden; }
section.frame-type-textimage .imagewrap picture,
section.frame-type-textimage .imagewrap img { width:100%; height:auto; }

section.frame-type-textimage.left .content { flex-direction:row-reverse; }
section.frame-type-textimage.left .splide { margin-right:0; margin-left:-2em; }


header ul.icons { justify-content:center; }
header ul.icons li { flex-grow:0; min-height:unset; padding:0 .2em; opacity:1;  }
header ul.icons li img,
header ul.icons li svg { width:100%; max-width:3.5em; height:auto; }
header ul.icons li span { display:block; font-size:.8em; padding:.5em; letter-spacing:.05em; -ms-hyphens:auto; -moz-hyphens:auto; -webkit-hyphens:auto; hyphens:auto; }
header ul.icons li span strong { display:block; font-weight:normal; }

@media only screen and (max-width:60em) {
    section.frame-type-textimage .sliderwrap { width:40%; }
    section.frame-type-textimage .textwrap { width:60%; }
    section.frame-type-textimage .text { padding:0 0 1em 2em; min-height:unset; }
    section.frame-type-textimage.right .text { padding:0 2em 1em 0; }
    section.frame-type-textimage .splide { margin:0!important; }
}

@media only screen and (max-width:40em) {
    section.frame-type-textimage .content { flex-direction:column!important; }
    section.frame-type-textimage .content > * { width:100%; }
    section.frame-type-textimage .text { padding:0 0 1em; }
}


/* Slider next to text */

section.frame-type-textandslider { padding:3.5em 0 3em; }
section.frame-type-textandslider .content { position:relative; margin:0 auto; display:flex; }
section.frame-type-textandslider .textwrap { width:50%; padding:0; height:auto; position:relative; z-index:5; display:flex; }
section.frame-type-textandslider .text { width:100%; padding:0 4em 1em 0; box-sizing:border-box; position:relative; z-index:5; }
section.frame-type-textandslider .text h2 { margin:0 0 .5em 0; }
section.frame-type-textandslider .text h2 strong { margin-bottom:0; }

section.frame-type-textandslider .text h3 { max-width:11em; margin-left:0; }

section.frame-type-textandslider .text h1 span,
section.frame-type-textandslider .text h2 span,
section.frame-type-textandslider .text h3 span { margin-left:0; }

section.frame-type-textandslider .sliderwrap { width:50%; }
section.frame-type-textandslider .splide { width:100%; overflow:hidden; border-radius:var(--borderradius); }
section.frame-type-textandslider .splide li { overflow:hidden; padding:0 0 100%; transition:padding .2s ease; }
section.frame-type-textandslider .splide picture,
section.frame-type-textandslider .splide img { position:absolute; left:0; height:100%; width:100%; object-fit:cover; }

section.frame-type-textandslider .text { min-height:25em; display:flex; flex-direction:column; justify-content:center; text-align:left; }

section.frame-type-textandslider.left .content { flex-direction:row-reverse; }
section.frame-type-textandslider.left .text { padding:0 0 1em 4em; }
section.frame-type-textandslider.left .splide { margin-right:0; }

section.frame-type-textandslider.col-5 { min-height:calc(var(--vh, 1vh) * 100); overflow:hidden; }
section.frame-type-textandslider.col-5 .content { position:static; display:block; padding:0 1em; }
section.frame-type-textandslider.col-5 .textwrap { width:100%; height:100%; font-size:.9; }
section.frame-type-textandslider.col-5 .textwrap > .text { font-size:.83em; padding:2em; margin:0 auto; min-height:calc(100vh - 10em); text-align:center; background:transparent; display:flex; flex-wrap:wrap; flex-direction:row; align-content:space-between; }
section.frame-type-textandslider.col-5 .textwrap > .text > * { width:100%; max-width:unset; }
section.frame-type-textandslider.col-5 .textwrap > .text > .textpart { width:20em; order:10; align-self:flex-start; }
section.frame-type-textandslider.col-5 .textwrap header h2 { font-size:3em; line-height:1; margin:0 auto .5em; }
section.frame-type-textandslider.col-5 .textwrap header h2 span { font:calc(.92em / 3) / 1 text,sans-serif; font-weight:bold; margin:0 auto .5em; }
section.frame-type-textandslider.col-5 .textwrap + div,
section.frame-type-textandslider.col-5 .textwrap + div * { position:absolute; top:0; right:0; bottom:0; left:0; width:100%; height:100%; z-index:-1; object-fit:cover; }
section.frame-type-textandslider.col-5 .textwrap + div img { filter:brightness(.3); }
section.frame-type-textandslider.col-5 .text .icons li { margin:0 2em; }
section.frame-type-textandslider.col-5 .text .icons li img { max-width:5.5em; }
section.frame-type-textandslider.col-5 .splide { border-radius:0; }
section.frame-type-textandslider.col-5 .text .capslink { margin-left:auto; margin-right:auto; }


section.frame-type-textandslider .splide__pagination { height:3.5em; }
section.frame-type-textandslider .splide__pagination li { padding:0!important; }

section.frame-type-textandslider .splide__arrows { width:100%; height:100%; position:absolute; top:0; pointer-events:none; }
section.frame-type-textandslider .splide__arrow  { opacity:1!important; filter:none; pointer-events:all; }
section.frame-type-textandslider .splide__arrow svg { fill:var(--color-black); }

section.frame-type-textandslider .sliderwrap > picture,
section.frame-type-textandslider .sliderwrap > picture > img { border-radius:var(--borderradius); }


@media only screen and (max-width:60em) {
    section.frame-type-textandslider .sliderwrap { width:40%; }
    section.frame-type-textandslider .textwrap { width:60%; }
    section.frame-type-textandslider .text { padding:0 0 0 1em; min-height:unset; }
    section.frame-type-textandslider.right .text { padding:0 1em 0 0; }
    section.frame-type-textandslider.col-5 .textwrap > .text { max-width:unset; padding:1.33em!important; }

    section.frame-type-textandslider.col-5 .textwrap header h2 { font-size:2em; line-height:1.1; }

    section.frame-type-textandslider .splide { margin:0!important; }

    section.frame-type-textandslider ul.icons { width:33em; max-width:100%; }
    body main section.frame-type-textandslider ul.icons li { width:25%; }

}

@media only screen and (max-width:40em) {
    section.frame-type-textandslider { padding:3em 0 3em; }
    section.frame-type-textandslider .content { flex-direction:column-reverse!important; }
    section.frame-type-textandslider .content > * { width:100%; }
    section.frame-type-textandslider .textwrap { margin-top:1em; max-width:100%; }
    section.frame-type-textandslider .text { padding:0!important; }
    section.frame-type-textandslider.col-5 .textwrap { width:100%; max-width:100%; }
    section.frame-type-textandslider.col-5 .textwrap > .text header { padding-top:1em; text-align:center; }
    section.frame-type-textandslider.col-5 ul.icons { margin:1em auto 4em; }
    section.frame-type-textandslider .splide li { padding-bottom:60%; }
    main h1 span,
    main h2 span { margin-bottom:1em; }

    section.frame-type-textandslider:first-child .content { padding-top:0; }

    section.frame-type-textandslider header { margin-top:.5em!important; }

    body main section.frame-type-textandslider ul.icons li { width:25%; }
    section.frame-type-textandslider.col-5 .text .icons li { margin-bottom:1em; }
}

@media only screen and (max-width:30em) {
    section.frame-type-textandslider.col-5 .textwrap { padding-right:0; }
}

.splide__progress { position:absolute; bottom:0; left:0; right:0; z-index:1; }
.splide__progress__bar { height:.33em; background:#fff4; }

/* Image copyright captions */

picture + aside,
figcaption + aside { color:#fff; text-transform:uppercase; font-size:.8em; letter-spacing:.05em; margin:0; position:absolute; bottom:2.1em; right:2.1em; text-align:right; max-width:36%; opacity:.7; transition:opacity .2s ease-out; text-shadow:0 0 1em #000, 0 0 1em #000; }
.frame picture + aside:hover,
.frame figcaption + aside:hover { opacity:1; text-shadow:0 0 2em #000, 0 0 1em #000, 0 0 1em #000; }

.splide__slide.is-active aside { pointer-events:all; }
.frame-type-herocontent .splide__slide:not(.is-active) aside { opacity:0!important; }

.frame-type-heroimage figcaption + aside { opacity:.5; z-index:5; transform-origin:bottom right; right:1em; bottom:1.2em; transform:rotate(-90deg) translateX(100%); max-width:42vh; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }

@media only screen and (max-width:72em) {
    section.frame-type-textandslider picture + aside { right:1.2em; }
}

@media only screen and (max-width:66em) {
    section.frame-type-textandslider picture + aside { margin:0 auto; bottom:.5em; right:2em; left:2em; text-align:center; max-width:calc(100% - 1em); }
}

/* Video next to text */

section.frame-type-textandslider.video figure { position:relative; width:100%; height:auto; overflow:hidden; border-radius:var(--borderradius); box-shadow:.5em .5em 2.5em #0006; }
section.frame-type-textandslider.video video { display:block; width:100%; height:100%; max-height:90vh; margin-bottom:-1px; object-fit:cover; }
section.frame-type-textandslider.video .text { min-height:unset; }
section.frame-type-textandslider.video.left .splide { margin-right:0; margin-left:-2em; }

/* Image next to text */

section.frame-type-textpic picture,
section.frame-type-textpic img { position:absolute; height:100%; width:100%; object-fit:cover; }
section.frame-type-textandslider .imagewrap { width:55%; overflow:hidden; border-radius:var(--borderradius); box-shadow:.5em .5em 2.5em #0006; overflow:hidden; padding:0 0 66%; transition:padding .2s ease; }

section.frame-type-textandslider.left .imagewrap { margin-right:0; margin-left:-2em; }


/* Kacheln */

.frame-type-tiles header { max-width:90em; margin:0 auto; padding-top:3em; text-align:center; }
.frame-type-tiles h2 { display:block; font:bold 2.5em/1 heading,sans-serif; text-align:center; margin:0 auto 0; }
.frame-type-tiles header p { max-width:40em; text-align:center; margin:1em auto 5em; }

.tiles { display:flex; margin:0 -1em; padding:0; list-style:none; width:calc(100% + 2em); flex-wrap:wrap; justify-content:center; }
.tiles li { position:relative; box-sizing:border-box; width:calc(100% / 3); padding:0 1em; margin:0 0 2em; display:flex; flex-direction:column-reverse; justify-content:start; }

.cols2 .tiles { justify-content:flex-start; }
.cols2 .tiles.num-1 { justify-content:center; }
.frame-type-tiles.cols2 .tiles.num-1 .tile figcaption { align-items:center; text-align:center; }
.frame-type-tiles.cols2 .tiles.num-1 .tile ul.icons { justify-content:center; margin-left:auto; margin-right:auto; }

.frame-type-tiles.cols2 ul.icons li img[src*="Seating/"] { padding:.2em; }

.cols4 .tiles li { width:calc(100% / 4); }
.cols2 .tiles li { width:calc(100% / 2); }

.tile .img { aspect-ratio:1; border-radius:var(--borderradius); overflow:hidden; }
.tile .img picture,
.tile .img img { width:100%; height:100%; object-fit:cover; transition:all .3s ease-out; }

.tile .img a:hover img { filter:hue-rotate(-6deg) saturate(1.2) brightness(.7); }

.tile .content { padding:2em 2em 1em; position:static; }
.tile figure { flex-grow:1; display:flex; flex-direction:column; }
.tile figcaption { text-align:left; font-size:.82em; line-height:1.5; flex-grow:1; display:flex; flex-direction:column; }
.tile figcaption .body { flex-grow:1; }
.tile .imagewrap { position:relative; width:100%; height:0; padding-bottom:66%; overflow:hidden; }

.cols4 .tile .img:hover + figcaption a.call2action { background:var(--color-white); color:var(--color-red); }

.tile h3 { font-size:1em; margin:1.5em 0 1em; letter-spacing:.06em; }
.tile p { margin:.25em 0; }
.tile a.call2action { margin-top:.5em; }

.text > *:first-child,
.article > *:first-child,
.content > *:first-child { margin-top:0; }

.text > *:last-child,
.article > *:last-child { margin-bottom:0; }

.tile a.c2a { position:static; }
.tile a.c2a::after { content:""; display:block; position:absolute; top:0; right:0; bottom:0; left:0; }


@media only screen and (max-width:80em) {
    .frame-type-tiles .tile ul.icons { bottom:2em; }
    .frame-type-tiles .tile.hasicons::after { bottom:2em; }
}

@media only screen and (max-width:50em) {
    .frame-type-tiles { padding-bottom:1em;}
    .cols4 .tiles li { width:calc(100% / 2); }
    .frame-type-tiles h2 { font-size:1.5em; line-height:1.1; }

}

@media only screen and (max-width:36em) {
    .frame-type-tiles .tile figure .img { position:relative; aspect-ratio:unset; height:0; padding-bottom:50%; margin-top:1em; overflow:hidden; }
    .cols4 .tiles li { width:100%; }
    .cols4 .tiles li:nth-child(even) { margin-top:0; }
    .cols4 .tiles li h3 { font-size:1.5em; line-height:1; margin-bottom:.5em; }
    .tile .img picture,
    .tile .img img { height:auto; object-fit:unset; }
}


@media only screen and (min-width:90em) {
    .frame-type-tiles .ghostarrows { padding-top:17.5em; }
    .frame-type-tiles .ghostarrows .splide__arrow::before { bottom:-17.33em; top:-16em; left:95%; right:-50vw; }
}

/* Kacheln breit */

.frame-type-tiles.cols2 .tile { margin-bottom:3em; }

.frame-type-tiles.cols2 .tile .img { aspect-ratio:2; }

.frame-type-tiles.cols2 .tile figure { flex-grow:1; display:flex; flex-direction:column; }
.frame-type-tiles.cols2 .tile figcaption { display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; flex-grow:1; padding-top:2em; }
.frame-type-tiles.cols2 .tile .body { flex-grow:1; }

.frame-type-tiles.cols2 .tile h3 { margin-bottom:.5em; font-weight:normal; }
.frame-type-tiles.cols2 .tile h3 strong,
.frame-type-tiles.cols2 .tile h3 span { font-weight:normal; letter-spacing:.2ex; font:bold 1.5em/1.1 heading,sans-serif; }
.frame-type-tiles.cols2 .tile h3 span::before { content:"|"; display:inline-block; margin:0 .33em; }

.frame-type-tiles.cols2 .tile ul.icons { font-size:1em; width:100%; margin:1em 0 -.5em -1em; justify-content:flex-start; }
.frame-type-tiles.cols2 .tile ul.icons li { width:3.5em; }
.frame-type-tiles.cols2 .tile ul.icons li img { margin:0 auto; }

.frame-type-tiles.cols2 .tile a.call2action { margin-top:2em; }

@media only screen and (max-width:50em) {
    .frame-type-tiles.cols2 .tile { width:100%; }
}

@media only screen and (max-width:32em) {
    .frame-type-tiles.cols2 .tile h3 span { display:block; }
    .frame-type-tiles.cols2 .tile h3 span::before { display:none; }
}



/* Images */

.frame-type-images ul.content { list-style:none; width:calc(90vw + 2em); max-width:82em; display:flex; flex-wrap:wrap; justify-content:center; }
.frame-type-images li { width:calc(33% - 2em); margin:1em; position:relative; text-align:center; border:1px solid #fff;  }
.frame-type-images li a { display:block; width:100%; padding:0; transition:background-color .2s ease; }
.frame-type-images li img { padding:2em 0; max-width:23vw; }
.frame-type-images li[data-image=HospitalityX] { background-color:#c94313; }
.frame-type-images ul.even li:first-child { width:calc(66% - 2em); }

.frame-type-images ul.modulo3 li:first-child { width:calc(33% - 2em); }

.frame-type-images li a:hover { background-color:#fff4; }


@media only screen and (max-width:60em) {
    .frame-type-images ul.even li:first-child,
    .frame-type-images li { width:calc(50% - 2em); }
    .frame-type-images ul.odd li:first-child { width:calc(100% - 2em); }
}

@media only screen and (max-width:40em) {
    .frame-type-images li img { max-width:33vw; }
}

@media only screen and (max-width:30em) {
    .frame-type-images ul li { width:calc(100% - 2em)!important; margin:.25em 1em; }
    .frame-type-images li img { max-width:50vw; padding:.5em 0; }
}


section.frame-type-icons .content { padding-top:7em; padding-bottom:4em; }
section.frame-type-icons .textwrap { margin-bottom:1em; }
section.frame-type-icons h2 strong { margin-bottom:.4em; max-width:18em; margin-left:auto; margin-right:auto; }
section.frame-type-icons ul.icons { margin-top:-2em; }


ul.icons { margin:2em auto; max-width:66em; padding:0; list-style-type:none; display:flex; flex-direction:row; justify-content:center; align-items:flex-start; flex-wrap:wrap; }
ul.icons.seating { margin:1em auto;}
ul.icons li { margin:0; padding:1em; box-sizing:border-box; list-style-type:none; width:33%; text-align:center; flex-grow:0; }
ul.icons li a { display:inline-block; text-decoration:none; }
ul.icons li a:hover { color:inherit; }
ul.icons li img { display:block; height:4.33em; padding:.5em; min-height:unset; margin:0 auto; transition:transform .3s ease-out; }

.frame.col-5 ul.icons { margin-top:.1em; justify-content:center; }
.frame.col-5 ul.icons li img { max-width:5.25em; }

.frame-type-iconslist:not(.col-1) ul.icons li img { filter:brightness(.25); }
ul.icons li a:hover img { transition-duration:1s; transform:scale(1.2); }
ul.icons li span { display:block; font:1em / 1.1 text,sans-serif; font-weight:bold; letter-spacing:.1em; -ms-hyphens:auto; -moz-hyphens:auto; -webkit-hyphens:auto; hyphens:auto; hyphenate-limit-chars:auto 6 3; }

section.frame-type-icons .textwrap { margin-bottom:1em; }
section.frame-type-icons ul.icons { margin:5em auto 2em; max-width:66em; }

@media only screen and (max-width:40em) {
    ul.icons li { font-size:.83em; line-height:1; }
    ul.icons li span { font-weight:normal; }
}

ul.icons.grid-4 li { width:25%; }
ul.icons.grid-5 li { width:20%; }
ul.icons.grid-6 li { width:16.6%; }

ul.icons.grid-2narrow { padding-left:33%; }
ul.icons.grid-2narrow li { width:50%; }

@media only screen and (max-width:60em) {
    ul.icons.grid-5 li { width:25%; }

    ul.icons.grid-2narrow { padding-left:0; }
    ul.icons.grid-2narrow li { width:33%; }
}

@media only screen and (max-width:50em) {
    ul.icons.grid-4 li,
    ul.icons.grid-5 li { width:33%; }
}

@media only screen and (max-width:40em) {
    ul.icons.grid-3 li,
    ul.icons.grid-4 li,
    ul.icons.grid-5 li { width:50%; }
}


@media only screen and (max-width:26em) {
    ul.icons:not(.seating):not(.narrow) { flex-direction:column!important; align-items:center!important; }
    ul.icons:not(.seating) li { width:100%!important; margin-left:auto; margin-right:auto; }
}


@media only screen and (max-width:60em) {
    section.frame-type-icons .textwrap { margin-bottom:0; }
    section.frame-type-icons ul.icons { margin:2em 0; }
}

@media only screen and (max-width:40em) {
    section.frame-type-icons .content { padding-top:3em; padding-bottom:2.5em; }
}



section.frame-type-linklist header { max-width:90em; margin:0 auto; padding-top:3em; text-align:center; }

ul.links { margin:2em 0 0; padding:0 0 1.5em; list-style-type:none; display:flex; flex-direction:row; justify-content:center; align-items:flex-start; flex-wrap:wrap; }
ul.links li { margin:0 1em; padding:2em 1em 1em; box-sizing:border-box; list-style-type:none; text-align:center; flex-grow:0; }

ul.links1 li a { display:inline-block; text-decoration:none; max-width:calc(100% - 2em); text-transform:uppercase; letter-spacing:.1em; font-size:95%; }
ul.links1 li a:hover { color:inherit; text-decoration:underline; text-decoration-thickness:.1em; }

ul.links1 li a[href^="#"]::after { content:""; display:inline-block; width:1.33em; height:1em; margin-left:.75em; background:transparent url(../Icons/slider-arrow.svg) center right no-repeat; background-size:cover; transform:scale(1) translate(0,0) rotate(90deg); position:relative; top:.2em; transition:transform .1s ease-out }
ul.links1 li a[href^="#"]:hover::after { transform:scale(1) translate(0,.2em) rotate(90deg); }

.col-1 ul.links1 li a[href^="#"]::after,
.col-3 ul.links1 li a[href^="#"]::after { filter:brightness(10); }

ul.links2 li { padding:0; }
ul.links2 li a { display:inline-block; padding:.75em 3em; line-height:1.1em; text-decoration:none!important; font-weight:normal; background:var(--color-black); border:.1ex solid var(--color-black); color:#fff; display:inline-block; padding:.75em 1.25em; text-transform:uppercase; border-radius:var(--borderradius); min-width:8em; margin:0 auto 1.5em; transition:background-color .2s ease, color .2s ease; letter-spacing:.025em; text-align:center; position:relative; overflow:hidden; font-size:.9em; }
ul.links2 li a:hover { background:var(--color-white); border-color:var(--color-white); color:var(--color-black); text-shadow:none!important; transition-duration:.2s; }

.col-1 ul.links2 li a { background:var(--color-white); border-color:var(--color-white); color:var(--color-black); }
.col-1 ul.links2 li a:hover { background:var(--color-white); border-color:var(--color-white); color:var(--color-black); text-shadow:none!important; transition-duration:.2s; }

@media only screen and (max-width:60em) {
    ul.links2 li a { margin-bottom:.5em; }
    ul.links2 { padding-bottom:4em; }
}

@media only screen and (max-width:30em) {
    ul.links2 { padding-bottom:4em; flex-direction:column; align-items:center; justify-content:flext-start; }
    ul.links2 li { margin:0; width:100%; }
    ul.links2 li a { margin-bottom:.5em; -ms-hyphens:auto; -moz-hyphens:auto; -webkit-hyphens:auto; hyphens:auto; hyphenate-limit-chars:auto 5 3; }
}


/* Job offers list */

section.frame-type-joboffers header { width:100%; max-width:unset; text-align:center; margin:2em 0; }
section.frame-type-joboffers h2 { margin-top:.5em; margin-bottom:0; }
section.frame-type-joboffers h2 + p { margin:.25em auto; }

ul.joboffers { margin:0; padding:0 0 2.5em; text-align:left; }
ul.joboffers li { display:block; border-bottom:.15px solid var(--color-white); display:flex; justify-content:space-between; align-items:center; }
.col-2 ul.joboffers li { border-bottom:.15em solid var(--color-black);  }
ul.joboffers li .text { padding:1.25em 0 1em; }
ul.joboffers li h3 { font-weight:normal; text-transform:none; font:bold 1.5em/1.1 heading,sans-serif; margin:0; }
ul.joboffers li h3 span { font-size:.66em; margin:0 auto .5em 0; }
ul.joboffers li p { margin:.5em 0 0; text-transform:uppercase; letter-spacing:.2ex; font-size:.9em; }
ul.joboffers li a.call2action { margin:0; font-size:.9em; }

@media only screen and (max-width:36em) {
    ul.joboffers li { display:block; text-align:center; padding-bottom:.5em; }
    ul.joboffers li h3 span { margin:.5em auto .5em auto; }
    ul.joboffers li p  { margin:.5em 0 .2em!important; }
    ul.joboffers { padding:0 0 5em; }
    ul.joboffers li a.call2action { margin:1em 0 0; position:static; transform:none; margin:-.5em auto 1em; }
}

/* HIVR widget */

section.frame-type-hivrwidget { z-index:2; }
section.frame-type-hivrwidget .content { padding-bottom:1em; }
section.frame-type-hivrwidget h2 { margin:0 auto; padding-top:1.5em; padding-left:1em; padding-right:1em; text-align:center; }

@media only screen and (max-width:40em) {
    section.frame-type-hivrwidget .content { padding-bottom:0; }
}

/* OpenTable widget */

section.frame-type-opentablewidget .content { padding-top:.5em; padding-bottom:4em; }
section.frame-type-opentablewidget h2 { margin:0 auto; padding-top:1.5em; padding-left:1em; padding-right:1em; text-align:center; }

section.frame-type-opentablewidget #ot-reservation-widget { font-family:text,sans-serif; }
section.frame-type-opentablewidget #ot-reservation-widget > * { margin:0 auto; }
section.frame-type-opentablewidget #ot-reservation-widget h1 { display:none; }

@media only screen and (max-width:40em) {
    section.frame-type-opentablewidget .content { padding-bottom:0; }
}


/* OpenTable widget */

section.frame-type-opentablewidget { z-index:2; }
section.frame-type-opentablewidget .content { padding-top:.5em; padding-bottom:4em; z-index:1; }
section.frame-type-opentablewidget h2 { margin:0 auto; padding-top:1.5em; padding-left:1em; padding-right:1em; text-align:center; }

section.frame-type-opentablewidget #ot-reservation-widget { font-family:text,sans-serif; }
section.frame-type-opentablewidget #ot-reservation-widget > * { margin:0 auto; max-width:100%; }
section.frame-type-opentablewidget #ot-reservation-widget h1 { display:none; }

section.frame-type-opentablewidget .ot-standard .ot-dtp-picker-form { border-radius:.25rem 2em 2em .25rem; }
section.frame-type-opentablewidget #ot-reservation-widget [type=submit] { border-radius:0 2em 2em 0; }

section.frame-type-opentablewidget.col-1 #ot-reservation-widget [type=submit] { background-color:var(--color-white); border-color:var(--color-white); color:var(--color-black); transition:all .2s ease; }
section.frame-type-opentablewidget.col-1 #ot-reservation-widget [type=submit]:hover { background-color:var(--color-white); border-color:var(--color-white); color:var(--color-black); }
section.frame-type-opentablewidget.col-1 #ot-reservation-widget select { color:var(--color-black); }

section.frame-type-opentablewidget.col-0 .ot-standard .ot-dtp-picker-form { background:var(--color-white); }

@media only screen and (max-width:60em) {
    section.frame-type-opentablewidget .content { padding-bottom:0; }
    section.frame-type-opentablewidget .ot-standard .ot-dtp-picker-form { display:flex; flex-direction:column; align-items:center; background:transparent!important; border:0; margin-bottom:4em!important; }
    section.frame-type-opentablewidget .ot-standard .ot-dtp-picker-form > *:not([type=submit]) { border:0; background:#fff; margin-bottom:.5em; }
    section.frame-type-opentablewidget.col-0 .ot-standard .ot-dtp-picker-form > *:not([type=submit]) { background:var(--color-white); }
    section.frame-type-opentablewidget #ot-reservation-widget [type=submit] { border-radius:2em; margin-top:.5em!important; }
}


/* Footer */

body > footer.frame { overflow:hidden; }
body > footer.frame > .content { display:grid; grid-template-columns:1fr auto 1fr; grid-template-rows:auto auto; text-transform:uppercase; padding:6em 0 3.5em; }
body > footer > .content > * { font-size:.89em; letter-spacing:.2em; }
body > footer > .content > nav       { grid-column:1; grid-row:1; justify-self:start; text-align:left; }
body > footer > .content > h2        { grid-column:2; grid-row:1; justify-self:center; text-align:center; font-size:1em; }
body > footer > .content > aside     { grid-column:3; grid-row:1; justify-self:end; text-align:right; }
body > footer > .content > .footline { grid-column:1 / 4; grid-row:2; width:100%; }

body > footer > .content h2  { position:relative; display:flex; justify-content:center; align-items:flex-start; min-height:17vw; }
body > footer > .content a.logo { display:block; max-width:22vw; width:100%; }

body > footer > .content a.logo img { width:26em; max-width:100%; }
body > footer > .content .poweredby  { display:block; padding-bottom:.4em; }

body > footer > .content > nav ul { text-align:left; }
body > footer > .content > nav ul li { display:block; margin:0 0 .3em; }

body > footer > .content > aside h3 { font-size:1em; margin:0 0 .5em 1em; }


body > footer .footline { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; margin:4em 0 5.1em; }
body > footer .footline p { margin:0 2em 0 0; text-align:left; justify-self:start; order:0; }
body > footer .footline .poweredby { justify-self:center; order:1; }
body > footer .footline ul { text-align:right; margin:0; padding:0; justify-self:end; order:2; }
body > footer .footline ul li { display:inline-block; list-style:none; margin:0 0 0 1.5em; }

@media only screen and (max-width:86em) {
    body > footer > .content { grid-template-columns:1fr auto 1fr; grid-template-rows:auto auto auto; }
    body > footer > .content a.logo { width:19em; max-width:33vw; }
    body > footer > .content > h2 { grid-column:1 / 4; grid-row:1; }
    body > footer > .content > nav,
    body > footer > .content > aside { grid-row:2; }
    body > footer > .content > .footline { grid-row:3; }

}

@media only screen and (max-width:55em) {
    body > footer.frame > .content { display:flex; flex-direction:column; align-items:center; position:relative; padding-bottom:8em; }
    body > footer > div.content > * { width:100%; }
    body > footer > .content > h2 { order:0; top:0; margin-bottom:3em; }
    body > footer > .content a.logo { max-width:60vw; width:17em; margin:calc(1.5em - 5vw) auto 0; }
    body > footer > .content > nav ul { text-align:center; margin-bottom:3em; }
    body > footer > .content > nav ul li { text-align:center; margin:0 .75em 1em; }
    body > footer .footline ul li { margin:0 .75em 1em; }
    body > footer .partnerhotels ul,
    body > footer > .content > aside { text-align:center; }
    body > footer > .content > aside h3 { margin:0 auto .5em; }
    body > footer .footline { display:flex; flex-direction:column; align-items:center; }
    body > footer .footline ul { text-align:center; order:0; }
    body > footer .footline p { margin:4em auto 0; text-align:center; }
    body > footer > .content .poweredby { margin-top:2em; }
}

@media only screen and (max-width:32em) {
    body > footer > .content > * { letter-spacing:.1em; }
    body > footer .footline ul li { display:block; }
}


@media only screen and (max-width:25em) {
    body > footer > .content > * { font-size:.75em; }
}

@media (orientation: portrait) {
    body > footer > .footline { min-height:20vmax; }
    body > footer > nav { min-height:20vmax; }
}

/* Partner Hotels */

body > footer .partnerhotels { order:3; text-align:right; }
body > footer .partnerhotels ul { list-style:none; }
body > footer .partnerhotels li { margin-bottom:.5em; }
body > footer .partnerhotels ul a { color:var(--color-white)!important; }
body > footer .partnerhotels ul a:hover { color:var(--color-white)!important; }



input,
label,
select,
button,
textarea
{
    margin:0;
    border:0;
    padding:0;
    display:inline-block;
    vertical-align:middle;
    white-space:normal;
    background:none;
    line-height:1;
    color:inherit;

    /* Browsers have different default form fonts */
    font-size:inherit;
    font-family:inherit;
}

/* Remove the stupid outer glow in Webkit */
input:focus
{
    outline:0;
}

/* Box Sizing Reset
-----------------------------------------------*/

/* All of our custom controls should be what we expect them to be */
input,
textarea
{
    -webkit-box-sizing:content-box;
    -moz-box-sizing:content-box;
    box-sizing:content-box;
}

/* These elements are usually rendered a certain way by the browser */
button,
input[type=reset],
input[type=button],
input[type=submit],
input[type=checkbox],
input[type=radio],
select
{
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    box-sizing:border-box;
}

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

input[type=date].withpicker,
input[type=datetime],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=range],
input[type=search],
input[type=tel],
input[type=text],
input[type=time],
input[type=url],
input[type=week]
{
    -moz-appearance: textfield;
    -webkit-appearance: none;
}

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

/* Button Controls
-----------------------------------------------*/

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

/* File Uploads
-----------------------------------------------*/

input[type=file]
{
    top:0;
}

/* Search Input
-----------------------------------------------*/

/* Make webkit render the search input like a normal text field */
input[type=search]
{
    -webkit-appearance:textfield;
    -webkit-box-sizing:content-box;
}

/* Turn off the recent search for webkit. It adds about 15px padding on the left */
::-webkit-search-decoration
{
    display:none;
}

/* Buttons
-----------------------------------------------*/

button,
input[type="reset"],
input[type="button"],
input[type="submit"]
{
    /* Fix IE7 display bug */
    overflow:visible;
    width:auto;
}

/* IE8 and FF freak out if this rule is within another selector */
::-webkit-file-upload-button
{
    padding:0;
    border:0;
    background:none;
}

/* Textarea
-----------------------------------------------*/

textarea
{
    /* Move the label to the top */
    vertical-align:top;

    /* Turn off scroll bars in IE unless needed */
    overflow:auto;
}

/* Selects
-----------------------------------------------*/

select[multiple]
{
    /* Move the label to the top */
    vertical-align:top;
}



/* Content forms */

main form input { background:#fff; }

/* Cendyn newsletter form */

.frame-type-widget.newsletter { padding:3em 0; }
.frame-type-widget.newsletter > header { width:100%; max-width:60em; margin:0 auto; text-align:center; }
.frame-type-widget.newsletter > header h2 span { margin-top:.5em; }
.frame-type-widget.newsletter .content { position:relative; margin:0 auto; display:flex; align-items:stretch; }

.frame-type-widget.newsletter .text { padding-right:0; }
.frame-type-widget.newsletter form { margin:0!important; padding:0; }

.frame-type-widget.newsletter .rendered-form { display:flex; flex-wrap:wrap; flex-shrink:0; }
.frame-type-widget.newsletter .rendered-form * { font-size:inherit; }
.frame-type-widget.newsletter .rendered-form .form-group { display:block; margin:0 0 .5em 0; width:50% }
.frame-type-widget.newsletter .rendered-form .form-group:nth-child(1),
.frame-type-widget.newsletter .rendered-form .form-group:nth-child(2) { display:inline-block; width:50%; }
.frame-type-widget.newsletter .rendered-form .form-group:last-child { margin-bottom:-2em; }
.frame-type-widget.newsletter .rendered-form .field-vorname,
.frame-type-widget.newsletter .rendered-form .field-nachname { width:50%; float:left; }
.frame-type-widget.newsletter .form-group > label,
.frame-type-widget.newsletter .form-group > input,
.frame-type-widget.newsletter .form-group > div,
.frame-type-widget.newsletter .form-group > p { margin:0 1em .33em 0; }

.frame-type-widget.newsletter .form-group > label { margin-bottom:.5em; }
.frame-type-widget.newsletter .form-group label { line-height:1.2; }

.frame-type-widget.newsletter form input { padding:0; max-width:calc(100% - 1.6em); }

.frame-type-widget.newsletter form input[type="text"],
.frame-type-widget.newsletter form input[type="email"],
.frame-type-widget.newsletter form input[type="date"] { width:100%; background:transparent; padding:.7em .5em .9em; font-size:1.1em; line-height:1; border:2px solid #fff; border-radius:0; color:var(--color-white); }

.frame-type-widget.newsletter form input:focus { border-color:var(--color-red); background-color:var(--color-red-transparent); }

.frame-type-widget.newsletter .rendered-form .field-email { width:100%; }


.frame-type-widget.newsletter .formbuilder-checkbox .formbuilder-checkbox { display:flex; }
.frame-type-widget.newsletter .formbuilder-checkbox .checkbox { margin-top: -1em; }
.frame-type-widget.newsletter .formbuilder-checkbox input { font-size:3em; margin-top:.08em; accent-color:var(--color-red); margin-right:.5em; }
.frame-type-widget.newsletter .formbuilder-checkbox label { width:calc(100% - 4em); }
.frame-type-widget.newsletter .formbuilder-paragraph { order:10; padding-top:.8em; }

.frame-type-widget.newsletter .rendered-form .btn { text-decoration:none; font-weight:bold; background:var(--color-red); border:2px solid var(--color-red); color:var(--color-white); display:inline-block; padding:.36em .45em .6em; text-transform:uppercase; min-width:8em; margin:0 1em 1em 0; transition:all .15s ease; letter-spacing:.1em; text-align:center; position:relative; overflow:hidden; font-size:1em; white-space:initial; border-radius:0; }
.frame-type-widget.newsletter .rendered-form .btn:hover {  background:var(--color-white); border-color:var(--color-white); color:var(--color-red); text-shadow:none!important; }
.frame-type-widget.newsletter .rendered-form .btn:focus {  border-color:var(--color-white); }
.frame-type-widget.newsletter .rendered-form .btn:disabled {  background:#444!important; border-color:#444!important; color:#bbb; }

/* We have to care that it's empty on load ... */
.frame-type-widget.newsletter .ThankYouMessage:not(:empty) { margin-top:1em; font-weight:bold; }


/* Changes after removal of one checkbox field */

.frame-type-widget.newsletter .rendered-form .form-group.formbuilder-button { padding:1em 0; }
.frame-type-widget.newsletter .rendered-form .formbuilder-paragraph { width:100%; }
.frame-type-widget.newsletter .rendered-form .formbuilder-checkbox { width:100%; padding-top:1em; }

@media only screen and (max-width:80em) {
    .frame-type-widget.newsletter .rendered-form .form-group { width:calc(100% - 1em)!important; }
}

@media only screen and (max-width:60em) {
    .frame-type-widget.newsletter .rendered-form { padding-left:1em; }
}

@media only screen and (max-width:40em) {
    .frame-type-widget.newsletter .rendered-form { flex-direction:column; padding-left:0; }
    .frame-type-widget.newsletter .rendered-form .formbuilder-paragraph { text-align:center; padding-top:0; padding-left:0; }
    .frame-type-widget.newsletter .rendered-form .formbuilder-button { text-align:center; }

    .frame-type-widget.newsletter .rendered-form .form-group { width:100%!important; }

    .frame-type-widget.newsletter .form-group > label,
    .frame-type-widget.newsletter .form-group > input,
    .frame-type-widget.newsletter .form-group > div,
    .frame-type-widget.newsletter .form-group > p { margin-right:0; }

    .frame-type-widget.newsletter form input { max-width:100%; }
}

@media only screen and (max-width:40em) {
    .frame-type-widget.newsletter .ThankYouMessage:not(:empty) {font:8vw/1.1em heading,sans-serif; padding-top:100%; hyphens:auto; }
    .frame-type-widget.newsletter .ThankYouMessage:not(:empty)::before { bottom:1em; }
    .frame-type-widget.newsletter .rendered-form .btn { white-space:normal; }
}




#bookingwidget { position:fixed; bottom:2.5em; left:0; right:0; width:100%; height:4em; z-index:10; pointer-events:none; transition:bottom .2s ease-out 0s; }
#bookingwidget h2 { display:none; }
#bookingwidget form { width:calc(90vw + .5em); max-width:80.4em; margin:0 auto; position:relative; box-sizing:border-box; display:flex; align-items:stretch; justify-content:center; pointer-events:all; }
#bookingwidget form > div { font-size:.96em; min-height:2.5em; position:relative; background:var(--color-white-transparent); background:#444b; color:var(--color-white); white-space:nowrap; color:var(--color-white); text-transform:uppercase; flex-grow:0; margin:.25em; padding:.5em 1em; position:relative; display:flex; flex-direction:row; align-items:center; justify-content:center; box-shadow:.5em .5em 2.5em #0006; transition:background .3s ease; }

#bookingwidget label { display:inline-block; font-size:1em; margin:0; white-space:nowrap; font-weight:bold; }

#bookingwidget input { text-align:center; position:relative; z-index:2; }

#bookingwidget .dates input { width:6.5em; margin-left:.66em; margin-top:-.05em; text-transform:uppercase; text-align:right; font-weight:bold; }
#bookingwidget .dates input::placeholder { font-weight:normal; color:var(--color-white); }

#bookingwidget .guests label { margin-right:1em; }
#bookingwidget .guests fieldset { border:none; margin:-.2em 0 0; padding:0; }
#bookingwidget .guests input { width:1em; margin:0 -.25em; font-weight:bold; }
#bookingwidget .guests button { cursor:pointer; line-height:1.5em; width:1em; margin-top:-.1em; font-weight:bold; }
#bookingwidget .guests button:hover { -webkit-text-stroke:.05em #f00; }

#bookingwidget .code { max-width:12em; }
#bookingwidget .code input { text-transform:uppercase; letter-spacing:.1em; font-weight:bold; max-width:100%; margin-top:-.05em; }
#bookingwidget .code input::placeholder { text-transform:uppercase; color:#bbb; }
#bookingwidget .code label { position:absolute; opacity:1; top:0; right:0; bottom:0; left:0; text-align:center; padding-top:.8em; }
#bookingwidget .code input:focus + label,
#bookingwidget .code input.filled + label { opacity:0; }

#bookingwidget form > div label::after { content:""; position:absolute; top:0; right:0; left:0; bottom:0; z-index:-1; }

#bookingwidget form > div.submit { padding:0; overflow:hidden; background:transparent; }
#bookingwidget .submit input { display:block; -webkit-appearance:none; width:100%; height:100%; padding:.5em 1em; line-height:1em; cursor:pointer; background:var(--color-red); color:var(--color-white); transition:all .2s ease; text-transform:uppercase; font-weight:bold; }
#bookingwidget .submit svg { fill:var(--color-white); width:1.66em; position:absolute; top:1.1em; left:1em; z-index:3; margin-right:.5em; transition:fill .2s ease; pointer-events:none; }
#bookingwidget .submit svg ~ svg { transform:scaleX(-1); margin:0 0 0 .5em; left:unset; right:1em; }

#bookingwidget .submit input:hover,
#bookingwidget .submit input:focus { background:var(--color-white); color:var(--color-red); }
#bookingwidget .submit:hover svg { fill:var(--color-black); }

#advantages { clip:rect(0 0 0 0); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; white-space:nowrap; width:1px; }
#bookingwidget .advantages { font-size:.9em; text-transform:none; text-align:center; pointer-events:none; }
#bookingwidget .advantages { position:absolute; bottom:.66em; left:.5em; width:calc(100% - 2em); z-index:2; color:var(--color-white); opacity:.75; transition:opacity .2s ease-out; }
#bookingwidget .advantages > span { display:block; width:100%; padding:0 .5em; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }

#bookingwidget .advantages { display:none; }


@media only screen and (max-width:30em) {
    #bookingwidget .submit input,
    #bookingwidget.advantagesinactive .submit input { padding-bottom:0; }
    #advantagesdisplay { display:none; }
}

.easepick-wrapper { position:absolute!important; left:0!important; z-index:10; transition:opacity .2s ease; opacity:1; }

body.bookingScrolled:not(.scrolledup) #bookingwidget { bottom:-6em; transition:bottom .3s ease 0s; }
body.bookingScrolled:not(.scrolledup) .easepick-wrapper { opacity:0; }

body.navfixed #bookingwidget form > div { background:#333d; }

@media only screen and (max-width:75em) {
    #bookingwidget form > div.code { display:none; }
}

@media only screen and (max-width:65em) {
    #bookingwidget form > div.guests { display:none; }
}

@media only screen and (max-width:54em) {
    #bookingwidget form > div:not(.submit),
    .easepick-wrapper { display:none; }
    #bookingwidget { height:4em; z-index:101; }
    #bookingwidget form { justify-content:center; left:0; }
    #bookingwidget .submit { flex-grow:0; min-height:3em; }
    #bookingwidget form > div.submit { min-width:unset; max-width:calc(100% - 1em); box-shadow:.5em .5em 2.5em #000; }
    #bookingwidget .submit input { font-size:1em; padding:.5em 1em!important; max-width:18em; padding-left:3em; padding-right:3em; max-width:calc(100vw - 2em); white-space:nowrap; line-height:1.2em; }
}

@media only screen and (max-width:30em) {
    #bookingwidget form > div.submit { width:auto; min-height:unset; }
    #bookingwidget .submit input { white-space:wrap; padding:1em 2.5em .5em; min-height:3.5em; }
}

@media only screen and (max-width:18em) {
    #bookingwidget .submit input { padding:.5em 1em; }
}

@media only screen and (max-height:55em) {
    .videocontrols { bottom:6em; }
    #bookingwidget { bottom:1em; }
}

@media only screen and (max-height:47em) {
    #bookingwidget { z-index:99; }
}

@media only screen and (max-height:28em) {
    .videocontrols { bottom:4.5em; }
    #bookingwidget { bottom:0em; }
}


/* Chat (textcontent.ai): the launcher itself is styled by its own and the agent's site-specific stylesheet (textcontent.ai backend) */
/* Placeholder until the launcher is loaded (see CurveHotelChat.js), mimics the launcher's input bar and position */
body { --chat-launcher-bottom:calc(6.5em + 12px); }
@media (max-height:55em) { body { --chat-launcher-bottom:calc(5em + 12px); } }
@media (max-height:28em) { body { --chat-launcher-bottom:calc(4em + 12px); } }
#ChatLauncherPlaceholder { display:none; position:fixed; left:50%; bottom:var(--chat-launcher-bottom); z-index:9; max-width:calc(100vw - 24px); padding-bottom:max(0px, env(safe-area-inset-bottom)); transform:translateX(-50%); transition:bottom .2s ease; }
html.chatagent-consent #ChatLauncherPlaceholder { display:block; }
#ChatLauncherPlaceholder .chatagent-input-bar { display:flex; padding:6px 24px; background:#444b; box-shadow:.5em .5em 2.5em #0006; color:#fff; font-family:text,sans-serif; font-size:.96em; line-height:1.5; overflow:hidden; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }
body.navfixed #ChatLauncherPlaceholder .chatagent-input-bar { background:#333d; }
#ChatLauncherPlaceholder .chatagent-input-bar:focus-within { outline:2px solid var(--color-red,#e2001a); outline-offset:2px; }
#ChatLauncherPlaceholder input { appearance:none; -webkit-appearance:none; width:172px; height:initial; margin:0; padding:0; align-self:center; border:none; outline:none; background:transparent; box-shadow:none; color:#fff; caret-color:#fff; font:inherit; transition:width .4s cubic-bezier(.22,1,.36,1); }
#ChatLauncherPlaceholder input::placeholder { color:#fff; opacity:1; text-transform:uppercase; }
#ChatLauncherPlaceholder input:focus,
#ChatLauncherPlaceholder input.has-text { width:calc(100vw - 112px); }
@media (min-width:800px) {
    #ChatLauncherPlaceholder input:focus,
    #ChatLauncherPlaceholder input.has-text { width:300px; }
}
#ChatLauncherPlaceholder .chatagent-placeholder-spinner { display:flex; margin-left:6px; padding:6px 0 6px 10px; opacity:.85; }
#ChatLauncherPlaceholder .chatagent-placeholder-spinner svg { stroke:currentColor; stroke-width:2px; stroke-linecap:round; stroke-dasharray:.3 .7; transform-origin:center; animation:chatagent-placeholder-spin 1s linear infinite; }
@keyframes chatagent-placeholder-spin { to { transform:rotate(360deg); } }
body.bookingScrolled:not(.scrolledup) #ChatLauncherPlaceholder { bottom:max(12px, env(safe-area-inset-bottom)); }
body.curve-footer-visible #ChatLauncherPlaceholder,
body:has(.datepicker--open) #ChatLauncherPlaceholder,
body.mainactive #ChatLauncherPlaceholder { visibility:hidden; pointer-events:none; }
/* The site-specific stylesheet moves the video controls above the launcher, do that before it is loaded */
html.chatagent-consent .videocontrols { bottom:calc(var(--chat-launcher-bottom) + 72px); }
@media (max-width:480px) {
    #ChatLauncherPlaceholder,
    body.bookingScrolled.scrolledup #ChatLauncherPlaceholder { bottom:calc(var(--chat-launcher-bottom) + env(safe-area-inset-bottom)); }
    body.bookingScrolled:not(.scrolledup) #ChatLauncherPlaceholder { bottom:max(12px, env(safe-area-inset-bottom)); }
    html.chatagent-consent .videocontrols { bottom:calc(var(--chat-launcher-bottom) + 72px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion:reduce) {
    #ChatLauncherPlaceholder,
    #ChatLauncherPlaceholder input { transition:none; }
    #ChatLauncherPlaceholder .chatagent-placeholder-spinner svg { animation:none; stroke-dasharray:none; opacity:.5; }
}


/* Adjusting HotelDatePicker */

.datepicker { bottom:3.3em; left:0; transition:height .5s ease !important; white-space:wrap; background:var(--color-white); color:var(--color-black); }
.datepicker.datepicker--open { transition:height .15s ease !important; }
.datepicker *:not(.datepicker__week-name) { padding:.8em .5em;}
.datepicker .datepicker__month { color:inherit; }


/* Adjusting EasePicker */

body .container.range-plugin .calendar > .days-grid > .day.end,
body .container.range-plugin .calendar > .days-grid > .day.start {
    background-color: var(--color-bg-inrange);
    color: var(--color-fg-primary);
}

body .container.range-plugin .calendar > .days-grid > .day.end,
body .container.range-plugin .calendar > .days-grid > .day.start {
    background-color: var(--color-bg-inrange)!important;
    color: var(--color-fg-primary)!important;
}

/* Mobile header */

body.mainactive { width:100%; }
#navmobile, #menutrigger { display:none; }

@media only screen and (max-width:95em) {
    #navmain > ul > li { padding-left:0; padding-right:0; }
    header a.lang span { display:inline-block; max-width:1.375em; overflow:hidden; }
    #navmain > ul > li.hassub > a::after { right:-.25em; }
    #navmain > ul > li.hassub .navbutton { width:1.75em; }
}

@media only screen and (min-width:82em) {
    body { position:static!important; }
}

@media only screen and (max-width:82em) {
    header a.lang span { max-width:unset; }

    #menutrigger { display:block; position:fixed; top:1em; right:1em; z-index:110; transition:top .2s ease; }
    #menutrigger { padding:22px 15px 17px; border-radius:100%; }
    .hamburger { padding: 15px 15px; display: inline-block; cursor: pointer; transition-property: opacity, filter; transition-duration: 0.15s; transition-timing-function: linear; font: inherit; color: inherit; text-transform: none; background-color: transparent; border: 0; margin: 0; overflow: visible; }
    .hamburger:hover { opacity:.7; }
    .hamburger svg { width:2em; fill:var(--color-white); }
    .hamburger .label { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }

    .mainactive #wjh1,
    .mainactive #wjh2,
    .mainactive #wjh3 { fill:var(--color-white); }

    #iconhamburger { width:2.5em; }
    #iconhamburger > * { transform-origin:center center; transition:transform .2s ease; }
    .mainactive #wjh1 { transform:rotate(-45deg)translateY(33%); }
    .mainactive #wjh3 { transform:rotate(45deg) translateY(-33%); }
    .mainactive #wjh2 { transform:scale(0); }

    #navmain > ul { justify-content:center; }
    #navmain ul li.home { width:12em; padding:1em; }
    #navmain ul li:not(.home) { display:none; }

    .mainactive #navmain a.logo { left:calc(50% - 4em); }

    #navmobile { display:block; position:fixed; z-index:100; top:0; height:calc(var(--vh, 1vh) * 100); left:0; width:100vw; text-align:center; background-color:var(--color-black); color:#fff; overflow:auto; padding:0 1.5vw 4em 1.5vw; bottom:100%; opacity:0; transition:all .2s ease-out; pointer-events:none; background:linear-gradient(0deg, #800 0%, #700 35%, #200 78%, #000 82%, #000 100%); }
    #navmobile ul { list-style:none; position:relative; display:flex; flex-direction:column; margin:0 .5em 1em; }

    #navmobile a { font-weight:normal; }
    #navmobile > ul > li > a { font:1.5em / 1.1 heading,sans-serif; font-size:clamp(1em, 4.5vh, 1.5em); margin:.5em 0 0; letter-spacing:.025em; text-transform:uppercase; }
    #navmobile > ul > li > a::after { content:""; display:block; width:1px; height:.33em; background:transparent; margin:0 auto; pointer-events:none; }

    #navmobile ul li { margin:0; }
    #navmobile > ul > li { margin-top:.5em; }
    #navmobile ul ul { margin-top:-.25em; margin-bottom:1em; }
    #navmobile ul ul a { padding:.5em 0 0 0; font-size:1.5em; }

    #navmobile li.home a { display:inline-block; width:9em; margin:.5em auto 0; }

    #navmobile > ul::before { display:block; position:absolute; top:.5em; width:96%; height:.75px; background:#fff; left:2vw; right:2vw; }
    #navmobile::before { display:block; content:""; position:fixed; z-index:5; bottom:0; left:0; pointer-events:none; width:100%; width:100vwmin; height:25vh; background:linear-gradient(-180deg, #0000 0%, #0001 40%, #0002 66%, #0007 100%);}

    #navmobile > ul > li.lang span:first-child { display:none; }

    body.mainactive #navmobile { bottom:0; opacity:1; padding-bottom:6em; pointer-events:all; }

    body > header { padding-top:1em; }

    #navmobile a.logo img { width:33%; width:33vw; min-width:8em; max-width:18em; }

    body > header a.home img { width:4em; max-width:calc(100vw - 9em); }
    body > header aside { position:absolute; right:5em; }
}

@media only screen and (max-width:40em) {
    header aside a.lang span { display:inline-block; overflow:hidden; max-width:1.4em; }
    #navmobile > ul > li > a { font-size:clamp(1em, 4.5vh, 1.3em); }
    #navmobile ul ul a { font-size:1em; }

}

@media only screen and (max-width:18em), screen and (max-height:12em) {
    #navmobile > ul > li > a { font-size:1em; }
}

@media only screen and (max-width:40em) {
    #navmain ul li.home { font-size:clamp(1em,4.5vh,1.3em); width:9.3em; padding:.25em; }
}

@media only screen and (max-width:30em) {
    #menutrigger { top:.5em; right:.5em; }
    body > header { padding-top:1.2em; }
}

@media only screen and (max-width:19.75em) {
    #navmain ul li.home { display:none; }
}


/* Sticky navigation on desktop */
@media only screen and (min-width:82em) {
    body > header::before { content:""; pointer-events:none; position:absolute; left:-2em; top:0; right:-2em; bottom:0; background-color:transparent; transition:backdrop-filter .15s .1s ease-out, box-shadow .2s ease-out, background-color .2s ease-out; z-index:-1; box-shadow:0 .5em 2em #0000; backdrop-filter:none; }
    body.navfixed > header { top:-2.2em; }
    body.navfixed > header::before { background-color:var(--color-nav-bkg); box-shadow:0 .5em 2em #000a; backdrop-filter:blur(4px); }
    #navmain > ul > li.home { margin-bottom:0; transition:padding .2s ease-out; }
    body.navfixed #navmain > ul > li.home { padding:.5em 2.25em 0 0; }
}

/* Non-sticky logo on mobile */
@media only screen and (max-width:82em) {
    body.navfixed > header { top:-9em; opacity:0; }
}

/* Lightbox */

a.lightbox { cursor:zoom-in; display:block;}

.gslide-media img,
.gslide-media video { border-radius:var(--borderradius); }


/* Cookiebot */

body #CybotCookiebotDialog { font-family:inherit; box-shadow:0 1em 1em #0009, 0 1em 8em #000; }
body #CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink.CybotCookiebotDialogActive { background:#444; color:#fff; border-bottom-width:.33em!important; }
body #CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink:hover,
body #CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink:focus { color:#fff; text-decoration:underline; background:#222; }
body #CybotCookiebotDialog .CybotCookiebotDialogBodyContentHeading { text-transform:uppercase; font-size:1.5em; }
body #CybotCookiebotDialogTabContent .CybotCookiebotDialogDetailBulkConsentCount { color:#000; }
body #CybotCookiebotDialog form input[type="checkbox"][disabled]:checked + .CybotCookiebotDialogBodyLevelButtonSlider { background:#444; }
body #CybotCookiebotDialog,
body #CybotCookiebotDialog button { border-radius:0!important; }
body #CybotCookiebotDialog button { font-weight:bold; text-transform:uppercase; }
body #CybotCookiebotDialog input:checked + .CybotCookiebotDialogBodyLevelButtonSlider { background-color:var(--color-red); }


/* FONTS */

/* Bodytext font */
@font-face {
    font-family: 'text';
    font-weight: normal;
    font-style: normal;
    src: url('../Fonts/Futura100-Book.woff2') format('woff2');
}
@font-face {
    font-family: 'text';
    font-weight: bold;
    font-style: normal;
    src: url('../Fonts/Futura100-Bold.woff2') format('woff2');
}

/* Heading font */
@font-face {
    font-display: swap;
    font-family: 'heading';
    font-style: normal;
    font-weight: bold;
    src: url('../Fonts/Futura100-Bold.woff2') format('woff2');
}
