/*-----------------------------------------------------------*/
/* 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;
}

.utl__scroller {
  scroll-padding-top: 180px;
}

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;
}

[cb-hyphens-default] {
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

/* Hide Scrollbar */

[cb-scrollbar-hidden="true"]::-webkit-scrollbar,
.utl__scroller::-webkit-scrollbar,
.ang-lst__collection__container::-webkit-scrollbar {
  display: none;
}

[cb-scrollbar-hidden="true"],
.utl__scroller,
.ang-lst__collection__container {
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */
}

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) and (pointer: fine) {}

@media (hover: none) {}

/* Rich Text */

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

.utl__rich-text-flat p:last-child:empty,
.utl__rich-text p:last-child:empty {
  display: none;
}

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

.utl__rich-text-flat ol[role="list"] {
  padding-left: 40px;
  list-style: none;
  margin: 16px 0;
}

.utl__rich-text-flat li {
  margin: 10px 0;
}

@media (min-width: 1300px) {
  .utl__rich-text-flat,
  .utl-usp__copy {
    font-size: 18px;
  }
  .utl__rich-text-flat h2 {
    font-size: 24px;
  }
  .utl__rich-text-flat h2 strong {
    font-weight: 400;
  }
}


/* Remove top padding and top margin on the first elements of the default rich text fields */

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

/* 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;
}



/*-----------------------------------------------------------*/
/* Layout                                                    */
/*-----------------------------------------------------------*/

@media (min-width: 2000px) {
  h1 {
    font-size: 200px;
  }

  .hh__heading,
  .cms-ang__heading {
    font-size: 240px;
  }

  .lay__spaced-heading {
    font-size: 170px;
  }

  .lay__spaced-heading.size2 {
    font-size: 220px;
  }

  .ubr__heading {
    font-size: 163px;
  }

  .utl__lead {
    font-size: 96px;
  }

  .cms-blg__heading {
    font-size: 100px;
  }

  .cms-blg__preheading {
    font-size: 30px;
  }
}








/*-----------------------------------------------------------*/
/* 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;
}




/*-----------------------------------------------------------*/
/* 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;
}




/*-----------------------------------------------------------*/
/* Cursor                                                    */
/*-----------------------------------------------------------*/

@media (hover: none) or (pointer: coarse) {
  .crs, .crs-fast {
    display: none;
  }
}

.crs, .crs-fast {
  pointer-events: none;
}

.crs.visible, .crs-fast.visible {
  opacity: 1;
}

.crs.link-hover .crs__circle {
  width: 16px;
  height: 16px;
}

.crs.active .crs__circle {
  width: 6px;
  height: 6px;
}


.crs.drag-active:not(.drag-active-overwrite) .crs-drag,
.crs.drag-active:not(.drag-active-overwrite) .crs-drag .crs-drag__text {
  transform: scale(1);
  opacity: 1;
}


.crs-dragging .crs-drag {
  width: 100px;
  height: 100px;
}



/*-----------------------------------------------------------*/
/* Transitions                                               */
/*-----------------------------------------------------------*/


body {
  --delay: 0s
}

body.first-load {
  --delay: 0.9s
}

body.transitioning,
.hh2__loading {
  cursor: wait !important;
}

body.transitioning * {
  pointer-events: none;
}

.nav__burger,
.nav__burger * {
  pointer-events: auto !important;
}

.barba__main {
  transition-timing-function: cubic-bezier(0.56, 0, 0.35, 0.98);
  transition-duration: 1.5s;
  transition-property: transform;
  transform: scale(1);
}

.hh__img-wrapper,
.cms-ang__bg__wrapper {
  transition-delay: var(--delay);
}




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

.nav__link__hover,
.nav__main {
  pointer-events: none;
}

.hidden-nav .nav__main {
  transform: translateY(-100%)
}


.nav__wrapper>* {
  pointer-events: auto;
}

@media (hover:hover) and (pointer: fine) {
  .nav__link__link-block:hover .nav__link__hover,
  .nav__link__link-block:focus .nav__link__hover {
    opacity: 1;
    transform: scale(1);
  }
  .nav__link__link-block:focus {
    outline: none;
  }
}



.scrolled-page .nav__main .nav__bg {
  opacity: 1;
}





