/*-----------------------------------------------------------*/
/* Template                                                  */
/*-----------------------------------------------------------*/

body {
    -webkit-hyphenate-limit-chars: 6 3 3;
    -webkit-hyphenate-limit-before: 3;
    -webkit-hyphenate-limit-after: 3;
    -webkit-hyphenate-limit-lines: 2;

    -moz-hyphenate-limit-chars: 6 3 3;

    -ms-hyphenate-limit-lines: 2;
    -ms-hyphenate-limit-chars: 6 3 3;

    hyphenate-limit-chars: 6 3 3;
    hyphenate-limit-lines: 2;
    -webkit-font-smoothing: antialiased;

    --light: #faf6f2;
    --block: #f3eae3;
    --border: rgba(33, 25, 20, 0.1);
    --text-light: rgba(33, 25, 20, 0.5);
    --dark: #443b38;
    --primary: #d2b8a0;
    --plyr-color-main: #d2b8a0;
    --primary-hover: #dfc2a7;
    --nav-transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1);
    --plyr-video-background: #f3eae3;
}

a {
    color: inherit;
}

svg {
    display: block;
}

/* Utility Classes */

[lang]:not([lang="de"]) [cb-lang-element="de"],
[lang]:not([lang="fr"]) [cb-lang-element="fr"],
[lang]:not([lang="it"]) [cb-lang-element="it"],
[lang]:not([lang="en"]) [cb-lang-element="en"] {
    display: none;
}

.utl__hidden {
    display: none;
}

.utl__inline {
    display: inline;
}

.utl__hyphens {
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
}

/* Hide Scrollbar */

[cb-scrollbar-hidden="true"]::-webkit-scrollbar {
    display: none;
}

[cb-scrollbar-hidden="true"]::-webkit-scrollbar {
    display: none;
}

body.utl-locked {
    overflow: hidden !important;
}

/* remove webkit styles from Form Fields */

input,
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* Different CSS for touch devices */

@media (hover: hover) {}

/* Rich Text */

.utl__rich-text ol li {
    counter-increment: step-counter;
}

.utl__rich-text ol li::before {
    content: counter(step-counter);
    position: absolute;
    left: 0;
    width: 26px;
    height: 26px;
    font-size: 14px;
    color: #111111;
    font-weight: 500;
    background-color: #f3f4f5;
    border-radius: 99px;
    text-align: center;
    line-height: 28px;
}

.utl__rich-text>*:first-child {
    margin-top: 0;
    padding-top: 0;
}

.utl__rich-text>*:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
}

.utl__rich-text-flat .w-embed iframe {
    border: none;
}

.utl__rich-text-flat .w-embed {
    margin: 30px 0;
}

.utl__rich-text-flat .w-embed .cb-video {
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    z-index: 1;
    max-width: 100%;
}

@media (max-width: 750px) {
    .utl__rich-text-flat .w-embed .cb-video {
        max-height: 63vw;
    }
}

/* Colored selection */

/*
::selection {
  background: rgb(67, 83, 255);
  color: white;
}
::-moz-selection {
  background: rgb(67, 83, 255);
  color: white;
}
*/

/* Hides Headings and Links in the Header Symbols when they're empty */

.utl-header__text-wrapper .wf-empty,
.utl-header__text-wrapper *:empty,
.utl-header__wrapper .utl__button[href="#"] {
    display: none;
}

/* hides the last paragraph in rich text elements when they're empty */

.w-richtext p:last-child:empty {
    display: none;
}

/* hides the progressbar from Weglot */

body .wg-progress {
    background-color: transparent;
    box-shadow: none;
    display: none;
}

body .wg-progress-bar {
    background-color: transparent;
    box-shadow: none;
    display: none;
}

.utl__button__bg.swiper-button-disabled,
.utl__button.arrow.cb-ts__active.swiper-button-disabled {
    opacity: 0.18;
    pointer-events: none;
}


/*-----------------------------------------------------------*/
/* Lenis Scroll                                              */
/*-----------------------------------------------------------*/

