@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

button {
  border: none;
  margin: 0;
  padding: 0;
  width: auto;
  overflow: visible;
  background: transparent;
  /* inherit font & color from ancestor */
  color: inherit;
  font: inherit;
  /* Normalize `line-height`. Cannot be changed from `normal` in Firefox 4+. */
  line-height: normal;
  /* Corrects font smoothing for webkit */
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  /* Corrects inability to style clickable `input` types in iOS */
  -webkit-appearance: none;
  outline: none;
}

/* Remove excess padding and border in Firefox 4+ */
button::-moz-focus-inner {
  border: 0;
  padding: 0;
}

#viewPortSize {
  display: block !important;
}

::-moz-selection {
  background: black;
  color: white;
}

::selection {
  background: black;
  color: white;
}

#test-data {
  display: none;
}

.opacity-null {
  opacity: 0;
  visibility: hidden;
}

.display-none {
  display: none;
}

.overflow-hidden {
  overflow: hidden;
}

.nowrap {
  white-space: nowrap;
}

.background-cover {
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
.background-cover > img {
  display: none;
}

@-webkit-keyframes webkit-example {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, -100%);
    -moz-transform: translate(-50%, -100%);
    -ms-transform: translate(-50%, -100%);
    -o-transform: translate(-50%, -100%);
    transform: translate(-50%, -100%);
  }
  20% {
    opacity: 1;
  }
  60% {
    opacity: 1;
  }
  80%, 100% {
    opacity: 0;
    -webkit-transform: translate(-50%, 20%);
    -moz-transform: translate(-50%, 20%);
    -ms-transform: translate(-50%, 20%);
    -o-transform: translate(-50%, 20%);
    transform: translate(-50%, 20%);
  }
}
@-moz-keyframes moz-example {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, -100%);
    -moz-transform: translate(-50%, -100%);
    -ms-transform: translate(-50%, -100%);
    -o-transform: translate(-50%, -100%);
    transform: translate(-50%, -100%);
  }
  20% {
    opacity: 1;
  }
  60% {
    opacity: 1;
  }
  80%, 100% {
    opacity: 0;
    -webkit-transform: translate(-50%, 20%);
    -moz-transform: translate(-50%, 20%);
    -ms-transform: translate(-50%, 20%);
    -o-transform: translate(-50%, 20%);
    transform: translate(-50%, 20%);
  }
}
@-o-keyframes o-example {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, -100%);
    -moz-transform: translate(-50%, -100%);
    -ms-transform: translate(-50%, -100%);
    -o-transform: translate(-50%, -100%);
    transform: translate(-50%, -100%);
  }
  20% {
    opacity: 1;
  }
  60% {
    opacity: 1;
  }
  80%, 100% {
    opacity: 0;
    -webkit-transform: translate(-50%, 20%);
    -moz-transform: translate(-50%, 20%);
    -ms-transform: translate(-50%, 20%);
    -o-transform: translate(-50%, 20%);
    transform: translate(-50%, 20%);
  }
}
@keyframes example {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, -100%);
    -moz-transform: translate(-50%, -100%);
    -ms-transform: translate(-50%, -100%);
    -o-transform: translate(-50%, -100%);
    transform: translate(-50%, -100%);
  }
  20% {
    opacity: 1;
  }
  60% {
    opacity: 1;
  }
  80%, 100% {
    opacity: 0;
    -webkit-transform: translate(-50%, 20%);
    -moz-transform: translate(-50%, 20%);
    -ms-transform: translate(-50%, 20%);
    -o-transform: translate(-50%, 20%);
    transform: translate(-50%, 20%);
  }
}
.example-animation {
  -moz-animation-duration: 0.5s;
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -moz-animation-fill-mode: forwards;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -moz-animation-timing-function: ease-in;
  -webkit-animation-timing-function: ease-in;
  animation-fill-timing-function: ease-in;
  -moz-iteration-count: infinite;
  -webkit-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-name: example;
  -moz-animation-name: example;
  -o-animation-name: example;
  animation-name: example;
}

.hidden {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: 0.1s;
  -moz-transition: 0.1s;
  -ms-transition: 0.1s;
  -o-transition: 0.1s;
  transition: 0.1s;
}

img.object-fit-cover {
  object-fit: cover;
}

.linkify-container {
  white-space: nowrap;
}
.linkify-container:hover span {
  text-decoration: underline;
}

.linkify {
  cursor: pointer;
}
.linkify.before:after {
  content: "@";
}
.linkify.suffix:before {
  content: ".";
}

/*! Flickity v2.2.1
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-carousel {
  position: absolute;
  height: 100%;
  width: 100%;
}
.flickity-carousel .cell {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 1s;
  -moz-transition: opacity 1s;
  -ms-transition: opacity 1s;
  -o-transition: opacity 1s;
  transition: opacity 1s;
}
.flickity-carousel .cell.is-selected {
  z-index: 100;
  opacity: 1;
  visibility: visible;
}
.flickity-carousel .fade-out-cell {
  z-index: 9999;
  opacity: 1;
  visibility: visible;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

button.prev.fullscreen-arrow,
button.next.fullscreen-arrow {
  background: rgba(0, 0, 0, 0.15);
  position: absolute;
  width: 3.5em;
  height: 3.5em;
  z-index: 999;
  top: 50%;
  cursor: pointer;
  moz-transform-origin: 50% 50%;
  -o-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  opacity: 0;
  visibility: hidden;
}
button.prev.fullscreen-arrow:before, button.prev.fullscreen-arrow:after,
button.next.fullscreen-arrow:before,
button.next.fullscreen-arrow:after {
  content: "";
  position: absolute;
  width: 1.5em;
  height: 0.2em;
  background: white;
  top: calc(50% - 0.1em);
}
button.prev.fullscreen-arrow:before,
button.next.fullscreen-arrow:before {
  top: calc(50% - 0.15em);
  -webkit-transform: translate(-46.5%, 0) rotate(45deg);
  -moz-transform: translate(-46.5%, 0) rotate(45deg);
  -ms-transform: translate(-46.5%, 0) rotate(45deg);
  -o-transform: translate(-46.5%, 0) rotate(45deg);
  transform: translate(-46.5%, 0) rotate(45deg);
  moz-transform-origin: 0% 50%;
  -o-transform-origin: 0% 50%;
  -ms-transform-origin: 0% 50%;
  -webkit-transform-origin: 0% 50%;
  transform-origin: 0% 50%;
}
button.prev.fullscreen-arrow:after,
button.next.fullscreen-arrow:after {
  top: calc(50% - 0.05em);
  -webkit-transform: translate(-46.5%, 0) rotate(-45deg);
  -moz-transform: translate(-46.5%, 0) rotate(-45deg);
  -ms-transform: translate(-46.5%, 0) rotate(-45deg);
  -o-transform: translate(-46.5%, 0) rotate(-45deg);
  transform: translate(-46.5%, 0) rotate(-45deg);
  moz-transform-origin: 0% 50%;
  -o-transform-origin: 0% 50%;
  -ms-transform-origin: 0% 50%;
  -webkit-transform-origin: 0% 50%;
  transform-origin: 0% 50%;
}
button.prev.fullscreen-arrow.prev,
button.next.fullscreen-arrow.prev {
  left: 0px;
  -webkit-transform: translate(0, -50%);
  -moz-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  -o-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
button.prev.fullscreen-arrow.next,
button.next.fullscreen-arrow.next {
  right: 0px;
  -webkit-transform: translate(0, -50%);
  -moz-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  -o-transform: translate(0, -50%);
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%) rotate(180deg);
  -moz-transform: translate(0, -50%) rotate(180deg);
  -ms-transform: translate(0, -50%) rotate(180deg);
  -o-transform: translate(0, -50%) rotate(180deg);
  transform: translate(0, -50%) rotate(180deg);
}
button.prev.fullscreen-arrow:disabled,
button.next.fullscreen-arrow:disabled {
  opacity: 0;
  visibility: hidden;
}
@media (max-width: 768px) {
  button.prev.fullscreen-arrow,
button.next.fullscreen-arrow {
    position: fixed;
  }
}

body.is-fullscreen {
  opacity: 1;
  visibility: visible;
}

/* Flickity fullscreen v1.0.1
------------------------- */
.flickity-enabled.is-fullscreen {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
  padding-bottom: 35px;
  z-index: 1;
}

.flickity-enabled.is-fullscreen .flickity-page-dots {
  bottom: 10px;
}

.flickity-enabled.is-fullscreen .flickity-page-dots .dot {
  background: white;
}

/* prevent page scrolling when flickity is fullscreen */
html.is-flickity-fullscreen {
  overflow: hidden;
}

/* ---- flickity-fullscreen-button ---- */
.flickity-fullscreen-button {
  display: block;
  right: 10px;
  top: 10px;
  width: 24px;
  height: 24px;
  border-radius: 4px;
}

/* right-to-left */
.flickity-rtl .flickity-fullscreen-button {
  right: auto;
  left: 10px;
}

.flickity-fullscreen-button-exit {
  display: none;
}

.flickity-enabled.is-fullscreen .flickity-fullscreen-button-exit {
  display: block;
}

.flickity-enabled.is-fullscreen .flickity-fullscreen-button-view {
  display: none;
}

.flickity-fullscreen-button .flickity-button-icon {
  position: absolute;
  width: 16px;
  height: 16px;
  left: 4px;
  top: 4px;
}

body.home.fade-out-transition #logo-index {
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
  width: 6em;
  right: 1.5em;
  bottom: calc(1.5em);
  height: hidden;
  -webkit-transform: translate3d(0, 0, 0) !important;
  -moz-transform: translate3d(0, 0, 0) !important;
  transform: translate3d(0, 0, 0) !important;
}
@media (max-width: 1200px) {
  body.home.fade-out-transition #logo-index {
    width: 6.5rem;
  }
}
@media (max-width: 992px) {
  body.home.fade-out-transition #logo-index {
    width: 5.5rem;
  }
}
@media (max-width: 768px) {
  body.home.fade-out-transition #logo-index {
    width: 5rem;
    bottom: 1.5em;
  }
}

.logo-content {
  z-index: 211;
  width: 6em;
  height: auto;
  position: fixed;
  right: 1.5em;
  bottom: calc(1.5em + 3 * 0.75rem);
  bottom: calc(1.5em);
  -webkit-transition: opacity 0.2s, bottom 0.1s;
  -moz-transition: opacity 0.2s, bottom 0.1s;
  -ms-transition: opacity 0.2s, bottom 0.1s;
  -o-transition: opacity 0.2s, bottom 0.1s;
  transition: opacity 0.2s, bottom 0.1s;
}
.logo-content .expander {
  display: none;
}
.logo-content svg {
  position: relative;
  top: 0;
  right: 0;
  cursor: pointer;
  width: 100%;
  height: 100%;
  top: 0;
}
@media (max-width: 1200px) {
  .logo-content {
    width: 6.5rem;
  }
}
@media (max-width: 992px) {
  .logo-content {
    width: 5.5rem;
  }
}
@media (max-width: 768px) {
  .logo-content {
    width: 5rem;
    bottom: 1.5em;
  }
}

@media (max-width: 500px) {
  body.list-details-open .logo-content.main {
    opacity: 0;
    visibility: hidden;
  }
}

body.home .logo-content {
  display: none;
}

body.is-fullscreen .logo-content {
  opacity: 0;
  visibility: hidden;
}

body.scrolled-bottom .logo-content {
  bottom: calc(1.5em + 3 * 0.75rem);
}
body.scrolled-bottom.art-details-open .logo-content {
  bottom: 1.5em;
}

nav #menu-mousetrap {
  content: "";
  height: 100vh;
  width: 100vw;
  position: fixed;
  right: 0;
  top: 0;
  display: none;
  cursor: default;
  z-index: -1;
}
nav.active #menu-mousetrap {
  display: block;
}

nav.active #menu-trigger {
  top: calc(8.5rem - 1.5rem);
  -webkit-transition: 0.3s ease-in;
  -moz-transition: 0.3s ease-in;
  -ms-transition: 0.3s ease-in;
  -o-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
  -webkit-transition-delay: 0.1s;
  -moz-transition-delay: 0.1s;
  -ms-transition-delay: 0.1s;
  -o-transition-delay: 0.1s;
  transition-delay: 0.1s;
}
@media (max-width: 768px) {
  nav.active #menu-trigger {
    top: 10rem;
  }
}

#menu-trigger {
  position: fixed;
  background: white;
  cursor: pointer;
  z-index: 2;
  right: 0;
  top: 8.5rem;
  width: 3em;
  height: 8.5em;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  -webkit-transition: 0.5s ease-out;
  -moz-transition: 0.5s ease-out;
  -ms-transition: 0.5s ease-out;
  -o-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}
@media (max-width: 768px) {
  #menu-trigger {
    top: 10rem;
  }
}
#menu-trigger #burger {
  position: relative;
  height: 1.3em;
  width: 1.3em;
  margin-top: 0.8em;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}
#menu-trigger #burger .stroke {
  height: 0.1em;
  min-height: 2px;
  width: 100%;
  background: black;
  position: relative;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
#menu-trigger #burger .stroke:before, #menu-trigger #burger .stroke:after {
  content: "";
  width: 100%;
  height: 100%;
  background: black;
  position: absolute;
  left: 0;
  -webkit-transition: transform 0.3s;
  -moz-transition: transform 0.3s;
  -ms-transition: transform 0.3s;
  -o-transition: transform 0.3s;
  transition: transform 0.3s;
}
#menu-trigger #burger .stroke:before {
  -webkit-transform: translate(0, -350%);
  -moz-transform: translate(0, -350%);
  -ms-transform: translate(0, -350%);
  -o-transform: translate(0, -350%);
  transform: translate(0, -350%);
}
#menu-trigger #burger .stroke:after {
  -webkit-transform: translate(0, 350%);
  -moz-transform: translate(0, 350%);
  -ms-transform: translate(0, 350%);
  -o-transform: translate(0, 350%);
  transform: translate(0, 350%);
}
@media (max-width: 1440px) {
  #menu-trigger #burger .stroke {
    height: 2px;
  }
  #menu-trigger #burger .stroke:before {
    -webkit-transform: translate(0, -250%);
    -moz-transform: translate(0, -250%);
    -ms-transform: translate(0, -250%);
    -o-transform: translate(0, -250%);
    transform: translate(0, -250%);
  }
  #menu-trigger #burger .stroke:after {
    -webkit-transform: translate(0, 250%);
    -moz-transform: translate(0, 250%);
    -ms-transform: translate(0, 250%);
    -o-transform: translate(0, 250%);
    transform: translate(0, 250%);
  }
}
#menu-trigger #menu-text {
  text-align: center;
  line-height: 1.2;
  margin: 0.5em;
}

nav,
.sub-menu {
  font-family: "Rubik", sans-serif;
  font-size: 17px;
  letter-spacing: 0.095em;
  text-transform: none;
}
@media (max-width: 1440px) {
  nav,
.sub-menu {
    font-size: 15px;
  }
}
@media (max-width: 992px) {
  nav,
.sub-menu {
    font-size: 14px;
  }
}
@media (max-width: 992px) {
  nav,
.sub-menu {
    font-size: 14px;
  }
}
@media (max-width: 920px) {
  nav,
.sub-menu {
    font-size: 13px;
  }
}
@media (max-width: 860px) {
  nav,
.sub-menu {
    font-size: 12.5px;
  }
}
@media (max-width: 800px) {
  nav,
.sub-menu {
    font-size: 12px;
  }
}
@media (max-width: 768px) {
  nav,
.sub-menu {
    font-size: 14px;
  }
}
@media (max-width: 360px) {
  nav,
.sub-menu {
    font-size: 13px;
  }
}

.sub-menu {
  position: fixed;
  z-index: 2;
  width: 50%;
  height: 7rem;
}
@media (max-width: 768px) {
  .sub-menu {
    position: relative;
  }
}
.sub-menu .menu-point {
  position: absolute;
  height: 7rem;
  top: 0px;
}
.sub-menu .menu-point button {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 1em;
  padding: calc(1em - 1px) 1em calc(1em + 1px);
  width: 100%;
  height: calc(100%);
}
.sub-menu .menu-point button span {
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-align: left;
}
@media (max-width: 860px) {
  .sub-menu .menu-point button span {
    letter-spacing: 0.1em;
  }
}
@media (max-width: 768px) {
  .sub-menu .menu-point button span {
    letter-spacing: 0.2em;
    text-align: center;
  }
}
.sub-menu .menu-point button .icon {
  width: 4.4rem;
  height: 5rem;
}
.sub-menu .menu-point:not(.active) button {
  cursor: pointer;
}
.sub-menu .menu-point:not(.active) button:disabled {
  cursor: default;
}
.sub-menu .menu-point.small .icon {
  width: 1px;
}
.sub-menu .menu-point.small span {
  letter-spacing: 0.15em;
}
@media (max-width: 860px) {
  .sub-menu .menu-point.small span {
    letter-spacing: 0.1em;
  }
}
@media (max-width: 768px) {
  .sub-menu .menu-point.small span {
    letter-spacing: 0.15em;
  }
}
.sub-menu .menu-point.large {
  width: 50%;
}
.sub-menu .menu-point.active .inner span {
  color: black;
}
@media (max-width: 768px) {
  .sub-menu {
    width: 100%;
    height: 100px;
    display: flex;
    flex-wrap: wrap;
  }
  .sub-menu .menu-point {
    height: 100%;
    height: 50%;
    display: flex;
    position: relative;
    left: auto;
    right: auto;
  }
  .sub-menu .menu-point br, .sub-menu .menu-point .icon {
    display: none;
  }
  .sub-menu .menu-point.large {
    width: 33.33%;
    width: 100%;
  }
  .sub-menu .menu-point.half {
    width: 50%;
  }
  .sub-menu .menu-point button.inner {
    justify-content: center;
    align-items: center;
    padding-top: 0;
    padding-bottom: 0;
  }
  .sub-menu .menu-point:nth-child(2) {
    right: 50%;
    top: 0px;
  }
  .sub-menu .menu-point:nth-child(3) {
    right: 50%;
  }
  .sub-menu .menu-point:nth-child(4) {
    right: 0%;
  }
  .sub-menu .menu-point:nth-child(5) {
    right: 0%;
  }
}

body.list-details-closing .sub-menu.gewerbe {
  background: #A9A9B5;
}

@media (min-width: 769px) {
  .sub-menu.familie:after,
.sub-menu.immobilien:after,
.sub-menu.gewerbe:after {
    content: "";
    width: 1px;
    height: 100%;
    background: white;
    position: absolute;
    right: -0.999px;
  }
}
.sub-menu.familie .menu-point,
.sub-menu.immobilien .menu-point,
.sub-menu.gewerbe .menu-point {
  color: white;
}
.sub-menu.familie .menu-point button.inner,
.sub-menu.immobilien .menu-point button.inner,
.sub-menu.gewerbe .menu-point button.inner {
  border-bottom: 2px solid white;
}
@media (min-width: 769px) {
  .sub-menu.familie .menu-point button.inner,
.sub-menu.immobilien .menu-point button.inner,
.sub-menu.gewerbe .menu-point button.inner {
    -webkit-transition: border-color 0.5s;
    -moz-transition: border-color 0.5s;
    -ms-transition: border-color 0.5s;
    -o-transition: border-color 0.5s;
    transition: border-color 0.5s;
  }
}
.sub-menu.familie .menu-point:nth-child(1) button.inner,
.sub-menu.immobilien .menu-point:nth-child(1) button.inner,
.sub-menu.gewerbe .menu-point:nth-child(1) button.inner {
  border-right: 1px solid white;
}
.sub-menu.familie .menu-point:nth-child(2) button.inner,
.sub-menu.immobilien .menu-point:nth-child(2) button.inner,
.sub-menu.gewerbe .menu-point:nth-child(2) button.inner {
  border-left: 1px solid white;
  border-right: 1px solid white;
}
.sub-menu.familie .menu-point:nth-child(3) button.inner,
.sub-menu.immobilien .menu-point:nth-child(3) button.inner,
.sub-menu.gewerbe .menu-point:nth-child(3) button.inner {
  border-left: 1px solid white;
  border-right: 1px solid white;
}
@media (max-width: 768px) {
  .sub-menu.familie .menu-point.large,
.sub-menu.immobilien .menu-point.large,
.sub-menu.gewerbe .menu-point.large {
    order: 1;
  }
  .sub-menu.familie .menu-point.large button.inner,
.sub-menu.immobilien .menu-point.large button.inner,
.sub-menu.gewerbe .menu-point.large button.inner {
    border-left: none;
    border-right: none;
  }
  .sub-menu.familie .menu-point.small,
.sub-menu.immobilien .menu-point.small,
.sub-menu.gewerbe .menu-point.small {
    order: 2;
  }
  .sub-menu.familie .menu-point.small.geschichte button.inner, .sub-menu.familie .menu-point.small.bauprojekte button.inner,
.sub-menu.immobilien .menu-point.small.geschichte button.inner,
.sub-menu.immobilien .menu-point.small.bauprojekte button.inner,
.sub-menu.gewerbe .menu-point.small.geschichte button.inner,
.sub-menu.gewerbe .menu-point.small.bauprojekte button.inner {
    border-left: none;
    border-right: 1px solid white;
  }
  .sub-menu.familie .menu-point.small.kunst button.inner, .sub-menu.familie .menu-point.small.mietobjekte button.inner,
.sub-menu.immobilien .menu-point.small.kunst button.inner,
.sub-menu.immobilien .menu-point.small.mietobjekte button.inner,
.sub-menu.gewerbe .menu-point.small.kunst button.inner,
.sub-menu.gewerbe .menu-point.small.mietobjekte button.inner {
    border-left: 1px solid white;
    border-right: none;
  }
}

.sub-menu.gewerbe:after {
  content: "";
  width: 1px;
  height: 100%;
  background: white;
  position: absolute;
  left: -1px;
}
.sub-menu.gewerbe .menu-point:nth-child(1) button.inner {
  border-left: 1px solid white;
}
.sub-menu.gewerbe .menu-point:nth-child(3) button.inner {
  border-right: 0px solid white;
}
@media (max-width: 768px) {
  .sub-menu.gewerbe .menu-point:nth-child(1) button.inner,
.sub-menu.gewerbe .menu-point:nth-child(2) button.inner {
    border-left: none;
  }
  .sub-menu.gewerbe:after {
    display: none;
  }
}

.sub-menu.familie .menu-point:not(.active) {
  background: #283c28;
}
.sub-menu.familie .menu-point:not(.active):hover {
  background: #677750;
}
.sub-menu.familie .menu-point.active {
  background: #829664;
}
.sub-menu.familie .menu-point.active.small button.inner {
  border-bottom-color: transparent !important;
}
.sub-menu.familie .large .icon {
  background: url("img/logo-schloss-white.svg?v=1.1") no-repeat center center;
  background-size: contain;
}
.sub-menu.familie .geschichte {
  left: 50%;
  width: 25%;
}
.sub-menu.familie .kunst {
  left: 75%;
  width: 25%;
}
@media (max-width: 768px) {
  .sub-menu.familie .geschichte,
.sub-menu.familie .kunst {
    left: 0%;
    width: 50%;
  }
}

