html {
  margin-top: 0 !important;
}

/* Buttons */

#content .button a,
#content .button-block a {
  text-decoration: none;
  color: #fff !important;
  font-size: 15px;
  background: var(--color-hellbraun);
  border-radius: 50px;
  padding: 1.1em 3em;
  text-align: center;
  transition: all 0.5s ease 0s;
}

#content .button-block a {
  display: block;
}

#content .button a:hover,
#content .button-block a:hover {
  text-decoration: none;
  background: var(--color-braun);
}

.vc_row.wpb_row .wpb_wrapper .wpb_text_column:has(.button) {
  margin-top: var(--gap-m);
}

/* Sidebar */

#sfm-sidebar .sfm-widget .icons {
  display: flex;
  gap: 10px;
  justify-content: center;
  align-items: center;
}

#sfm-sidebar .sfm-widget p img {
  width: 20px;
  margin: 0 !important;
}

#sfm-sidebar .sfm-widget .icons .lang-toggle {
  font-size: 0 !important;
}

#sfm-sidebar .sfm-widget .icons a {
  margin-bottom: 0 !important;
}

#sfm-sidebar .sfm-widget .icons .lang-toggle::after {
  content: "";
  background-image: url(../img/icon-lang.svg);
  width: 20px;
  height: 30px;
  display: inline-block;
  background-repeat: no-repeat;
  margin: 0 10px 0 0 !important;
  background-position: center;
}

#sfm-sidebar .sfm-widget .button-gross a {
  border-radius: 50px;
  font-size: 15px !important;
  font-family: var(--mainfont);
  text-decoration: none !important;
  padding: 9px 25px;
  text-align: center;
  background: var(--color-braun);
  color: #fff !important;
  width: 100% !important;
  display: block !important;
  transition: all 0.5s ease 0s;
}

#sfm-sidebar .sfm-widget .button-gross a:hover {
  background: var(--color-hellbraun);
}

#sfm-sidebar .sfm-nav form {
  display: none;
}

#sfm-sidebar .sfm-nav .sfm-menu a {
  color: var(--color-braun) !important;
  font-family: var(--headlinefont);
  font-size: 22px;
}

#sfm-sidebar .sfm-menu-level-0 > li a {
  border-bottom: 1px solid var(--color-hellbraun) !important;
}

#sfm-sidebar ul.sfm-menu-level-1 li:not(.sfm-active-class) a {
  border-bottom: 1px solid white !important;
  font-family: var(--headlinefont);
}

#sfm-sidebar ul.sfm-menu-level-1 li a:hover {
  border-bottom: none !important;
}

#sfm-sidebar .sfm-nav .sfm-menu li a {
  padding-left: 1rem !important;
}

body.page #sfm-sidebar .sfm-child-menu.sfm-menu-level-1 li a {
  padding-left: 0 !important;
}

/* TODO */

#sfm-sidebar ul.sfm-child-menu.sfm-menu-level-1 * {
}

#sfm-sidebar .sfm-menu .sfm-active-class a span {
  font-family: var(--headlinefont) !important;
}

#sfm-sidebar .sfm-copy {
  margin-bottom: 50px !important;
}

#sfm-sidebar::after {
  filter: drop-shadow(8px 0px 5px rgba(0, 0, 0, 0.15));
}

/** neue lis **/

#content ul:not(.slick-dots) li {
  list-style: none;
  padding-left: 22px;
  position: relative;
}

#content ul li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-braun);
  font-size: 1.5em;
  transform: translateY(-25%);
  height: 1em;
}

/* modal */

.ult-overlay .ult_modal-content {
  border-style: none !important;
}

.ult-overlay .ult_modal-content .ult_modal-body {
  padding: var(--gap-l);
}

/* header, slideshow and scroll */

#slideshow h4 {
  color: var(--color-hellbraun) !important;
}

#slideshow h5 {
  color: white !important;
}

#scroll {
  transform: translateY(-100%);
  position: absolute;
  left: 25vw;
  z-index: 9;
}

#scroll a::before {
  background: var(--color-hellbraun);
  color: white;
  font-family: var(--mainfont);
  font-size: 1.2rem;
  width: 100%;
  height: 100%;
  display: flex;
  background-repeat: no-repeat;
  align-items: center;
  justify-content: center;
  text-align: left;
  min-height: 100px;
  white-space: pre;
  line-height: 1.2;
  width: 270px;
}