@media (hover:hover) and (pointer: fine) {
  .nav-dd__list__collection-wrapper:hover .nav-dd__list__link .nav-dd__list__copy {
    color: rgba(30, 33, 30, 0.3)
  }

  .nav-dd__list__collection-wrapper .nav-dd__list__link:hover .nav-dd__list__copy {
    color: var(--black)
  }

  .nav-dd__list__collection-wrapper .nav-dd__list__link:hover .nav-dd__list__icon {
    opacity: 1;
    transform: scale(1) rotate(0deg);
  }
}





body:not(.nav-dd-open) .nav-dd {
  pointer-events: none;
}

body:not(.nav-dd-open) .nav-dd__bg {
  opacity: 0;
}

.nav-dd__overflower {
  height: var(--nav-dd-height)
}

body:not(.nav-dd-open) .nav-dd__overflower {
  height: 0px;
}

.nav-dd__list__link {
  transition-delay: calc(0.01s * (var(--length) - var(--index)));
}

body.nav-dd-open .nav-dd__list__link {
  transition-delay: calc(0.05s * var(--index));
  transition-timing-function: cubic-bezier(.23, 1, .32, 1);
  transition-duration: 1s
}


body:not(.nav-dd-open) .nav-dd__list__link {
  transform: translateY(100px);
  opacity: 0;
}

.nav-dd__img__collection-item:not(.cb-visible) .nav-dd__img__link {
  opacity: 0;
  pointer-events: none;
}





/*

cb-textreveal-element=text
cb-textreveal-style=p
cb-scrolltrigger-element=50


--index: 4
--nav-dd-index: 4

*/
.nav-dd__img__collection-container {
  overflow: visible;
}
.nav-dd__img__link {
  transform: translateY(calc((var(--index) - var(--nav-dd-index)) * 30px)) scale(calc((var(--index) - var(--nav-dd-index)) * 0.03 + 1))
}






@media screen and (max-width: 991px) {
  .nav-open .nav__link__container {
    height: 100svh;
  }

  .nav__link__item {
    opacity: 0;
    transform: translateY(calc(-10px * var(--index) - 10px));
    transition-delay: calc(0.01s * var(--index));
  }

  .nav-open .nav__link__item {
    opacity: 1;
    transform: translateY(0px);
  }

  .nav-dd .lay__container {
    padding: 0;
  }

  .nav-dd .utl__grain__wrapper {
    display: none;
  }

  .nav-open.nav-dd-open .nav__link__link-block {
    opacity: 0.4;
  }

  .nav-open.nav-dd-open .nav__link__dd-icon {
    transform: rotate(45deg);
  }

  body.transitioning .nav__link__item:not(.cb-clicked) .nav__link__link-block,
  body.transitioning .nav-dd__collection-item:not(.cb-clicked) {
    opacity: 0;
    transition: opacity 2s ease;
  }

  .nav-open .nav-meta-transition-dummy,
  .scrolled-page.nav-open .nav-meta-transition-dummy {
    background-color: var(--primary);
  }
}


.nav-meta-transition-dummy {
  --meta-page-default: #a0b5a9;
}

.nav-meta-transition-dummy {
  background-color: var(--meta-page-default);
}

.scrolled-page .nav-meta-transition-dummy {
  background-color: var(--white);
}

@media screen and (min-width: 992px) {
  .nav__link__container>.utl__grain__wrapper {
    display: none;
  }
}





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

body.nav-first-open .nav__burger__line:first-child {
  animation-name: burgerLineTopClose;
  animation-duration: 0.3s;
  animation-fill-mode: forwards;
  transition-delay: 0s;
}

body.nav-first-open.nav-open .nav__burger__line:last-child {
  animation-name: burgerLineBottomOpen;
  animation-duration: 0.3s;
  animation-fill-mode: forwards;
}

body.nav-first-open .nav__burger__line:last-child {
  animation-name: burgerLineBottomClose;
  animation-duration: 0.3s;
  animation-fill-mode: forwards;
  transition-delay: 0s;
}



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

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

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

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

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

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

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

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

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

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

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

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






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

.foo__row:last-child {
  border-bottom: none
}

.foo__row.foo-row-open .foo__list {
  display: block;
}

.foo__row.foo-row-open .foo__row__icon {
  transform: rotate(45deg);
}