.sub-menu.immobilien .menu-point:not(.active) {
  background: #554941;
}
.sub-menu.immobilien .menu-point:not(.active):hover {
  background: #958877;
}
.sub-menu.immobilien .menu-point.active {
  background: #aba194;
}
.sub-menu.immobilien .menu-point.active.small button.inner {
  border-bottom-color: transparent !important;
}
.sub-menu.immobilien .large {
  left: 49.999%;
}
@media (max-width: 768px) {
  .sub-menu.immobilien .large {
    left: 0;
  }
}
.sub-menu.immobilien .large .icon {
  background: url("img/logo-gutsverwaltung-white.svg?v=1.1") no-repeat center center;
  background-size: contain;
}
.sub-menu.immobilien .bauprojekte {
  left: 0%;
  width: 25%;
}
.sub-menu.immobilien .mietobjekte {
  left: 25%;
  width: 25%;
}
@media (max-width: 768px) {
  .sub-menu.immobilien .bauprojekte,
.sub-menu.immobilien .mietobjekte {
    left: 0%;
    width: 50%;
  }
}

.sub-menu.gewerbe .menu-point {
  -webkit-transition: background-color 0.5s;
  -moz-transition: background-color 0.5s;
  -ms-transition: background-color 0.5s;
  -o-transition: background-color 0.5s;
  transition: background-color 0.5s;
}
.sub-menu.gewerbe .menu-point:not(.active) {
  background-color: #2D3255;
}
.sub-menu.gewerbe .menu-point:not(.active):hover {
  background-color: #1b1e34;
}
.sub-menu.gewerbe .menu-point.active {
  background-color: #A9A9B5;
}
@media (max-width: 768px) {
  .sub-menu.gewerbe .menu-point.active.small.lage {
    background-image: none;
    background-color: #A9A9B5;
  }
}
.sub-menu.gewerbe .menu-point.active.small.lage button.inner {
  border-bottom-color: transparent !important;
}
.sub-menu.gewerbe .menu-point.active.vision button.inner {
  border-bottom-color: transparent !important;
}
.sub-menu.gewerbe .large {
  left: 0%;
}
@media (max-width: 768px) {
  .sub-menu.gewerbe .large {
    left: 0;
  }
}
.sub-menu.gewerbe .large .icon {
  background: url("img/logo-projektentwicklung-white.svg?v=1.1") no-repeat center center;
  background-size: contain;
}
.sub-menu.gewerbe .lage {
  left: 50%;
  width: 25%;
}
.sub-menu.gewerbe .vision {
  left: 75%;
  width: 25%;
}
@media (max-width: 768px) {
  .sub-menu.gewerbe .lage,
.sub-menu.gewerbe .vision {
    left: 0%;
    width: 50%;
  }
}

@media (max-width: 768px), (min-width: 1201px) {
  nav .inner[target=gewerbe-industrie-gebiet] span.break,
.sub-menu.gewerbe span.break {
    display: none;
  }
}
.sub-menu.kontakt {
  right: 0;
}
.sub-menu.kontakt .large {
  background-color: #4d4d4d;
  color: white;
  -webkit-transition: border-color 0.2s;
  -moz-transition: border-color 0.2s;
  -ms-transition: border-color 0.2s;
  -o-transition: border-color 0.2s;
  transition: border-color 0.2s;
}
.sub-menu.kontakt .large:nth-child(1) {
  z-index: 1;
}
.sub-menu.kontakt .large:nth-child(1) button {
  border-right: 1px solid white;
  border-bottom: 2px solid white;
}
.sub-menu.kontakt .large:nth-child(2) {
  left: 50%;
  background-size: 4px 100%;
  background-position: 1px 0%;
  background-repeat: repeat-x;
}
.sub-menu.kontakt .large:nth-child(2) button {
  border-bottom-color: transparent;
  border-left: 1px solid white;
  border-bottom: 2px solid white;
}
.sub-menu.kontakt .large.active {
  background: #B8B8B8;
  color: black;
}
.sub-menu.kontakt .large.active button {
  border-bottom: 2px solid transparent;
}
@media (max-width: 768px) {
  .sub-menu.kontakt .large:nth-child(2) {
    left: 0;
  }
}

nav {
  width: 2.5em;
  height: 8.5em;
  z-index: 222;
  z-index: 1001;
  position: fixed;
  top: 9em;
  right: 0;
}
nav .menu-slide {
  position: fixed;
  right: 0;
  top: 8.5rem;
  height: 8.5em;
  width: 3em;
  -webkit-transition: all 0.2s ease-out 0s, height 0s ease-out 0s;
  -moz-transition: all 0.2s ease-out 0s, height 0s ease-out 0s;
  -ms-transition: all 0.2s ease-out 0s, height 0s ease-out 0s;
  -o-transition: all 0.2s ease-out 0s, height 0s ease-out 0s;
  transition: all 0.2s ease-out 0s, height 0s ease-out 0s;
}
@media (max-width: 768px) {
  nav .menu-slide {
    top: 10rem;
  }
  nav .menu-slide button.inner {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  nav .menu-slide button.inner span {
    width: 100%;
    text-align: center;
    white-space: nowrap !important;
    display: table;
  }
  nav .menu-slide button.inner span br {
    display: none;
  }
}
nav .menu-slide:nth-child(5) {
  -webkit-transform: translate(-2px, -2px);
  -moz-transform: translate(-2px, -2px);
  -ms-transform: translate(-2px, -2px);
  -o-transform: translate(-2px, -2px);
  transform: translate(-2px, -2px);
}
nav .menu-slide:nth-child(4) {
  -webkit-transform: translate(-4px, -4px);
  -moz-transform: translate(-4px, -4px);
  -ms-transform: translate(-4px, -4px);
  -o-transform: translate(-4px, -4px);
  transform: translate(-4px, -4px);
}
nav .menu-slide:nth-child(3) {
  -webkit-transform: translate(-6px, -6px);
  -moz-transform: translate(-6px, -6px);
  -ms-transform: translate(-6px, -6px);
  -o-transform: translate(-6px, -6px);
  transform: translate(-6px, -6px);
}
nav .menu-slide:nth-child(2) {
  -webkit-transform: translate(-8px, -8px);
  -moz-transform: translate(-8px, -8px);
  -ms-transform: translate(-8px, -8px);
  -o-transform: translate(-8px, -8px);
  transform: translate(-8px, -8px);
}
@media (min-width: 1441px) {
  nav .menu-slide:nth-child(5) {
    -webkit-transform: translate(-0.2em, -0.2em);
    -moz-transform: translate(-0.2em, -0.2em);
    -ms-transform: translate(-0.2em, -0.2em);
    -o-transform: translate(-0.2em, -0.2em);
    transform: translate(-0.2em, -0.2em);
  }
  nav .menu-slide:nth-child(4) {
    -webkit-transform: translate(-0.4em, -0.4em);
    -moz-transform: translate(-0.4em, -0.4em);
    -ms-transform: translate(-0.4em, -0.4em);
    -o-transform: translate(-0.4em, -0.4em);
    transform: translate(-0.4em, -0.4em);
  }
  nav .menu-slide:nth-child(3) {
    -webkit-transform: translate(-0.6em, -0.6em);
    -moz-transform: translate(-0.6em, -0.6em);
    -ms-transform: translate(-0.6em, -0.6em);
    -o-transform: translate(-0.6em, -0.6em);
    transform: translate(-0.6em, -0.6em);
  }
  nav .menu-slide:nth-child(2) {
    -webkit-transform: translate(-0.8em, -0.8em);
    -moz-transform: translate(-0.8em, -0.8em);
    -ms-transform: translate(-0.8em, -0.8em);
    -o-transform: translate(-0.8em, -0.8em);
    transform: translate(-0.8em, -0.8em);
  }
}
nav button {
  border-top: 1px solid white;
  border-left: 1px solid white;
  border-right: 1px solid transparent;
  border-bottom: 1px solid transparent;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: calc(1em - 1px) 1em calc(1em + 1px);
  width: calc(100%);
  height: calc(100%);
  cursor: pointer;
}
@media (min-width: 1441px) {
  nav button {
    border-width: calc(0.075em);
  }
}
nav button span {
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-align: left;
  opacity: 0;
  -webkit-transition: opacity 0.3s linear 0s;
  -moz-transition: opacity 0.3s linear 0s;
  -ms-transition: opacity 0.3s linear 0s;
  -o-transition: opacity 0.3s linear 0s;
  transition: opacity 0.3s linear 0s;
}
@media (max-width: 860px) {
  nav button span {
    letter-spacing: 0.1em;
  }
}
@media (max-width: 768px) {
  nav button span {
    letter-spacing: 0.2em;
  }
}
nav button .icon {
  width: 4.4rem;
  height: 5rem;
}
@media (max-width: 768px) {
  nav button .icon {
    width: 1px;
  }
}
nav.active button {
  border-left-color: transparent;
  border-top-color: transparent;
  border-top: solid 0px transparent;
  border-left: solid 0px transparent;
}
@media (hover: hover) {
  nav:hover .menu-slide:nth-child(5) {
    -webkit-transition-delay: 0s;
    -moz-transition-delay: 0s;
    -ms-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transform: translate(-4px, -4px);
    -moz-transform: translate(-4px, -4px);
    -ms-transform: translate(-4px, -4px);
    -o-transform: translate(-4px, -4px);
    transform: translate(-4px, -4px);
  }
  nav:hover .menu-slide:nth-child(4) {
    -webkit-transition-delay: 0.03s;
    -moz-transition-delay: 0.03s;
    -ms-transition-delay: 0.03s;
    -o-transition-delay: 0.03s;
    transition-delay: 0.03s;
    -webkit-transform: translate(-8px, -8px);
    -moz-transform: translate(-8px, -8px);
    -ms-transform: translate(-8px, -8px);
    -o-transform: translate(-8px, -8px);
    transform: translate(-8px, -8px);
  }
  nav:hover .menu-slide:nth-child(3) {
    -webkit-transition-delay: 0.06s;
    -moz-transition-delay: 0.06s;
    -ms-transition-delay: 0.06s;
    -o-transition-delay: 0.06s;
    transition-delay: 0.06s;
    -webkit-transform: translate(-12px, -12px);
    -moz-transform: translate(-12px, -12px);
    -ms-transform: translate(-12px, -12px);
    -o-transform: translate(-12px, -12px);
    transform: translate(-12px, -12px);
  }
  nav:hover .menu-slide:nth-child(2) {
    -webkit-transition-delay: 0.09s;
    -moz-transition-delay: 0.09s;
    -ms-transition-delay: 0.09s;
    -o-transition-delay: 0.09s;
    transition-delay: 0.09s;
    -webkit-transform: translate(-16px, -16px);
    -moz-transform: translate(-16px, -16px);
    -ms-transform: translate(-16px, -16px);
    -o-transform: translate(-16px, -16px);
    transform: translate(-16px, -16px);
  }
}
@media (hover: hover) and (min-width: 1441px) {
  nav:hover .menu-slide:nth-child(5) {
    -webkit-transition-delay: 0s;
    -moz-transition-delay: 0s;
    -ms-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transform: translate(-0.4em, -0.4em);
    -moz-transform: translate(-0.4em, -0.4em);
    -ms-transform: translate(-0.4em, -0.4em);
    -o-transform: translate(-0.4em, -0.4em);
    transform: translate(-0.4em, -0.4em);
  }
  nav:hover .menu-slide:nth-child(4) {
    -webkit-transition-delay: 0.03s;
    -moz-transition-delay: 0.03s;
    -ms-transition-delay: 0.03s;
    -o-transition-delay: 0.03s;
    transition-delay: 0.03s;
    -webkit-transform: translate(-0.8em, -0.8em);
    -moz-transform: translate(-0.8em, -0.8em);
    -ms-transform: translate(-0.8em, -0.8em);
    -o-transform: translate(-0.8em, -0.8em);
    transform: translate(-0.8em, -0.8em);
  }
  nav:hover .menu-slide:nth-child(3) {
    -webkit-transition-delay: 0.06s;
    -moz-transition-delay: 0.06s;
    -ms-transition-delay: 0.06s;
    -o-transition-delay: 0.06s;
    transition-delay: 0.06s;
    -webkit-transform: translate(-1.2em, -1.2em);
    -moz-transform: translate(-1.2em, -1.2em);
    -ms-transform: translate(-1.2em, -1.2em);
    -o-transform: translate(-1.2em, -1.2em);
    transform: translate(-1.2em, -1.2em);
  }
  nav:hover .menu-slide:nth-child(2) {
    -webkit-transition-delay: 0.09s;
    -moz-transition-delay: 0.09s;
    -ms-transition-delay: 0.09s;
    -o-transition-delay: 0.09s;
    transition-delay: 0.09s;
    -webkit-transform: translate(-1.6em, -1.6em);
    -moz-transform: translate(-1.6em, -1.6em);
    -ms-transform: translate(-1.6em, -1.6em);
    -o-transform: translate(-1.6em, -1.6em);
    transform: translate(-1.6em, -1.6em);
  }
}
nav .menu-point {
  pointer-events: none;
}
nav.active {
  top: 0;
  width: 100%;
  right: 0;
}
nav.active .menu-point {
  width: 25%;
  height: 7rem;
  top: 0px;
  border: none;
  color: white;
  pointer-events: auto;
  background: rgba(0, 0, 0, 0.4);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
nav.active .menu-point:hover {
  background: rgba(0, 0, 0, 0.7);
}
@supports not ((-webkit-backdrop-filter: blur(6px)) or (backdrop-filter: blur(6px))) {
  nav.active .menu-point {
    background: rgba(0, 0, 0, 0.5);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  nav.active .menu-point:hover {
    background: rgba(0, 0, 0, 0.8);
  }
}
@media (max-width: 768px) {
  nav.active .menu-point {
    background: rgba(0, 0, 0, 0.6);
  }
  nav.active .menu-point:hover {
    background: rgba(0, 0, 0, 0.8);
  }
}
nav.active .menu-point.current {
  background: rgba(0, 0, 0, 0.8);
}
nav.active .menu-point button {
  cursor: pointer;
}
nav.active .menu-point button span {
  opacity: 1;
}
@media (min-width: 769px) {
  nav.active .menu-point button {
    border-bottom: 2px solid white;
  }
}
nav.active .menu-point:nth-child(2) {
  right: 75%;
  -webkit-transition: all 0.35s ease-out 0s, height 0s ease-out 0s, background 0.15s linear 0s;
  -moz-transition: all 0.35s ease-out 0s, height 0s ease-out 0s, background 0.15s linear 0s;
  -ms-transition: all 0.35s ease-out 0s, height 0s ease-out 0s, background 0.15s linear 0s;
  -o-transition: all 0.35s ease-out 0s, height 0s ease-out 0s, background 0.15s linear 0s;
  transition: all 0.35s ease-out 0s, height 0s ease-out 0s, background 0.15s linear 0s;
}
nav.active .menu-point:nth-child(2) button {
  border-right: 1px solid white;
}
@media (max-width: 768px) {
  nav.active .menu-point:nth-child(2) button {
    border-right: none;
    border-bottom: 1px solid white;
  }
}
nav.active .menu-point:nth-child(3) {
  right: 50%;
  -webkit-transition: all 0.35s ease-out 0.065s, height 0s ease-out 0s, background 0.15s linear 0s;
  -moz-transition: all 0.35s ease-out 0.065s, height 0s ease-out 0s, background 0.15s linear 0s;
  -ms-transition: all 0.35s ease-out 0.065s, height 0s ease-out 0s, background 0.15s linear 0s;
  -o-transition: all 0.35s ease-out 0.065s, height 0s ease-out 0s, background 0.15s linear 0s;
  transition: all 0.35s ease-out 0.065s, height 0s ease-out 0s, background 0.15s linear 0s;
}
nav.active .menu-point:nth-child(3) button {
  border-left: 1px solid white;
  border-right: 1px solid white;
}
@media (max-width: 768px) {
  nav.active .menu-point:nth-child(3) button {
    border-right: none;
    border-left: none;
    border-top: 1px solid white;
    border-bottom: 1px solid white;
  }
}
nav.active .menu-point:nth-child(4) {
  right: 25%;
  -webkit-transition: all 0.35s ease-out 0.11s, height 0s ease-out 0s, background 0.15s linear 0s;
  -moz-transition: all 0.35s ease-out 0.11s, height 0s ease-out 0s, background 0.15s linear 0s;
  -ms-transition: all 0.35s ease-out 0.11s, height 0s ease-out 0s, background 0.15s linear 0s;
  -o-transition: all 0.35s ease-out 0.11s, height 0s ease-out 0s, background 0.15s linear 0s;
  transition: all 0.35s ease-out 0.11s, height 0s ease-out 0s, background 0.15s linear 0s;
}
nav.active .menu-point:nth-child(4) button {
  border-left: 1px solid white;
  border-right: 1px solid white;
}
@media (max-width: 768px) {
  nav.active .menu-point:nth-child(4) button {
    border-right: none;
    border-left: none;
    border-top: 1px solid white;
    border-bottom: 1px solid white;
  }
}
nav.active .menu-point:nth-child(5) {
  right: 0%;
  -webkit-transition: all 0.35s ease-out 0.13s, height 0s ease-out 0s, background 0.15s linear 0s;
  -moz-transition: all 0.35s ease-out 0.13s, height 0s ease-out 0s, background 0.15s linear 0s;
  -ms-transition: all 0.35s ease-out 0.13s, height 0s ease-out 0s, background 0.15s linear 0s;
  -o-transition: all 0.35s ease-out 0.13s, height 0s ease-out 0s, background 0.15s linear 0s;
  transition: all 0.35s ease-out 0.13s, height 0s ease-out 0s, background 0.15s linear 0s;
}
nav.active .menu-point:nth-child(5) button {
  border-left: 1px solid white;
  border-right: none;
}
@media (max-width: 768px) {
  nav.active .menu-point:nth-child(5) button {
    border-left: none;
    border-top: 1px solid white;
    border-bottom: none;
  }
}
@media (max-width: 768px) {
  nav.active .menu-point {
    width: 100%;
    right: 0 !important;
    top: auto;
    height: calc( ( 100% - 3rem ) / 4 );
  }
  nav.active .menu-point br,
nav.active .menu-point .icon {
    display: none;
  }
  nav.active .menu-point:nth-child(2) {
    top: calc( (100% - 3rem) / 4 * 0);
  }
  nav.active .menu-point:nth-child(3) {
    top: calc( (100% - 3rem) / 4 * 1);
  }
  nav.active .menu-point:nth-child(4) {
    top: calc( (100% - 3rem) / 4 * 2);
  }
  nav.active .menu-point:nth-child(5) {
    top: calc( (100% - 3rem) / 4 * 3);
  }
}
nav.active .menu-point:hover {
  -webkit-transition: all 0s ease-out 0s;
  -moz-transition: all 0s ease-out 0s;
  -ms-transition: all 0s ease-out 0s;
  -o-transition: all 0s ease-out 0s;
  transition: all 0s ease-out 0s;
}
nav.active #menu-trigger #burger .stroke {
  background-color: transparent;
}
nav.active #menu-trigger #burger .stroke:before {
  -webkit-transform: translate(0, 0) rotate(45deg);
  -moz-transform: translate(0, 0) rotate(45deg);
  -ms-transform: translate(0, 0) rotate(45deg);
  -o-transform: translate(0, 0) rotate(45deg);
  transform: translate(0, 0) rotate(45deg);
}
nav.active #menu-trigger #burger .stroke:after {
  -webkit-transform: translate(0, 0) rotate(-45deg);
  -moz-transform: translate(0, 0) rotate(-45deg);
  -ms-transform: translate(0, 0) rotate(-45deg);
  -o-transform: translate(0, 0) rotate(-45deg);
  transform: translate(0, 0) rotate(-45deg);
}
nav.active:hover .menu-slide {
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
nav.transition .menu-point {
  -webkit-transition: all 0.35s ease-out 0s;
  -moz-transition: all 0.35s ease-out 0s;
  -ms-transition: all 0.35s ease-out 0s;
  -o-transition: all 0.35s ease-out 0s;
  transition: all 0.35s ease-out 0s;
}
nav.transition .menu-point button {
  -webkit-transition: border 0.2s linear 0.1s, opacity 0.2s ease-out 0.1s;
  -moz-transition: border 0.2s linear 0.1s, opacity 0.2s ease-out 0.1s;
  -ms-transition: border 0.2s linear 0.1s, opacity 0.2s ease-out 0.1s;
  -o-transition: border 0.2s linear 0.1s, opacity 0.2s ease-out 0.1s;
  transition: border 0.2s linear 0.1s, opacity 0.2s ease-out 0.1s;
}
nav.transition .menu-point button span {
  -webkit-transition: opacity 0.2s ease-out 0s;
  -moz-transition: opacity 0.2s ease-out 0s;
  -ms-transition: opacity 0.2s ease-out 0s;
  -o-transition: opacity 0.2s ease-out 0s;
  transition: opacity 0.2s ease-out 0s;
}
nav.transition.active .menu-point:nth-child(2) {
  -webkit-transition: all 0.35s ease-out 0s;
  -moz-transition: all 0.35s ease-out 0s;
  -ms-transition: all 0.35s ease-out 0s;
  -o-transition: all 0.35s ease-out 0s;
  transition: all 0.35s ease-out 0s;
}
nav.transition.active .menu-point:nth-child(3) {
  -webkit-transition: all 0.35s ease-out 0.065s;
  -moz-transition: all 0.35s ease-out 0.065s;
  -ms-transition: all 0.35s ease-out 0.065s;
  -o-transition: all 0.35s ease-out 0.065s;
  transition: all 0.35s ease-out 0.065s;
}
nav.transition.active .menu-point:nth-child(4) {
  -webkit-transition: all 0.35s ease-out 0.11s;
  -moz-transition: all 0.35s ease-out 0.11s;
  -ms-transition: all 0.35s ease-out 0.11s;
  -o-transition: all 0.35s ease-out 0.11s;
  transition: all 0.35s ease-out 0.11s;
}
nav.transition.active .menu-point:nth-child(5) {
  -webkit-transition: all 0.35s ease-out 0.13s;
  -moz-transition: all 0.35s ease-out 0.13s;
  -ms-transition: all 0.35s ease-out 0.13s;
  -o-transition: all 0.35s ease-out 0.13s;
  transition: all 0.35s ease-out 0.13s;
}
nav.transition.active .menu-point button {
  -webkit-transition: border 0.2s linear 0.1s, opacity 0.2s ease-out 0.1s;
  -moz-transition: border 0.2s linear 0.1s, opacity 0.2s ease-out 0.1s;
  -ms-transition: border 0.2s linear 0.1s, opacity 0.2s ease-out 0.1s;
  -o-transition: border 0.2s linear 0.1s, opacity 0.2s ease-out 0.1s;
  transition: border 0.2s linear 0.1s, opacity 0.2s ease-out 0.1s;
}
nav.transition.active .menu-point button span {
  -webkit-transition: opacity 0.2s ease-out 0.3s;
  -moz-transition: opacity 0.2s ease-out 0.3s;
  -ms-transition: opacity 0.2s ease-out 0.3s;
  -o-transition: opacity 0.2s ease-out 0.3s;
  transition: opacity 0.2s ease-out 0.3s;
}
nav .menu-slide:nth-child(2) button .icon {
  background: url("img/logo-schloss-white.svg?v=1.1") no-repeat center center;
  background-size: contain;
}
nav .menu-slide:nth-child(3) button .icon {
  background: url("img/logo-gutsverwaltung-white.svg?v=1.1") no-repeat center center;
  background-size: contain;
}
nav .menu-slide:nth-child(4) button .icon {
  background: url("img/logo-projektentwicklung-white.svg?v=1.1") no-repeat center center;
  background-size: contain;
}

.sub-menu {
  visibility: hidden;
  opacity: 0;
}
.sub-menu button.volume-button {
  position: absolute;
  left: 0;
  display: table;
  bottom: 0;
  height: auto;
  width: auto;
  cursor: pointer;
  visibility: hidden;
  opacity: 0;
  padding: 1rem;
}
.sub-menu button.volume-button span {
  font-family: "Rubik", sans-serif;
  font-size: 10px;
  letter-spacing: 0.215em;
  text-transform: uppercase;
}
.sub-menu button.volume-button span.volume-off {
  position: absolute;
  opacity: 0;
  visibility: hidden;
}
.sub-menu button.volume-button span:before {
  content: "";
  position: relative;
  display: inline-block;
  background: url("img/volume.svg") no-repeat center center;
  width: 1.1em;
  height: 1.1em;
  margin-right: 1em;
  -webkit-transform: translate(0, 20%);
  -moz-transform: translate(0, 20%);
  -ms-transform: translate(0, 20%);
  -o-transform: translate(0, 20%);
  transform: translate(0, 20%);
}
.sub-menu button.volume-button.unmute span.volume-on {
  position: absolute;
  opacity: 0;
  visibility: hidden;
}
.sub-menu button.volume-button.unmute span.volume-off {
  position: relative;
  opacity: 1;
  visibility: visible;
}
@media (max-width: 768px) {
  .sub-menu button.volume-button {
    top: 200%;
    height: 100%;
  }
}
@media (max-width: 768px) {
  .sub-menu {
    display: none;
  }
}

body.page-template-familie .sub-menu.familie {
  opacity: 1;
  visibility: visible;
  display: flex;
}
body.page-template-familie .sub-menu.familie .active .volume-button {
  opacity: 1;
  visibility: visible;
}
body.page-template-immobilien .sub-menu.immobilien {
  opacity: 1;
  visibility: visible;
  display: flex;
}
body.page-template-immobilien .sub-menu.immobilien .active .volume-button {
  opacity: 1;
  visibility: visible;
}
body.page-template-gewerbe .sub-menu.gewerbe {
  opacity: 1;
  visibility: visible;
  display: flex;
}
body.page-template-gewerbe .sub-menu.gewerbe .active .volume-button {
  opacity: 1;
  visibility: visible;
}
body.page-template-kontakt .sub-menu.kontakt {
  opacity: 1;
  visibility: visible;
  display: flex;
}
body.is-fullscreen .sub-menu.familie,
body.is-fullscreen .sub-menu.immobilien,
body.is-fullscreen .sub-menu.kontakt {
  opacity: 0;
  visibility: hidden;
}
body.no-backdrop-filter .sub-menu:before {
  content: "";
  background: black;
  width: 100%;
  height: 5px;
  position: absolute;
  top: -5px;
}
body.no-backdrop-filter.navigation-open .sub-menu {
  -webkit-transition: 0.1s;
  -moz-transition: 0.1s;
  -ms-transition: 0.1s;
  -o-transition: 0.1s;
  transition: 0.1s;
  -webkit-transition-delay: 0.2s;
  -moz-transition-delay: 0.2s;
  -ms-transition-delay: 0.2s;
  -o-transition-delay: 0.2s;
  transition-delay: 0.2s;
  filter: blur(3px);
}

html, body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 15px;
}
@media (max-width: 1440px) {
  html, body {
    font-size: 15px;
  }
}
@media (max-width: 992px) {
  html, body {
    font-size: 14px;
  }
}
@media (max-width: 768px) {
  html, body {
    font-size: 13px;
  }
}
@media (max-width: 480px) {
  html, body {
    font-size: 12px;
  }
}