html.lenis {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.lenis.lenis-stopped {
    overflow: hidden;
}

.lenis.lenis-scrolling iframe {
    pointer-events: none;
}

/*-----------------------------------------------------------*/
/* Templates                                                 */
/*-----------------------------------------------------------*/

/* Modal */

.utl-modal.hidden,
.utl-modal__background {
    pointer-events: none;
}

.utl-modal__background * {
    pointer-events: auto;
}

.utl-modal {
    overflow-y: scroll;
}

.utl-modal.hidden .utl-modal__block {
    -webkit-transform: translate(0, 20px);
    -ms-transform: translate(0, 20px);
    transform: translate(0, 20px);
    opacity: 0;
}

.utl-modal.hidden .utl-modal__background {
    opacity: 0;
}

/*-----------------------------------------------------------*/
/* Custom CSS                                                */
/*-----------------------------------------------------------*/

@media (hover: hover) {

    .utl__button:hover .utl__button__bg,
    .utl__button:focus .utl__button__bg {
        transform: scale(0.95);
    }

    .utl__button:hover .utl__button__text-wrapper,
    .utl__button:focus .utl__button__text-wrapper {
        transform: translate(0px, -100%);
    }
}

.utl__button[cb-button-style="light"] .utl__button__bg {
    background-color: var(--block);
}

.utl__button[cb-button-style="light"],
.utl__button[cb-button-style="simple"] {
    color: var(--dark);
}

.utl__button[cb-button-style="simple"] .utl__button__bg {
    opacity: 0;
    background-color: var(--block);
    transform: scale(0.7);
}

@media (hover: hover) {

    .utl__button[cb-button-style="simple"]:hover .utl__button__bg,
    .utl__button[cb-button-style="simple"]:focus .utl__button__bg {
        opacity: 1;
        transform: scale(1);
    }

    .utl__button[cb-button-style="simple"]:active .utl__button__bg {
        transform: scale(0.8);
    }
}

.cb-ts__wrapper {
    overflow-y: hidden;
    display: inline-block;
    margin: -0.15em -0.5em;
    vertical-align: top;
}

.cb-ts__item {
    padding: 0.15em 0.5em;
    transform: translateY(150%) scaleY(1.2);
    display: inline-block;
    transition-duration: 1.5s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transition-property: opacity, transform;
    transition-delay: calc(0.05s * (var(--length) - (var(--index) + 1)));
}

.cb-ts-el__wrapper {
    overflow-y: hidden;
    margin: -0.15em -0.5em;
    vertical-align: top;
}

.cb-ts-el__item {
    padding: 0.15em 0.5em;
    transform: translateY(150%) scaleY(1.2);
    transition-duration: 1.5s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transition-property: opacity, transform;
    transition-delay: calc(0.05s * (var(--length) - (var(--index) + 1)));
}

.cb-ts__active .cb-ts__item,
.cb-ts__active .cb-ts-el__item {
    transform: translateY(0%) scaleY(1);
    transition-delay: calc(0.05s * var(--index));
}

.hh__heading .cb-ts__wrapper {
    margin: 0 -0.5em;
}

.hh__heading .cb-ts__item {
    padding: 0 0.5em;
}

.hh__img-wrapper.cb-visible {
    opacity: 1;
    transform: translateY(0vw);
}

.vimeo-landscape .hh__img-wrapper {
    padding-top: 50%;
}

.hh__vid__play {
    pointer-events: none;
}

.hh__img-wrapper.no-autoplay .hh__vid__play {
    pointer-events: auto;
    transform: scale(1);
    opacity: 1;
}

@media (hover: hover) {
    .hh__vid__play:hover {
        background-color: rgba(210, 184, 160, 1);
        width: 120px;
        height: 120px;
    }
}

@media (hover: hover) {
    .utl-acc__item:hover .utl-acc__link__bg {
        height: 100%;
    }

    .utl-acc__item:hover .utl-acc__link,
    .utl-acc__item:hover .utl-acc__list {
        padding-left: 30px;
        padding-right: 30px;
    }
}

.utl-acc__item:last-child {
    border-bottom: none;
}

.cb-dropdown-open .utl-acc__list .utl-acc__content {
    opacity: 1;
    transform: translateY(0px);
}

.utl-acc__list {
    height: 0px;
}

.utl-acc__arrow,
.utl-acc__link__bg {
    pointer-events: none;
}

.cb-dropdown-open .utl-acc__arrow {
    transform: rotate(180deg);
}

/*-----------------------------------------------------------*/
/* Navigation                                                */
/*-----------------------------------------------------------*/

@media (max-width: 767px) {
    body.scrolled-page .nav-bar {
        opacity: 0;
        pointer-events: none;
    }

    body.scrolled-page .nav-bar * {
        pointer-events: none;
    }
}

body.nav-open {
    background-color: #211914;
}

body.nav-open .utl__scroller,
body.nav-open .tmn__embed {
    transform: translateX(500px) scale(var(--navScale));
    border-bottom-left-radius: 40px;
    border-top-left-radius: 40px;
}

@media (max-width: 767px) {

    body .utl__scroller,
    body .tmn__embed {
        transform: translateX(0%);
    }

    body.nav-open .utl__scroller,
    body.nav-open .tmn__embed {
        transform: translateX(110%) scale(var(--navScale));
    }
}

@media (hover: none) {
    .nav-bar .utl__button__bg {
        display: none;
    }
}

body.nav-open .nav-bar,
body.nav-open .nav__logo__img,
body.nav-open .nav .utl__button[cb-button-style="light"],
body.nav-open .nav .utl__button[cb-button-style="simple"],
body.nav-negative:not(.body-transition) .nav-bar,
body.nav-negative:not(.body-transition) .nav__logo__img,
body.nav-negative:not(.body-transition) .nav .utl__button[cb-button-style="light"],
body.nav-negative:not(.body-transition) .nav .utl__button[cb-button-style="simple"],
[cb-button-style="default-negative"] {
    color: var(--light);
}

body.nav-open .nav__burger__line,
body.nav-negative:not(.body-transition) .nav__burger__line {
    background-color: var(--light);
}

body.nav-open .utl__button[cb-button-style="simple"] .utl__button__bg,
body.nav-negative:not(.body-transition) .utl__button[cb-button-style="simple"] .utl__button__bg,
[cb-button-style="default-negative"] .utl__button__bg {
    background-color: #f3eae32b;
}

body.nav-transition .nav .utl__button,
body.nav-transition .nav .nav__logo__img,
body.nav-transition .nav .nav-bar,
body.nav-transition .nav .nav__burger__line {
    transition: var(--nav-transition);
}

body.nav-transition .nav .utl__button__bg {
    transition: background-color 0.8s cubic-bezier(0.77, 0, 0.175, 1),
        opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1),
        transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.nav-search__search,
.nav-search__label {
    pointer-events: none;
}

.nav-menu__main-link__wrapper.cb-ts__visible {
    opacity: 1;
}

.nav-menu {
    overflow-y: auto;
    overflow-x: hidden;
}

.nav-open .nav-menu__main-link__wrapper .cb-ts__item {
    transform: translateY(0%) scaleY(1);
    transition-delay: calc(0.05s * var(--index) + 0.5s);
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transition-duration: 1s;
}

.nav-menu__main-link__wrapper .cb-ts__item {
    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transition-duration: 0.5s;
}

.nav-menu__main-link__wrapper .cb-ts__wrapper {
    margin: -10px -0.5em;
}

.nav-menu__main-link__wrapper .cb-ts__item {
    padding: 10px 0.5em;
}

.nav-menu__main-link__wrapper,
.nav-menu__main-link__dummy,
.nav-bar,
.nav-menu__sub-link__wrapper {
    pointer-events: none;
}

.nav-menu__main-link__wrapper a,
.nav-menu__sub-link__wrapper a,
.nav-bar .utl__button,
.nav-bar .nav__logo {
    pointer-events: auto;
}

@media (hover: hover) {

    .nav-menu__main-link__wrapper:hover .nav-menu__main-link,
    body.nav-open .nav-menu__sub-link__wrapper:hover .nav-menu__sub-link {
        opacity: 0.3;
    }

    .nav-menu__main-link__wrapper .nav-menu__main-link:hover,
    body.nav-open .nav-menu__sub-link__wrapper .nav-menu__sub-link:hover {
        opacity: 1;
    }
}

body.body-transition .utl__scroller-wrapper,
body.body-transition .tmn__embed {
    opacity: 0;
}

.active-search .nav-search__clear {
    opacity: 1;
    pointer-events: auto;
}

.nav-search__clear,
.nav-search__clear__hover {
    pointer-events: none;
}

.nav-search__hover {
    pointer-events: none;
}

.nav-search__link:hover .nav-search__hover,
.nav-search__item.selected .nav-search__hover {
    transform: scale(1);
    opacity: 1;
}

.cb-slide-hidden {
    pointer-events: none;
    opacity: 0;
}

@media (hover: hover) {
    .nav-search__clear:hover .nav-search__clear__hover {
        transform: scale(1);
        opacity: 1;
    }
}

.fs-cc-main {
    opacity: 1;
}

body.nav-open .fs-cc-main {
    opacity: 0;
    pointer-events: none;
}

body.nav-first-open.nav-open .nav__burger__line.top {
    animation-name: burgerLineTopOpen;
    animation-duration: 0.6s;
    animation-fill-mode: forwards;
}

body.nav-first-open .nav__burger__line.top {
    animation-name: burgerLineTopClose;
    animation-duration: 0.6s;
    animation-fill-mode: forwards;
}

body.nav-first-open.nav-open .nav__burger__line.bottom {
    animation-name: burgerLineBottomOpen;
    animation-duration: 0.6s;
    animation-fill-mode: forwards;
}

body.nav-first-open .nav__burger__line.bottom {
    animation-name: burgerLineBottomClose;
    animation-duration: 0.6s;
    animation-fill-mode: forwards;
}

@keyframes burgerLineTopOpen {
    0% {
        transform: translateY(0px) rotate(0deg);
    }

    50% {
        transform: translateY(2.5px) rotate(0deg);
    }

    100% {
        transform: translateY(2.5px) rotate(45deg);
    }
}

@keyframes burgerLineTopClose {
    0% {
        transform: translateY(2.5px) rotate(45deg);
    }

    50% {
        transform: translateY(2.5px) rotate(0deg);
    }

    100% {
        transform: translateY(0px) rotate(0deg);
    }
}

@keyframes burgerLineBottomOpen {
    0% {
        transform: translateY(0px) rotate(0deg);
    }

    50% {
        transform: translateY(-2.5px) rotate(0deg);
    }

    100% {
        transform: translateY(-2.5px) rotate(-45deg);
    }
}

@keyframes burgerLineBottomClose {
    0% {
        transform: translateY(-2.5px) rotate(-45deg);
    }

    50% {
        transform: translateY(-2.5px) rotate(0deg);
    }

    100% {
        transform: translateY(0px) rotate(0deg);
    }
}

body .nav-meta-transition-dummy {
    background-color: #faf6f2;
    transition: background-color 800ms cubic-bezier(0.77, 0, 0.175, 1);
    width: 0px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10000000;
    height: 0px;
    display: block;
}

body.nav-open .nav-meta-transition-dummy {
    background-color: #211914;
}

body .nav-meta-transition-dummy.wf-empty {
    display: none;
}

/*
.h-map__text.h-map__link::after {
  content: "";
  position: absolute;
  bottom: -1.5px;
  left: 0%;
  width: 0%;
  height: 1.5px;
  opacity: 1;
  background-color: #faf6f2;
  animation-name: underlineOff;
  animation-duration: 0.3s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}
.h-map__text.h-map__link {
  border-bottom: 1.5px solid #f3eae32b;
}

.kon__section .h-map__text.h-map__link::after {
  background-color: rgba(33, 25, 20, .8);
}
.kon__section .h-map__text.h-map__link {
  border-color: rgba(33, 25, 20, .1);
}

@media (hover: hover) {
  .h-map__text.h-map__link:hover::after {
    animation-name: underlineOn;
      animation-duration: 0.3s;
      animation-timing-function: ease-in-out;
      animation-fill-mode: forwards;
  }
}

@keyframes underlineOn {
  0%   {
    left: 0%; 
    width: 0%;
  }
  100%  {
    left: 0%; 
    width: 100%;
  }
}
@keyframes underlineOff {
  0%  {
    left: 0%; 
    width: 100%;
  }
  99%  {
    left: 100%; 
    width: 0%;
  }
  100% {
    left: 0%; 
    width: 0%;
  }
}
*/
@media (hover: hover) {
    .h-map__controls__link:hover .h-map__controls__icon {
        transform: scale(1.15);
    }
}

/*-----------------------------------------------------------*/
/* Footer                                                    */
/*-----------------------------------------------------------*/

@media (hover: hover) {
    .footer__column:hover .footer__link {
        opacity: 0.3;
    }

    .footer__column .footer__link:hover {
        opacity: 1;
    }
}

.footer__column,
.footer__column .footer__link-dummy,
.footer__column .footer__link-wrapper {
    pointer-events: none;
}

.footer__column>*,
.footer__column .footer__link {
    pointer-events: auto;
}

.footer__cookies[fs-cc="manager"] {
    display: block !important;
}

.nav-open .footer {
    background-color: #29201a;
}

/*-----------------------------------------------------------*/
/* Angebot Ticker                                            */
/*-----------------------------------------------------------*/

@media (min-width: 768px) {
    [cb-ticker-element="wrapper"] {
        -webkit-transition-timing-function: linear !important;
        -o-transition-timing-function: linear !important;
        transition-timing-function: linear !important;
    }

    [cb-ticker-element="wrapper"].start-animation {
        animation-name: testimonialmove;
        animation-duration: calc(var(--amount) * 3s);
        animation-iteration-count: infinite;
        animation-timing-function: linear;
    }
}

@media (max-width: 767px) {
    .ang-lst__collection__container {
        width: calc(100% + 80px);
        overflow-x: scroll;
        -ms-overflow-style: none;
        /* IE and Edge */
        scrollbar-width: none;
        /* Firefox */
    }

    .ang-lst__collection__container::-webkit-scrollbar {
        display: none;
    }

    .ang-lst__collection__item.cb-ticker-clone {
        display: none;
    }
}

@keyframes testimonialmove {
    0% {
        -webkit-transform: translate(-33.33333%, 0px);
        -ms-transform: translate(-33.33333%, 0px);
        transform: translate(-33.33333%, 0px);
    }

    100% {
        -webkit-transform: translate(-66.6666%, 0px);
        -ms-transform: translate(-66.6666%, 0px);
        transform: translate(-66.6666%, 0px);
    }
}

@media screen and (min-width: 768px) {
    .ang-lst__overlay-wrapper {
        pointer-events: none;
    }

    .ang-lst__overlay-wrapper .utl__button {
        pointer-events: auto;
    }
}

@media (hover: hover) {
    .ang-lst__collection__item:hover .ang-lst__text-wrapper {
        transform: translateY(0vw);
        opacity: 1;
    }

    .ang-lst__collection__item:hover .utl__img {
        transform: scale(1.1);
    }

    .h-lead__hl__wrapper:hover .h-lead__hl__circle {
        width: 200%;
        height: 200%;
    }
}

/*-----------------------------------------------------------*/
/* About Sticky Animation                                    */
/*-----------------------------------------------------------*/

.h-about__img--old {
    pointer-events: none;
    clip-path: circle(20% at 50% 28%);
    transform-origin: 50% 28%;
    transform: scale(1);
    transform: translate(0% 0%);
}

/*-----------------------------------------------------------*/
/* Home Partner                                              */
/*-----------------------------------------------------------*/

@media (hover: hover) {
    .h-partner__wrapper:hover .h-partner__link {
        opacity: 0.4;
    }

    .h-partner__wrapper .h-partner__link:hover {
        opacity: 1;
    }
}

/*-----------------------------------------------------------*/
/* Home Gallery                                              */
/*-----------------------------------------------------------*/

.h-gallery__item.cb-active {
    opacity: 1;
}

.h-gallery__nav__line.cb-active .h-gallery__nav__line-progress {
    animation-name: hGalleryProgress;
    animation-duration: var(--speed);
    animation-fill-mode: forwards;
    animation-timing-function: linear;
}

.h-gallery__nav__gradient {
    pointer-events: none;
}

.h-gallery__container .utl__button {
    opacity: 0;
    transform: scale(0.7);
}

@media (hover: hover) {
    .h-gallery__container:hover .utl__button {
        opacity: 1;
        transform: scale(1);
    }

    .h-gallery__container:hover .h-gallery__wrapper {
        transform: scale(1.05);
    }
}

@keyframes hGalleryProgress {
    0% {
        width: 0%;
    }

    100% {
        width: 100%;
    }
}

/*-----------------------------------------------------------*/
/* Kontakt Page                                              */
/*-----------------------------------------------------------*/

.kon__ready .kon-gallery__column {
    transform: translate(0%);
    opacity: 1;
}

.kon-gallery__column.up .kon-gallery__wrapper.start-animation {
    animation-name: kongalleryup;
    animation-duration: calc(var(--height) * 0.04s);
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

.kon-gallery__column.down .kon-gallery__wrapper.start-animation {
    animation-name: kongallerydown;
    animation-duration: calc(var(--height) * 0.04s);
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

@media (max-width: 991px) {
    .kon-gallery__column.up .kon-gallery__wrapper.start-animation {
        animation-name: kongalleryhorizontalup;
        animation-duration: calc(var(--width) * 0.04s);
    }

    .kon-gallery__column.down .kon-gallery__wrapper.start-animation {
        animation-name: kongalleryhorizontaldown;
        animation-duration: calc(var(--width) * 0.04s);
    }
}

@keyframes kongalleryup {
    0% {
        -webkit-transform: translateY(-33.33333%);
        -ms-transform: translateY(-33.33333%);
        transform: translateY(-33.33333%);
    }

    100% {
        -webkit-transform: translateY(-66.6666%);
        -ms-transform: translateY(-66.6666%);
        transform: translateY(-66.6666%);
    }
}

@keyframes kongallerydown {
    0% {
        -webkit-transform: translateY(33.33333%);
        -ms-transform: translateY(33.33333%);
        transform: translateY(33.33333%);
    }

    100% {
        -webkit-transform: translateY(66.6666%);
        -ms-transform: translateY(66.6666%);
        transform: translateY(66.6666%);
    }
}

@keyframes kongalleryhorizontalup {
    0% {
        -webkit-transform: translate(-33.33333%, 0);
        -ms-transform: translate(-33.33333%, 0);
        transform: translate(-33.33333%, 0);
    }

    100% {
        -webkit-transform: translate(-66.6666%, 0);
        -ms-transform: translate(-66.6666%, 0);
        transform: translateY(-66.6666%, 0);
    }
}

@keyframes kongalleryhorizontaldown {
    0% {
        -webkit-transform: translate(33.33333%, 0);
        -ms-transform: translate(33.33333%, 0);
        transform: translate(33.33333%, 0);
    }

    100% {
        -webkit-transform: translate(66.6666%, 0);
        -ms-transform: translate(66.6666%, 0);
        transform: translate(66.6666%, 0);
    }
}

.kon-gallery__container {
    pointer-events: none;
}

.kon-gallery__img-wrapper {
    pointer-events: auto;
}

/*
.kon-gallery__container:hover .kon-gallery__img {
  opacity: 1;
}
.kon-gallery__img-wrapper:hover .kon-gallery__img {
  transform: scale(1.05);
  opacity: 1;
}*/

@media (min-width: 992px) {

    body.kon__ready .nav__logo__img,
    body.kon__ready .nav__logo__word,
    body.kon__ready [cb-button-name="termin"] {
        transition: var(--nav-transition);
    }

    body.kon__ready:not(.body-transition) .nav__logo__img,
    body.kon__ready:not(.body-transition) .nav__logo__word,
    body.kon__ready:not(.body-transition) [cb-button-name="termin"] {
        color: var(--light);
    }

    body.kon__ready:not(.body-transition) [cb-button-name="termin"] .utl__button__bg {
        background-color: #f3eae32b;
    }
}

/*-----------------------------------------------------------*/
/* CMS: Angebot Page                                         */
/*-----------------------------------------------------------*/

.ang-hero__img-container.cb-visible {
    transform: scale(1);
    opacity: 1;
    border-radius: 0px;
}

.ang-hero__block .cb-ts__wrapper:first-child .cb-ts__item::before {
    content: ", ";
}

.ang-hero__block:first-child .cb-ts__wrapper:first-child .cb-ts__item::before {
    content: "";
}

.utl__scroller {
    overflow-x: hidden;
}

.ang-lead__heading .cb-ts__item,
.h-about__heading .cb-ts__item,
.h-about__copy .cb-ts__item,
.h-about__section .cb-ts__item,
.h-about__section .cb-ts-el__item,
.quote__dummy.cb-ts__active .cb-ts__item {
    transition-delay: calc(1s / var(--length) * var(--index));
}

body.next-transition .ang-next__sticky {
    transform: translateY(-120vh);
}

body.next-transition .ang-next__heading {
    overflow: visible;
}

.ang-hero__img-container.cb-visible .ang-hero__overlay {
    height: 0%;
}

.ang-hero__img-container.cb-visible {
    transform: scale(1);
}

.ang-opr__block .w-richtext>*:first-child,
.ang-opr__block .w-richtext .ang-opr__row>*:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

.w-richtext.ang-opr__row-wrapper {
    justify-content: flex-start;
    align-items: flex-start;
    display: flex;
}

.w-richtext.ang-opr__row-wrapper .ang-opr__row {
    width: 50%;
    flex: none;
    padding: 10px;
}

@media (max-width: 800px) {
    .w-richtext.ang-opr__row-wrapper {
        display: block;
    }

    .w-richtext.ang-opr__row-wrapper .ang-opr__row {
        width: 100%;
        padding: 0;
    }
}

/*-----------------------------------------------------------*/
/* Quotes                                                    */
/*-----------------------------------------------------------*/

.quote__dummy:not(:first-child) {
    display: none;
}

.testimonial__dummy:first-child .testimonial__line {
    display: none;
}

.ellipses-after {
    display: none;
    transform: translateY(100px);
    opacity: 0;
    transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.ellipses-active .ellipses-after {
    display: block;
    transform: translateY(0px);
    opacity: 1;
}

.ellipses-button {
    opacity: 0.5;
}

@media (hover: hover) {
    .ellipses-button:hover {
        opacity: 1;
    }
}

.ellipses-active .ellipses-button {
    display: none;
}

/*-----------------------------------------------------------*/
/* Angebot Page                                              */
/*-----------------------------------------------------------*/

@media screen and (min-width: 992px) {
    .ang__grid {
        grid-auto-rows: 30vw 40vw 22.5vw 22.5vw 50vw;
        grid-template-rows: none;
    }

    .ang__grid .w-dyn-item:nth-child(8n + 1),
    .ang__grid .w-dyn-item:nth-child(8n + 4) {
        grid-area: span 1 / span 7 / span 1 / span 7;
    }

    .ang__grid .w-dyn-item:nth-child(8n + 2),
    .ang__grid .w-dyn-item:nth-child(8n + 3) {
        grid-area: span 1 / span 5 / span 1 / span 5;
    }

    .ang__grid .w-dyn-item:nth-child(8n + 5) {
        grid-area: span 2 / span 8 / span 2 / span 8;
    }

    .ang__grid .w-dyn-item:nth-child(8n + 6),
    .ang__grid .w-dyn-item:nth-child(8n + 7) {
        grid-area: span 1 / span 4 / span 1 / span 4;
    }

    .ang__grid .w-dyn-item:nth-child(8n + 8) {
        grid-area: span 1 / span 12 / span 1 / span 12;
    }

    .ang__grid.cb-filtered {
        grid-auto-rows: 30vw;
    }

    .ang__grid.cb-filtered .w-dyn-item {
        grid-area: span 1 / span 4 / span 1 / span 4;
    }
}

.ang__grid__item .ang-lst__text-wrapper {
    transform: translateY(0vw);
    opacity: 1;
}

@media (hover: hover) {
    .ang__grid__item:hover .utl__img {
        transform: scale(1.1);
    }
}

.ang__grid__item,
.tour__grid__item {
    display: inline-block;
    transition-duration: 1.5s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transition-property: opacity, transform;
    transition-delay: calc(0.1s * var(--index));
}

.ang-list .ang__grid .utl__img.transition {
    transition: none;
}

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

    .ang__grid__item,
    .tour__grid__item {
        transition-delay: calc(0.01s * var(--index));
    }
}

.ang__grid.cb-visible .ang__grid__item,
.tour__main-wrapper.cb-visible .tour__grid__item {
    transform: translateY(0%) scaleY(1);
    opacity: 1;
}

body.body-transition.angebot-item-transition .utl__scroller-wrapper {
    opacity: 1;
}

body.body-transition.angebot-item-transition .ang-search__container {
    opacity: 0;
}

body.body-transition.angebot-item-transition .utl__scroller-wrapper>*:not(.ang-lst__section) {
    transition: opacity 0.8s;
    opacity: 0;
}

body.angebot-item-transition .ang-grid__link {
    opacity: 0;
}

body.angebot-item-transition .ang-grid__link.angebot-item-transition-active {
    transform: scale(1.05);
    opacity: 1;
}

body.angebot-item-transition .ang-grid__link.angebot-item-transition-active.hidden {
    opacity: 0;
}

.utl__scroller.testing-helper {
    transform: translateX(100%);
}

.ang-search__form-block.cb-ts__visible {
    opacity: 1;
}

.ang-search__form-block.cb-ts__active .cb-ts-el__item {
    transform: translateY(0%) scaleY(1);
    transition-delay: calc(0.05s * var(--index));
}

.ang-search__secondary.deactivated {
    display: none;
}

.ang-search__arrow,
.ang-search__divider-wrapper,
.ang-search__input-hover,
.ang-search__icon {
    pointer-events: none;
}

.ang__grid__item.cb-hidden-main,
.ang__grid__item.cb-hidden-secondary,
.ang__grid__item.cb-hidden-search {
    display: none;
}

.ang-search__select {
    cursor: pointer;
}

.ang-search__search-wrapper>div {
    width: 100%;
}

@media (hover: hover) {

    .ang-search__input-wrapper:hover .ang-search__input-hover,
    .ang-search__input-wrapper:focus .ang-search__input-hover {
        opacity: 1;
        transform: scale(1);
    }
}

.ang-search__form .cb-ts-el__wrapper {
    margin: -0.15em -40px;
}

.ang-search__form .cb-ts-el__item {
    padding: 0.15em 40px;
}

.ang-search__select option {
    font-size: 16px;
}

@media (max-width: 767px) {
    .ang-search__secondary>div {
        width: 100%;
    }
}

/* List view */

.ang-list .ang__grid {
    display: block;
}

@media (max-width: 991px) {
    .ang-style__grid>div {
        width: 100%;
    }
}

.ang-style__link__text:last-child {
    position: absolute;
    top: 100%;
    left: 0;
}

@media (hover: hover) {
    .ang-style__link:hover .ang-style__link__text {
        transform: translateY(-100%);
    }
}

body.ang-style-transition .ang__grid .ang__grid__item {
    opacity: 0;
    transform: scale(0.9);
    transition-duration: 300ms;
    transition-delay: calc(0.02s * var(--index));
    transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.ang-style-transition .ang__grid__item * {
    transition: none !important;
}

.ang-list .ang__grid .ang__grid__item:not(.cb-hidden-main,
    .cb-hidden-secondary,
    .cb-hidden-search) {
    display: block;
    align-items: center;
    width: 100%;
    padding: 0;
    position: relative;
}

.ang-list .ang__grid .ang__grid__item::after {
    content: "";
    z-index: 1;
    width: 100%;
    height: 0%;
    background-color: #f3eae3;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
    position: absolute;
    bottom: 0%;
    left: 0%;
    right: 0%;
}

@media (hover: hover) {
    body.ang-list:not(.angebot-item-transition) .ang__grid .ang__grid__item:hover::after {
        height: 100%;
    }
}

.ang-list .ang__grid .ang-grid__link {
    transition: padding 0.3s cubic-bezier(0.165, 0.84, 0.44, 1),
        transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1),
        opacity 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    z-index: 5;
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    grid-column-gap: 20px;
    width: 100%;
    color: var(--dark);
    background-color: transparent;
    border-radius: 0px;
    min-height: 0px;
    height: auto;
    overflow: visible;
    padding: 16px 0px;
    border-bottom: 1px solid var(--border);
    margin-bottom: -1px;
}

.ang-list .ang__grid .ang-grid__link.angebot-item-transition-active {
    padding: 16px 20px;
    border-bottom: none;
}

@media (hover: hover) {
    .ang-list .ang__grid .ang__grid__item:hover .ang-grid__link {
        padding: 16px 20px;
        border-bottom: none;
    }
}

.ang-list .ang__grid .ang-grid__link.angebot-item-transition-active {
    background-color: var(--block);
    border-bottom: none;
}

.ang-list .ang__grid .utl__img {
    width: 95px;
    height: 70px;
    position: relative;
    border-radius: 4px;
    overflow: hidden;
    flex-shrink: 0;
    flex-grow: 0;
    flex-basis: auto;
}

@media (hover: hover) {
    .ang-list .ang__grid .ang__grid__item:hover .utl__img {
        transform: scale(1);
    }
}

.ang-list .ang__grid .ang-lst__text-wrapper {
    bottom: 0;
    left: 0;
    right: 0;
    position: relative;
}

.ang-list .ang__grid .ang-lst__heading.ang-grid__heading {
    font-size: 30px;
    color: var(--dark);
}

.ang-list .ang__grid .ang-lst__preheading {
    margin-bottom: 2px;
    display: none;
}

.ang-list .ang__grid .ang-lst__categories {
    display: block;
    margin-left: auto;
}

.ang-list .ang__grid .ang-lst__categories .ang-lst__categories__wrapper {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    grid-column-gap: 20px;
}

.ang-list .ang__grid .ang-lst__categories .ang-lst__categories__wrapper:after {
    content: "";
    background-image: url("https://uploads-ssl.webflow.com/6499544cbe624dae866929be/6516abbbd810645157f6b4cf_ccc-arrow-1.svg");
    width: 10px;
    height: 18px;
    position: relative;
    display: block;
}

.ang-list .ang__grid .ang-lst__categories__wrapper .ang-lst__categories__list {
    width: 17vw;
    min-width: 300px;
}

.ang-list .ang__grid .ang-lst__categories__wrapper .w-dyn-empty {
    display: none;
}

body.angebot-item-transition.ang-list .ang-grid__link.angebot-item-transition-active {
    transform: scale(1.02);
    opacity: 1;
}

.ang-style__selector {
    width: var(--width);
    left: var(--left);
}

@media (min-width: 991px) {
    select.ang-search__select {
        width: var(--width);
    }
}

@media (max-width: 1400px) {
    .ang-list .ang__grid .ang-lst__categories__wrapper .ang-lst__categories__list {
        width: 200px;
        min-width: 0px;
    }
}

@media (max-width: 1100px) {
    .ang-list .ang__grid .ang-lst__categories .ang-lst__categories__list {
        display: none;
    }

    .ang-list .ang__grid .ang-lst__preheading {
        display: block;
    }
}

@media (max-width: 450px) {
    .ang-list .ang__grid .ang-lst__categories {
        display: none;
    }

    .ang-list .ang__grid .ang-lst__preheading {
        font-size: 12px;
        opacity: 0.5;
    }

    .ang-list .ang__grid .ang-lst__heading.ang-grid__heading {
        font-size: 22px;
    }

    .ang-list .ang__grid .utl__img {
        width: 95px;
        height: 70px;
    }

    .ang-list .ang__grid .ang-grid__link {
        grid-column-gap: 16px;
    }

    .ang-list .ang__grid .ang-grid__link {
        padding-top: 5px;
        padding-bottom: 5px;
        border: none;
    }
}

/*-----------------------------------------------------------*/
/* Rundgang Page                                             */
/*-----------------------------------------------------------*/

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

    .tour__grid .w-dyn-item:nth-child(8n + 1),
    .tour__grid .w-dyn-item:nth-child(8n + 4) {
        grid-area: span 1 / span 7 / span 1 / span 7;
    }

    .tour__grid .w-dyn-item:nth-child(8n + 2),
    .tour__grid .w-dyn-item:nth-child(8n + 3) {
        grid-area: span 1 / span 5 / span 1 / span 5;
    }

    .tour__grid .w-dyn-item:nth-child(8n + 5) {
        grid-area: span 2 / span 8 / span 2 / span 8;
    }

    .tour__grid .w-dyn-item:nth-child(8n + 6),
    .tour__grid .w-dyn-item:nth-child(8n + 7) {
        grid-area: span 1 / span 4 / span 1 / span 4;
    }

    .tour__grid .w-dyn-item:nth-child(8n + 8) {
        grid-area: span 1 / span 12 / span 1 / span 12;
    }

    .tour__grid .w-dyn-item {
        max-height: 50vw;
    }

    .tour__grid .w-dyn-item:nth-child(8n + 6),
    .tour__grid .w-dyn-item:nth-child(8n + 7) {
        max-height: 22vw;
    }

    .tour__grid {
        grid-template-rows: auto;
    }
}

.tour__grid__open {
    pointer-events: none;
}

@media (hover: hover) {
    .tour__grid__img-container:hover .utl__img {
        transform: scale(1.05);
    }

    .tour__grid__img-container:hover .tour__grid__open {
        transform: scale(1) rotate(0deg);
        opacity: 1;
    }
}

.plyr__video-embed,
.plyr__video-embed iframe {
    width: 100%;
    height: 100%;
}

.plyr__video-embed iframe {
    transform: scale(1.01);
}

[cb-vidpop-element="player"] {
    width: 100%;
}

/*-----------------------------------------------------------*/
/* Utility: Lightbox                                         */
/*-----------------------------------------------------------*/

body.cb-lightbox-active {
    overflow: hidden;
}

.utl-lb__container {
    height: var(--containerHeight);
}

body.cb-lightbox-active .utl-lb__content {
    height: 100%;
}

.utl-lb,
.tl-lb__nav__pagination {
    pointer-events: none;
}

body.cb-lightbox-active .utl-lb,
.tl-lb__nav__pagination-dot,
.utl-lb__img {
    pointer-events: auto;
}

body.cb-lightbox-active .utl-lb__background {
    opacity: 1;
}

body.cb-lightbox-active .utl__scroller {
    transform: translateY(-25vh);
}

body.cb-lightbox-active .utl-lb__container {
    transform: translateY(0px);
    opacity: 1;
}

@media (hover: hover) {

    .tl-lb__nav__arrows:hover .tl-lb__nav__hover,
    .tl-lb__nav__close:hover .tl-lb__nav__hover {
        transform: scale(1);
        opacity: 1;
    }

    .tl-lb__nav__arrows:active .tl-lb__nav__hover,
    .tl-lb__nav__close:active .tl-lb__nav__hover {
        transform: scale(0.8);
        opacity: 1;
    }
}

.tl-lb__nav__pagination-dot {
    opacity: 0;
}

.tl-lb__nav__pagination-dot.active-next,
.tl-lb__nav__pagination-dot.active-prev {
    opacity: 1;
}

.tl-lb__nav__pagination-dot.active-next-next,
.tl-lb__nav__pagination-dot.active-prev-prev {
    opacity: 1;
    width: 6px;
    height: 6px;
    margin: 0 12px;
}

.tl-lb__nav__pagination-dot.active-main {
    opacity: 1;
    width: 14px;
    height: 14px;
    background-color: #211914;
    margin-left: 8px;
    margin-right: 8px;
}

/*-----------------------------------------------------------*/
/* Team Page                                                 */
/*-----------------------------------------------------------*/

.ref-fan__col-item,
.team__heading-wrapper {
    pointer-events: none;
}

.ref-fan__link {
    pointer-events: auto;
    -webkit-transform: scale(1);
    transform: scale(1);
}

@media (hover: hover) {
    .ref-fan__col-item:hover {
        z-index: 10000 !important;
    }

    .ref-fan__col-item:hover .ref-fan__heading,
    .ref-fan__col-item:hover .ref-fan__subline {
        opacity: 1;
        -webkit-transform: translate(0px, 0em);
        -ms-transform: translate(0px, 0em);
        transform: translate(0px, 0em);
    }

    .ref-fan__link:hover {
        -webkit-transform: scale(1.1);
        transform: scale(1.1);
    }

    .ref-fan__nav__container {
        display: none;
    }
}

@media (hover: none) {
    .ref-fan__col-item.cb-focus .ref-fan__overlay-bg {
        opacity: 0;
    }
}

.ref-fan__col-item.cb-clicked {
    z-index: 10000 !important;
}

.ref-fan__img-container.cb-visible,
.ref-fan__img-container.cb-clicked {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
    pointer-events: auto;
}

.ref-fan__img-container.cb-clicked {
    -webkit-transform: scale(1.08);
    transform: scale(1.08);
}

.ref-fan__img-container {
    transition-delay: calc(0.005s * var(--index));
    -webkit-transition-delay: calc(0.005s * var(--index));
    will-change: transform, opacity;
}

.ref-fan__overlay {
    pointer-events: none;
}

.ref-fan__overlay.cb-visible {
    opacity: 1;
}

.utl-lb__column2 {
    overflow-y: auto;
}

.utl-lb__collection__item.cb-hidden {
    display: none;
}

.team-lb__background,
.h-map__link__bg {
    pointer-events: none;
}

.k-map__text-wrapper .h-map__link__bg {
    background-color: var(--block);
}

@media (hover: hover) {

    .team-lb__link-wrapper:hover .team-lb__background,
    .h-map__link-block:hover .h-map__link__bg {
        transform: scale(1);
        opacity: 1;
    }

    .team-lb__link-wrapper:active .team-lb__background,
    .h-map__link-block:active .h-map__link__bg {
        transform: scale(0.8);
    }
}

/*-----------------------------------------------------------*/
/* Preisliste Page                                           */
/*-----------------------------------------------------------*/

.pl-list__item:last-child {
    border-bottom: none;
}

.pl-list__price:empty,
.pl-list__price .wf-empty {
    display: none;
}

.pl-list__list.sublist .pl-list__item {
    border-bottom: none;
    padding: 4px 0;
}

/*-----------------------------------------------------------*/
/* FAQ                                                       */
/*-----------------------------------------------------------*/

.faq-list__item .utl-acc__heading.smaller {
    font-size: 22px;
    font-family: Suisseintl, sans-serif;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.2;
}

@media screen and (max-width: 767px) {
    .faq-list__item .utl-acc__heading.smaller {
        font-size: 18px;
    }
}

/*-----------------------------------------------------------*/
/* Privacy Bee                                               */
/*-----------------------------------------------------------*/

body .KFaIpG_text,
body .oSc-KW_listWrapper,
body ._7Q79CG_techWrapper {
    max-width: 800px;
}

body .KFaIpG_h1,
body .KFaIpG_h2 {
    font-family: Reckless, sans-serif;
    font-weight: 300;
    letter-spacing: -0.04em;
}

body .CCca4W_expandableName,
body .KFaIpG_link {
    font-weight: 500;
    letter-spacing: 0em;
}

@container (min-width:680px) {
    body .oSc-KW_listWrapper {
        max-width: 800px;
    }
}

body .oSc-KW_listWrapper,
body .KFaIpG_wrapper {
    --custom-title-color: #211914;
    --custom-body-color: #211914;
}

/*-----------------------------------------------------------*/
/* Plyr                                                      */
/*-----------------------------------------------------------*/

.plyr.plyr--stopped .plyr__controls {
    display: none;
}

.cookies__section,
.fs-cc-main {
    display: none !important;
}

#CookiebotWidget,
#CookiebotWidget *,
#CybotCookiebotDialog,
#CybotCookiebotDialog * {
    font-family: Suisseintl, sans-serif !important;
}

#CybotCookiebotDialog label,
#CybotCookiebotDialogBodyLevelButtonsSelectPane .CybotCookiebotDialogBodyLevelButtonDescription,
#CybotCookiebotDialog h2,
#CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton,
#CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogBodyEdgeMoreDetails a {
    font-weight: 400;
}

#CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton,
#CookiebotWidget #CookiebotWidget-buttons button#CookiebotWidget-btn-change,
#CookiebotWidget #CookiebotWidget-buttons button#CookiebotWidget-btn-withdraw {
    border-radius: 100px;
    font-weight: 400;
}

#CybotCookiebotDialogHeader {
    display: none;
}

#CybotCookiebotDialog .CookieCard .CybotCookiebotDialogDetailBodyContentCookieContainerButton,
#CybotCookiebotDialog .CookieCard .CybotCookiebotDialogDetailBodyContentIABv2Tab {
    display: flex;
}