.foo__list:hover .foo__list__link {
  opacity: 0.5;
}

.foo__list .foo__list__link:hover {
  opacity: 1;
}

.foo__list {
  pointer-events: none;
}

.foo__list .foo__list__link {
  pointer-events: auto;
}
@media (hover:hover) and (pointer: fine) {
  .foo__legal__link:hover::after {
    opacity: 1;
    transform: scale(1);
  }
  
}

.foo__legal__link::after {
  content: "";
  display:block;
  z-index: 5;
  border: 1px solid var(--black);
  border-radius: var(--border-radius);
  opacity: 0;
  transition: all .3s cubic-bezier(.25,.74,.22,.99);
  position: absolute;
  inset: -2px -2px;
  transform: scale(.9);
  pointer-events: none;
}

[lang="de"] [cb-lang-selector="de"],
[lang="en"] [cb-lang-selector="en"] {
  opacity: 0.8;
  pointer-events: none;
}

@media (max-width: 1200px) {
  .foo__rows {
    grid-column-gap: 8vw
  }
}





/*-----------------------------------------------------------*/
/* Dropdowns                                                 */
/*-----------------------------------------------------------*/




[cb-dd-element=item].dd-open .utl-dd__icon-embed {
  transform: rotate(45deg);
}
[cb-dd-element=item]:not(.dd-open) .utl-dd__list__wrapper {
  transform: translateY(30px);
}

[cb-dd-element=item].dd-open [cb-dd-element=list] {
  height: var(--height);
}

[cb-dd-element=item] .utl-dd__hover {
  pointer-events: none;
}

.utl-dd__collection-item:last-child {
  border-bottom: none;
}
.utl-dd__collection__item:last-child .utl__line {
  display: none;
}
.w-dyn-item:not(:last-child) .utl-dd__collection__item .utl__line {
  display: block;
}



@media (hover:hover) and (pointer: fine) {
  .utl-dd__button:hover .utl-dd__icon {
    color: var(--box-full-color);
  }

  .utl-dd__button:hover .utl-dd__hover {
    height: 100%;
  }

  .utl-dd__button:hover .utl-dd__heading {
    transform: translateX(30px)
  }

  .utl-dd__button:hover .utl-dd__icon {
    transform: translateX(-30px)
  }
}

[cb-dd-element=item].dd-open .utl-dd__hover {
  height: 100%;
}

[cb-dd-element=item].dd-open .utl-dd__list {
  margin-bottom: 0px;
}


[cb-dd-element=item].dd-open .utl-dd__heading {
  transform: translateX(30px)
}

[cb-dd-element=item].dd-open .utl-dd__icon {
  transform: translateX(-30px)
}


@media (max-width: 479px) {
  [cb-dd-element=item].dd-open .utl-dd__heading {
    transform: translateX(20px)
  }

  [cb-dd-element=item].dd-open .utl-dd__icon {
    transform: translateX(-20px)
  }
}





/*-----------------------------------------------------------*/
/* Text Reveals                                              */
/*-----------------------------------------------------------*/

/*
.lay__spaced-heading .lay__spaced-heading__span-1 {
  transition-delay: 2s;
}
.lay__spaced-heading .lay__spaced-heading__span-1 {
  padding-left: 0%
}
.lay__spaced-heading.cb-ts__visible .lay__spaced-heading__span-1 {
  padding-left: 15%
}
*/

/* H1 */

[cb-textreveal-style=h1] .cb-ts__wrapper,
[cb-textreveal-style=h2] .cb-ts__wrapper,
[cb-textreveal-style=p] .cb-ts__wrapper,
[cb-textreveal-style=kontakt] .cb-ts__wrapper {
  overflow: hidden;
  display: inline-block;
  margin: -0.15em -0.1em;
  vertical-align: top;
}

[cb-textreveal-style=h1] .cb-ts__item,
[cb-textreveal-style=h2] .cb-ts__item,
[cb-textreveal-style=p] .cb-ts__item,
[cb-textreveal-style=kontakt] .cb-ts__item {
  transform: translate(0, 100%);
  padding: 0.15em 0.1em;
  display: inline-block;
  transition-duration: 1s;
  transition-delay: calc(0.2s + (0.4s / var(--length) * var(--index)) + var(--delay));
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-property: transform;
}