body {
  font-family: "Rubik", sans-serif;
  overflow: hidden;
}
@media (max-width: 768px) {
  body {
    overflow: auto;
  }
}
body p {
  font-family: "Crimson Text", serif;
  margin-bottom: 1.5em;
}
body p:last-child {
  margin-bottom: 0;
}
body .content.kunst .close-details {
  background: #829664;
}
body .content.bauprojekte .close-details,
body .content.mietobjekte .close-details {
  background: #aba194;
}
body .content {
  position: absolute;
  display: flex;
  height: 100%;
  width: 100%;
  z-index: 0;
  opacity: 0;
  visibility: hidden;
}
body .content .left,
body .content .right {
  width: calc(50%);
  height: 100%;
  position: relative;
}
body .content .left .inner,
body .content .right .inner {
  margin: 2em 1.5em 2em;
}
@media (max-width: 768px) {
  body .content .left .inner,
body .content .right .inner {
    margin-right: 4em;
  }
}
body .content .close-details {
  height: 50px;
  width: 100%;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  cursor: pointer;
  display: none;
  position: relative;
  color: black;
}
body .content .close-details:after {
  position: absolute;
  height: 20px;
  width: 20px;
  top: 15px;
  left: 10px;
  text-align: left;
  content: "";
  background-image: url("img/close-details-black.png");
  background-size: contain;
  background-repeat: no-repeat;
  cursor: pointer;
}
@media (max-width: 768px) {
  body .content {
    position: relative;
    display: none;
    min-height: calc(100vh - 100px);
  }
  body .content .close-details {
    display: block;
  }
  body .content .left {
    width: calc(100%);
    z-index: 1;
  }
  body .content .right {
    width: 100%;
  }
  body .content.main {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  body .content.active {
    display: block;
  }
}
@media (max-width: 500px) {
  body .content {
    min-height: calc(100vh - 100px);
  }
  body .content .right {
    width: 100%;
    padding-top: 0;
  }
}
body .content.active {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}
body .content.fade-out {
  -webkit-transform: scale(0.8);
  -moz-transform: scale(0.8);
  -ms-transform: scale(0.8);
  -o-transform: scale(0.8);
  transform: scale(0.8);
  -webkit-transition: 0.6s;
  -moz-transition: 0.6s;
  -ms-transition: 0.6s;
  -o-transition: 0.6s;
  transition: 0.6s;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
@media (max-width: 768px) {
  body .content.fade-out {
    top: 80px;
    display: block !important;
  }
}
@-webkit-keyframes webkit-fadeInContent {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(1, 0);
    -moz-transform: translate(1, 0);
    -ms-transform: translate(1, 0);
    -o-transform: translate(1, 0);
    transform: translate(1, 0);
  }
}
@-moz-keyframes moz-fadeInContent {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(1, 0);
    -moz-transform: translate(1, 0);
    -ms-transform: translate(1, 0);
    -o-transform: translate(1, 0);
    transform: translate(1, 0);
  }
}
@-o-keyframes o-fadeInContent {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(1, 0);
    -moz-transform: translate(1, 0);
    -ms-transform: translate(1, 0);
    -o-transform: translate(1, 0);
    transform: translate(1, 0);
  }
}
@keyframes fadeInContent {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(1, 0);
    -moz-transform: translate(1, 0);
    -ms-transform: translate(1, 0);
    -o-transform: translate(1, 0);
    transform: translate(1, 0);
  }
}
body .content.fade-in {
  -moz-animation-duration: 0.6s;
  -webkit-animation-duration: 0.6s;
  animation-duration: 0.6s;
  -moz-animation-fill-mode: forwards;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -moz-animation-timing-function: ease-out;
  -webkit-animation-timing-function: ease-out;
  animation-fill-timing-function: ease-out;
  -webkit-animation-name: fadeInContent;
  -moz-animation-name: fadeInContent;
  -o-animation-name: fadeInContent;
  animation-name: fadeInContent;
}
body.home {
  background: black;
  position: fixed;
  height: 100%;
  width: 100%;
  overflow: hidden;
}
body.home #index-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  -webkit-transition: opacity 1s ease-in;
  -moz-transition: opacity 1s ease-in;
  -ms-transition: opacity 1s ease-in;
  -o-transition: opacity 1s ease-in;
  transition: opacity 1s ease-in;
}
body.home #index-background.loaded {
  opacity: 1;
  visibility: visible;
}
body.home #logo-index-container {
  position: relative;
  height: 100%;
  width: 100%;
}
body.home #logo-index {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  right: 50%;
  bottom: 50%;
  width: 16vh;
  -webkit-transform: translate(50%, 56.5%);
  -moz-transform: translate(50%, 56.5%);
  -ms-transform: translate(50%, 56.5%);
  -o-transform: translate(50%, 56.5%);
  transform: translate(50%, 56.5%);
  -webkit-transition: all 0.35s;
  -moz-transition: all 0.35s;
  -ms-transition: all 0.35s;
  -o-transition: all 0.35s;
  transition: all 0.35s;
}
@media (min-aspect-ratio: 3930/2531) {
  body.home #logo-index {
    width: 10%;
  }
}
body.home #logo-index svg {
  width: 100%;
  height: auto;
}
body.home #logo-index-subtitle {
  color: #fff;
  text-align: center;
  position: absolute;
  text-transform: uppercase;
  line-height: 1.4;
  font-family: "Rubik", sans-serif;
  font-size: 1.5vw;
  right: 50%;
  bottom: 50%;
  width: 90%;
  opacity: 1;
  -webkit-transform: translate(50%, 35vh);
  -moz-transform: translate(50%, 35vh);
  -ms-transform: translate(50%, 35vh);
  -o-transform: translate(50%, 35vh);
  transform: translate(50%, 35vh);
  -webkit-transition: opacity 2s;
  -moz-transition: opacity 2s;
  -ms-transition: opacity 2s;
  -o-transition: opacity 2s;
  transition: opacity 2s;
}
body.home #logo-index-subtitle span {
  opacity: 0;
}
@media (max-width: 1300px) {
  body.home #logo-index-subtitle {
    font-size: 20px;
  }
}
@media (max-width: 800px) {
  body.home #logo-index-subtitle {
    width: 60%;
    -webkit-transform: translate(50%, 25vh);
    -moz-transform: translate(50%, 25vh);
    -ms-transform: translate(50%, 25vh);
    -o-transform: translate(50%, 25vh);
    transform: translate(50%, 25vh);
  }
  body.home #logo-index-subtitle br {
    display: none;
  }
}
@media (max-width: 500px) {
  body.home #logo-index-subtitle {
    -webkit-transform: translate(50%, 35vh);
    -moz-transform: translate(50%, 35vh);
    -ms-transform: translate(50%, 35vh);
    -o-transform: translate(50%, 35vh);
    transform: translate(50%, 35vh);
  }
}
@media (max-width: 380px) {
  body.home #logo-index-subtitle {
    -webkit-transform: translate(50%, 30vh);
    -moz-transform: translate(50%, 30vh);
    -ms-transform: translate(50%, 30vh);
    -o-transform: translate(50%, 30vh);
    transform: translate(50%, 30vh);
  }
}
body.home #inner-body {
  height: calc( 100vh);
  position: fixed;
  width: 100%;
  overflow: hidden;
}
body.home .spacer {
  display: none;
}
body.home #video-container {
  position: relative;
  height: 100vh;
  display: table;
  width: 100%;
}
body.home #video-container #mousetrap {
  display: none;
  overflow: hidden;
}
body.home #video-container #mousetrap,
body.home #video-container #background-video {
  position: fixed;
  top: 50%;
  left: 50%;
  opacity: 1;
  pointer-events: none;
}
body.background-video {
  overflow: hidden;
}
body.page-template-kontakt {
  background-color: #B8B8B8;
}
body.page-template-kontakt a {
  color: inherit;
  text-decoration: none;
}
body.page-template-kontakt a:hover {
  text-decoration: underline;
}
body.page-template-gewerbe .content.one .right {
  -webkit-overflow-scrolling: touch;
  height: calc( 100% - 7rem - ( 0.75rem * 3 ) );
  height: calc( 100% - 7rem );
  min-height: calc(100vh - 0.75rem * 3 - 7em);
}
@media (max-width: 768px) {
  body.page-template-gewerbe .content.one .right {
    min-height: calc(100vh - 0.75rem * 3 - 50px);
  }
}
@media (min-width: 769px) {
  body.page-template-familie, body.page-template-immobilien {
    position: absolute;
    height: 100%;
    width: 100%;
  }
}
body.page-template-familie .content.main, body.page-template-immobilien .content.main {
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
body.page-template-familie .content.one .left,
body.page-template-familie .content.one .right,
body.page-template-familie .content.two .left,
body.page-template-familie .content.two .right, body.page-template-immobilien .content.one .left,
body.page-template-immobilien .content.one .right,
body.page-template-immobilien .content.two .left,
body.page-template-immobilien .content.two .right {
  overflow: scroll;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  height: calc( 100% - 7rem - ( 0.75rem * 3 ) );
  height: calc( 100% - 7rem );
  min-height: calc(100vh - 0.75rem * 3 - 7em);
}
@media (max-width: 768px) {
  body.page-template-familie .content.one .left,
body.page-template-familie .content.one .right,
body.page-template-familie .content.two .left,
body.page-template-familie .content.two .right, body.page-template-immobilien .content.one .left,
body.page-template-immobilien .content.one .right,
body.page-template-immobilien .content.two .left,
body.page-template-immobilien .content.two .right {
    min-height: calc(100vh - 0.75rem * 3 - 50px);
  }
}
body.page-template-familie .content.one .left:before,
body.page-template-familie .content.one .right:before,
body.page-template-familie .content.two .left:before,
body.page-template-familie .content.two .right:before, body.page-template-immobilien .content.one .left:before,
body.page-template-immobilien .content.one .right:before,
body.page-template-immobilien .content.two .left:before,
body.page-template-immobilien .content.two .right:before {
  content: "";
  position: fixed;
  z-index: 10;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 10em;
  width: calc(50%);
  background-size: 1px 100%;
  background-repeat: repeat-x;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  pointer-events: none;
}
@media (max-width: 768px) {
  body.page-template-familie .content.one .left:before,
body.page-template-familie .content.one .right:before,
body.page-template-familie .content.two .left:before,
body.page-template-familie .content.two .right:before, body.page-template-immobilien .content.one .left:before,
body.page-template-immobilien .content.one .right:before,
body.page-template-immobilien .content.two .left:before,
body.page-template-immobilien .content.two .right:before {
    width: calc(100%);
    display: none;
  }
}
body.page-template-familie .content.one .left.right,
body.page-template-familie .content.one .right.right,
body.page-template-familie .content.two .left.right,
body.page-template-familie .content.two .right.right, body.page-template-immobilien .content.one .left.right,
body.page-template-immobilien .content.one .right.right,
body.page-template-immobilien .content.two .left.right,
body.page-template-immobilien .content.two .right.right {
  height: calc( 100% - ( 0.75rem * 3 ) );
  height: 100%;
}
body.page-template-familie .content.one .left.right:before,
body.page-template-familie .content.one .right.right:before,
body.page-template-familie .content.two .left.right:before,
body.page-template-familie .content.two .right.right:before, body.page-template-immobilien .content.one .left.right:before,
body.page-template-immobilien .content.one .right.right:before,
body.page-template-immobilien .content.two .left.right:before,
body.page-template-immobilien .content.two .right.right:before {
  right: 0;
  left: auto;
  z-index: 220;
}
body.page-template-familie .content.one .left.right .intro,
body.page-template-familie .content.one .right.right .intro,
body.page-template-familie .content.two .left.right .intro,
body.page-template-familie .content.two .right.right .intro, body.page-template-immobilien .content.one .left.right .intro,
body.page-template-immobilien .content.one .right.right .intro,
body.page-template-immobilien .content.two .left.right .intro,
body.page-template-immobilien .content.two .right.right .intro {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: table;
  position: absolute;
  z-index: 210;
  opacity: 1;
}
body.page-template-familie .content.one .left.right .intro .intro-inner,
body.page-template-familie .content.one .right.right .intro .intro-inner,
body.page-template-familie .content.two .left.right .intro .intro-inner,
body.page-template-familie .content.two .right.right .intro .intro-inner, body.page-template-immobilien .content.one .left.right .intro .intro-inner,
body.page-template-immobilien .content.one .right.right .intro .intro-inner,
body.page-template-immobilien .content.two .left.right .intro .intro-inner,
body.page-template-immobilien .content.two .right.right .intro .intro-inner {
  padding: 7em 9em 2em 2em;
}
body.page-template-familie .content.one .left.right .intro .intro-inner p,
body.page-template-familie .content.one .right.right .intro .intro-inner p,
body.page-template-familie .content.two .left.right .intro .intro-inner p,
body.page-template-familie .content.two .right.right .intro .intro-inner p, body.page-template-immobilien .content.one .left.right .intro .intro-inner p,
body.page-template-immobilien .content.one .right.right .intro .intro-inner p,
body.page-template-immobilien .content.two .left.right .intro .intro-inner p,
body.page-template-immobilien .content.two .right.right .intro .intro-inner p {
  font-family: "Rubik", sans-serif;
  color: white;
  line-height: 1.5;
  font-family: "Rubik", sans-serif;
  font-size: 18px;
  letter-spacing: 0.095em;
  text-transform: none;
}
@media (max-width: 1440px) {
  body.page-template-familie .content.one .left.right .intro .intro-inner p,
body.page-template-familie .content.one .right.right .intro .intro-inner p,
body.page-template-familie .content.two .left.right .intro .intro-inner p,
body.page-template-familie .content.two .right.right .intro .intro-inner p, body.page-template-immobilien .content.one .left.right .intro .intro-inner p,
body.page-template-immobilien .content.one .right.right .intro .intro-inner p,
body.page-template-immobilien .content.two .left.right .intro .intro-inner p,
body.page-template-immobilien .content.two .right.right .intro .intro-inner p {
    font-size: 16px;
  }
}
@media (max-width: 992px) {
  body.page-template-familie .content.one .left.right .intro .intro-inner p,
body.page-template-familie .content.one .right.right .intro .intro-inner p,
body.page-template-familie .content.two .left.right .intro .intro-inner p,
body.page-template-familie .content.two .right.right .intro .intro-inner p, body.page-template-immobilien .content.one .left.right .intro .intro-inner p,
body.page-template-immobilien .content.one .right.right .intro .intro-inner p,
body.page-template-immobilien .content.two .left.right .intro .intro-inner p,
body.page-template-immobilien .content.two .right.right .intro .intro-inner p {
    font-size: 15px;
  }
}
body.page-template-familie .content.one .left.right .intro.faded-out,
body.page-template-familie .content.one .right.right .intro.faded-out,
body.page-template-familie .content.two .left.right .intro.faded-out,
body.page-template-familie .content.two .right.right .intro.faded-out, body.page-template-immobilien .content.one .left.right .intro.faded-out,
body.page-template-immobilien .content.one .right.right .intro.faded-out,
body.page-template-immobilien .content.two .left.right .intro.faded-out,
body.page-template-immobilien .content.two .right.right .intro.faded-out {
  display: none;
}
body.page-template-familie .content.one .left.at-bottom:before,
body.page-template-familie .content.one .right.at-bottom:before,
body.page-template-familie .content.two .left.at-bottom:before,
body.page-template-familie .content.two .right.at-bottom:before, body.page-template-immobilien .content.one .left.at-bottom:before,
body.page-template-immobilien .content.one .right.at-bottom:before,
body.page-template-immobilien .content.two .left.at-bottom:before,
body.page-template-immobilien .content.two .right.at-bottom:before {
  -webkit-transform: translate(0, 101%);
  -moz-transform: translate(0, 101%);
  -ms-transform: translate(0, 101%);
  -o-transform: translate(0, 101%);
  transform: translate(0, 101%);
}
body.page-template-familie .content.kunst .right.intro-visible:before,
body.page-template-familie .content.mietobjekte .right.intro-visible:before, body.page-template-immobilien .content.kunst .right.intro-visible:before,
body.page-template-immobilien .content.mietobjekte .right.intro-visible:before {
  opacity: 0;
  visibility: hidden;
}
body.page-template-familie .content.kunst .right.intro-visible #detail-info,
body.page-template-familie .content.mietobjekte .right.intro-visible #detail-info, body.page-template-immobilien .content.kunst .right.intro-visible #detail-info,
body.page-template-immobilien .content.mietobjekte .right.intro-visible #detail-info {
  display: none;
}
body.page-template-familie .content.kunst .right .intro,
body.page-template-familie .content.mietobjekte .right .intro, body.page-template-immobilien .content.kunst .right .intro,
body.page-template-immobilien .content.mietobjekte .right .intro {
  height: 100vh;
  width: 100%;
}
body.page-template-familie .content.one .left,
body.page-template-familie .content.two .left, body.page-template-immobilien .content.one .left,
body.page-template-immobilien .content.two .left {
  margin-top: 7rem;
}
@media (max-width: 768px) {
  body.page-template-familie .content.one .left,
body.page-template-familie .content.two .left, body.page-template-immobilien .content.one .left,
body.page-template-immobilien .content.two .left {
    -webkit-transition: opacity 0.3s;
    -moz-transition: opacity 0.3s;
    -ms-transition: opacity 0.3s;
    -o-transition: opacity 0.3s;
    transition: opacity 0.3s;
    display: flex;
    flex-direction: column;
    padding-top: 0;
    margin-top: 0;
  }
}
@media (max-width: 768px) {
  body.page-template-familie .content.one .right,
body.page-template-familie .content.two .right, body.page-template-immobilien .content.one .right,
body.page-template-immobilien .content.two .right {
    z-index: 10;
    -webkit-transform: translate(101%, 0);
    -moz-transform: translate(101%, 0);
    -ms-transform: translate(101%, 0);
    -o-transform: translate(101%, 0);
    transform: translate(101%, 0);
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -ms-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
  }
}
body.page-template-familie .right, body.page-template-immobilien .right {
  margin-top: 0;
  min-height: calc(100% - (0.75rem * 3));
}
@media (max-width: 768px) {
  body.page-template-familie .right, body.page-template-immobilien .right {
    -webkit-transition: opacity 0.3s linear 0.1s;
    -moz-transition: opacity 0.3s linear 0.1s;
    -ms-transition: opacity 0.3s linear 0.1s;
    -o-transition: opacity 0.3s linear 0.1s;
    transition: opacity 0.3s linear 0.1s;
    position: fixed;
    top: 0;
    z-index: 0;
    opacity: 0;
  }
}
body.page-template-familie .right:before, body.page-template-immobilien .right:before {
  right: 1px;
  left: auto;
}
body.page-template-familie .right .inner, body.page-template-immobilien .right .inner {
  margin: 0;
}
@media (max-width: 768px) {
  body.page-template-familie .check-scroll.left, body.page-template-immobilien .check-scroll.left, body.page-template-gewerbe .check-scroll.right {
    padding-bottom: 11rem;
  }
}
body.page-template-familie {
  background: #829664;
}
body.page-template-familie .content.one .left:before,
body.page-template-familie .content.two .left:before,
body.page-template-familie .content.two .right:before {
  background-image: linear-gradient(to bottom, rgba(130, 150, 100, 0), #829664);
}
body.page-template-familie .content.one .left.right,
body.page-template-familie .content.two .left.right,
body.page-template-familie .content.two .right.right {
  background-color: #283c28;
}
body.page-template-familie .content.one .left.right:before,
body.page-template-familie .content.two .left.right:before,
body.page-template-familie .content.two .right.right:before {
  background-image: linear-gradient(to bottom, rgba(40, 60, 40, 0), #283c28);
}
@media (max-width: 768px) {
  body.page-template-familie .content.one .left.right:before,
body.page-template-familie .content.two .left.right:before,
body.page-template-familie .content.two .right.right:before {
    display: none;
  }
}
body.page-template-familie .content.one .left.right .intro,
body.page-template-familie .content.two .left.right .intro,
body.page-template-familie .content.two .right.right .intro {
  background: #283c28;
}
body.page-template-familie .content.one .left,
body.page-template-familie .content.two .left,
body.page-template-familie .right {
  background: #829664;
}
body.page-template-immobilien {
  background: #aba194;
}
body.page-template-immobilien .content.one .left:before,
body.page-template-immobilien .content.one .right:before,
body.page-template-immobilien .content.two .left:before,
body.page-template-immobilien .content.two .right:before {
  background-image: linear-gradient(to bottom, rgba(171, 161, 148, 0), #aba194);
}
body.page-template-immobilien .content.one .left,
body.page-template-immobilien .content.two .left {
  background-color: #aba194;
}
body.page-template-immobilien .content.one .right,
body.page-template-immobilien .content.two .right {
  background-color: #554941;
}
body.page-template-immobilien .content.one .right:before,
body.page-template-immobilien .content.two .right:before {
  background-image: linear-gradient(to bottom, rgba(85, 73, 65, 0), #554941);
}
@media (max-width: 768px) {
  body.page-template-immobilien .content.one .right:before,
body.page-template-immobilien .content.two .right:before {
    display: none;
  }
}
body.page-template-immobilien .content.one .right .intro,
body.page-template-immobilien .content.two .right .intro {
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
body.page-template-immobilien .content.one .right .intro .intro-inner,
body.page-template-immobilien .content.two .right .intro .intro-inner {
  display: none;
}
body.page-template-immobilien .content.one.content.one .intro .intro-inner,
body.page-template-immobilien .content.two.content.one .intro .intro-inner {
  display: block;
}
body.fade-out-schloss-familie, body.fade-out-immobilien, body.fade-out-gewerbe-industrie-gebiet, body.fade-out-kontakt {
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
body.fade-out-schloss-familie footer,
body.fade-out-schloss-familie #video-container,
body.fade-out-schloss-familie .sub-menu,
body.fade-out-schloss-familie .content.active,
body.fade-out-schloss-familie #index-background, body.fade-out-immobilien footer,
body.fade-out-immobilien #video-container,
body.fade-out-immobilien .sub-menu,
body.fade-out-immobilien .content.active,
body.fade-out-immobilien #index-background, body.fade-out-gewerbe-industrie-gebiet footer,
body.fade-out-gewerbe-industrie-gebiet #video-container,
body.fade-out-gewerbe-industrie-gebiet .sub-menu,
body.fade-out-gewerbe-industrie-gebiet .content.active,
body.fade-out-gewerbe-industrie-gebiet #index-background, body.fade-out-kontakt footer,
body.fade-out-kontakt #video-container,
body.fade-out-kontakt .sub-menu,
body.fade-out-kontakt .content.active,
body.fade-out-kontakt #index-background {
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
body #fadeout-backgrounds {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
body .fadeout-background {
  -webkit-transition: opacity 0.4s;
  -moz-transition: opacity 0.4s;
  -ms-transition: opacity 0.4s;
  -o-transition: opacity 0.4s;
  transition: opacity 0.4s;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  opacity: 0;
  visibility: hidden;
}
body .fadeout-background.home {
  background-color: black;
  overflow: hidden;
}
body .fadeout-background.home .inner {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  -webkit-transform: scale(1.3);
  -moz-transform: scale(1.3);
  -ms-transform: scale(1.3);
  -o-transform: scale(1.3);
  transform: scale(1.3);
}
body .fadeout-background.immobilien {
  background-color: #aba194;
}
@media (max-width: 768px) {
  body .fadeout-background.familie, body .fadeout-background.immobilien, body .fadeout-background.gewerbe {
    display: none;
  }
}
body.fade-out-transition #index-background,
body.fade-out-transition #video-container,
body.fade-out-transition .content.active {
  -webkit-transition: opacity 0.4s;
  -moz-transition: opacity 0.4s;
  -ms-transition: opacity 0.4s;
  -o-transition: opacity 0.4s;
  transition: opacity 0.4s;
  opacity: 0 !important;
}
body.fade-out-transition .sub-menu.familie,
body.fade-out-transition .sub-menu.immobilien,
body.fade-out-transition .sub-menu.gewerbe,
body.fade-out-transition .sub-menu.kontakt {
  -webkit-transition: opacity 0.4s;
  -moz-transition: opacity 0.4s;
  -ms-transition: opacity 0.4s;
  -o-transition: opacity 0.4s;
  transition: opacity 0.4s;
  opacity: 0;
}
body.fade-out-transition:before {
  opacity: 0;
}
body.fade-out-schloss-familie {
  background: #829664;
}
body.fade-out-schloss-familie.background-video {
  background: #829664;
}
body.fade-out-schloss-familie .fadeout-background.familie {
  opacity: 1;
  visibility: visible;
}
body.fade-out-schloss-familie .sub-menu.familie {
  opacity: 1;
  visibility: visible;
}
body.fade-out-immobilien {
  background: #aba194;
}
body.fade-out-immobilien.background-video {
  background: #aba194;
}
body.fade-out-immobilien .fadeout-background.immobilien {
  opacity: 1;
  visibility: visible;
}
body.fade-out-immobilien .sub-menu.immobilien {
  opacity: 1;
  visibility: visible;
}
body.fade-out-gewerbe-industrie-gebiet {
  background: #A9A9B5;
}
body.fade-out-gewerbe-industrie-gebiet.background-video {
  background: #A9A9B5;
}
body.fade-out-gewerbe-industrie-gebiet .fadeout-background.gewerbe {
  opacity: 1;
  visibility: visible;
}
body.fade-out-gewerbe-industrie-gebiet .sub-menu.gewerbe {
  opacity: 1;
  visibility: visible;
}
body.fade-out-kontakt {
  background: #B8B8B8;
}
body.fade-out-kontakt:before {
  z-index: 100;
  content: "";
  width: 2px;
  height: 100%;
  background: white;
  position: fixed;
  left: calc(50% - 1px);
  top: 0;
}
body.fade-out-kontakt .fadeout-background.kontakt {
  opacity: 1;
  visibility: visible;
}
body.fade-out-kontakt .fadeout-background.kontakt:before {
  content: "";
  position: absolute;
  width: 50%;
  height: 100%;
  background: rgba(255, 255, 255, 0.2);
}
@media (max-width: 768px) {
  body.fade-out-kontakt .fadeout-background.kontakt:before {
    display: none;
  }
}
body.fade-out-kontakt.background-video {
  background: #B8B8B8;
}
body.fade-out-kontakt .sub-menu.kontakt {
  opacity: 1;
  visibility: visible;
}
body.fade-out-kontakt .sub-menu.kontakt .menu-point:last-child {
  background: #B8B8B8;
  color: black;
  border-bottom: 0px;
}
body.fade-out-kontakt:before {
  opacity: 1 !important;
  visibility: visible !important;
}
body.fade-out-kontakt:after {
  content: "";
  width: 50vw;
  height: 100vh;
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(255, 255, 255, 0.3);
}
body.fade-out-home #logo-main {
  -webkit-transition: opacity 0.4s;
  -moz-transition: opacity 0.4s;
  -ms-transition: opacity 0.4s;
  -o-transition: opacity 0.4s;
  transition: opacity 0.4s;
  opacity: 0;
}
body.fade-out-home .fadeout-background.home {
  opacity: 1;
  visibility: visible;
}

#close-fullscreen {
  height: 6em;
  width: 6em;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 30;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
}
#close-fullscreen:before, #close-fullscreen:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0.2em;
  height: 50%;
  background: white;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  -moz-transform: translate(-50%, -50%) rotate(45deg);
  -ms-transform: translate(-50%, -50%) rotate(45deg);
  -o-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}
#close-fullscreen:after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  -moz-transform: translate(-50%, -50%) rotate(-45deg);
  -ms-transform: translate(-50%, -50%) rotate(-45deg);
  -o-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
}

#art-container,
#building-projects-container {
  position: relative;
  display: flex;
  margin: 0;
  flex-wrap: wrap;
  padding-bottom: 2em;
  justify-content: space-between;
}
#art-container .new-section,
#building-projects-container .new-section {
  position: relative;
  width: 100%;
  text-transform: uppercase;
  margin: 1.5rem 1rem 1.5rem 1rem;
  font-family: "Rubik", sans-serif;
  font-size: 17px;
  letter-spacing: 0.095em;
  text-transform: none;
  text-transform: uppercase;
  letter-spacing: 0.215em;
}
@media (max-width: 1440px) {
  #art-container .new-section,
#building-projects-container .new-section {
    font-size: 15px;
  }
}
@media (max-width: 992px) {
  #art-container .new-section,
#building-projects-container .new-section {
    font-size: 14px;
  }
}
#art-container .new-section:after,
#building-projects-container .new-section:after {
  content: "";
  width: 100%;
  min-height: 1px;
  position: absolute;
  background: black;
  left: 0;
  bottom: -0.4em;
}
#art-container .list-item,
#building-projects-container .list-item {
  width: 49%;
  position: relative;
  cursor: pointer;
  overflow: hidden;
  margin-bottom: 2%;
}
@media (max-width: 1200px) {
  #art-container .list-item,
#building-projects-container .list-item {
    width: 49%;
  }
}
@media (max-width: 360px) {
  #art-container .list-item,
#building-projects-container .list-item {
    width: 100%;
  }
}
#art-container .list-item .list-item-inner,
#building-projects-container .list-item .list-item-inner {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background-color: rgba(255, 255, 255, 0.1);
}
#art-container .list-item .list-item-inner .list-item-image,
#building-projects-container .list-item .list-item-inner .list-item-image {
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  flex-grow: 1;
  overflow: hidden;
  height: 100%;
  height: 0%;
  width: 100%;
  z-index: 0;
}
#art-container .list-item .list-item-inner .list-item-image .cell,
#building-projects-container .list-item .list-item-inner .list-item-image .cell {
  height: calc( 100% );
  overflow: hidden;
  opacity: 0;
  -webkit-transition: opacity 1s;
  -moz-transition: opacity 1s;
  -ms-transition: opacity 1s;
  -o-transition: opacity 1s;
  transition: opacity 1s;
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
#art-container .list-item .list-item-inner .list-item-image .cell.loaded,
#building-projects-container .list-item .list-item-inner .list-item-image .cell.loaded {
  opacity: 1;
}
#art-container .list-item .list-item-inner .list-item-image .cell img,
#building-projects-container .list-item .list-item-inner .list-item-image .cell img {
  opacity: 0 !important;
  visibility: hidden;
}
#art-container .list-item .list-item-inner .list-item-image iframe,
#building-projects-container .list-item .list-item-inner .list-item-image iframe {
  display: none;
}
#art-container .list-item .list-item-inner .list-item-image img,
#building-projects-container .list-item .list-item-inner .list-item-image img {
  display: none;
  position: absolute;
  pointer-events: none;
  left: 50%;
  top: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%) translateY(-1.5rem);
  -moz-transform: translateX(-50%) translateY(-50%) translateY(-1.5rem);
  -ms-transform: translateX(-50%) translateY(-50%) translateY(-1.5rem);
  -o-transform: translateX(-50%) translateY(-50%) translateY(-1.5rem);
  transform: translateX(-50%) translateY(-50%) translateY(-1.5rem);
  opacity: 0;
  -webkit-transition: opacity 1s;
  -moz-transition: opacity 1s;
  -ms-transition: opacity 1s;
  -o-transition: opacity 1s;
  transition: opacity 1s;
}
#art-container .list-item .list-item-inner .list-item-image img.landscape,
#building-projects-container .list-item .list-item-inner .list-item-image img.landscape {
  height: calc(100% - 2rem);
  width: auto;
}
#art-container .list-item .list-item-inner .list-item-image img.portrait,
#building-projects-container .list-item .list-item-inner .list-item-image img.portrait {
  width: 101%;
  height: auto;
}
#art-container .list-item .list-item-inner .list-item-image img.loaded,
#building-projects-container .list-item .list-item-inner .list-item-image img.loaded {
  opacity: 1;
}
#art-container .list-item .list-item-inner .list-item-title,
#building-projects-container .list-item .list-item-inner .list-item-title {
  min-height: 3rem;
  position: relative;
  z-index: 1;
  text-transform: uppercase;
  padding: 0.4em 0.7em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-family: "Rubik", sans-serif;
  font-size: 10px;
  letter-spacing: 0.215em;
  text-transform: uppercase;
  -webkit-transition: background 0.2s, color 0.2s;
  -moz-transition: background 0.2s, color 0.2s;
  -ms-transition: background 0.2s, color 0.2s;
  -o-transition: background 0.2s, color 0.2s;
  transition: background 0.2s, color 0.2s;
}
#art-container .list-item .list-item-inner .list-item-title br,
#building-projects-container .list-item .list-item-inner .list-item-title br {
  display: none;
}
#art-container .list-item .list-item-inner .list-item-title span,
#building-projects-container .list-item .list-item-inner .list-item-title span {
  min-height: 1.3em;
}
#art-container .list-item .list-item-inner .art-item-title,
#building-projects-container .list-item .list-item-inner .art-item-title {
  background: #829664;
}
#art-container .list-item .list-item-inner .building-projects-item-title,
#building-projects-container .list-item .list-item-inner .building-projects-item-title {
  background: #aba194;
  color: black;
}
#art-container .list-item .info-content,
#building-projects-container .list-item .info-content {
  display: none;
}
#art-container .list-item.active .art-item-title,
#building-projects-container .list-item.active .art-item-title {
  background: #283c28;
  color: white;
}
#art-container .list-item.active .building-projects-item-title,
#building-projects-container .list-item.active .building-projects-item-title {
  background: #554941;
  color: white;
}
#art-container .list-item.clone,
#building-projects-container .list-item.clone {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  right: 0;
  z-index: 10;
  width: 100%;
}