#scroll a:hover,
#scroll a:focus {
  text-decoration: none !important;
}

html[lang^="de"] #scroll a::before {
  content: "Klausbauer\A Entdecken";
}

html[lang^="en"] #scroll a::before {
  content: "Discover\A Klausbauer";
}

#scroll a::after {
  content: "";
  background-image: url(../img/scroll-arrow.svg);
  position: absolute;
  width: 100px;
  height: 200px;
  top: -100%;
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

/* Blocks from VS */

.vc_row.wpb_row:not(#fruehling)
  .ult-carousel-wrapper
  .ult-item-wrap.slick-slide {
  margin: 0 !important;
}

.vc_row.wpb_row.hintergrund-weiss:not(.storno),
.vc_row.wpb_row.kein-hintergrund {
  margin-bottom: 0 !important;
}

.mehr-abstand-oben {
  padding-top: var(--gap-l);
}

.mehr-abstand-unten {
  padding-bottom: var(--gap-l);
}

.wpb_gallery_slides li::before {
  display: none;
}

.flex-control-paging li a {
  background: white !important;
}

.flex-control-paging li a.flex-active {
  background: var(--color-braun) !important;
}

#ebOfferContainer {
  width: unset !important;
}

#ebFrontEndFrame {
  background: white !important;
  padding: var(--gap-m);
}

/* map */

.wpb_raw_code:has(.mapp-iframe),
.wpb_raw_code .mapp-iframe {
  height: 28.125rem !important;
}

/* responsive */

@media (max-width: 767px) {
  .ult-overlay-close {
    right: 5px !important;
    top: 5px !important;
  }
  #sprache-mobile .lang-toggle::after {
    width: 30px;
    height: 30px;
  }
}

@media (min-width: 1200px) {
  #sprache-mobile {
    display: none;
  }
  #logo {
    display: none;
  }
}

@media screen and (max-width: 1200px) {
  body.page #sfm-sidebar {
    display: none !important;
  }
  html body.page {
    padding-left: 0px !important;
  }
}

@media (min-width: 800px) {
  .vc_row.wpb_row:has(.wpb_gallery) {
    display: flex;
    align-items: center;
  }
}

@media screen and (max-width: 576px) {
  .slick-slide .ult-item-wrap:first-child {
    margin-bottom: var(--gap-m);
  }
  .sbg-card .wpb_column:last-child .vc_column-inner {
    margin-left: 0 !important;
    margin-top: var(--gap-m) !important;
  }
  .vc_row.wpb_row .wpb_column:last-child {
  }
  #footerleiste {
    display: flex;
    flex-direction: column;
    gap: var(--gap-m);
  }
  .vc_row.wpb_row .wpb_wrapper .wpb_text_column:has(.button) {
    margin-top: var(--gap-l);
  }
}

.sfm-menu-level-1 li a {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  padding-left: 20px !important;
  /* Hier kannst du den Abstand zum Rand feinjustieren */
}

.vc_row.wpb_row.person {
  padding-top: calc(var(--gap-m) * 1.3);
  padding-bottom: calc(var(--gap-m) * 1.3);
  padding-right: var(--gap-l) !important;
}

@media (min-width: 1200px) {
  .vc_row.wpb_row.person,
  .vc_row.wpb_row.geschichte {
    padding-left: 400px !important;
  }
}

.person .vc_row.wpb_row {
  margin-bottom: 0 !important;
}

.person .vc_row.wpb_row .wpb_single_image {
  margin-bottom: 0 !important;
}

.vc_row.wpb_row.geschichte {
  padding-bottom: var(--gap-m) !important;
  padding-right: var(--gap-l) !important;
  margin-bottom: 0 !important;
}

.geschichte .wpb_column:first-child .vc_row {
  margin-bottom: 0 !important;
}

.geschichte .wpb_column:first-child {
  margin-bottom: 0 !important;
  /* align-items: center !important;*/
  align-items: flex-start;
}

.geschichte .wpb_column:first-child .wpb_single_image img {
  margin-top: 0 !important;
}

@media (min-width: 768px) {
  .geschichte .wpb_column:last-child h3 {
    margin-top: 0 !important;
  }
}

.vc_row.geschichte.first {
  padding-top: calc(var(--gap-m) * 1.3);
}