body:not(.body-blocker) .page-loaded [cb-textreveal-style=h1] .cb-ts__item,
.cb-inview [cb-textreveal-style=h2] .cb-ts__item,
.cb-inview [cb-textreveal-style=p] .cb-ts__item,
.cb-inview[cb-textreveal-style=h2] .cb-ts__item,
.cb-inview[cb-textreveal-style=p] .cb-ts__item,
.page-loaded [cb-textreveal-style=kontakt] .cb-ts__item {
  opacity: 1;
  filter: blur(0);
  transform: translate(0, 0%);
  color: inherit;
}


body:not(.body-blocker) .page-loaded .blg-lst__page.blg-list__filtered .blg__heading .cb-ts__item {
  transform: translate(0, 40%);
  opacity: 0;
  filter: blur(20px);
}


/* Blur Update */

.lay__container.rows-150.hh__container {
  padding-bottom: 150px;
}

[cb-textreveal-style=h1] .cb-ts__wrapper, 
[cb-textreveal-style=h2] .cb-ts__wrapper, 
[cb-textreveal-style=p] .cb-ts__wrapper, 
[cb-textreveal-style=kontakt] .cb-ts__wrapper {
  overflow: visible
}

[cb-textreveal-style=h1] .cb-ts__item,
[cb-textreveal-style=h2] .cb-ts__item,
[cb-textreveal-style=p] .cb-ts__item,
[cb-textreveal-style=kontakt] .cb-ts__item {
  transform: translate(0, 40%);
  opacity: 0;
  filter: blur(20px);
  color: var(--primary-hover);
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1),
  filter 1s cubic-bezier(0.165, 0.84, 0.44, 1),
  opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1),
  color 0.85s cubic-bezier(0.59, 0.01, 0.99, 0.53);
  transition-delay: calc(0.2s + (0.4s / var(--length) * var(--index)) + var(--delay));
}

@media screen and (max-width: 767px) {
  [cb-textreveal-style=h1] .cb-ts__item,
  [cb-textreveal-style=h2] .cb-ts__item,
  [cb-textreveal-style=p] .cb-ts__item,
  [cb-textreveal-style=kontakt] .cb-ts__item {
    transform: translate(0, 100%);
  }
}

[cb-textreveal-style=h1]:not([cb-textreveal-color="default"]) .cb-ts__item {
  color: inherit
}


.nav-dd__list__link {
  filter: blur(0px);
  color: inherit;
}
body:not(.nav-dd-open) .nav-dd__list__link {
  filter: blur(20px);
  color: inherit;
}
@media screen and (max-width: 991px) { 
  .nav__link__item {
    filter: blur(20px);
    color: inherit;
  }
  .nav-open .nav__link__item {
    filter: blur(0px);
    color: inherit;
  }
}





.hh__section [cb-textreveal-style=h1] .cb-ts__item {
  transition-delay: calc(0.2s + (1.3s / var(--length) * var(--index)) + var(--delay));
}

[cb-textreveal-style=kontakt] .cb-ts__item {
  transition-delay: calc(0.2s + (0.2s / var(--length) * var(--index)) + var(--delay));
}
[cb-textreveal-style=p] .cb-ts__item {
  transition-delay: calc((0.5s / var(--length) * var(--index)));
}

[cb-textreveal-style=p][cb-textreveal-instance="home-usp"] .cb-ts__item {
  transition-delay: calc((1s / var(--length) * var(--index)) + 0.2s);
}

[cb-textreveal-style=h2] .cb-ts__item {
  transition-delay: calc(0.1s * var(--index));
}



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

.utl__button .cb-ts__item {
  transition: none
}
.utl__button__bg {
  border: none
}

.utl__button__bg::after {
  content: "";
  background-color: transparent;
  transition: all .4s cubic-bezier(.165,.84,.44,1);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  pointer-events: none;
  border-radius: 50px;
  border: 1px solid var(--border);
  transform: scale(1);
}

@media (hover:hover) and (pointer: fine) {
  .utl__button:hover .utl__button__bg,
  .utl__button:focus .utl__button__bg {
    width: 100%;
    color: var(--box-full-color);
  }
  [cb-textreveal-style=kontakt] .utl__button:hover .cb-ts__item {
    color: var(--box-full-color);
  }
  .utl__button:hover .utl__button__bg::after,
  .utl__button:focus .utl__button__bg::after {
    background-color: var(--black);
    border-color: var(--black);
  }

  .utl__button:hover .utl__button__text,
  .utl__button:focus .utl__button__text {
    transform: translateX(-30px);
    color: var(--box-full-color);
  }

  .utl__button:focus {
    outline: none
  }
}