.content .list-item .list-item-image {
  display: none;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.5s;
  -moz-transition: opacity 0.5s;
  -ms-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
.content .list-item .list-item-image.loaded {
  display: block;
  opacity: 1;
  visibility: visible;
}

.content.active .list-item .list-item-image {
  display: block;
}
.content.active .list-item .list-item-image.loaded {
  opacity: 1;
  visibility: visible;
}

#immobilien-items-intro {
  padding: 3em 2em 3em;
  line-height: 1.2;
}
#immobilien-items-intro span {
  white-space: nowrap;
}
#immobilien-items-intro p {
  font-family: "Rubik", sans-serif;
  font-size: 18px;
  letter-spacing: 0.095em;
  text-transform: none;
  line-height: 1.5;
}
@media (max-width: 1440px) {
  #immobilien-items-intro p {
    font-size: 16px;
  }
}
@media (max-width: 992px) {
  #immobilien-items-intro p {
    font-size: 15px;
  }
}

#immobilien-container {
  display: flex;
  margin: 0;
  flex-wrap: wrap;
  flex-direction: column;
}
#immobilien-container .immobilien-item {
  width: 100%;
  height: auto;
  position: relative;
  cursor: pointer;
  overflow: hidden;
  border-bottom: 2px solid white;
}
#immobilien-container .immobilien-item:last-child {
  border-bottom: none;
}
@media (max-width: 360px) {
  #immobilien-container .immobilien-item {
    width: 100%;
  }
}
#immobilien-container .immobilien-item .immobilien-item-inner {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
}
#immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-image {
  background-color: rgba(255, 255, 255, 0.2);
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  flex-grow: 0;
  overflow: hidden;
  width: 25%;
  z-index: 0;
  height: auto;
}
@media (max-width: 1200px) {
  #immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-image {
    width: 50%;
  }
}
#immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-image .cell {
  height: 100%;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: opacity 1s;
  -moz-transition: opacity 1s;
  -ms-transition: opacity 1s;
  -o-transition: opacity 1s;
  transition: opacity 1s;
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
#immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-image .cell.loaded {
  opacity: 1;
  visibility: visible;
}
#immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-image .cell img {
  opacity: 0;
  visibility: hidden;
}
#immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-image img {
  display: none;
  position: absolute;
  pointer-events: none;
  left: 50%;
  top: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%) translateY(-1.5rem);
  -moz-transform: translateX(-50%) translateY(-50%) translateY(-1.5rem);
  -ms-transform: translateX(-50%) translateY(-50%) translateY(-1.5rem);
  -o-transform: translateX(-50%) translateY(-50%) translateY(-1.5rem);
  transform: translateX(-50%) translateY(-50%) translateY(-1.5rem);
  opacity: 0;
  -webkit-transition: opacity 1s;
  -moz-transition: opacity 1s;
  -ms-transition: opacity 1s;
  -o-transition: opacity 1s;
  transition: opacity 1s;
}
#immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-image img.landscape {
  height: calc(100% - 2rem);
  width: auto;
}
#immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-image img.portrait {
  width: 101%;
  height: auto;
}
#immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-image img.loaded {
  opacity: 1;
}
#immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects {
  position: relative;
  flex-grow: 1;
  z-index: 1;
  text-transform: uppercase;
  font-family: "Rubik", sans-serif;
  font-size: 10px;
  letter-spacing: 0.215em;
  text-transform: uppercase;
  padding: 2.5rem 4rem 2.5rem 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  -webkit-transition: background 0.2s, color 0.2s;
  -moz-transition: background 0.2s, color 0.2s;
  -ms-transition: background 0.2s, color 0.2s;
  -o-transition: background 0.2s, color 0.2s;
  transition: background 0.2s, color 0.2s;
}
@media (max-width: 1680px) {
  #immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects {
    padding: 2rem 2rem;
  }
}
@media (max-width: 1440px) {
  #immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects {
    padding: 1.5rem 1rem;
  }
}
@media (max-width: 1200px) {
  #immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects {
    width: calc(50% - 2rem);
  }
}
@media (max-width: 992px) {
  #immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects {
    width: calc(50% - 2rem);
  }
}
#immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects br {
  display: none;
}
#immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects .title {
  font-family: "Rubik", sans-serif;
  font-size: 17px;
  letter-spacing: 0.095em;
  text-transform: none;
  letter-spacing: 0.215em;
  display: inline-table;
  margin-bottom: 0.5em;
  line-height: 1.3;
  text-transform: uppercase;
  color: black;
}
@media (max-width: 1440px) {
  #immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects .title {
    font-size: 15px;
  }
}
@media (max-width: 992px) {
  #immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects .title {
    font-size: 14px;
  }
}
#immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects .address {
  margin-bottom: 2rem;
  display: inline-table;
  line-height: 1.5;
}
#immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects .address.first-line {
  margin-bottom: 0;
}
#immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects .spects-container {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 1200px) {
  #immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects .spects-container {
    flex-direction: column;
  }
}
#immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects .spects {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-right: 1rem;
}
@media (max-width: 992px) {
  #immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects .spects {
    flex-direction: column;
  }
}
#immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects .spects div {
  margin-bottom: 1rem;
}
#immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects .spects div:last-child {
  margin-bottom: 0;
}
@media (max-width: 1200px) {
  #immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects .spects div:last-child {
    margin-bottom: 1rem;
  }
  #immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects .spects div.rooms {
    margin-bottom: 0rem;
  }
  #immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects .spects div.availability .small {
    margin-bottom: 0.5em;
  }
}
@media (max-width: 992px) {
  #immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects .spects div {
    margin-bottom: 1rem;
  }
}
#immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects .spects .size {
  align-items: baseline;
  display: flex;
}
#immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects .spects .size span {
  display: inline;
}
#immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects .spects span.small {
  display: inline-table;
  position: relative;
  font-family: "Rubik", sans-serif;
  font-size: 10px;
  letter-spacing: 0.215em;
  text-transform: uppercase;
}
#immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects .spects span.large {
  font-family: "Rubik", sans-serif;
  font-size: 17px;
  letter-spacing: 0.095em;
  text-transform: none;
}
@media (max-width: 1440px) {
  #immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects .spects span.large {
    font-size: 15px;
  }
}
@media (max-width: 992px) {
  #immobilien-container .immobilien-item .immobilien-item-inner .immobilien-item-spects .spects span.large {
    font-size: 14px;
  }
}
#immobilien-container .immobilien-item .info-content {
  display: none;
}
#immobilien-container .immobilien-item.active {
  background: #554941;
  color: white;
}
#immobilien-container .immobilien-item.active h1.title {
  color: white !important;
}
#immobilien-container .immobilien-item.clone {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  right: 0;
  z-index: 10;
  width: 100%;
}