#header-btn {
  position: fixed;
  bottom: 0;
  width: 100vw;
  height: 45px;
  background-color: var(--color-braun);
  z-index: 99999;
  padding-bottom: env(safe-area-inset-bottom);
  /* Falls die Buttons fest am Boden kleben: */
  bottom: env(safe-area-inset-bottom);
}

#header-btn .textwidget {
  display: flex;
  height: 100%;
  align-items: center;
}

#header-btn .textwidget a {
  width: 50%;
  text-align: center;
  color: white;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--mainfont);
  font-size: 15px;
}

#header-btn .textwidget a:hover {
  text-decoration: none;
}

#header-btn .textwidget a:last-child {
  background-color: black;
}

/* Logo und Nav mobile */

@media (min-width: 1200px) {
  #header-btn {
    display: none;
  }
}

#icons-mobile,
#sprache-mobile {
  opacity: 0;
  transition: opacity 0.5s;
  pointer-events: all;
  z-index: 999999999;
  position: fixed !important;
  display: none !important;
}

#sprache-mobile {
  display: flex;
}

#sprache-mobile .lang-toggle {
  display: flex;
  height: 100%;
  pointer-events: all;
  z-index: 999999;
  position: relative;
}

#icons-mobile {
  position: absolute;
  z-index: 999999;
  top: 4vw !important;
  right: 3.5vw;
  display: flex;
  gap: calc(var(--gap-m) * 1.4);
  transform: translateY(50%);
}

#icons-mobile a {
  pointer-events: auto;
}

#icons-mobile img {
  width: 28px;
  margin: 0 !important;
}

#sprache-mobile {
  position: absolute;
  top: 4vw !important;
  right: calc(var(--gap-m) + 72px + 3.5vw);
  z-index: 999999;
  font-size: 0;
  transform: translateY(50%);
}

#sprache-mobile .lang-toggle::after {
  content: "";
  background-image: url(../img/icon-lang.svg);
  width: 28px;
  height: 28px;
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
}

/* tablet */

@media (max-width: 1200px) and (min-width: 600px) {
  #hauptbild:before {
    content: "";
    width: 100vw;
    height: 20px;
    background-image: url(../img/wellen-mobile.svg);
    background-repeat: repeat-x;
    left: 0;
    top: 0;
    position: absolute;
    display: inline-block;
    z-index: 9;
    margin-top: -10px;
  }
  .ult_modal.ult-small {
    width: 70%;
  }
  #scroll {
    left: 10vw;
  }
  #sprache-mobile {
    right: calc(var(--gap-m) + 85px + 3.5vw);
  }
  #slideshow-mobile:before,
  #bild-mobile:before {
    top: 118px !important;
    background-repeat: repeat-x !important;
  }
  .vc_row.wpb_row.package,
  #winter,
  #ganzjahrig {
    display: flex !important;
    flex-direction: column;
  }
  #winter .wpb_column,
  #ganzjahrig .wpb_column,
  .vc_row.wpb_row.package .wpb_column {
    width: 100%;
  }
  #winter .wpb_column:first-child,
  #ganzjahrig .wpb_column:first-child {
    padding-left: 0 !important;
    margin-bottom: var(--gap-m) !important;
  }
  .vc_row.wpb_row.package.hintergrund-weiss .vc_row .wpb_column:first-child {
    padding: 0 60px !important;
  }
  .vc_row.wpb_row.eigene-produktion {
    display: flex !important;
    flex-direction: column;
  }
  .vc_row.wpb_row.eigene-produktion > .wpb_column {
    width: 100%;
  }
  .person .wpb_single_image,
  .package.hintergrund-weiss .wpb_column:last-child h4 {
    margin-top: var(--gap-m);
  }
  .package.hintergrund-weiss .wpb_column:last-child {
    padding-left: 0% !important;
  }
  .page-id-1528 .package.kein-hintergrund .wpb_column:last-child,
  .page-id-14 .package.kein-hintergrund .wpb_column:last-child {
    padding-left: 0 !important;
  }
  .page-id-1528 .package .wpb_column:last-child,
  .page-id-14 .package .wpb_column:last-child {
    margin-top: var(--gap-m);
  }
  .page-id-1528 .vc_row.kein-hintergrund,
  .page-id-14 .vc_row.kein-hintergrund {
    padding-left: 30px !important;
  }
  .page-id-1528
    .vc_row.kein-hintergrund
    .wpb_column:first-child
    > .vc_column-inner,
  .page-id-14
    .vc_row.kein-hintergrund
    .wpb_column:first-child
    > .vc_column-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