.utl__button:active .utl__button__bg::after {
  top: 4px;
  right: 4px;
  bottom: 4px;
  left: 4px;
}




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


.fcs__img canvas,
.hh__bg-img canvas {
  object-fit: cover;
  object-position: 50% 0%;
}
body.body-ready:not(.body-blocker) .hh__loading__copy {
  opacity: 0;
}

.fcs__frame {
  transform: scale(var(--scale))
}

.fcs__frame__outline {
  outline: 1000px solid var(--white);
  opacity: 0;
}



/*-----------------------------------------------------------*/
/* Blog List                                                 */
/*-----------------------------------------------------------*/

[cb-blg-lst-view=highlights] .blg-lst__collection-item:first-child {
  grid-column-start: span 3;
  grid-column-end: span 3;
}

[cb-blg-lst-view=highlights] .blg-lst__collection-item:first-child .blg-lst__block {
  flex-direction: row;
}

[cb-blg-lst-view=highlights] .blg-lst__collection-item:first-child .blg-lst__img-container {
  width: 100%;
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0%;
}

[cb-blg-lst-view=highlights] .blg-lst__collection-item:first-child .blg-lst__img-block {
  padding-top: 0;
  height: 100%;
  min-height: 600px;
}

[cb-blg-lst-view=highlights] .blg-lst__collection-item:first-child .blg-lst__content-wrapper {
  padding: 60px;
  max-width: 40%;
}

[cb-blg-lst-view=highlights] .blg-lst__collection-item:first-child .blg-lst__heading {
  font-size: 50px;
}

[cb-blg-lst-view=highlights] .blg-lst__collection-item:first-child .blg-lst__preheading {
  font-size: 16px;
  padding-bottom: 10px;
}


@media (hover:hover) and (min-width: 768px) {
  .blg-lst__block:hover .blg-lst__img {
    transform: scale(1.05);
  }

  .blg-lst__block:hover {
    background-color: #292929;
  }

  .blg-lst__block:hover .blg-lst__text-wrapper {
    transform: translateY(-20px);
  }

  .blg-lst__block:hover .blg-lst__hover-overlay {
    transform: translateY(-20px);
  }
}


@media (min-width: 992px) {
  [cb-blg-lst-view=highlights] .blg-lst__collection-item:first-child .blg-lst__hover-overlay {
    left: 0;
    right: auto;
    width: 30px;
    height: 100%;
  }
}

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

  [cb-blg-lst-view=highlights] .blg-lst__collection-item:first-child .blg-lst__block:hover .blg-lst__text-wrapper,
  [cb-blg-lst-view=highlights] .blg-lst__collection-item:first-child .blg-lst__block:hover .blg-lst__info-wrapper,
  [cb-blg-lst-view=highlights] .blg-lst__collection-item:first-child .blg-lst__block:hover .blg-lst__hover-overlay {
    transform: translateX(0px);
  }
}



@media (max-width: 1400px) {
  [cb-blg-lst-view=highlights] .blg-lst__collection-item:first-child .blg-lst__content-wrapper {
    padding: 30px;
  }

  [cb-blg-lst-view=highlights] .blg-lst__collection-item:first-child .blg-lst__heading {
    font-size: 40px;
  }

  [cb-blg-lst-view=highlights] .blg-lst__collection-item:first-child .blg-lst__text-wrapper {
    width: 100%;
  }

  [cb-blg-lst-view=highlights] .blg-lst__collection-item:first-child .blg-lst__img-block {
    height: 100%;
    min-height: 450px;
  }
}