#detail-info #immobilien-content-details {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  font-family: "Rubik", sans-serif;
  font-size: 17px;
  letter-spacing: 0.095em;
  text-transform: none;
}
@media (max-width: 1440px) {
  #detail-info #immobilien-content-details {
    font-size: 15px;
  }
}
@media (max-width: 992px) {
  #detail-info #immobilien-content-details {
    font-size: 14px;
  }
}
#detail-info #immobilien-content-details .header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
@media (max-width: 1440px) {
  #detail-info #immobilien-content-details .header {
    flex-direction: column;
    width: calc(100% - 8rem);
  }
}
@media (max-width: 992px) {
  #detail-info #immobilien-content-details .header {
    width: calc(100%);
  }
}
@media (max-width: 768px) {
  #detail-info #immobilien-content-details .header {
    flex-direction: row;
    width: calc(100%);
  }
}
@media (max-width: 640px) {
  #detail-info #immobilien-content-details .header {
    flex-direction: column;
    width: calc(100% - 8rem);
  }
}
@media (max-width: 500px) {
  #detail-info #immobilien-content-details .header {
    width: calc(100%);
  }
}
#detail-info #immobilien-content-details .contacts {
  width: 220px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  text-align: left;
}
#detail-info #immobilien-content-details .contacts button {
  background-color: white;
  color: black;
  font-family: "Rubik", sans-serif;
  font-size: 10px;
  letter-spacing: 0.215em;
  text-transform: uppercase;
  padding: 0.5em 1.5em;
  height: 3.5em;
  width: 100%;
  border: 1px solid black;
  display: flex;
  align-items: center;
}
@media (max-width: 1440px) {
  #detail-info #immobilien-content-details .contacts button {
    justify-content: center;
  }
}
#detail-info #immobilien-content-details .contacts button.mail, #detail-info #immobilien-content-details .contacts button.mobile, #detail-info #immobilien-content-details .contacts button.phone {
  margin-bottom: 0.5em;
  cursor: pointer;
  width: 100%;
  margin-bottom: 0;
}
#detail-info #immobilien-content-details .contacts button.mail a, #detail-info #immobilien-content-details .contacts button.mobile a, #detail-info #immobilien-content-details .contacts button.phone a {
  color: inherit;
  text-decoration: none;
}
@media (max-width: 1440px) {
  #detail-info #immobilien-content-details .contacts button.phone, #detail-info #immobilien-content-details .contacts button.mobile {
    width: 50%;
  }
}
@media (max-width: 1200px) {
  #detail-info #immobilien-content-details .contacts button.phone, #detail-info #immobilien-content-details .contacts button.mobile {
    width: 100%;
  }
}
#detail-info #immobilien-content-details .contacts button.mail:before, #detail-info #immobilien-content-details .contacts button.mobile:before, #detail-info #immobilien-content-details .contacts button.phone:before {
  content: "";
  margin-right: 1.2em;
}
#detail-info #immobilien-content-details .contacts button.mail:before {
  width: 2em;
  height: 1.5em;
  background: url("img/icon-mail.svg") no-repeat center center;
}
#detail-info #immobilien-content-details .contacts button.mobile:before {
  width: 1.5em;
  height: 2.5em;
  background: url("img/icon-mobile.svg") no-repeat center center;
  margin-left: 0.25em;
  margin-right: 1.45em;
}
#detail-info #immobilien-content-details .contacts button.phone:before {
  width: 2.5em;
  height: 2em;
  background: url("img/icon-phone.svg") no-repeat center center;
  margin-left: -0.21em;
  margin-right: 0.95em;
}
@media (max-width: 1440px) {
  #detail-info #immobilien-content-details .contacts button.mail:before, #detail-info #immobilien-content-details .contacts button.mobile:before, #detail-info #immobilien-content-details .contacts button.phone:before {
    margin-right: 1.2em;
  }
}
@media (max-width: 1440px) {
  #detail-info #immobilien-content-details .contacts {
    flex-direction: row;
    width: 100%;
    margin-top: 2em;
  }
}
@media (max-width: 768px) {
  #detail-info #immobilien-content-details .contacts {
    flex-direction: column;
    width: 25%;
    margin-top: 0em;
  }
}
@media (max-width: 640px) {
  #detail-info #immobilien-content-details .contacts {
    flex-direction: row;
    width: 100%;
    margin-top: 2em;
    max-width: 33rem;
  }
}
@media (max-width: 500px) {
  #detail-info #immobilien-content-details .contacts {
    max-width: none;
  }
}
#detail-info #immobilien-content-details h1 {
  font-family: "Crimson Text", serif;
  text-transform: none;
  letter-spacing: -0.01em;
  line-height: 1.2;
  font-size: 52px;
  line-height: 1;
  margin-bottom: 0.4em;
  margin-right: 1em;
}
@media (max-width: 1440px) {
  #detail-info #immobilien-content-details h1 {
    font-size: 35px;
  }
}
@media (max-width: 768px) {
  #detail-info #immobilien-content-details h1 {
    font-size: 32px;
  }
}
@media (max-width: 560px) {
  #detail-info #immobilien-content-details h1 {
    font-size: 30px;
  }
}
@media (max-width: 500px) {
  #detail-info #immobilien-content-details h1 {
    font-size: 28px;
  }
}
@media (max-width: 360px) {
  #detail-info #immobilien-content-details h1 {
    font-size: 24px;
  }
}
#detail-info #immobilien-content-details .spects {
  display: flex;
  flex-wrap: wrap;
  padding-top: 3em;
  justify-content: space-between;
  width: calc(100% - 8rem);
  max-width: 33rem;
}
#detail-info #immobilien-content-details .spects div.table-left,
#detail-info #immobilien-content-details .spects div.table-right {
  width: 45%;
}
#detail-info #immobilien-content-details .spects div.table-full {
  width: 100%;
}
#detail-info #immobilien-content-details .spects div.table-full .item {
  min-height: 1em;
  padding-top: 1em;
  height: auto;
}
#detail-info #immobilien-content-details .spects div.table-full span {
  max-width: calc(100% - 70px);
}
#detail-info #immobilien-content-details .spects div.item {
  height: 2em;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
#detail-info #immobilien-content-details .spects div.text-item {
  padding-top: 1em;
  line-height: 1.2;
}
#detail-info #immobilien-content-details .spects h2 {
  width: 100%;
  border-bottom: 2px solid white;
  padding: 0.6em 0;
}
#detail-info #immobilien-content-details .spects h2,
#detail-info #immobilien-content-details .spects span.small {
  font-family: "Rubik", sans-serif;
  font-size: 10px;
  letter-spacing: 0.215em;
  text-transform: uppercase;
}
#detail-info #immobilien-content-details .spects .immobilien-details-map-container {
  margin: 2em 0 0.1em;
  background: rgba(255, 255, 255, 0.2);
}
#detail-info #immobilien-content-details .spects .google-map {
  width: 100%;
  position: relative;
  opacity: 0;
  display: block;
  -webkit-transition: opacity 1s ease-out;
  -moz-transition: opacity 1s ease-out;
  -ms-transition: opacity 1s ease-out;
  -o-transition: opacity 1s ease-out;
  transition: opacity 1s ease-out;
}
#detail-info #immobilien-content-details .spects .google-map.loaded {
  opacity: 1;
}
@media (max-width: 1200px) {
  #detail-info #immobilien-content-details .spects {
    flex-direction: column;
  }
  #detail-info #immobilien-content-details .spects div.table-left,
#detail-info #immobilien-content-details .spects div.table-right {
    width: 100%;
  }
}
@media (max-width: 768px) {
  #detail-info #immobilien-content-details .spects {
    flex-direction: row;
  }
  #detail-info #immobilien-content-details .spects div.table-left,
#detail-info #immobilien-content-details .spects div.table-right {
    width: 45%;
  }
}
@media (max-width: 560px) {
  #detail-info #immobilien-content-details .spects {
    flex-direction: column;
  }
  #detail-info #immobilien-content-details .spects div.table-left,
#detail-info #immobilien-content-details .spects div.table-right {
    width: 100%;
  }
}
@media (max-width: 500px) {
  #detail-info #immobilien-content-details .spects {
    width: 100%;
    max-width: none;
  }
}

.fade-out-cell img, .fade-out-cell iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.fade-out-cell iframe {
  z-index: 10;
}

.info-carousel {
  position: relative;
  width: 100%;
  height: calc(100vw / 2 * 0.7);
  background: rgba(255, 255, 255, 0.1);
  -webkit-transition: top 0.3s, left 0.3s, bottom 0.3s, right 0.3s;
  -moz-transition: top 0.3s, left 0.3s, bottom 0.3s, right 0.3s;
  -ms-transition: top 0.3s, left 0.3s, bottom 0.3s, right 0.3s;
  -o-transition: top 0.3s, left 0.3s, bottom 0.3s, right 0.3s;
  transition: top 0.3s, left 0.3s, bottom 0.3s, right 0.3s;
}
@media (max-width: 768px) {
  .info-carousel {
    height: calc(100vw / 1 * 0.7);
  }
}
.info-carousel .flickity-viewport {
  z-index: 1;
}
.info-carousel .flickity-prev-next-button {
  opacity: 0;
  visibility: hidden;
}
.info-carousel .cell {
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  -webkit-transition: opacity 1s;
  -moz-transition: opacity 1s;
  -ms-transition: opacity 1s;
  -o-transition: opacity 1s;
  transition: opacity 1s;
  opacity: 0;
  visibility: hidden;
  background: url("img/spinner-small.gif") no-repeat center center;
  background-size: 30px;
}
.info-carousel .cell.loaded {
  opacity: 1;
  visibility: visible;
}
.info-carousel .cell img {
  display: none;
}
.info-carousel .cell.loaded:after {
  opacity: 0;
  visibility: hidden;
}
.info-carousel.background-cover {
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
.info-carousel.background-cover img {
  opacity: 0;
  visibility: hidden;
}
.info-carousel.background-cover:after {
  display: none;
}

.cell.pre-fullscreen {
  position: fixed;
  background: black;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: auto;
  width: auto;
  z-index: 250;
  display: flex;
  align-items: center;
  justify-content: center;
}

body.is-fullscreen #history-carousel,
body.is-fullscreen .info-carousel {
  position: fixed;
  background: black;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: auto;
  width: auto;
  z-index: 250;
}
body.is-fullscreen #history-carousel .flickity-prev-next-button,
body.is-fullscreen .info-carousel .flickity-prev-next-button {
  opacity: 1;
  visibility: visible;
  z-index: 2;
  background-color: transparent;
}
body.is-fullscreen #history-carousel .flickity-prev-next-button svg,
body.is-fullscreen .info-carousel .flickity-prev-next-button svg {
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
}
body.is-fullscreen #history-carousel .flickity-prev-next-button svg path,
body.is-fullscreen .info-carousel .flickity-prev-next-button svg path {
  fill: white;
}
body.is-fullscreen #history-carousel .flickity-prev-next-button:disabled,
body.is-fullscreen .info-carousel .flickity-prev-next-button:disabled {
  opacity: 0;
}
body.is-fullscreen #history-carousel .flickity-prev-next-button.prev,
body.is-fullscreen .info-carousel .flickity-prev-next-button.prev {
  left: 15px;
}
body.is-fullscreen #history-carousel .flickity-prev-next-button.next,
body.is-fullscreen .info-carousel .flickity-prev-next-button.next {
  right: 15px;
}
body.is-fullscreen #history-carousel .cell,
body.is-fullscreen .info-carousel .cell {
  background-color: black;
  height: 100%;
  justify-content: center;
  align-items: center;
}
body.is-fullscreen #close-fullscreen {
  visibility: visible;
  opacity: 1;
}
body.is-fullscreen nav {
  opacity: 0;
  visibility: hidden;
}
body.is-fullscreen footer {
  opacity: 0;
  visibility: hidden;
}

#history-carousel .cell.is-selected, #history-carousel .cell.fade-out-cell,
.info-carousel .cell.is-selected,
.info-carousel .cell.fade-out-cell {
  visibility: visible;
  opacity: 1;
}
#history-carousel .cell.fade-out-cell,
.info-carousel .cell.fade-out-cell {
  z-index: 9999;
}

#history-carousel {
  width: 100%;
  height: calc( 100% );
}
#history-carousel .cell {
  width: 100%;
  height: calc(100% - 12em);
  background-size: contain;
  background-repeat: no-repeat;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
#history-carousel .cell img {
  object-fit: contain;
  object-position: top left;
  border: 0;
}
#history-carousel .flickity-prev-next-button {
  opacity: 0;
  visibility: hidden;
}
#history-carousel .image-description {
  position: absolute;
  left: 0;
  right: 0;
  height: calc( 12em - 1.5em);
  top: calc( 100% + 1.3rem);
  padding-left: 1.5em;
  width: calc(100% - 12rem);
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
}
#history-carousel.fullscreen-on .cell img {
  /* new */
  /* new */
}
#history-carousel.fullscreen-on .image-description {
  top: auto;
  left: 0;
  bottom: 0;
  margin-bottom: 0;
  display: table;
  width: auto;
  height: auto;
  padding: 1em 2em;
  z-index: 2;
  background: black;
}

.content.geschichte .left .inner {
  margin-left: 0;
  margin-right: 0;
  position: relative;
}
.content.geschichte .left .inner .timeline {
  position: fixed;
  top: 8.15rem;
  height: 60%;
  width: 4rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  font-family: "Rubik", sans-serif;
  font-size: 10px;
  letter-spacing: 0.215em;
  text-transform: uppercase;
}
.content.geschichte .left .inner .timeline button {
  color: black;
  padding: 1.2em 1em;
  cursor: pointer;
  letter-spacing: 0.215em;
  -webkit-transition: color 0.25s;
  -moz-transition: color 0.25s;
  -ms-transition: color 0.25s;
  -o-transition: color 0.25s;
  transition: color 0.25s;
}
.content.geschichte .left .inner .timeline button.is-active {
  color: white;
}
.content.geschichte .left .inner .timeline .line {
  flex-grow: 1;
  margin-right: 1.1rem;
  background-image: linear-gradient(black 33%, rgba(255, 255, 255, 0) 0%);
  background-position: right;
  background-size: 0.11rem 0.5rem;
  background-repeat: repeat-y;
}
.content.geschichte .left .inner .timeline .line.is-active {
  background-image: linear-gradient(white 33%, rgba(255, 255, 255, 0) 0%);
}
@media (max-width: 768px) {
  .content.geschichte .left .inner .timeline {
    display: none;
  }
}
.content.geschichte .left .inner section {
  margin-bottom: 1rem;
}
.content.geschichte .left .inner section:last-child {
  margin-bottom: 40vh;
}
@media (max-width: 768px) {
  .content.geschichte .left .inner section:last-child {
    margin-bottom: 0;
  }
}
.content.geschichte .left .inner img.portrait {
  width: 100%;
}
.content.geschichte .left .inner h1 {
  text-transform: uppercase;
  letter-spacing: 0.215em;
  font-family: "Rubik", sans-serif;
  font-size: 10px;
  letter-spacing: 0.215em;
  text-transform: uppercase;
  margin-bottom: 1em;
}
@media (max-width: 768px) {
  .content.geschichte .left .inner h1 {
    text-align: center;
  }
}
.content.geschichte .left .inner h1,
.content.geschichte .left .inner p,
.content.geschichte .left .inner .image-description {
  padding-left: 2rem;
  padding-right: 2rem;
}
@media (min-width: 769px) {
  .content.geschichte .left .inner h1,
.content.geschichte .left .inner p {
    padding-left: 5.5rem;
  }
}
.content.geschichte .left .inner section:last-child p:last-child {
  margin-bottom: 10vh;
}
@media (max-width: 768px) {
  .content.geschichte .left .inner section:last-child p:last-child {
    margin-bottom: 0;
  }
}
.content.geschichte .right {
  background-color: #283c28;
}

.intro-visible .not-intro {
  opacity: 0;
}

.content.lage .content-blocks div.caption.large,
.content.lage .content-blocks p.large,
.content.lage .content-blocks h1.large,
.content.lage .content-blocks .headline.large,
.content.lage .content-blocks .image-description.large,
.content.geschichte .left div.caption.large,
.content.geschichte .left p.large,
.content.geschichte .left h1.large,
.content.geschichte .left .headline.large,
.content.geschichte .left .image-description.large,
.content.geschichte .right div.caption.large,
.content.geschichte .right p.large,
.content.geschichte .right h1.large,
.content.geschichte .right .headline.large,
.content.geschichte .right .image-description.large,
#detail-info div.caption.large,
#detail-info p.large,
#detail-info h1.large,
#detail-info .headline.large,
#detail-info .image-description.large,
#content-block-images div.caption.large,
#content-block-images p.large,
#content-block-images h1.large,
#content-block-images .headline.large,
#content-block-images .image-description.large,
#slides div.caption.large,
#slides p.large,
#slides h1.large,
#slides .headline.large,
#slides .image-description.large,
.list-item div.caption.large,
.list-item p.large,
.list-item h1.large,
.list-item .headline.large,
.list-item .image-description.large {
  font-family: "Crimson Text", serif;
  text-transform: none;
  letter-spacing: -0.01em;
  line-height: 1.2;
  font-size: 52px;
}
@media (max-width: 1440px) {
  .content.lage .content-blocks div.caption.large,
.content.lage .content-blocks p.large,
.content.lage .content-blocks h1.large,
.content.lage .content-blocks .headline.large,
.content.lage .content-blocks .image-description.large,
.content.geschichte .left div.caption.large,
.content.geschichte .left p.large,
.content.geschichte .left h1.large,
.content.geschichte .left .headline.large,
.content.geschichte .left .image-description.large,
.content.geschichte .right div.caption.large,
.content.geschichte .right p.large,
.content.geschichte .right h1.large,
.content.geschichte .right .headline.large,
.content.geschichte .right .image-description.large,
#detail-info div.caption.large,
#detail-info p.large,
#detail-info h1.large,
#detail-info .headline.large,
#detail-info .image-description.large,
#content-block-images div.caption.large,
#content-block-images p.large,
#content-block-images h1.large,
#content-block-images .headline.large,
#content-block-images .image-description.large,
#slides div.caption.large,
#slides p.large,
#slides h1.large,
#slides .headline.large,
#slides .image-description.large,
.list-item div.caption.large,
.list-item p.large,
.list-item h1.large,
.list-item .headline.large,
.list-item .image-description.large {
    font-size: 35px;
  }
}
@media (max-width: 768px) {
  .content.lage .content-blocks div.caption.large,
.content.lage .content-blocks p.large,
.content.lage .content-blocks h1.large,
.content.lage .content-blocks .headline.large,
.content.lage .content-blocks .image-description.large,
.content.geschichte .left div.caption.large,
.content.geschichte .left p.large,
.content.geschichte .left h1.large,
.content.geschichte .left .headline.large,
.content.geschichte .left .image-description.large,
.content.geschichte .right div.caption.large,
.content.geschichte .right p.large,
.content.geschichte .right h1.large,
.content.geschichte .right .headline.large,
.content.geschichte .right .image-description.large,
#detail-info div.caption.large,
#detail-info p.large,
#detail-info h1.large,
#detail-info .headline.large,
#detail-info .image-description.large,
#content-block-images div.caption.large,
#content-block-images p.large,
#content-block-images h1.large,
#content-block-images .headline.large,
#content-block-images .image-description.large,
#slides div.caption.large,
#slides p.large,
#slides h1.large,
#slides .headline.large,
#slides .image-description.large,
.list-item div.caption.large,
.list-item p.large,
.list-item h1.large,
.list-item .headline.large,
.list-item .image-description.large {
    font-size: 32px;
  }
}
@media (max-width: 560px) {
  .content.lage .content-blocks div.caption.large,
.content.lage .content-blocks p.large,
.content.lage .content-blocks h1.large,
.content.lage .content-blocks .headline.large,
.content.lage .content-blocks .image-description.large,
.content.geschichte .left div.caption.large,
.content.geschichte .left p.large,
.content.geschichte .left h1.large,
.content.geschichte .left .headline.large,
.content.geschichte .left .image-description.large,
.content.geschichte .right div.caption.large,
.content.geschichte .right p.large,
.content.geschichte .right h1.large,
.content.geschichte .right .headline.large,
.content.geschichte .right .image-description.large,
#detail-info div.caption.large,
#detail-info p.large,
#detail-info h1.large,
#detail-info .headline.large,
#detail-info .image-description.large,
#content-block-images div.caption.large,
#content-block-images p.large,
#content-block-images h1.large,
#content-block-images .headline.large,
#content-block-images .image-description.large,
#slides div.caption.large,
#slides p.large,
#slides h1.large,
#slides .headline.large,
#slides .image-description.large,
.list-item div.caption.large,
.list-item p.large,
.list-item h1.large,
.list-item .headline.large,
.list-item .image-description.large {
    font-size: 30px;
  }
}
@media (max-width: 500px) {
  .content.lage .content-blocks div.caption.large,
.content.lage .content-blocks p.large,
.content.lage .content-blocks h1.large,
.content.lage .content-blocks .headline.large,
.content.lage .content-blocks .image-description.large,
.content.geschichte .left div.caption.large,
.content.geschichte .left p.large,
.content.geschichte .left h1.large,
.content.geschichte .left .headline.large,
.content.geschichte .left .image-description.large,
.content.geschichte .right div.caption.large,
.content.geschichte .right p.large,
.content.geschichte .right h1.large,
.content.geschichte .right .headline.large,
.content.geschichte .right .image-description.large,
#detail-info div.caption.large,
#detail-info p.large,
#detail-info h1.large,
#detail-info .headline.large,
#detail-info .image-description.large,
#content-block-images div.caption.large,
#content-block-images p.large,
#content-block-images h1.large,
#content-block-images .headline.large,
#content-block-images .image-description.large,
#slides div.caption.large,
#slides p.large,
#slides h1.large,
#slides .headline.large,
#slides .image-description.large,
.list-item div.caption.large,
.list-item p.large,
.list-item h1.large,
.list-item .headline.large,
.list-item .image-description.large {
    font-size: 28px;
  }
}
@media (max-width: 360px) {
  .content.lage .content-blocks div.caption.large,
.content.lage .content-blocks p.large,
.content.lage .content-blocks h1.large,
.content.lage .content-blocks .headline.large,
.content.lage .content-blocks .image-description.large,
.content.geschichte .left div.caption.large,
.content.geschichte .left p.large,
.content.geschichte .left h1.large,
.content.geschichte .left .headline.large,
.content.geschichte .left .image-description.large,
.content.geschichte .right div.caption.large,
.content.geschichte .right p.large,
.content.geschichte .right h1.large,
.content.geschichte .right .headline.large,
.content.geschichte .right .image-description.large,
#detail-info div.caption.large,
#detail-info p.large,
#detail-info h1.large,
#detail-info .headline.large,
#detail-info .image-description.large,
#content-block-images div.caption.large,
#content-block-images p.large,
#content-block-images h1.large,
#content-block-images .headline.large,
#content-block-images .image-description.large,
#slides div.caption.large,
#slides p.large,
#slides h1.large,
#slides .headline.large,
#slides .image-description.large,
.list-item div.caption.large,
.list-item p.large,
.list-item h1.large,
.list-item .headline.large,
.list-item .image-description.large {
    font-size: 24px;
  }
}

a.open-in-new-tab {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 30px;
  z-index: 100;
  cursor: pointer;
  font-family: "Rubik", sans-serif;
  font-size: 10px;
  letter-spacing: 0.215em;
  text-transform: uppercase;
  padding: 0 1em;
  color: inherit;
  text-decoration: none;
  background-color: rgba(255, 255, 255, 0.2);
}
a.open-in-new-tab.mobile {
  width: 100%;
  top: -30px;
  margin: 0 auto;
}
a.open-in-new-tab.desktop {
  position: absolute;
  top: 0;
  left: 0;
  background: white;
  height: 2.5em;
  font-size: 1rem;
}