@media (max-width: 1200px) {
  #logo {
    position: absolute;
    top: 4vw;
    right: 3.5vw;
    width: 160px;
    z-index: 9999;
  }
  body.shiftnav-disable-shift-body {
    padding-top: 0 !important;
  }
  header:before {
    content: "";
    width: 100%;
    height: 120px !important;
    background-color: white;
    left: 0;
    top: 0;
    position: relative;
    display: inline-block;
    z-index: 9;
  }
  #slideshow-mobile:before,
  #bild-mobile:before {
    content: "";
    width: 100%;
    height: 11px;
    background-image: url(../img/wellen-mobile.svg);
    background-repeat: no-repeat;
    left: 0;
    top: 0;
    position: absolute;
    display: inline-block;
    z-index: 9;
  }
  #bild-mobile:before {
    left: unset !important;
    top: unset !important;
  }
  /* Scroll-Lock, wenn ShiftNav offen ist */
  body.shiftnav-open {
    overflow: hidden !important;
    height: 100vh !important;
    touch-action: none;
  }
  #shiftnav-toggle-main {
    position: absolute;
    top: 4vw !important;
    left: 3.5vw;
    background-color: var(--color-braun);
    border-radius: 100px;
    width: 50px;
    height: 50px;
    display: flex;
    z-index: 999999;
    padding: 0;
    align-items: center;
    justify-content: center;
    position: fixed;
  }
  #shiftnav-toggle-main-button {
    margin: 0 !important;
    padding: 0 !important;
    height: 100%;
    width: 100%;
  }
  #shiftnav-toggle-main .navigation-title,
  #shiftnav-toggle-main .shiftnav-main-toggle-content {
    display: none;
  }
  /* nav innen */
  #shiftnav-main {
    width: 100vw;
    max-width: unset !important;
    z-index: 9999;
    height: 100vh;
  }
  .shiftnav-open.shiftnav-open-left #shiftnav-toggle-main {
    transform: translateX(0) !important;
  }
  .shiftnav-open.shiftnav-open-left #icons-mobile,
  .shiftnav-open.shiftnav-open-left #sprache-mobile {
    opacity: 1;
    display: flex !important;
  }
  #shiftnav-main .shiftnav-nav {
    top: 25%;
  }
  #shiftnav-main .shiftnav-nav #menu-hauptmenue,
  #shiftnav-main .shiftnav-nav #menu-hauptmenue-englisch {
    padding: 0 10vw;
  }
  #shiftnav-main .shiftnav-nav #menu-hauptmenue .menu-item a,
  #shiftnav-main .shiftnav-nav #menu-hauptmenue-englisch .menu-item a,
  #shiftnav-main .shiftnav-nav .menu-item.menu-item-has-children span {
    font-family: var(--headlinefont);
    font-size: 22px !important;
    padding: var(--gap-m) 25px;
    color: var(--color-braun) !important;
    border-bottom: 1px solid var(--color-hellbraun);
  }
  #shiftnav-main .shiftnav-nav #menu-hauptmenue .menu-item.current-menu-item a,
  #shiftnav-main
    .shiftnav-nav
    #menu-hauptmenu-englisch
    .menu-item.current-menu-item
    a {
    background: transparent !important;
    border-bottom: 3px solid var(--color-hellbraun);
  }
  #shiftnav-main .shiftnav-nav #menu-hauptmenue .shiftnav-submenu-activation,
  #shiftnav-main
    .shiftnav-nav
    #menu-hauptmenue-englisch
    .shiftnav-submenu-activation {
    display: none;
  }
  /* untermenüs */
  #shiftnav-main .shiftnav-nav li.shiftnav-active .shiftnav-target {
    background: transparent !important;
    border-bottom: 1px solid var(--color-hellbraun);
  }
  #shiftnav-main .shiftnav-nav li.shiftnav-active ul.sub-menu {
    background: transparent !important;
    margin-top: var(--gap-l);
  }
  #shiftnav-main
    .shiftnav-nav
    li.shiftnav-active
    ul.sub-menu
    .shiftnav-retract
    a {
    text-align: left;
    margin-top: var(--gap-m);
  }
  #shiftnav-main
    .shiftnav-nav
    li.shiftnav-active
    ul.sub-menu
    li.menu-item.current-menu-item
    a {
    color: var(--color-braun) !important;
    text-decoration: underline;
  }
  #shiftnav-main .shiftnav-nav ul.sub-menu a.shiftnav-target:active {
    text-decoration: underline;
  }
  #shiftnav-main
    .shiftnav-nav
    #menu-hauptmenue
    li.shiftnav-active
    ul.sub-menu
    a.shiftnav-target,
  #shiftnav-main
    .shiftnav-nav
    #menu-hauptmenue-englisch
    li.shiftnav-active
    ul.sub-menu
    a.shiftnav-target {
    background: transparent !important;
    border: none !important;
    color: var(--color-hellbraun) !important;
    font-size: 18px !important;
    padding: calc(var(--gap-s) * 1.5) 25px;
  }
  #content .button-block a {
    line-height: 1;
  }
}