@media (max-width: 991px) {
  [cb-blg-lst-view=highlights] .blg-lst__collection-item:first-child .blg-lst__block {
    flex-direction: column;
  }

  [cb-blg-lst-view=highlights] .blg-lst__collection-item:first-child .blg-lst__img-container {
    max-width: 100%;
    flex: none;
  }

  [cb-blg-lst-view=highlights] .blg-lst__collection-item:first-child .blg-lst__img-block {
    padding-top: 55%;
    min-height: 0;
    height: auto;
  }

  [cb-blg-lst-view=highlights] .blg-lst__collection-item:first-child .blg-lst__content-wrapper {
    padding: 20px;
    max-width: 100%;
  }

  [cb-blg-lst-view=highlights] .blg-lst__collection-item:first-child .blg-lst__heading {
    font-size: 30px;
  }

  [cb-blg-lst-view=highlights] .blg-lst__collection-item:first-child .blg-lst__info-wrapper {
    display: flex;
  }

  [cb-blg-lst-view=highlights] .blg-lst__collection-item:first-child .blg-lst__text-wrapper {
    margin-bottom: 40px;
    max-width: 80%;
  }
}

@media (max-width: 479px) {
  [cb-blg-lst-view=highlights] .blg-lst__collection-item:first-child .blg-lst__img-block {
    padding-top: 70%;
  }

  [cb-blg-lst-view=highlights] .blg-lst__collection-item:first-child .blg-lst__heading {
    font-size: 22px;
  }

  [cb-blg-lst-view=highlights] .blg-lst__collection-item:first-child .blg-lst__preheading {
    font-size: 12px;
    padding-bottom: 0px;
  }
}





/*-----------------------------------------------------------*/
/* Blog                                                      */
/*-----------------------------------------------------------*/


.blg-lst__page.blg-list__filtered .blg__hero {
  margin-top: -150px;
}

.blg-lst__page .blg__heading {
  transition-delay: 0.5s
}

.blg-lst__page.blg-list__filtered .blg__heading .cb-ts__item {
  transform: translateY(50%);
  transition-duration: 1s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(.579,.001,.175,1);
}


.blg-flt__cat__cb.cb-active {
  background-color: var(--black);
  color: #cbb896;
}

.blg-lst__collection-item.cat-hidden,
.blg-lst__collection-item.search-hidden {
  display: none;
}

.blg-lst__page.blg-list__filtered .blg-flt__reset__button {
  opacity: 1;
  pointer-events: auto;
}

@media (hover:hover) and (pointer:fine) {

  .blg-flt__cat__cb:hover,
  .blg-flt__reset__button:hover {
    background-color: rgb(30 33 30 / 10%);
  }
  .blg-flt__cat__cb.cb-active:hover {
    background-color: rgb(30 33 30 / 85%);
    color: #cbb896
  }
}









/*-----------------------------------------------------------*/
/* CMS Blog                                                  */
/*-----------------------------------------------------------*/

.blg-lst__info-wrapper .cb-ts-el__wrapper {
  overflow: hidden;
  display: block;
}

.blg-lst__info-wrapper .cb-ts-el__item {
  transform: translate(0, 100%);
  display: block;
  transition-duration: 1s;
  transition-delay: calc(0.2s + 0.02s * var(--index) + var(--delay));
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-property: transform;
}

.page-loaded .blg-lst__info-wrapper .cb-ts-el__item {
  transform: translate(0, 0%);
}

@media (hover:hover) and (pointer: fine) {
  .shr-btn:hover .shr-btn__hover {
    opacity: 1;
    transform: translateY(0px);
  }

  .shr-btn:hover {
    background-color: rgba(30, 33, 30, 0.1);
  }
}





@media(hover:hover) and (pointer: fine) {
  .utl-cta:hover .utl__img {
    transform: scale(1.1);
  }
}

.utl__rich-text .utl-cta {
  margin: 40px 0;
}

.utl__rich-text .utl-cta a {
  border-bottom: none
}

.utl__rich-text .utl-cta .utl-cta__text-wrapper {
  min-width: none;
  padding: 30px 40px;
}

.utl__rich-text .utl-cta .utl-cta__copy {
  line-height: 1.2;
  font-size: 18px;
  margin: 0;
}

.utl__rich-text .utl-cta .utl-cta__heading {
  margin: 0;
  padding: 0;
}

.utl__rich-text .utl-cta .lay__block.rows-40 {
  row-gap: 20px;
}

.utl__rich-text a.utl-cta:hover {
  border-bottom-color: inherit;
  color: inherit
}







/*-----------------------------------------------------------*/
/* Video Player                                              */
/*-----------------------------------------------------------*/



.cursor-video__play {
  pointer-events: none;
}