.content.lage .content-blocks,
.content.geschichte .left,
.content.geschichte .right,
#detail-info,
#content-block-images,
.list-item {
  margin: 0;
  display: flex;
  flex-direction: column;
}
.content.lage .content-blocks div.caption,
.content.lage .content-blocks p,
.content.lage .content-blocks h1,
.content.lage .content-blocks .image-description,
.content.geschichte .left div.caption,
.content.geschichte .left p,
.content.geschichte .left h1,
.content.geschichte .left .image-description,
.content.geschichte .right div.caption,
.content.geschichte .right p,
.content.geschichte .right h1,
.content.geschichte .right .image-description,
#detail-info div.caption,
#detail-info p,
#detail-info h1,
#detail-info .image-description,
#content-block-images div.caption,
#content-block-images p,
#content-block-images h1,
#content-block-images .image-description,
.list-item div.caption,
.list-item p,
.list-item h1,
.list-item .image-description {
  font-family: "Rubik", sans-serif;
  font-size: 10px;
  letter-spacing: 0.215em;
  text-transform: uppercase;
  line-height: 1.5;
  margin-bottom: 2.7rem;
  color: white;
}
.content.lage .content-blocks div.caption.small,
.content.lage .content-blocks p.small,
.content.lage .content-blocks h1.small,
.content.lage .content-blocks .image-description.small,
.content.geschichte .left div.caption.small,
.content.geschichte .left p.small,
.content.geschichte .left h1.small,
.content.geschichte .left .image-description.small,
.content.geschichte .right div.caption.small,
.content.geschichte .right p.small,
.content.geschichte .right h1.small,
.content.geschichte .right .image-description.small,
#detail-info div.caption.small,
#detail-info p.small,
#detail-info h1.small,
#detail-info .image-description.small,
#content-block-images div.caption.small,
#content-block-images p.small,
#content-block-images h1.small,
#content-block-images .image-description.small,
.list-item div.caption.small,
.list-item p.small,
.list-item h1.small,
.list-item .image-description.small {
  margin-top: 1.5em;
  font-family: "Rubik", sans-serif;
  font-size: 18px;
  letter-spacing: 0.095em;
  text-transform: none;
}
@media (max-width: 1440px) {
  .content.lage .content-blocks div.caption.small,
.content.lage .content-blocks p.small,
.content.lage .content-blocks h1.small,
.content.lage .content-blocks .image-description.small,
.content.geschichte .left div.caption.small,
.content.geschichte .left p.small,
.content.geschichte .left h1.small,
.content.geschichte .left .image-description.small,
.content.geschichte .right div.caption.small,
.content.geschichte .right p.small,
.content.geschichte .right h1.small,
.content.geschichte .right .image-description.small,
#detail-info div.caption.small,
#detail-info p.small,
#detail-info h1.small,
#detail-info .image-description.small,
#content-block-images div.caption.small,
#content-block-images p.small,
#content-block-images h1.small,
#content-block-images .image-description.small,
.list-item div.caption.small,
.list-item p.small,
.list-item h1.small,
.list-item .image-description.small {
    font-size: 16px;
  }
}
@media (max-width: 992px) {
  .content.lage .content-blocks div.caption.small,
.content.lage .content-blocks p.small,
.content.lage .content-blocks h1.small,
.content.lage .content-blocks .image-description.small,
.content.geschichte .left div.caption.small,
.content.geschichte .left p.small,
.content.geschichte .left h1.small,
.content.geschichte .left .image-description.small,
.content.geschichte .right div.caption.small,
.content.geschichte .right p.small,
.content.geschichte .right h1.small,
.content.geschichte .right .image-description.small,
#detail-info div.caption.small,
#detail-info p.small,
#detail-info h1.small,
#detail-info .image-description.small,
#content-block-images div.caption.small,
#content-block-images p.small,
#content-block-images h1.small,
#content-block-images .image-description.small,
.list-item div.caption.small,
.list-item p.small,
.list-item h1.small,
.list-item .image-description.small {
    font-size: 15px;
  }
}
.content.lage .content-blocks div.caption.history.last,
.content.lage .content-blocks p.history.last,
.content.lage .content-blocks h1.history.last,
.content.lage .content-blocks .image-description.history.last,
.content.geschichte .left div.caption.history.last,
.content.geschichte .left p.history.last,
.content.geschichte .left h1.history.last,
.content.geschichte .left .image-description.history.last,
.content.geschichte .right div.caption.history.last,
.content.geschichte .right p.history.last,
.content.geschichte .right h1.history.last,
.content.geschichte .right .image-description.history.last,
#detail-info div.caption.history.last,
#detail-info p.history.last,
#detail-info h1.history.last,
#detail-info .image-description.history.last,
#content-block-images div.caption.history.last,
#content-block-images p.history.last,
#content-block-images h1.history.last,
#content-block-images .image-description.history.last,
.list-item div.caption.history.last,
.list-item p.history.last,
.list-item h1.history.last,
.list-item .image-description.history.last {
  margin-bottom: 20vh;
}
@media (max-width: 768px) {
  .content.lage .content-blocks div.caption.history.last,
.content.lage .content-blocks p.history.last,
.content.lage .content-blocks h1.history.last,
.content.lage .content-blocks .image-description.history.last,
.content.geschichte .left div.caption.history.last,
.content.geschichte .left p.history.last,
.content.geschichte .left h1.history.last,
.content.geschichte .left .image-description.history.last,
.content.geschichte .right div.caption.history.last,
.content.geschichte .right p.history.last,
.content.geschichte .right h1.history.last,
.content.geschichte .right .image-description.history.last,
#detail-info div.caption.history.last,
#detail-info p.history.last,
#detail-info h1.history.last,
#detail-info .image-description.history.last,
#content-block-images div.caption.history.last,
#content-block-images p.history.last,
#content-block-images h1.history.last,
#content-block-images .image-description.history.last,
.list-item div.caption.history.last,
.list-item p.history.last,
.list-item h1.history.last,
.list-item .image-description.history.last {
    margin-bottom: 100px;
  }
}
.content.lage .content-blocks div.caption a,
.content.lage .content-blocks p a,
.content.lage .content-blocks h1 a,
.content.lage .content-blocks .image-description a,
.content.geschichte .left div.caption a,
.content.geschichte .left p a,
.content.geschichte .left h1 a,
.content.geschichte .left .image-description a,
.content.geschichte .right div.caption a,
.content.geschichte .right p a,
.content.geschichte .right h1 a,
.content.geschichte .right .image-description a,
#detail-info div.caption a,
#detail-info p a,
#detail-info h1 a,
#detail-info .image-description a,
#content-block-images div.caption a,
#content-block-images p a,
#content-block-images h1 a,
#content-block-images .image-description a,
.list-item div.caption a,
.list-item p a,
.list-item h1 a,
.list-item .image-description a {
  color: inherit;
}
.content.lage .content-blocks h1,
.content.geschichte .left h1,
.content.geschichte .right h1,
#detail-info h1,
#content-block-images h1,
.list-item h1 {
  letter-spacing: -0.01em;
}
.content.lage .content-blocks p,
.content.geschichte .left p,
.content.geschichte .right p,
#detail-info p,
#content-block-images p,
.list-item p {
  font-family: "Rubik", sans-serif;
  font-size: 18px;
  letter-spacing: 0.095em;
  text-transform: none;
}
@media (max-width: 1440px) {
  .content.lage .content-blocks p,
.content.geschichte .left p,
.content.geschichte .right p,
#detail-info p,
#content-block-images p,
.list-item p {
    font-size: 16px;
  }
}
@media (max-width: 992px) {
  .content.lage .content-blocks p,
.content.geschichte .left p,
.content.geschichte .right p,
#detail-info p,
#content-block-images p,
.list-item p {
    font-size: 15px;
  }
}
.content.lage .content-blocks .image-container,
.content.geschichte .left .image-container,
.content.geschichte .right .image-container,
#detail-info .image-container,
#content-block-images .image-container,
.list-item .image-container {
  position: relative;
  width: 100%;
  height: auto;
  margin-bottom: 3rem;
}
.content.lage .content-blocks .image-container.mobile,
.content.geschichte .left .image-container.mobile,
.content.geschichte .right .image-container.mobile,
#detail-info .image-container.mobile,
#content-block-images .image-container.mobile,
.list-item .image-container.mobile {
  display: none !important;
}
@media (max-width: 768px) {
  .content.lage .content-blocks .image-container.mobile,
.content.geschichte .left .image-container.mobile,
.content.geschichte .right .image-container.mobile,
#detail-info .image-container.mobile,
#content-block-images .image-container.mobile,
.list-item .image-container.mobile {
    display: block !important;
  }
}
.content.lage .content-blocks .image-container img,
.content.geschichte .left .image-container img,
.content.geschichte .right .image-container img,
#detail-info .image-container img,
#content-block-images .image-container img,
.list-item .image-container img {
  width: 100%;
  height: auto;
  display: block;
}
.content.lage .content-blocks .image-container .image-description,
.content.geschichte .left .image-container .image-description,
.content.geschichte .right .image-container .image-description,
#detail-info .image-container .image-description,
#content-block-images .image-container .image-description,
.list-item .image-container .image-description {
  display: block;
  margin: 1.5em 0 0;
  color: black;
  font-family: "Rubik", sans-serif;
  font-size: 10px;
  letter-spacing: 0.215em;
  text-transform: uppercase;
}
.content.lage .content-blocks .image-container .image-description.margin-left,
.content.geschichte .left .image-container .image-description.margin-left,
.content.geschichte .right .image-container .image-description.margin-left,
#detail-info .image-container .image-description.margin-left,
#content-block-images .image-container .image-description.margin-left,
.list-item .image-container .image-description.margin-left {
  margin: 1.5em 1.5em 0 1.5em;
}
.content.lage .content-blocks .info-content,
.content.geschichte .left .info-content,
.content.geschichte .right .info-content,
#detail-info .info-content,
#content-block-images .info-content,
.list-item .info-content {
  margin: 1.5em;
  color: white;
  position: relative;
  -webkit-transition: opacity 0.5s;
  -moz-transition: opacity 0.5s;
  -ms-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
.content.lage .content-blocks .info-content h1,
.content.geschichte .left .info-content h1,
.content.geschichte .right .info-content h1,
#detail-info .info-content h1,
#content-block-images .info-content h1,
.list-item .info-content h1 {
  font-family: "Crimson Text", serif;
  text-transform: none;
  letter-spacing: -0.01em;
  line-height: 1.2;
  font-size: 52px;
  margin-bottom: 0.15em;
}
@media (max-width: 1440px) {
  .content.lage .content-blocks .info-content h1,
.content.geschichte .left .info-content h1,
.content.geschichte .right .info-content h1,
#detail-info .info-content h1,
#content-block-images .info-content h1,
.list-item .info-content h1 {
    font-size: 35px;
  }
}
@media (max-width: 768px) {
  .content.lage .content-blocks .info-content h1,
.content.geschichte .left .info-content h1,
.content.geschichte .right .info-content h1,
#detail-info .info-content h1,
#content-block-images .info-content h1,
.list-item .info-content h1 {
    font-size: 32px;
  }
}
@media (max-width: 560px) {
  .content.lage .content-blocks .info-content h1,
.content.geschichte .left .info-content h1,
.content.geschichte .right .info-content h1,
#detail-info .info-content h1,
#content-block-images .info-content h1,
.list-item .info-content h1 {
    font-size: 30px;
  }
}
@media (max-width: 500px) {
  .content.lage .content-blocks .info-content h1,
.content.geschichte .left .info-content h1,
.content.geschichte .right .info-content h1,
#detail-info .info-content h1,
#content-block-images .info-content h1,
.list-item .info-content h1 {
    font-size: 28px;
  }
}
@media (max-width: 360px) {
  .content.lage .content-blocks .info-content h1,
.content.geschichte .left .info-content h1,
.content.geschichte .right .info-content h1,
#detail-info .info-content h1,
#content-block-images .info-content h1,
.list-item .info-content h1 {
    font-size: 24px;
  }
}
.content.lage .content-blocks .info-content span.artist,
.content.geschichte .left .info-content span.artist,
.content.geschichte .right .info-content span.artist,
#detail-info .info-content span.artist,
#content-block-images .info-content span.artist,
.list-item .info-content span.artist {
  font-family: "Rubik", sans-serif;
  font-size: 17px;
  letter-spacing: 0.095em;
  text-transform: none;
  text-transform: uppercase;
  letter-spacing: 0.215em;
}
@media (max-width: 1440px) {
  .content.lage .content-blocks .info-content span.artist,
.content.geschichte .left .info-content span.artist,
.content.geschichte .right .info-content span.artist,
#detail-info .info-content span.artist,
#content-block-images .info-content span.artist,
.list-item .info-content span.artist {
    font-size: 15px;
  }
}
@media (max-width: 992px) {
  .content.lage .content-blocks .info-content span.artist,
.content.geschichte .left .info-content span.artist,
.content.geschichte .right .info-content span.artist,
#detail-info .info-content span.artist,
#content-block-images .info-content span.artist,
.list-item .info-content span.artist {
    font-size: 14px;
  }
}
@-webkit-keyframes webkit-fadeOutOldContent {
  0% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate(0, 50px);
    -moz-transform: translate(0, 50px);
    -ms-transform: translate(0, 50px);
    -o-transform: translate(0, 50px);
    transform: translate(0, 50px);
  }
}
@-moz-keyframes moz-fadeOutOldContent {
  0% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate(0, 50px);
    -moz-transform: translate(0, 50px);
    -ms-transform: translate(0, 50px);
    -o-transform: translate(0, 50px);
    transform: translate(0, 50px);
  }
}
@-o-keyframes o-fadeOutOldContent {
  0% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate(0, 50px);
    -moz-transform: translate(0, 50px);
    -ms-transform: translate(0, 50px);
    -o-transform: translate(0, 50px);
    transform: translate(0, 50px);
  }
}
@keyframes fadeOutOldContent {
  0% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate(0, 50px);
    -moz-transform: translate(0, 50px);
    -ms-transform: translate(0, 50px);
    -o-transform: translate(0, 50px);
    transform: translate(0, 50px);
  }
}
@-webkit-keyframes webkit-fadeInNewContent {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, -50px);
    -moz-transform: translate(0, -50px);
    -ms-transform: translate(0, -50px);
    -o-transform: translate(0, -50px);
    transform: translate(0, -50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0px);
    -moz-transform: translate(0, 0px);
    -ms-transform: translate(0, 0px);
    -o-transform: translate(0, 0px);
    transform: translate(0, 0px);
  }
}
@-moz-keyframes moz-fadeInNewContent {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, -50px);
    -moz-transform: translate(0, -50px);
    -ms-transform: translate(0, -50px);
    -o-transform: translate(0, -50px);
    transform: translate(0, -50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0px);
    -moz-transform: translate(0, 0px);
    -ms-transform: translate(0, 0px);
    -o-transform: translate(0, 0px);
    transform: translate(0, 0px);
  }
}
@-o-keyframes o-fadeInNewContent {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, -50px);
    -moz-transform: translate(0, -50px);
    -ms-transform: translate(0, -50px);
    -o-transform: translate(0, -50px);
    transform: translate(0, -50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0px);
    -moz-transform: translate(0, 0px);
    -ms-transform: translate(0, 0px);
    -o-transform: translate(0, 0px);
    transform: translate(0, 0px);
  }
}
@keyframes fadeInNewContent {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, -50px);
    -moz-transform: translate(0, -50px);
    -ms-transform: translate(0, -50px);
    -o-transform: translate(0, -50px);
    transform: translate(0, -50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0px);
    -moz-transform: translate(0, 0px);
    -ms-transform: translate(0, 0px);
    -o-transform: translate(0, 0px);
    transform: translate(0, 0px);
  }
}
.content.lage .content-blocks .info-content .content-details.fade-out,
.content.geschichte .left .info-content .content-details.fade-out,
.content.geschichte .right .info-content .content-details.fade-out,
#detail-info .info-content .content-details.fade-out,
#content-block-images .info-content .content-details.fade-out,
.list-item .info-content .content-details.fade-out {
  position: absolute;
  left: 0;
  right: 0;
  -moz-animation-duration: 0.3s;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -moz-animation-fill-mode: forwards;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -moz-animation-timing-function: ease-out;
  -webkit-animation-timing-function: ease-out;
  animation-fill-timing-function: ease-out;
  -webkit-animation-name: fadeOutOldContent;
  -moz-animation-name: fadeOutOldContent;
  -o-animation-name: fadeOutOldContent;
  animation-name: fadeOutOldContent;
}
.content.lage .content-blocks .info-content .content-details.fade-in,
.content.geschichte .left .info-content .content-details.fade-in,
.content.geschichte .right .info-content .content-details.fade-in,
#detail-info .info-content .content-details.fade-in,
#content-block-images .info-content .content-details.fade-in,
.list-item .info-content .content-details.fade-in {
  position: absolute;
  left: 0;
  right: 0;
  -moz-animation-duration: 0.3s;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -moz-animation-fill-mode: forwards;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -moz-animation-timing-function: ease-out;
  -webkit-animation-timing-function: ease-out;
  animation-fill-timing-function: ease-out;
  -webkit-animation-name: fadeInNewContent;
  -moz-animation-name: fadeInNewContent;
  -o-animation-name: fadeInNewContent;
  animation-name: fadeInNewContent;
}
.content.lage .content-blocks .info-content .text,
.content.geschichte .left .info-content .text,
.content.geschichte .right .info-content .text,
#detail-info .info-content .text,
#content-block-images .info-content .text,
.list-item .info-content .text {
  max-width: calc(100% - 9.5rem);
  margin-top: 2.5em;
}
@media (max-width: 1200px) {
  .content.lage .content-blocks .info-content .text,
.content.geschichte .left .info-content .text,
.content.geschichte .right .info-content .text,
#detail-info .info-content .text,
#content-block-images .info-content .text,
.list-item .info-content .text {
    max-width: calc(100% - 8.5rem);
  }
}
@media (max-width: 992px) {
  .content.lage .content-blocks .info-content .text,
.content.geschichte .left .info-content .text,
.content.geschichte .right .info-content .text,
#detail-info .info-content .text,
#content-block-images .info-content .text,
.list-item .info-content .text {
    max-width: calc(100% - 7.5rem);
  }
}
@media (max-width: 768px) {
  .content.lage .content-blocks .info-content .text,
.content.geschichte .left .info-content .text,
.content.geschichte .right .info-content .text,
#detail-info .info-content .text,
#content-block-images .info-content .text,
.list-item .info-content .text {
    max-width: calc(100% - 7rem);
  }
}
@media (max-width: 500px) {
  .content.lage .content-blocks .info-content .text,
.content.geschichte .left .info-content .text,
.content.geschichte .right .info-content .text,
#detail-info .info-content .text,
#content-block-images .info-content .text,
.list-item .info-content .text {
    max-width: calc(100% - 0rem);
  }
}
@media (max-aspect-ratio: 5/5) and (min-width: 769px) {
  .content.lage .content-blocks .info-content .text,
.content.geschichte .left .info-content .text,
.content.geschichte .right .info-content .text,
#detail-info .info-content .text,
#content-block-images .info-content .text,
.list-item .info-content .text {
    max-width: calc(100%);
    margin-bottom: 10em;
  }
}
.content.lage .content-blocks #carousel-navigation,
.content.geschichte .left #carousel-navigation,
.content.geschichte .right #carousel-navigation,
#detail-info #carousel-navigation,
#content-block-images #carousel-navigation,
.list-item #carousel-navigation {
  display: flex;
  justify-content: space-between;
}
.content.lage .content-blocks #carousel-navigation button,
.content.geschichte .left #carousel-navigation button,
.content.geschichte .right #carousel-navigation button,
#detail-info #carousel-navigation button,
#content-block-images #carousel-navigation button,
.list-item #carousel-navigation button {
  margin: 0em 1em 3em;
  color: white;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  width: 33.33%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: auto;
  font-family: "Rubik", sans-serif;
  font-size: 10px;
  letter-spacing: 0.215em;
  text-transform: uppercase;
}
@media (max-width: 992px) and (min-width: 769px) {
  .content.lage .content-blocks #carousel-navigation button,
.content.geschichte .left #carousel-navigation button,
.content.geschichte .right #carousel-navigation button,
#detail-info #carousel-navigation button,
#content-block-images #carousel-navigation button,
.list-item #carousel-navigation button {
    margin: 0em 0.8em 3em;
  }
}
.content.lage .content-blocks #carousel-navigation button.prev,
.content.geschichte .left #carousel-navigation button.prev,
.content.geschichte .right #carousel-navigation button.prev,
#detail-info #carousel-navigation button.prev,
#content-block-images #carousel-navigation button.prev,
.list-item #carousel-navigation button.prev {
  text-align: left;
  -webkit-transform: translate(-1em, 0);
  -moz-transform: translate(-1em, 0);
  -ms-transform: translate(-1em, 0);
  -o-transform: translate(-1em, 0);
  transform: translate(-1em, 0);
}
.content.lage .content-blocks #carousel-navigation button.prev:before,
.content.geschichte .left #carousel-navigation button.prev:before,
.content.geschichte .right #carousel-navigation button.prev:before,
#detail-info #carousel-navigation button.prev:before,
#content-block-images #carousel-navigation button.prev:before,
.list-item #carousel-navigation button.prev:before {
  content: "";
  background: url("img/arrow-left.svg") no-repeat center center;
  width: 1.5em;
  height: 1em;
  position: relative;
  display: inline-table;
  margin-right: 1em;
}
.content.lage .content-blocks #carousel-navigation button.fullscreen,
.content.geschichte .left #carousel-navigation button.fullscreen,
.content.geschichte .right #carousel-navigation button.fullscreen,
#detail-info #carousel-navigation button.fullscreen,
#content-block-images #carousel-navigation button.fullscreen,
.list-item #carousel-navigation button.fullscreen {
  text-align: center;
}
.content.lage .content-blocks #carousel-navigation button.fullscreen:before,
.content.geschichte .left #carousel-navigation button.fullscreen:before,
.content.geschichte .right #carousel-navigation button.fullscreen:before,
#detail-info #carousel-navigation button.fullscreen:before,
#content-block-images #carousel-navigation button.fullscreen:before,
.list-item #carousel-navigation button.fullscreen:before {
  content: "";
  background: url("img/fullscreen.svg") no-repeat center center;
  width: 2em;
  height: 1em;
  position: relative;
  display: inline-table;
  margin-right: 1em;
}
.content.lage .content-blocks #carousel-navigation button.next,
.content.geschichte .left #carousel-navigation button.next,
.content.geschichte .right #carousel-navigation button.next,
#detail-info #carousel-navigation button.next,
#content-block-images #carousel-navigation button.next,
.list-item #carousel-navigation button.next {
  text-align: right;
  -webkit-transform: translate(1em, 0);
  -moz-transform: translate(1em, 0);
  -ms-transform: translate(1em, 0);
  -o-transform: translate(1em, 0);
  transform: translate(1em, 0);
}
.content.lage .content-blocks #carousel-navigation button.next:after,
.content.geschichte .left #carousel-navigation button.next:after,
.content.geschichte .right #carousel-navigation button.next:after,
#detail-info #carousel-navigation button.next:after,
#content-block-images #carousel-navigation button.next:after,
.list-item #carousel-navigation button.next:after {
  content: "";
  background: url("img/arrow-left.svg") no-repeat center center;
  width: 1.5em;
  height: 1em;
  position: relative;
  display: inline-table;
  margin-left: 1em;
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}
@media (max-width: 440px) {
  .content.lage .content-blocks #carousel-navigation button span.bild,
.content.geschichte .left #carousel-navigation button span.bild,
.content.geschichte .right #carousel-navigation button span.bild,
#detail-info #carousel-navigation button span.bild,
#content-block-images #carousel-navigation button span.bild,
.list-item #carousel-navigation button span.bild {
    display: none;
  }
}
@media (max-width: 360px) {
  .content.lage .content-blocks #carousel-navigation button.prev span, .content.lage .content-blocks #carousel-navigation button.next span,
.content.geschichte .left #carousel-navigation button.prev span,
.content.geschichte .left #carousel-navigation button.next span,
.content.geschichte .right #carousel-navigation button.prev span,
.content.geschichte .right #carousel-navigation button.next span,
#detail-info #carousel-navigation button.prev span,
#detail-info #carousel-navigation button.next span,
#content-block-images #carousel-navigation button.prev span,
#content-block-images #carousel-navigation button.next span,
.list-item #carousel-navigation button.prev span,
.list-item #carousel-navigation button.next span {
    display: none;
  }
}
.content.lage .content-blocks #carousel-navigation button:disabled,
.content.geschichte .left #carousel-navigation button:disabled,
.content.geschichte .right #carousel-navigation button:disabled,
#detail-info #carousel-navigation button:disabled,
#content-block-images #carousel-navigation button:disabled,
.list-item #carousel-navigation button:disabled {
  opacity: 0.5;
  cursor: default;
}

#video-container {
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
#video-container #mousetrap {
  z-index: 1;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