@media (max-width: 767px) {
  #footerleiste {
    margin-bottom: 45px;
  }
}

@media (max-width: 576px) {
  header:before {
    height: 100px;
  }
  #slideshow-mobile {
    margin-top: -10px;
  }
  #slideshow-mobile,
  #slideshow-mobile * {
    height: 50vh !important;
  }
  #slideshow-mobile canvas {
    object-fit: cover;
  }
  #slideshow-mobile .tp-rightarrow {
    width: 30px !important;
    height: 30px !important;
    background-size: contain !important;
    transform: translate(-100%, 0) !important;
  }
  #slideshow-mobile .tp-leftarrow {
    transform: translate(50%, 0) !important;
    width: 30px !important;
    height: 30px !important;
    background-size: contain !important;
  }
  #bild-mobile {
    display: block;
    position: relative;
    top: -10px;
  }
  #bild-mobile:has(img) {
    height: 40vh;
  }
  #bild-mobile img {
    height: 40vh;
    object-fit: cover;
  }
  .hintergrund-weiss .vc_col-sm-6:last-child,
  .kein-hintergrund .vc_col-sm-6:last-child {
    padding-top: var(--gap-m) !important;
  }
  #content .wpb_text_column h4 {
    margin-bottom: var(--gap-m) !important;
  }
  .vc_row.wpb_row.person,
  .vc_row.wpb_row.geschichte {
    padding-right: 20px !important;
  }
  .vc_row.wpb_row.person h3 {
    margin-bottom: var(--gap-m) !important;
  }
  .wpb_text_column.wpb_content_element.geschichte-banner {
    margin-top: 0 !important;
  }
  #ganzjahrig > .wpb_column > .vc_column-inner,
  #winter > .wpb_column > .vc_column-inner {
    padding: 0 !important;
  }
  .hintergrund-weiss .vc_col-sm-6:last-child {
    padding-right: 20px !important;
  }
  .hintergrund-weiss > .wpb_column > .vc_column-inner {
    padding: 0 !important;
  }
  .hintergrund-weiss .vc_col-sm-6:last-child,
  .kein-hintergrund .vc_col-sm-6:last-child,
  .alm-sommer
    .wpb_column:last-child
    > .vc_column-inner
    > .wpb_wrapper
    > .wpb_text_column {
    padding-left: 0 !important;
  }
  .alm-sommer
    .wpb_column:last-child
    > .vc_column-inner
    > .wpb_wrapper
    > .wpb_text_column {
    margin-left: 0 !important;
  }
  .vc_tta.vc_general .vc_tta-panel-title > a {
    line-height: 1.2;
  }
  .vc_tta.vc_general .vc_tta-panel-title i {
    margin-top: 3px;
  }
  .impressum-referenz {
    padding-top: var(--gap-m);
  }
  #content .vc_tta.vc_tta-accordion .button-block a {
    padding: 1.1em 1.7em;
  }
  .abstand {
    margin-bottom: 32px;
  }
}

.shiftnav-sr-close {
  display: none;
}

#slideshow-mobile {
  pointer-events: none;
}

.shiftnav-open header {
  z-index: 1000001 !important;
}

.vc_tta.vc_tta-accordion
  .vc_tta-controls-icon-position-left
  .vc_tta-controls-icon {
  position: unset !important;
  transform: translateY(15%) !important;
  flex: 0 0 auto !important;
}

.vc_tta.vc_tta-accordion .vc_tta-panel a {
  display: flex !important;
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 10px;
}

.mfp-content .mfp-title {
  display: none;
}