@media (hover:hover) and (pointer: fine) {
  .cursor-video__circle:hover {
    width: 130px;
    height: 130px;
    background-color: var(--white);
  }
}







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


.utl__link__hover {
  pointer-events: none;
}

@media (hover:hover) and (pointer: fine) {
  a:hover .utl__link__hover {
    opacity: 1;
    transform: scale(1);
  }
}









/*-----------------------------------------------------------*/
/* Uber mich                                                 */
/*-----------------------------------------------------------*/



.ubr__vid__embed iframe,
.hom__vid__embed iframe {
  width: 100%;
  height: 100%;
}
.ubr__vid.vid-started.playing .cursor-video__circle,
.ubr__vid.vid-started.playing .cursor-video__play {
  transform: scale(0);
}
.time-dragging .cb-player__progress__circle__active {
  opacity: 1;
}

.ubr__vid .cb-player__progress__indicator {
  width: var(--progress)
}

.ubr__vid.playing .cb-player__playback-toggle__embed:first-child,
.ubr__vid:not(.playing) .cb-player__playback-toggle__embed:last-child {
  transform: scale(0.5);
  opacity: 0;
}

@media (hover:hover) and (pointer: fine) {
  .cb-player__progress__wrapper:hover .cb-player__progress__bar {
    height: 8px;
    background-color: rgba(255,255,255,.5);
  }
  .cb-player__playback-toggle:hover {
    background-color: rgba(255,255,255,1);
    color: var(--black)
  }
}

.vertical-crop .ubr__vid__embed {
  top: -390%;
  bottom: -410%;
  width: 100%;
  height: 900%;
  left: 0;
  right: 0;
}



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


.ang-lst__collection__item {
  transition-delay: calc((0.15s * var(--index)) + var(--delay));
}

@media (hover:hover) and (pointer: fine) {
  .cb-dragging .ang-lst__link {
    transform: scale(0.95);
    pointer-events: none;
  }
}

.ang-lst__link {
  user-select: none;
  -webkit-user-drag: none;  
}



@media (hover:hover) and (pointer: fine) {
  .ang-lst__link:hover .ang-lst__img-wrapper {
    transform: scale(1.05)
  }
}


.ang-lst__collection__container[cb-anglist-style="horizontal"] {
  flex-direction: row;
  justify-content: flex-start;
  align-items: stretch;
  margin-left: -60px;
  margin-right: -60px;
  padding-left: 60px;
  padding-right: 60px;
  display: flex;
  overflow: hidden;
}



[cb-anglist-style="horizontal"] .ang-lst__collection__wrapper {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex: none;
  grid-template-rows: auto;
  grid-template-columns: 60vh;
  grid-auto-columns: 60vh;
  grid-auto-flow: column;
  justify-content: flex-start;
  align-items: stretch;
  display: grid;
}

[cb-anglist-style="horizontal"] .ang-lst__collection__item {
  margin-right: 20px
}


@media (min-width: 2000px) {
  .ang-lst__collection__container[cb-anglist-style="horizontal"] {
    margin-left: calc((1880px - 100vw) / 2);
    margin-right: calc((1880px - 100vw) / 2);
    padding-left: calc((100vw - 1880px) / 2);
    padding-right: calc((100vw - 1880px) / 2);
  }
}

@media (max-width: 991px) {
  .ang-lst__collection__container[cb-anglist-style="horizontal"] {
    /*overflow-x: scroll;*/
  }

  [cb-anglist-style="horizontal"] .ang-lst__collection__wrapper {
    grid-template-columns: 43vw;
    grid-auto-columns: 43vw;
  }
}

@media screen and (max-width: 767px) {
  .ang-lst__collection__container[cb-anglist-style="horizontal"] {
    margin-left: -40px;
    margin-right: -40px;
    padding-left: 40px;
    padding-right: 40px;
  }

  [cb-anglist-style="horizontal"] .ang-lst__collection__wrapper {
    grid-template-columns: 80vw;
    grid-auto-columns: 80vw;
  }
}


@media screen and (max-width: 479px) {
  .ang-lst__collection__container[cb-anglist-style="horizontal"] {
    margin-left: -6vw;
    margin-right: -6vw;
    padding-left: 6vw;
    padding-right: 6vw;
  }
}



/* Home Slider */