#video-container #video-placeholder {
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  height: 110vh;
  width: calc(110vh * 16 / 9);
  top: 50%;
  left: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
  z-index: 10;
  background-color: black;
}
@media (min-aspect-ratio: 16/9) {
  #video-container #video-placeholder {
    width: calc(110vw);
    height: calc(110vw / 16 * 9);
  }
}
@media (max-width: 768px) and (max-aspect-ratio: 1/1) {
  #video-container #video-placeholder {
    height: calc(100vh - 99px);
    width: calc( ( 100vh - 100px) * 16 / 9);
    top: calc(50% + 49px);
  }
}
#video-container #video-placeholder.hidden {
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
#video-container #background-video {
  z-index: 0;
  height: 110vh;
  width: calc(110vh * 16 / 9);
  top: 50%;
  left: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
  -webkit-transition: opacity 1s linear 0s;
  -moz-transition: opacity 1s linear 0s;
  -ms-transition: opacity 1s linear 0s;
  -o-transition: opacity 1s linear 0s;
  transition: opacity 1s linear 0s;
}
@media (min-aspect-ratio: 16/9) {
  #video-container #background-video {
    width: calc(110vw);
    height: calc(110vw / 16 * 9);
  }
}
@media (max-width: 768px) and (max-aspect-ratio: 1/1) {
  #video-container #background-video {
    height: calc(100vh - 99px);
    width: calc( ( 100vh - 100px) * 16 / 9);
    top: calc(50% + 49px);
  }
}
#video-container #background-video.playing, #video-container #background-video.paused {
  opacity: 1;
}

#video-placeholder.familie {
  background-image: url("img/still/familie.jpg");
}
#video-placeholder.immobilien {
  background-image: url("img/still/immo.jpg");
}
#video-placeholder.gewerbe {
  background-image: url("img/still/gewerbe.jpg");
}

.fadeout-background.loaded {
  z-index: 0;
  height: 110vh;
  width: calc(110vh * 16 / 9);
  top: 50%;
  left: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
}
@media (min-aspect-ratio: 16/9) {
  .fadeout-background.loaded {
    width: calc(110vw);
    height: calc(110vw / 16 * 9);
  }
}
@media (max-width: 768px) and (max-aspect-ratio: 1/1) {
  .fadeout-background.loaded {
    height: calc(100vh - 99px);
    width: calc( ( 100vh - 100px) * 16 / 9);
    top: calc(50% + 49px);
  }
}

#privacy {
  display: none;
}
#privacy.visible {
  display: block;
}
#privacy p, #privacy h1, #privacy ul {
  max-width: 64em;
  margin: 0 auto 1em;
}

body.page-template-kontakt .content .right {
  -webkit-transition: opacity 0.4s;
  -moz-transition: opacity 0.4s;
  -ms-transition: opacity 0.4s;
  -o-transition: opacity 0.4s;
  transition: opacity 0.4s;
}
body.page-load.page-template-kontakt .content .right {
  opacity: 0;
}

#inner-body {
  -webkit-transition: opacity 1s;
  -moz-transition: opacity 1s;
  -ms-transition: opacity 1s;
  -o-transition: opacity 1s;
  transition: opacity 1s;
}

body.page-template-gewerbe .left:before,
body.page-template-familie:before,
body.page-template-immobilien:before,
body.page-template-kontakt:before {
  content: "";
  pointer-events: none;
  z-index: 11;
  position: fixed;
  height: 100vh;
  width: 2px;
  min-width: 2px;
  background: white;
  top: 0;
  left: calc(50%);
  -webkit-transform: translate(-50%, 0);
  -moz-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  -o-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  -webkit-transition: opacity 0.5s;
  -moz-transition: opacity 0.5s;
  -ms-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
@media (max-width: 768px) {
  body.page-template-gewerbe .left:before,
body.page-template-familie:before,
body.page-template-immobilien:before,
body.page-template-kontakt:before {
    display: none;
  }
}
@media (min-width: 1441px) {
  body.page-template-gewerbe .left:before,
body.page-template-familie:before,
body.page-template-immobilien:before,
body.page-template-kontakt:before {
    width: 0.1em;
  }
}
body.page-template-gewerbe .left.is-fullscreen:before,
body.page-template-familie.is-fullscreen:before,
body.page-template-immobilien.is-fullscreen:before,
body.page-template-kontakt.is-fullscreen:before {
  display: none;
}
@media (max-width: 768px) {
  body.page-template-gewerbe .left.is-fullscreen .content .left,
body.page-template-gewerbe .left.is-fullscreen .content .right,
body.page-template-familie.is-fullscreen .content .left,
body.page-template-familie.is-fullscreen .content .right,
body.page-template-immobilien.is-fullscreen .content .left,
body.page-template-immobilien.is-fullscreen .content .right,
body.page-template-kontakt.is-fullscreen .content .left,
body.page-template-kontakt.is-fullscreen .content .right {
    overflow: hidden;
  }
}
body.page-template-gewerbe .left.background-video:before,
body.page-template-familie.background-video:before,
body.page-template-immobilien.background-video:before,
body.page-template-kontakt.background-video:before {
  opacity: 0;
  visibility: hidden;
}
body.page-template-gewerbe .left .enlarge-clone img,
body.page-template-familie .enlarge-clone img,
body.page-template-immobilien .enlarge-clone img,
body.page-template-kontakt .enlarge-clone img {
  display: none !important;
}

body > .cell.clone {
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
body > .cell.clone.fullscreen-transition {
  background-size: contain;
}

@media (max-width: 768px) {
  body.list-details-closing .sub-menu {
    -webkit-transition-delay: 0.3s;
    -moz-transition-delay: 0.3s;
    -ms-transition-delay: 0.3s;
    -o-transition-delay: 0.3s;
    transition-delay: 0.3s;
  }
}

body.list-details-open {
  overflow: hidden;
}
@media (max-width: 768px) {
  body.list-details-open .sub-menu {
    z-index: 0;
  }
  body.list-details-open .content.kunst .right,
body.list-details-open .content.mietobjekte .right,
body.list-details-open .content.bauprojekte .right {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 1;
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

.cell.fullscreen-clone {
  background-size: contain;
  background-repeat: no-repeat;
  background-color: black;
  background-position: center center;
}
.cell.fullscreen-clone img {
  visibility: hidden;
}
.cell.fullscreen-clone.from-fullscreen {
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

.filter {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  font-family: "Rubik", sans-serif;
  font-size: 10px;
  letter-spacing: 0.215em;
  text-transform: uppercase;
  justify-content: flex-end;
  align-items: center;
  position: -webkit-sticky;
  /* Safari */
  position: sticky;
  top: 0;
  z-index: 10;
  padding-top: 1.7em;
  padding-bottom: 1em;
}
.filter .spacer {
  height: 1.2em;
  width: 1px;
  background-color: black;
}
.filter .spacer:last-child {
  display: none;
}
@media (max-width: 768px) {
  .filter {
    justify-content: flex-start;
    max-width: calc(100% - 6em);
  }
}
.filter button {
  cursor: pointer;
  margin: 0.8em 1.5em;
  text-transform: uppercase;
  letter-spacing: 0.215em;
  position: relative;
}
.filter button:after {
  content: "";
  width: 0%;
  height: 1px;
  background: black;
  position: absolute;
  left: 50%;
  bottom: -0.5em;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: translate(-50%, 0);
  -moz-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  -o-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}
.filter button:hover:after, .filter button.active:after {
  width: 100%;
}
@media (max-width: 768px) {
  .filter button:hover:after, .filter button.active:after {
    display: none;
  }
}

.content.kunst .filter {
  background: #829664;
}

.content.bauprojekte .filter,
.content.mietobjekte .filter {
  background: #aba194;
}

#building-projects-container .list-item,
#art-container .list-item {
  padding-top: 0;
}
#building-projects-container .list-item .list-item-inner,
#art-container .list-item .list-item-inner {
  position: relative;
}
#building-projects-container .list-item .list-item-inner .list-item-title,
#art-container .list-item .list-item-inner .list-item-title {
  flex-grow: 1;
  min-height: 3em;
  justify-content: flex-start;
  padding: 1em 0.7em;
  display: table;
  width: calc(100% - 1.4em + 1px);
}
#building-projects-container .list-item .list-item-inner .list-item-title span,
#art-container .list-item .list-item-inner .list-item-title span {
  min-height: 0;
  line-height: 1.5;
  display: table;
}
#building-projects-container .list-item .list-item-image,
#art-container .list-item .list-item-image {
  padding-top: calc(100% - 4.5em);
}

#detail-info {
  padding-top: 70%;
  position: relative;
}

.flickity-enabled.flickity-carousel,
.flickity-carousel,
.info-carousel {
  -webkit-transition: 0s;
  -moz-transition: 0s;
  -ms-transition: 0s;
  -o-transition: 0s;
  transition: 0s;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1;
  z-index: 110;
}
.flickity-enabled.flickity-carousel .cell,
.flickity-carousel .cell,
.info-carousel .cell {
  background-color: black;
  display: flex;
  align-items: center;
  justify-content: center;
}
.flickity-enabled.flickity-carousel .cell .click-overlay,
.flickity-carousel .cell .click-overlay,
.info-carousel .cell .click-overlay {
  z-index: 2;
  position: absolute;
  background: rgba(255, 0, 0, 0.2);
  width: 100%;
}
.flickity-enabled.flickity-carousel .cell img,
.flickity-carousel .cell img,
.info-carousel .cell img {
  cursor: pointer;
  -webkit-transition: opacity 0.5s;
  -moz-transition: opacity 0.5s;
  -ms-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  transition: opacity 0.5s;
  position: relative;
  opacity: 0;
  visibility: hidden;
  width: 100%;
  height: 100%;
  /* new */
  /* new */
  object-fit: cover;
  overflow: hidden;
  object-position: center;
  /* new */
}
.flickity-enabled.flickity-carousel .cell img.loaded,
.flickity-carousel .cell img.loaded,
.info-carousel .cell img.loaded {
  opacity: 1;
  visibility: visible;
}
.flickity-enabled.flickity-carousel .cell.contain img,
.flickity-carousel .cell.contain img,
.info-carousel .cell.contain img {
  object-fit: contain;
}
.flickity-enabled.flickity-carousel#history-carousel:not(.fullscreen-on) .cell,
.flickity-carousel#history-carousel:not(.fullscreen-on) .cell,
.info-carousel#history-carousel:not(.fullscreen-on) .cell {
  background-color: transparent;
}
.flickity-enabled.flickity-carousel#history-carousel:not(.fullscreen-on) .cell img,
.flickity-carousel#history-carousel:not(.fullscreen-on) .cell img,
.info-carousel#history-carousel:not(.fullscreen-on) .cell img {
  /* new */
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  /* new */
  object-fit: unset;
  object-position: unset;
}
.flickity-enabled.flickity-carousel#history-carousel.fullscreen-on .cell img,
.flickity-carousel#history-carousel.fullscreen-on .cell img,
.info-carousel#history-carousel.fullscreen-on .cell img {
  object-position: center;
}

.is-fullscreen .flickity-carousel .cell img {
  cursor: default;
  position: relative !important;
  object-fit: contain;
}

.fullscreen-transition {
  display: none !important;
}

.list-item .flickity-carousel {
  position: relative;
  display: table;
}

body nav {
  -webkit-transition: opacity 0.25s;
  -moz-transition: opacity 0.25s;
  -ms-transition: opacity 0.25s;
  -o-transition: opacity 0.25s;
  transition: opacity 0.25s;
}
body.fade-out-controls:before,
body.fade-out-controls nav {
  opacity: 0;
}

.cell.clone {
  z-index: 20;
  overflow: hidden;
  background-color: black;
}
.cell.clone img {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.cell.clone .image-description {
  display: none;
}

#detail-info .cell.has-iframe img {
  position: absolute;
  z-index: 0;
  visibility: hidden;
  display: none !important;
}
#detail-info .cell.has-iframe iframe {
  position: absolute;
  z-index: 2;
  height: 100%;
  width: 100%;
}

.clone.has-iframe iframe,
.clone.has-iframe img {
  display: none !important;
}

.img-magnifier-glass {
  position: absolute;
  border: 1px solid #fff;
  cursor: none;
  z-index: 100;
  /*Set the size of the magnifier glass:*/
  width: 300px;
  height: 300px;
}

#immobilien-items-intro a {
  color: inherit;
  position: relative;
  display: inline-block;
  margin-bottom: 0.3em;
  text-decoration: none;
  position: relative;
}
#immobilien-items-intro a:hover {
  text-decoration: none;
}
#immobilien-items-intro a:after {
  content: "";
  position: absolute;
  width: 0%;
  height: 0.05em;
  min-height: 2px;
  left: 50%;
  bottom: 0.1em;
  background: black;
  -webkit-transform: translate(-50%, 0);
  -moz-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  -o-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
#immobilien-items-intro a:hover:after {
  width: 100%;
}

.sub-menu.gewerbe {
  left: auto;
  right: 0;
}

body.page-template-gewerbe {
  background: #A9A9B5;
}
body.page-template-gewerbe .content .left {
  background: #2D3255;
  overflow: hidden;
}
body.page-template-gewerbe .content .right {
  height: 100%;
  margin-top: 7rem;
  overflow: auto;
}
body.page-template-gewerbe .content .right .inner {
  padding-right: 8em;
  padding-bottom: 2rem;
}
@media (max-width: 768px) {
  body.page-template-gewerbe .content .right {
    -webkit-transition: opacity 0.3s;
    -moz-transition: opacity 0.3s;
    -ms-transition: opacity 0.3s;
    -o-transition: opacity 0.3s;
    transition: opacity 0.3s;
    display: flex;
    flex-direction: column;
    padding-top: 0;
    margin-top: 0;
  }
  body.page-template-gewerbe .content .right .inner {
    margin-right: 1.5em;
    padding-right: 0em;
  }
}
body.page-template-gewerbe .content .right:before {
  content: "";
  position: fixed;
  z-index: 10;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 10em;
  width: calc(50%);
  background-size: 1px 100%;
  background-repeat: repeat-x;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  pointer-events: none;
}
@media (max-width: 768px) {
  body.page-template-gewerbe .content .right:before {
    width: calc(100%);
    display: none;
  }
}
body.page-template-gewerbe .content .right:before {
  left: auto;
  background-image: linear-gradient(to bottom, rgba(169, 169, 181, 0), #a9a9b5);
}
body.page-template-gewerbe .content .right.at-bottom:before {
  -webkit-transform: translate(0, 101%);
  -moz-transform: translate(0, 101%);
  -ms-transform: translate(0, 101%);
  -o-transform: translate(0, 101%);
  transform: translate(0, 101%);
}
@media (max-width: 768px) {
  body.page-template-gewerbe .content.lage .left {
    display: none;
  }
}
body.page-template-gewerbe .content.lage .right {
  margin-top: 7em;
}
@media (max-width: 768px) {
  body.page-template-gewerbe .content.lage .right {
    margin-top: 0em;
  }
  body.page-template-gewerbe .content.lage .right .inner {
    padding-top: 0em;
    padding-bottom: 0em;
  }
}
body.page-template-gewerbe .content.lage #content-block-images {
  position: absolute;
  z-index: 10;
  height: 100%;
  width: 100%;
}
body.page-template-gewerbe .content.lage #content-block-images .slide {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  opacity: 0;
  background: #2D3255;
  -webkit-transition: opacity 0.5s;
  -moz-transition: opacity 0.5s;
  -ms-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
body.page-template-gewerbe .content.lage #content-block-images .slide img {
  height: 100%;
  width: 100%;
  object-fit: contain;
  -webkit-transition: opacity 1s;
  -moz-transition: opacity 1s;
  -ms-transition: opacity 1s;
  -o-transition: opacity 1s;
  transition: opacity 1s;
  opacity: 0;
}
body.page-template-gewerbe .content.lage #content-block-images .slide img.loaded {
  opacity: 1;
}
body.page-template-gewerbe .content.lage #content-block-images .slide.map-overlay {
  background: transparent;
}
body.page-template-gewerbe .content.lage #content-block-images .slide.map-overlay img {
  object-fit: cover;
}
body.page-template-gewerbe .content.lage #content-block-images .slide.current {
  opacity: 1;
}
body.page-template-gewerbe .content.lage #content-block-images .slide.top-index {
  z-index: 10;
}
body.page-template-gewerbe .content.lage #content-block-images .slide.has-caption {
  background: #2D3255;
}
body.page-template-gewerbe .content.lage #content-block-images .slide.has-caption img {
  position: relative;
  height: auto;
}
body.page-template-gewerbe .content.lage #content-block-images .slide.has-caption .caption {
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  margin-bottom: 0;
}
body.page-template-gewerbe .content.lage #google-map-lage-container {
  position: absolute;
  height: 100%;
  width: 100%;
  z-index: 5;
  -webkit-transition: 1s;
  -moz-transition: 1s;
  -ms-transition: 1s;
  -o-transition: 1s;
  transition: 1s;
}
body.page-template-gewerbe .content.lage #google-map-lage-container.hidden {
  opacity: 0;
  visibility: hidden;
}
body.page-template-gewerbe .content.lage #google-map-lage-container-mobile {
  background: rgba(255, 255, 255, 0.2);
  position: relative;
  -webkit-transition: opacity 1s;
  -moz-transition: opacity 1s;
  -ms-transition: opacity 1s;
  -o-transition: opacity 1s;
  transition: opacity 1s;
  opacity: 1;
}
body.page-template-gewerbe .content.lage #google-map-lage-container-mobile.hidden {
  opacity: 0;
  visibility: hidden;
}
body.page-template-gewerbe .content.lage #google-map-lage-container-mobile img {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  object-fit: cover;
  z-index: 2;
  opacity: 0;
  -webkit-transition: opacity 1s;
  -moz-transition: opacity 1s;
  -ms-transition: opacity 1s;
  -o-transition: opacity 1s;
  transition: opacity 1s;
}
body.page-template-gewerbe .content.lage #google-map-lage-container-mobile img.loaded {
  opacity: 1;
}
body.page-template-gewerbe .content.lage .visible-mobile {
  display: none;
  width: 100%;
  height: auto;
  position: relative;
  margin-bottom: 2em;
}
@media (max-width: 768px) {
  body.page-template-gewerbe .content.lage .visible-mobile {
    display: block;
  }
}
body.page-template-gewerbe .content.lage .mobile-image-container {
  position: relative;
  background: rgba(255, 255, 255, 0.2);
  cursor: pointer;
}
body.page-template-gewerbe .content.lage .mobile-image-container img {
  width: 100%;
  display: block;
  height: calc(( 100vw - 3em ) * 0.78533);
  opacity: 0;
  -webkit-transition: 0.4s;
  -moz-transition: 0.4s;
  -ms-transition: 0.4s;
  -o-transition: 0.4s;
  transition: 0.4s;
}
body.page-template-gewerbe .content.lage .mobile-image-container img.loaded {
  opacity: 1;
  height: auto;
}
body.page-template-gewerbe .content.lage .mobile-image-container:after {
  content: "";
  width: 40px;
  height: 40px;
  background-image: url("img/enlarge.png");
  background-size: contain;
  background-color: rgba(0, 0, 0, 0.3);
  position: absolute;
  bottom: 0;
  right: 0;
}
body.page-template-gewerbe .content.lage #google-map-lage,
body.page-template-gewerbe .content.lage #google-map-lage-mobile {
  position: absolute;
  height: 100%;
  width: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
body.page-template-gewerbe .content.lage #google-map-lage-mobile {
  position: relative;
  padding-top: 66.66%;
  margin-bottom: 2em;
}
body.page-template-gewerbe .content.lage .intro-text p,
body.page-template-gewerbe .content.lage .content-blocks .accordion p,
body.page-template-gewerbe .content.lage .content-blocks h1 span.list-style {
  font-family: "Rubik", sans-serif;
  line-height: 1.5;
  margin-bottom: 3em;
  letter-spacing: 0.095em;
  font-size: 1rem;
  font-family: "Rubik", sans-serif;
  font-size: 18px;
  letter-spacing: 0.095em;
  text-transform: none;
  color: black;
}
@media (max-width: 1440px) {
  body.page-template-gewerbe .content.lage .intro-text p,
body.page-template-gewerbe .content.lage .content-blocks .accordion p,
body.page-template-gewerbe .content.lage .content-blocks h1 span.list-style {
    font-size: 16px;
  }
}
@media (max-width: 992px) {
  body.page-template-gewerbe .content.lage .intro-text p,
body.page-template-gewerbe .content.lage .content-blocks .accordion p,
body.page-template-gewerbe .content.lage .content-blocks h1 span.list-style {
    font-size: 15px;
  }
}
body.page-template-gewerbe .content.lage .intro-text p a,
body.page-template-gewerbe .content.lage .content-blocks .accordion p a,
body.page-template-gewerbe .content.lage .content-blocks h1 span.list-style a {
  color: inherit;
  text-decoration: none;
  text-decoration: none;
  position: relative;
  display: inline-block;
}
body.page-template-gewerbe .content.lage .intro-text p a:hover,
body.page-template-gewerbe .content.lage .content-blocks .accordion p a:hover,
body.page-template-gewerbe .content.lage .content-blocks h1 span.list-style a:hover {
  text-decoration: none;
}
body.page-template-gewerbe .content.lage .intro-text p a:after,
body.page-template-gewerbe .content.lage .content-blocks .accordion p a:after,
body.page-template-gewerbe .content.lage .content-blocks h1 span.list-style a:after {
  content: "";
  position: absolute;
  width: 0%;
  height: 0.05em;
  min-height: 2px;
  left: 50%;
  bottom: 0.1em;
  background: black;
  -webkit-transform: translate(-50%, 0);
  -moz-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  -o-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
body.page-template-gewerbe .content.lage .intro-text p a:hover:after,
body.page-template-gewerbe .content.lage .content-blocks .accordion p a:hover:after,
body.page-template-gewerbe .content.lage .content-blocks h1 span.list-style a:hover:after {
  width: 100%;
}
body.page-template-gewerbe .content.lage .intro-text:last-child p {
  margin-bottom: 0;
}
body.page-template-gewerbe .content.lage .content-blocks h1 {
  color: black;
  margin-bottom: 0.8em;
  display: flex;
  align-items: baseline;
  cursor: pointer;
  line-height: 1.2;
}
body.page-template-gewerbe .content.lage .content-blocks h1:hover span.headline {
  text-decoration: underline;
}
body.page-template-gewerbe .content.lage .content-blocks h1 span.list-style {
  width: 2.5rem;
  flex-basis: 2.5rem;
  margin-bottom: 0;
}
body.page-template-gewerbe .content.lage .content-blocks h1 span.headline {
  max-width: calc(100% - 2.5rem);
}
body.page-template-gewerbe .content.lage .accordion {
  overflow: hidden;
  height: 0;
}
body.page-template-gewerbe .content.lage .accordion .accordion-inner {
  padding-bottom: 3rem;
}
body.page-template-gewerbe .content.lage .accordion .accordion-inner p:last-child {
  margin-bottom: 0;
}
body.page-template-gewerbe .content.lage .accordion:last-child .accordion-inner {
  padding-bottom: 0;
}
body.page-template-gewerbe .content.lage .accordion.open {
  height: auto;
}
body.page-template-gewerbe .content.vision #slide-navigation {
  position: absolute;
  width: calc(50% + 1px);
  top: 7rem;
  right: 0rem;
  z-index: 5;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  border-bottom: 2px solid white;
  background-color: #A9A9B5;
}
body.page-template-gewerbe .content.vision #slide-navigation #slide-navigation-inner {
  padding-left: 1em;
  padding-right: 4em;
  padding-top: 0.9em;
  padding-bottom: 0.9em;
  border-left: 2px solid white;
}
body.page-template-gewerbe .content.vision #slide-navigation button.nav-point {
  padding: 0.5rem 1rem;
  font-family: "Rubik", sans-serif;
  font-size: 11px;
  letter-spacing: 0.215em;
  text-transform: uppercase;
  letter-spacing: 0.215em;
  text-transform: uppercase;
  position: relative;
  cursor: pointer;
}
body.page-template-gewerbe .content.vision #slide-navigation button.nav-point:before {
  content: "";
  height: 50%;
  width: 1px;
  background: black;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -moz-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  -o-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
body.page-template-gewerbe .content.vision #slide-navigation button.nav-point:last-child:before {
  display: none;
}
body.page-template-gewerbe .content.vision #slide-navigation button.nav-point:after {
  content: "";
  position: absolute;
  width: 0%;
  height: 0.05em;
  min-height: 1px;
  left: 50%;
  bottom: 0.1em;
  background: black;
  -webkit-transform: translate(-50%, 0);
  -moz-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  -o-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
body.page-template-gewerbe .content.vision #slide-navigation button.nav-point:hover {
  text-decoration: none;
}
body.page-template-gewerbe .content.vision #slide-navigation button.nav-point:hover:after {
  width: calc(100% - 2rem);
}
body.page-template-gewerbe .content.vision #slide-navigation button.nav-point.current:after {
  width: calc(100% - 2rem);
}
body.page-template-gewerbe .content.vision #slide-navigation .spacer {
  width: 1px;
  height: 1em;
  background: black;
}
@media (max-width: 768px) {
  body.page-template-gewerbe .content.vision #slide-navigation {
    width: calc(100%);
    left: 0em;
    top: 0rem;
    position: relative;
  }
  body.page-template-gewerbe .content.vision #slide-navigation #slide-navigation-inner {
    border-left: 0;
  }
}
body.page-template-gewerbe .content.vision #slides {
  position: absolute;
  height: 100%;
  width: 100%;
}
@media (max-width: 768px) {
  body.page-template-gewerbe .content.vision #slides {
    position: relative;
  }
}
body.page-template-gewerbe .content.vision #slides .slide {
  position: absolute;
  top: 0;
  width: 100%;
  -webkit-transition: opacity 0.8s;
  -moz-transition: opacity 0.8s;
  -ms-transition: opacity 0.8s;
  -o-transition: opacity 0.8s;
  transition: opacity 0.8s;
  height: 100%;
  opacity: 0;
  overflow: hidden;
}
@media (max-width: 768px) {
  body.page-template-gewerbe .content.vision #slides .slide p:last-child {
    margin-bottom: 0;
  }
}
body.page-template-gewerbe .content.vision #slides .slide:after {
  position: fixed;
  content: "";
  height: 100%;
  width: 100%;
}
@media (max-height: 650px) {
  body.page-template-gewerbe .content.vision #slides .slide .text-content.large {
    top: 4rem;
    left: 1rem;
  }
}
body.page-template-gewerbe .content.vision #slides .slide.current {
  opacity: 1;
  z-index: 3;
  overflow: visible;
}
@media (max-width: 768px) {
  body.page-template-gewerbe .content.vision #slides .slide.current {
    position: relative;
    display: flex;
  }
}
body.page-template-gewerbe .content.vision #slides .slide .background-image {
  position: fixed;
  z-index: 0;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
body.page-template-gewerbe .content.vision #slides .slide .background-image img {
  position: absolute;
  top: 0;
  height: 100%;
  width: auto;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.5s;
  -moz-transition: opacity 0.5s;
  -ms-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
body.page-template-gewerbe .content.vision #slides .slide .background-image img.loaded {
  opacity: 1;
  visibility: visible;
}
body.page-template-gewerbe .content.vision #slides .slide .background-image img.full-width {
  width: 100%;
  object-fit: cover;
}
body.page-template-gewerbe .content .text-content {
  position: absolute;
  left: 2rem;
  top: 2rem;
  width: calc(32em);
  max-width: calc(50% - 7rem);
  z-index: 100;
  background: rgba(45, 50, 85, 0.7);
  padding: 1.5rem;
  margin-bottom: 2rem;
  color: white;
  line-height: 1.5;
  letter-spacing: 0.095em;
  font-size: 1.1333em;
}
body.page-template-gewerbe .content .text-content.main {
  opacity: 0;
  -webkit-transition: opacity 1s;
  -moz-transition: opacity 1s;
  -ms-transition: opacity 1s;
  -o-transition: opacity 1s;
  transition: opacity 1s;
}
body.page-template-gewerbe .content .text-content.main.visible {
  opacity: 1;
}
@media (max-width: 768px) {
  body.page-template-gewerbe .content .text-content {
    position: relative;
    max-width: calc(100vw - 11rem);
    top: 0;
    left: 0;
    margin-left: 2rem;
    margin-top: 5rem;
    margin-bottom: 5rem;
  }
  body.page-template-gewerbe .content .text-content.main {
    margin-top: 10rem;
  }
}
@media (max-width: 420px) {
  body.page-template-gewerbe .content .text-content.main {
    display: none;
  }
}
@media (max-width: 360px) {
  body.page-template-gewerbe .content .text-content {
    margin-top: 7.5rem;
  }
}
body.page-template-gewerbe .content .text-content p {
  font-family: "Rubik", sans-serif;
}
body.page-template-gewerbe .content .text-content a.download-link, body.page-template-gewerbe .content .text-content.headline {
  font-size: 3rem;
  color: white;
  line-height: 1.2;
  font-family: "Crimson Text", serif;
  letter-spacing: -0.001em;
  text-decoration: none;
  font-family: "Crimson Text", serif;
  text-transform: none;
  letter-spacing: -0.01em;
  line-height: 1.2;
  font-size: 52px;
}
@media (max-width: 1440px) {
  body.page-template-gewerbe .content .text-content a.download-link, body.page-template-gewerbe .content .text-content.headline {
    font-size: 35px;
  }
}
@media (max-width: 768px) {
  body.page-template-gewerbe .content .text-content a.download-link, body.page-template-gewerbe .content .text-content.headline {
    font-size: 32px;
  }
}
@media (max-width: 560px) {
  body.page-template-gewerbe .content .text-content a.download-link, body.page-template-gewerbe .content .text-content.headline {
    font-size: 30px;
  }
}
@media (max-width: 500px) {
  body.page-template-gewerbe .content .text-content a.download-link, body.page-template-gewerbe .content .text-content.headline {
    font-size: 28px;
  }
}
@media (max-width: 360px) {
  body.page-template-gewerbe .content .text-content a.download-link, body.page-template-gewerbe .content .text-content.headline {
    font-size: 24px;
  }
}
@media (max-width: 1200px) {
  body.page-template-gewerbe .content .text-content a.download-link, body.page-template-gewerbe .content .text-content.headline {
    font-size: 2.5em;
  }
}
@media (max-width: 992px) {
  body.page-template-gewerbe .content .text-content a.download-link, body.page-template-gewerbe .content .text-content.headline {
    font-size: 2em;
  }
}
@media (max-width: 768px) {
  body.page-template-gewerbe .content .text-content a.download-link, body.page-template-gewerbe .content .text-content.headline {
    font-size: 3em;
  }
}
@media (max-width: 500px) {
  body.page-template-gewerbe .content .text-content a.download-link, body.page-template-gewerbe .content .text-content.headline {
    font-size: 2.5em;
  }
}
@media (max-width: 420px) {
  body.page-template-gewerbe .content .text-content a.download-link, body.page-template-gewerbe .content .text-content.headline {
    font-size: 2em;
  }
}
body.page-template-gewerbe .content .text-content a.download-link {
  cursor: pointer;
  display: table;
  margin-bottom: 0.3em;
}
body.page-template-gewerbe .content .text-content a.download-link:hover {
  text-decoration: underline;
}
body.page-template-gewerbe .content .text-content a.download-link:last-child {
  margin-bottom: 0;
}
body.page-template-gewerbe .content .text-content.headline {
  width: calc(50% - 5rem);
  max-width: 12em;
  top: 12.5rem;
  left: calc(50% + 1rem);
  padding: 0;
  color: black;
  background: none;
}
@media (max-width: 768px) {
  body.page-template-gewerbe .content .text-content.headline {
    width: calc(100% - 5rem);
    top: 0;
    left: auto;
  }
}
body.page-template-gewerbe .content .text-content.headline p {
  font-family: "Crimson Text", serif;
}

body.page-template-gewerbe.is-fullscreen {
  overflow: hidden;
}
body.page-template-gewerbe.is-fullscreen #close-fullscreen {
  z-index: 10000;
}
body.page-template-gewerbe .clone {
  z-index: 1000;
  background: black;
  position: fixed;
}
body.page-template-gewerbe .clone img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

body.page-template-kontakt {
  overflow: hidden;
}
@media (max-width: 768px) {
  body.page-template-kontakt {
    overflow: auto;
  }
  body.page-template-kontakt .sub-menu.kontakt {
    height: 50px;
  }
  body.page-template-kontakt .sub-menu.kontakt .menu-point {
    height: 100%;
  }
  body.page-template-kontakt .sub-menu.kontakt .large button.inner {
    border-bottom: none;
  }
}
@media (max-width: 768px) {
  body.page-template-kontakt .content.main {
    position: relative;
    min-height: calc(100vh - 50px);
  }
}
body.page-template-kontakt #map {
  position: fixed !important;
  top: 0;
  left: 0;
  height: 100vh;
  width: 50%;
  background: rgba(255, 255, 255, 0.2);
}
@media (max-width: 768px) {
  body.page-template-kontakt #map {
    top: auto;
    position: relative !important;
    height: 80vw;
    width: 100%;
  }
}
body.page-template-kontakt .left {
  background: rgba(255, 255, 255, 0.2);
}
body.page-template-kontakt .left img {
  display: block;
  width: 100%;
}
body.page-template-kontakt .thanks .left {
  background: #4d4d4d;
}
body.page-template-kontakt .right {
  width: calc(50% - 0em);
  position: relative;
  overflow: auto;
  margin-top: 7em;
  height: calc(100% - 7em);
  margin-left: auto;
  line-height: 1.25;
  display: flex;
}
@media (max-width: 768px) {
  body.page-template-kontakt .right {
    margin-top: 0;
    min-height: 0;
  }
}
body.page-template-kontakt .right .inner {
  margin: 0;
  padding: 3rem 2em 3em;
}
@media (max-width: 768px) {
  body.page-template-kontakt .right .inner {
    padding-top: 0;
  }
}
body.page-template-kontakt .right .inner .inner-content {
  min-height: calc(100vh - 6rem - 7rem);
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
@media (max-width: 768px) {
  body.page-template-kontakt .right .inner .inner-content {
    min-height: calc(100vh - 50px - 7rem - 80vw );
  }
}
body.page-template-kontakt .right .arrival-description {
  margin-bottom: 4rem;
}
body.page-template-kontakt .right .description {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
body.page-template-kontakt .right .description .spacer {
  flex-grow: 1;
}
body.page-template-kontakt .right .description .general {
  margin-bottom: 5rem;
}
body.page-template-kontakt .right .description .imprint-container h1 {
  font-family: "Rubik", sans-serif;
  font-size: 18px;
  letter-spacing: 0.095em;
  text-transform: none;
  text-transform: uppercase;
  margin-bottom: 1em;
}
@media (max-width: 1440px) {
  body.page-template-kontakt .right .description .imprint-container h1 {
    font-size: 16px;
  }
}
@media (max-width: 992px) {
  body.page-template-kontakt .right .description .imprint-container h1 {
    font-size: 15px;
  }
}
body.page-template-kontakt .right .block {
  flex-direction: column;
  display: flex;
  width: 100%;
}
body.page-template-kontakt .right .block.stretch {
  flex-grow: 1;
}
body.page-template-kontakt .right .contact-info {
  color: white;
  font-family: "Crimson Text", serif;
  text-transform: none;
  letter-spacing: -0.01em;
  line-height: 1.2;
  font-size: 52px;
  font-size: 2.8em;
  margin-bottom: 4rem;
}
@media (max-width: 1440px) {
  body.page-template-kontakt .right .contact-info {
    font-size: 35px;
  }
}
@media (max-width: 768px) {
  body.page-template-kontakt .right .contact-info {
    font-size: 32px;
  }
}
@media (max-width: 560px) {
  body.page-template-kontakt .right .contact-info {
    font-size: 30px;
  }
}
@media (max-width: 500px) {
  body.page-template-kontakt .right .contact-info {
    font-size: 28px;
  }
}
@media (max-width: 360px) {
  body.page-template-kontakt .right .contact-info {
    font-size: 24px;
  }
}
@media (min-width: 560px) and (max-width: 640px), (max-width: 900px) and (min-width: 769px) {
  body.page-template-kontakt .right .contact-info {
    font-size: 2.5em;
  }
}
body.page-template-kontakt .right .contact-info .write {
  display: table;
}
@media (min-width: 560px) and (max-width: 768px), (min-width: 1441px) {
  body.page-template-kontakt .right .block {
    flex-direction: row;
    display: flex;
  }
  body.page-template-kontakt .right .inner {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
  }
  body.page-template-kontakt .right .arrival-description,
body.page-template-kontakt .right .description {
    width: calc(50% - 0rem);
  }
  body.page-template-kontakt .right .contact-info {
    width: auto;
    margin-top: -0.2em;
  }
  body.page-template-kontakt .right .contact-info.second {
    order: 10;
    width: 50%;
  }
}
body.page-template-kontakt .arrival-description,
body.page-template-kontakt .description p,
body.page-template-kontakt #privacy-container p,
body.page-template-kontakt .thanks p {
  line-height: 1.5;
  font-family: "Rubik", sans-serif;
  font-size: 18px;
  letter-spacing: 0.095em;
  text-transform: none;
}
@media (max-width: 1440px) {
  body.page-template-kontakt .arrival-description,
body.page-template-kontakt .description p,
body.page-template-kontakt #privacy-container p,
body.page-template-kontakt .thanks p {
    font-size: 16px;
  }
}
@media (max-width: 992px) {
  body.page-template-kontakt .arrival-description,
body.page-template-kontakt .description p,
body.page-template-kontakt #privacy-container p,
body.page-template-kontakt .thanks p {
    font-size: 15px;
  }
}
body.page-template-kontakt .arrival-description a, body.page-template-kontakt .arrival-description button,
body.page-template-kontakt .description p a,
body.page-template-kontakt .description p button,
body.page-template-kontakt #privacy-container p a,
body.page-template-kontakt #privacy-container p button,
body.page-template-kontakt .thanks p a,
body.page-template-kontakt .thanks p button {
  position: relative;
  cursor: pointer;
}
body.page-template-kontakt .arrival-description a:after, body.page-template-kontakt .arrival-description button:after,
body.page-template-kontakt .description p a:after,
body.page-template-kontakt .description p button:after,
body.page-template-kontakt #privacy-container p a:after,
body.page-template-kontakt #privacy-container p button:after,
body.page-template-kontakt .thanks p a:after,
body.page-template-kontakt .thanks p button:after {
  content: "";
  height: 1px;
  width: 0%;
  background: white;
  position: absolute;
  left: 50%;
  bottom: -0.1em;
  -webkit-transform: translate(-50%, 0);
  -moz-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  -o-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
body.page-template-kontakt .arrival-description a:hover, body.page-template-kontakt .arrival-description button:hover,
body.page-template-kontakt .description p a:hover,
body.page-template-kontakt .description p button:hover,
body.page-template-kontakt #privacy-container p a:hover,
body.page-template-kontakt #privacy-container p button:hover,
body.page-template-kontakt .thanks p a:hover,
body.page-template-kontakt .thanks p button:hover {
  text-decoration: none;
}
body.page-template-kontakt .arrival-description a:hover:after, body.page-template-kontakt .arrival-description button:hover:after,
body.page-template-kontakt .description p a:hover:after,
body.page-template-kontakt .description p button:hover:after,
body.page-template-kontakt #privacy-container p a:hover:after,
body.page-template-kontakt #privacy-container p button:hover:after,
body.page-template-kontakt .thanks p a:hover:after,
body.page-template-kontakt .thanks p button:hover:after {
  width: 100%;
}
body.page-template-kontakt .arrival-description a.no-transition:after, body.page-template-kontakt .arrival-description button.no-transition:after,
body.page-template-kontakt .description p a.no-transition:after,
body.page-template-kontakt .description p button.no-transition:after,
body.page-template-kontakt #privacy-container p a.no-transition:after,
body.page-template-kontakt #privacy-container p button.no-transition:after,
body.page-template-kontakt .thanks p a.no-transition:after,
body.page-template-kontakt .thanks p button.no-transition:after {
  width: 100%;
}
body.page-template-kontakt .arrival-description.imprint,
body.page-template-kontakt .description p.imprint,
body.page-template-kontakt #privacy-container p.imprint,
body.page-template-kontakt .thanks p.imprint {
  margin-top: 4rem;
}
body.page-template-kontakt .arrival-description.imprint button,
body.page-template-kontakt .description p.imprint button,
body.page-template-kontakt #privacy-container p.imprint button,
body.page-template-kontakt .thanks p.imprint button {
  text-transform: uppercase;
  letter-spacing: 0.095em;
}
body.page-template-kontakt #privacy-container p,
body.page-template-kontakt #privacy-container ul {
  max-width: calc(100% - 7.5rem);
}
@media (max-width: 992px) {
  body.page-template-kontakt #privacy-container p,
body.page-template-kontakt #privacy-container ul {
    max-width: calc(100% - 6.5rem);
  }
}
@media (max-width: 500px) {
  body.page-template-kontakt #privacy-container p,
body.page-template-kontakt #privacy-container ul {
    max-width: calc(100%);
  }
}
@media (max-width: 768px) {
  body.page-template-kontakt .content {
    flex-direction: column;
  }
  body.page-template-kontakt .left {
    flex-grow: 1;
    order: 2;
  }
  body.page-template-kontakt .right {
    display: block;
    width: calc(100% - 2px);
    padding-left: 0;
    padding-right: 0;
  }
  body.page-template-kontakt .right .inner {
    margin-top: 4em;
  }
  body.page-template-kontakt .left, body.page-template-kontakt .right {
    position: relative;
  }
}
@media (max-width: 500px) {
  body.page-template-kontakt .right .logo-content {
    display: none;
    position: relative;
    right: auto;
    bottom: auto;
    margin-bottom: 4em;
  }
}

body.page-template-kontakt .right {
  flex-direction: column;
}
body.page-template-kontakt .right .inner {
  flex-wrap: nowrap;
}
@media (max-width: 768px) {
  body.page-template-kontakt .right {
    margin-left: 0;
  }
}

#thanks h1,
#privacy h1,
#privacy-container h1 {
  margin-top: 4em;
  margin-bottom: 1.2em;
  font-size: 1rem;
  letter-spacing: 0.215em;
  font-family: "Rubik", sans-serif;
  font-size: 18px;
  letter-spacing: 0.095em;
  text-transform: none;
  text-transform: uppercase;
}
@media (max-width: 1440px) {
  #thanks h1,
#privacy h1,
#privacy-container h1 {
    font-size: 16px;
  }
}
@media (max-width: 992px) {
  #thanks h1,
#privacy h1,
#privacy-container h1 {
    font-size: 15px;
  }
}
@media (min-width: 769px) {
  #thanks h1:first-child,
#privacy h1:first-child,
#privacy-container h1:first-child {
    margin-top: 0;
  }
}
#thanks b,
#privacy b,
#privacy-container b {
  text-transform: uppercase;
  letter-spacing: 0.215em;
}
#thanks a,
#privacy a,
#privacy-container a {
  word-wrap: break-word;
  overflow-wrap: break-word;
}
#thanks a:after,
#privacy a:after,
#privacy-container a:after {
  width: 100% !important;
}
#thanks ul,
#privacy ul,
#privacy-container ul {
  margin-bottom: 2em;
}
#thanks ul li,
#privacy ul li,
#privacy-container ul li {
  margin-bottom: 1em;
  line-height: 1.5;
  padding-left: 0.8em;
  position: relative;
}
#thanks ul li:before,
#privacy ul li:before,
#privacy-container ul li:before {
  content: "•";
  position: absolute;
  left: -0.2em;
}

#privacy,
#privacy-container {
  display: none;
  padding: 2em;
}
#privacy p, #privacy p span, #privacy ul, #privacy ul li,
#privacy-container p,
#privacy-container p span,
#privacy-container ul,
#privacy-container ul li {
  margin-bottom: 1.2em;
  font-size: 11px;
  letter-spacing: 0.095em;
}
@media (max-width: 768px) {
  #privacy,
#privacy-container {
    margin-left: 0;
    order: 3;
  }
}
@media (max-width: 500px) {
  #privacy,
#privacy-container {
    padding-bottom: 10em;
  }
}
#privacy.visible,
#privacy-container.visible {
  display: block;
  height: auto;
  min-height: 100vh;
}

.cc-container {
  position: fixed;
  z-index: 99999;
  bottom: 0;
  right: 0;
  left: 0;
  max-width: 100%;
  flex-grow: 1;
  opacity: 1;
  display: flex;
  justify-content: flex-start;
  justify-content: space-between;
  flex-basis: content;
  align-items: center;
  flex-wrap: nowrap;
  padding: 1em 1.5em;
  background: white;
  letter-spacing: 0.05em;
  line-height: 1.4em;
  box-sizing: border-box;
  -webkit-transition: opacity 1s ease;
  -moz-transition: opacity 1s ease;
  -ms-transition: opacity 1s ease;
  -o-transition: opacity 1s ease;
  transition: opacity 1s ease;
  overflow: hidden;
}
@media (max-width: 768px) {
  .cc-container {
    flex-direction: column;
  }
  .cc-container span {
    font-size: 1rem;
  }
  .cc-container .cc-message {
    margin-bottom: 2em;
  }
  .cc-container .cc-btn {
    font-size: 1.1rem;
  }
}
.cc-container.cc-invisible {
  opacity: 0;
}
.cc-container .cc-message {
  width: 100%;
}
.cc-container .cc-message a {
  text-decoration: underline;
}
.cc-container a {
  color: black;
  text-decoration: underline;
}
.cc-container a.cc-btn {
  display: table;
  white-space: pre;
  margin-left: 2em;
  text-decoration: none;
  padding: 0.3em 1em 0.35em;
  cursor: pointer;
  color: black;
  background: black;
  color: white;
}

footer {
  position: fixed;
  left: 0;
  bottom: 0;
  height: 3rem;
  z-index: 9999;
  width: calc(50vw - 1px);
  display: flex;
  align-items: center;
  border-top: 2px solid white;
  border-right: 2px solid white;
  -webkit-transition: 0.4s;
  -moz-transition: 0.4s;
  -ms-transition: 0.4s;
  -o-transition: 0.4s;
  transition: 0.4s;
  -webkit-transform: translate(0, 55px);
  -moz-transform: translate(0, 55px);
  -ms-transform: translate(0, 55px);
  -o-transform: translate(0, 55px);
  transform: translate(0, 55px);
  opacity: 0;
}
@media (max-width: 768px) {
  footer {
    width: 100%;
  }
}
footer button {
  font-size: 1em;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  width: calc( 50%);
  text-align: left;
  padding: 0 1em;
  height: 100%;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.4);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  color: white;
}
@media (max-width: 768px) {
  footer button {
    text-align: center;
  }
}
@supports not ((-webkit-backdrop-filter: blur(6px)) or (backdrop-filter: blur(6px))) {
  footer button {
    background: rgba(0, 0, 0, 0.5);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  footer button:hover {
    background: rgba(0, 0, 0, 0.8);
  }
}
footer button:hover {
  background: rgba(0, 0, 0, 0.7);
}
footer button:first-child {
  border-right: 1px solid white;
}
footer button:last-child {
  border-left: 1px solid white;
}

body.navigation-open footer {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}

/*# sourceMappingURL=styles.css.map */