.h-ang__slider__item {
  transform: translateX(calc(100vw + (50vw * var(--index)) - ((var(--parallax-progress) * var(--length) * 50vw) / 100)))
             translateY(calc(((100 + (50 * var(--index)) - ((var(--parallax-progress) * var(--length) * 50) / 100)) / 100 - 1) * 15svh + 15svh))
             scale(calc((0.05 * ((100 + (50 * var(--index)) - ((var(--parallax-progress) * var(--length) * 50) / 100)) / 100)) + 0.95));
  transform-origin: 50% 50%;
}

/*
translateX(calc(100vw + (50vw * var(--index) - (var(--parallax-progress) * (var(--length) * 50svw) / 100%))))
*/


/*-----------------------------------------------------------*/
/* Utility                                                   */
/*-----------------------------------------------------------*/

@media (hover:hover) and (pointer: fine) {
  .utl-usp__block:hover .utl-hover__block,
  .ang-lst__link:hover .utl-hover__block,
  .blg-lst__block:hover .utl-hover__block,
  .utl-cta:hover .utl-hover__block,
  .utl-usp__block:focus .utl-hover__block,
  .ang-lst__link:focus .utl-hover__block,
  .blg-lst__block:focus .utl-hover__block,
  .utl-cta:focus .utl-hover__block,
  .nav-dd__list__link:hover .utl-hover__block,
  .nav-dd__img__link:hover .utl-hover__block {
    opacity: 1;
    top: -6px;
    right: -6px;
    bottom: -6px;
    left: -6px;
    border-radius: 6px;
  }

  .nav__logo__link:hover .utl-hover__block,
  .nav__logo__link:focus .utl-hover__block {
    opacity: 1;
    top: -10px;
    right: -12px;
    bottom: -10px;
    left: -12px;
    border-radius: 6px;
  }
}


@media (max-width: 991px) {
  .nav-dd__list__link .utl-hover__block {
    display: none;
  }
}

.utl-usp__block:focus,
.ang-lst__link:focus,
.blg-lst__block:focus,
.utl-cta:focus,
.nav__logo__link:focus {
  outline: none;
}








/*-----------------------------------------------------------*/
/* PAGE: Appointment Form                                    */
/*-----------------------------------------------------------*/


[data-barba-namespace="terminformular"] .utl__scroller {
  scroll-padding-top: 45svh;
}

.frm__input__wrapper.active .frm__input__label {
  font-size: 12px;
  transform: translate(0px, -14px);
  opacity: 0.5;
}
input.frm__input__text-input:focus + .frm__input__label {
  transform: translate(10px, -12px);
}
input.frm__input__text-input:focus {
  border-radius: 4px;
  border: 1px solid var(--black);
  padding: 12px 10px 0 10px;
}

.barba__main:not(.page-loaded) .frm__input__wrapper * {
  transition: none
}


.app__ang__checkbox__checkbox:checked + * .ang-lst__block {
  opacity: 1;
}
.app__ang__checkbox__checkbox:checked + * .app__ang__check {
  background-color: var(--white);
  border-color: transparent;
  opacity: 1;
}
.app__ang__checkbox__checkbox:checked + * .app__ang__check__icon {
  opacity: 1;
}

.app__ang__collection__item .ang-lst__text-wrapper {
  padding: 0 20px 30px 20px
}
.app__ang__collection__item .ang-lst__heading {
  font-size: 18px;
}

.app__ang__collection__item .ang-lst__block {
  transition: opacity .2s;
  opacity: 0.4;
}

[cb-app-element=form-section-wrapper] > * {
  transition: opacity 0.5s ease;
  pointer-events: auto;
}
[cb-app-element=form-section-wrapper] {
  pointer-events: none;
}
[cb-app-element=form-section-wrapper].focus-active > * {
  opacity: 0.1;
}
[cb-app-element=form-section-wrapper].focus-active > .focus {
  opacity: 1;
}


@media (hover:hover) and (pointer: fine) {
  [cb-app-element=form-section-wrapper].focus-active:hover > * {
    opacity: 0.1;
  }
  [cb-app-element=form-section-wrapper].focus-active > *:hover {
    opacity: 1;
  }
}



@media (min-width: 992px) {
  form > .lay__block.rows-120 {
    grid-row-gap: 200px;
  }
}



