@charset "UTF-8";

/* ------ Reset ------ */

a,body,div,fieldset,form,h1,h2,h3,h4,h5,h6,html,iframe,img,label,legend,li,object,ol,p,small,span,strong,table,tbody,td,tfoot,th,thead,tr,ul{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:0 0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ol,ul{list-style:none}:focus{outline:0}table{border-collapse:collapse;border-spacing:0}

/* ------ Fonts ------ */

@font-face {
  font-family: 'Lato';
  src: local('Lato-Light'),
      url('../fonts/Lato-Light.woff2') format('woff2'),
      url('../fonts/Lato-Light.woff') format('woff');
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'Lato';
  src: local('Lato Regular'), local('Lato-Regular'),
      url('../fonts/Lato-Regular.woff2') format('woff2'),
      url('../fonts/Lato-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Lato';
  src: local('Lato Bold'), local('Lato-Bold'),
      url('../fonts/Lato-Bold.woff2') format('woff2'),
      url('../fonts/Lato-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
}

/* ------ Global ------ */

html {
  height: 100%;
  overflow-y: scroll;
}

body {
  font-family: 'Lato', sans-serif;
  font-size: 15px;
  font-weight: 400;
  height: 100%;
  line-height: 1;
  min-width: 320px;
  opacity: 0;
  transition: opacity .2s;
  width: 100%;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.loaded body {
	opacity: 1;
	transition: opacity .2s;
}

a {
  text-decoration: none;
}

.outer {
  box-sizing: border-box;
  min-height: 100%;
  width: 100%
}

.main {
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
  width: 100%
}

.main:after {
  clear: both;
  content: '';
  display: block
}

strong {
  font-weight: 600;
}

/* ------ Header ------ */

/* Top */

.top {
  background: #1e2022;
  font-size: 11px;
  font-weight: 700;
  height: 36px;
  letter-spacing: 1px;
  line-height: 36px;
  position: relative;
  width: 100%;
}

.top-nav {
  left: 60px;
  position: absolute;
}

.top-nav li {
  display: inline-block;
  margin: 0 10px 0 0;
}

.top-nav a {
  color: #d3bd83;
}

.top-info {
  color: #fff;
  position: absolute;
  right: 60px;
}

/* Logo & Navigation */

.header-inner {
  background: #fff;
  height: 120px;
  position: relative;
  transition: height .2s;
  width: 100%;
}

.header-logo,
.header-navigation {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.header-logo {
  left: 60px;
}

.header-logo img {
  max-height: 100px;
  transition: max-height .2s;
}

.header-navigation {
  right: 60px;
  z-index: 10000;
}

.header-navigation .navigation-item {
  display: inline-block;
  margin: 0 0 0 10px;
}

.header-navigation a {
  color: #000;
  font-weight: 300;
  text-transform: uppercase;
  transition: color .2s;
}

.header-navigation .navigation-item-active a,
.header-navigation a:hover {
  color: #b69e59;
}

#toggle-menu {
  display: none;
}

.mobile-menu {
  cursor: pointer;
  display: none;
  height: 30px;
  margin: auto;
  position: absolute;
  right: 60px;
  top: 50%;
  transform: translateY(-50%);  
  width: 30px;
  z-index: 2;

  -webkit-tap-highlight-color: transparent;
}

.mobile-menu span,
.mobile-menu span:before,
.mobile-menu span:after {
  background: #000;
  display: block;
  height: 4px;
  transition: background-color .2s;
  width: 30px;
}

.mobile-menu:hover span,
.mobile-menu:hover span:before,
.mobile-menu:hover span:after {
  background: #b69e59;
}

.mobile-menu span {
  bottom: 0;
  margin: auto;
  position: absolute;
  top: 0;
  transition-property: none;
}

.mobile-menu span:before,
.mobile-menu span:after {
  content: '';
  position: absolute;
  transform-origin: 50%;
}

.mobile-menu span:before {
  top: -8px;
}

.mobile-menu span:after {
  bottom: -8px;
}

#toggle-menu:checked + .header-inner > .mobile-menu > span {
  background: none;
}

#toggle-menu:checked + .header-inner > .mobile-menu > span:before {
  transform: rotate(-45deg);
  top: 0;
}

#toggle-menu:checked + .header-inner > .mobile-menu > span:after {
  transform: rotate(45deg);
  bottom: 0;
}

#toggle-menu:checked + .header-inner > .header-navigation {
  display: block;
}

/* Slideshow */

.slideshow {
  background: #ccc;
  box-shadow: inset 0 5px 5px -5px rgba(0, 0, 0 , .3), inset 0 -5px 5px -5px rgba(0, 0, 0 , .3);
  overflow: hidden;
  position: relative;
}

.slideshow:after {
  background: url(../img/bg-slidershow.svg) no-repeat;
  background-size: cover;
  bottom: 0;
  content: '';
  display: block;
  height: 60px;
  left: 0;
  margin: auto;
  max-width: 700px;
  position: absolute;
  right: 0;
}

.slideshow,
.slideshow img {
  height: 800px;
  transition: height .2s;
  width: 100%;
}

.slideshow-slide {
  display: none;
}

.slideshow img {
  object-fit: cover;
  position: absolute;
}

/* ------ Content ------ */

.section-content {
  margin: 0 auto;
  max-width: 1140px;
  padding: 60px 20px 100px 20px;
  overflow: hidden;
  position: relative;
  text-align: center;
  transition: all .2s;
}

.section-content h1 {
  font-size: 44px;
  font-weight: 300;
  letter-spacing: 3px;
  line-height: 42px;
  margin: 0 0 30px 0;
}

.section-content h1:after {
  background: #b69e59;
  content: '';
  display: block;
  height: 1px;
  margin: 20px auto 40px auto;
  position: relative;
  min-width: 0;
  width: 100px;
}

.section-content h2 {
  font-size: 20px;
  font-weight: 400;
  line-height: 26px;
}

/* Über uns */

.ueber-uns h2 {
  margin: 60px 0 20px 0;
}

.ueber-uns p {
  font-size: 20px;
  font-weight: 300;
  line-height: 26px;
  margin: 0 0 20px 0;
}

/* Preise */

.preise h2 {
  font-weight: 600;
  margin: 0 0 10px 0;
  text-align: left;
  text-transform: uppercase;
}

.preise table {
  border-top: 1px solid #ededed;
  line-height: 150%;
  margin: 0 auto 40px auto;
  text-transform: uppercase;
  width: 100%;
}

.preise table tr {
  border-bottom: solid 1px #ededed;
}

.preise table td {
  font-weight: 400;
  padding-bottom: 10px;
  padding-top: 10px;
  text-align: left;
  vertical-align: top;
}

.preise table td.preise-titel {
  width: 40%;
}

.preise table td.preise-name {
  padding-right: 10px;
  width: 40%;
}

.preise table td.preise-preis {
  font-weight: 600;
  text-align: right;
  width: 20%;
  white-space: nowrap;
}

.preise table td[colspan="3"] {
  height: 20px;
}

.preise p {
  font-weight: 300;
  line-height: 26px;
  margin: 0 0 20px 0;
}

/* Unser Team */

.unser-team {
  box-shadow: inset 0 5px 5px -5px rgba(0, 0, 0 , .3), inset 0 -5px 5px -5px rgba(0, 0, 0 , .3);
  background: #f5f4f0;
}

.container-team {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin: 50px 0 0 0;
}

.team-member {
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0 , .1);
  cursor: pointer;
  flex: 1 1 200px;
  margin: 1%;
  position: relative;
}

.member-image {
  display: block;
  line-height: 0;
  overflow: hidden;
  width: 100%;
}

.member-image img {
  transform: scale(1);
  transition: all 1s;
  width: 100%;
}

.team-member:hover img {
  transform: scale(1.1);
}

.member-info {
  background-color: rgba(255, 255, 255, 1);
  bottom: 0;
  font-size: 20px;
  font-weight: 300;
  left: 0;
  line-height: 26px;
  margin: 0;
  padding: 20px 10px;
  position: absolute;
  right: 0;
  transition: all .2s;
}

/* Galerie */

.container-galerie,
#instafeed {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

.container-galerie:after,
#instafeed:after {
  display: inline-block;
  content: '';
  width: 32%;
}

.galerie-item,
#instafeed a {
  line-height: 0;
  margin: 0 0 2% 0;
  overflow: hidden;
  position: relative;
  width: 32%;
}

.galerie-item img,
#instafeed img {
  width: 100%;
}

/* Datenschutz & Impressum */

.datenschutz p,
.impressum p,
.datenschutz ul,
.impressum ul {
  font-weight: 300;
  line-height: 26px;
  margin: 0 0 20px 0;
}

.datenschutz h2,
.impressum h2 {
  margin: 50px 0 20px 0;
}

.datenschutz h3 {
  font-size: 16px;
  font-weight: 400;
  line-height: 26px;
}

.datenschutz a,
.impressum a {
  color: #000;
  text-decoration: none;
  transition: color .2s;
}

.datenschutz a:hover,
.impressum a:hover {
  color: #b69e59;
}

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

.footer {
  background: #222;
  box-shadow: 0 5px 5px 5px rgba(0, 0, 0 , .3);
  width: 100%
}

.footer-map {
  height: 375px;
  overflow: hidden;
  position: relative;
  transition: height .2s;  
}

.googlemaps-placeholder {
  height: 100%;
  object-fit: cover;
  position: absolute;
  width: 100%;
}

.googlemaps-activate {
  background: #222;
  box-shadow:  0 0 4px 0 rgba(0, 0, 0, 0.75);
  color: #fff;
  left: 50%;
  line-height: 150%;
  padding: 15px;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

.googlemaps-activate a {
  color: #fff;
  text-decoration: underline;
  transition: color .2s;
}

.googlemaps-activate a:hover {
  color: #b69e59;
}

.button-activate {
  background: #b69e59;
  cursor: pointer;
  display: inline-block;
  line-height: 30px;
  margin: 10px auto 0 auto;
  padding: 0 5px;

  user-select: none;
  -webkit-user-select: none;
}

.footer-map iframe {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.cookies-accepted .googlemaps-placeholder,
.cookies-accepted .googlemaps-activate {
  display: none;
}

.cookies-accepted iframe {
  display: block;
}

.footer-inner {
  box-sizing: border-box;
  color: #fff;
  display: flex;
  font-size: 20px;
  font-weight: 300;
  justify-content: space-between;
  line-height: 26px;
  margin: 0 auto;
  max-width: 1140px;
  overflow: hidden;
  padding: 50px 20px;
  position: relative;
}

.footer-box:first-child,
.footer-box:last-child {
  width: 25%;
}

.footer-box:nth-child(2) {
  width: 50%;
}

.footer-termin {
  font-size: 30px;
  text-align: center;
}

.footer-termin p {
  line-height: 130%;
  white-space: nowrap;
}

.footer-menu {
  text-align: right;
}

.footer-inner h3 {
  font-weight: 300;
  line-height: 40px;
  margin: 0 0 15px 0;
}

.footer-inner a {
  color: #fff;
  transition: color .2s;
}

.footer-inner a:hover {
  color: #b69e59;
}

a.footer-instagram {
  background: #fff;
  color: transparent;
  display: inline-block;
  font-size: 0;
  line-height: 0;
  margin: 20px 0 0 0;
  transition: background-color .2s;
  width: 50px;
}

a.footer-instagram:hover {
  background: #b69e59;
}

.footer-instagram img {
  width: 100%;
}

/* ------ Scroll to top ------ */

.scroll-top {
  background: none;
  border-left: 1px solid #b69e59;
  border-top: 1px solid #b69e59;
  bottom: 10px;
  cursor: pointer;
  height: 20px;
  position: fixed;
  right: 20px;
  transform: rotate(45deg);
  width: 20px;
  z-index: 10000;

  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;

  -webkit-tap-highlight-color: transparent;

}

/* ------ Media Queries ------ */

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

  .footer-map {
    height: 300px;
  }

}

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

  .top-nav,
  .header-logo {
    left: 15px;
  }

  .top-info,
  .header-navigation,
  .mobile-menu {
    right: 15px;
  }

  .slideshow,
  .slideshow img {
    height: 400px;
  } 

  .member-info {
    font-size: 18px;
    line-height: 22px;
    padding: 10px;
  }

  .footer-map {
    height: 250px;
  }

  .footer-inner {
    font-size: 18px;
  }

  .footer-termin {
    font-size: 26px;
  }

}

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

  .top-nav {
    display: none;
  }

  .header-navigation {
    background: #ffffff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 2px 2px rgba(0, 0, 0, 0.15), 0 4px 4px rgba(0, 0, 0, 0.15), 0 8px 8px rgba(0, 0, 0, 0.15), 0 16px 16px rgba(0, 0, 0, 0.15);
    display: none;
    font-size: 18px;
    line-height: 150%;
    padding: 10px;
    top: 80px;
    transform: none;
  }

  .mobile-menu {
    display: block;
  }

  .header-navigation .navigation-item {
    display: block;
    margin: 0;    
    text-align: right;
  }

  .slideshow,
  .slideshow img {
    height: 300px;
  } 

  .slideshow:after {
    height: 40px;
    max-width: 500px;
  }

  .section-content {
    padding: 40px 20px;
  }

  .section-content h1 {
    font-size: 34px;
  }

  #datenschutz h1 {
    font-size: 22px;
  }

  .section-content h1:after {
    margin: 10px auto 20px auto;
  }

  /* .team-member {
    margin: 0 0 4% 0;
    width: 48%;
  } */

  .footer-inner {
    display: block;
    padding: 20px;
    justify-content: inherit;
  }

  .footer-box:first-child,
  .footer-box:last-child,
  .footer-box:nth-child(2) {
    text-align: center;
    width: 100%;
  }

  .footer-termin {
    padding: 30px 0;
  }

  .footer-inner h3 {
    margin: 0;
  }

}

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

  .top {
    display: none;
  }

  .galerie-item,
  #instafeed a {
    margin: 0 0 4% 0;
    width: 48%;
  }

  .googlemaps-activate {
    left: 20%;
    padding: 5px;
    right: 20%;
    top: 20%;
    transform: none;
  }

}

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

  .slideshow,
  .slideshow img {
    height: 200px;
  }

  .slideshow:after {
    height: 20px;
    max-width: 300px;
  }

  .preise table {
    border-top: 0;
  }

  .preise table td {
    padding: 5px 0;
  }

  .preise table td.preise-titel {    
    background: #fff;
    display: block;
    font-weight: 600;
    width: 100%;
  }

  .preise table td.preise-leer {
    display: none;
  }

  .preise table td[colspan="3"] {
    height: 24px;
  }

  .preise table td.preise-name {    
    box-sizing: border-box;
    float: left;
    width: 50%;
  }

  .preise table td.preise-preis {
    box-sizing: border-box;
    display: inline-block;
    width: 50%;
    white-space: nowrap;
  }

}

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

  .header-inner {
    height: 80px;
  }

  .header-logo img {
    max-height: 60px;
  }

  .header-navigation {
    top: 60px;
  }

  .team-member,
  .galerie-item,
  #instafeed a {
    margin: 0 0 6% 0;
    width: 100%;
  }

  .googlemaps-activate {
    left: 10%;
    right: 10%;
    top: 10%;
  }


}

/* --- simpleLightbox - https://github.com/dbrekalo/simpleLightbox --- */

.slbOverlay,.slbWrapOuter,.slbWrap{position:fixed;top:0;right:0;bottom:0;left:0}.slbOverlay{overflow:hidden;z-index:2000;background-color:#000;opacity:0.7;-webkit-animation:slbOverlay 0.5s;-moz-animation:slbOverlay 0.5s;animation:slbOverlay 0.5s}.slbWrapOuter{overflow-x:hidden;overflow-y:auto;z-index:2010}.slbWrap{position:absolute;text-align:center}.slbWrap:before{content:"";display:inline-block;height:100%;vertical-align:middle}.slbContentOuter{position:relative;display:inline-block;vertical-align:middle;margin:0px auto;padding:0 1em;box-sizing:border-box;z-index:2020;text-align:left;max-width:100%}.slbContentEl .slbContentOuter{padding:5em 1em}.slbContent{position:relative}.slbContentEl .slbContent{-webkit-animation:slbEnter 0.3s;-moz-animation:slbEnter 0.3s;animation:slbEnter 0.3s;background-color:#fff;box-shadow:0 0.2em 1em rgba(0,0,0,0.4)}.slbImageWrap{-webkit-animation:slbEnter 0.3s;-moz-animation:slbEnter 0.3s;animation:slbEnter 0.3s;position:relative}.slbImageWrap:after{content:"";position:absolute;left:0;right:0;top:5em;bottom:5em;display:block;z-index:-1;box-shadow:0 0.2em 1em rgba(0,0,0,0.6);background-color:#FFF}.slbDirectionNext .slbImageWrap{-webkit-animation:slbEnterNext 0.4s;-moz-animation:slbEnterNext 0.4s;animation:slbEnterNext 0.4s}.slbDirectionPrev .slbImageWrap{-webkit-animation:slbEnterPrev 0.4s;-moz-animation:slbEnterPrev 0.4s;animation:slbEnterPrev 0.4s}.slbImage{width:auto;max-width:100%;height:auto;display:block;line-height:0;box-sizing:border-box;padding:5em 0;margin:0 auto}.slbCaption{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;font-size:1.4em;position:absolute;left:0;right:0;bottom:0;padding:.71429em 0;color:#fff;color:rgba(255,255,255,0.7);text-align:center}.slbCloseBtn,.slbArrow{margin:0;padding:0;border:0;cursor:pointer;background:none}.slbCloseBtn::-moz-focus-inner,.slbArrow::-moz-focus-inner{padding:0;border:0}.slbCloseBtn:hover,.slbArrow:hover{opacity:0.5}.slbCloseBtn:active,.slbArrow:active{opacity:0.8}.slbCloseBtn{-webkit-animation:slbEnter 0.3s;-moz-animation:slbEnter 0.3s;animation:slbEnter 0.3s;font-size:3em;width:1.66667em;height:1.66667em;line-height:1.66667em;position:absolute;right:-.33333em;top:0;color:#fff;color:rgba(255,255,255,0.7);text-align:center}.slbLoading .slbCloseBtn{display:none}.slbLoadingText{font-size:1.4em;color:#fff;color:rgba(255,255,255,0.9)}.slbArrows{position:fixed;top:50%;left:0;right:0}.slbLoading .slbArrows{display:none}.slbArrow{position:absolute;top:50%;margin-top:-5em;width:5em;height:10em;opacity:0.7;text-indent:-999em;overflow:hidden}.slbArrow:before{content:"";position:absolute;top:50%;left:50%;margin:-.8em 0 0 -.8em;border:.8em solid transparent}.slbArrow.next{right:0}.slbArrow.next:before{border-left-color:#fff}.slbArrow.prev{left:0}.slbArrow.prev:before{border-right-color:#fff}.slbIframeCont{width:80em;height:0;overflow:hidden;padding-top:56.25%;margin:5em 0}.slbIframe{position:absolute;top:0;left:0;width:100%;height:100%;box-shadow:0 0.2em 1em rgba(0,0,0,0.6);background:#000}@-webkit-keyframes slbOverlay{from{opacity:0}to{opacity:0.7}}@-moz-keyframes slbOverlay{from{opacity:0}to{opacity:0.7}}@keyframes slbOverlay{from{opacity:0}to{opacity:0.7}}@-webkit-keyframes slbEnter{from{opacity:0;-webkit-transform:translate3d(0, -1em, 0)}to{opacity:1;-webkit-transform:translate3d(0, 0, 0)}}@-moz-keyframes slbEnter{from{opacity:0;-moz-transform:translate3d(0, -1em, 0)}to{opacity:1;-moz-transform:translate3d(0, 0, 0)}}@keyframes slbEnter{from{opacity:0;-webkit-transform:translate3d(0, -1em, 0);-moz-transform:translate3d(0, -1em, 0);-ms-transform:translate3d(0, -1em, 0);-o-transform:translate3d(0, -1em, 0);transform:translate3d(0, -1em, 0)}to{opacity:1;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}}@-webkit-keyframes slbEnterNext{from{opacity:0;-webkit-transform:translate3d(4em, 0, 0)}to{opacity:1;-webkit-transform:translate3d(0, 0, 0)}}@-moz-keyframes slbEnterNext{from{opacity:0;-moz-transform:translate3d(4em, 0, 0)}to{opacity:1;-moz-transform:translate3d(0, 0, 0)}}@keyframes slbEnterNext{from{opacity:0;-webkit-transform:translate3d(4em, 0, 0);-moz-transform:translate3d(4em, 0, 0);-ms-transform:translate3d(4em, 0, 0);-o-transform:translate3d(4em, 0, 0);transform:translate3d(4em, 0, 0)}to{opacity:1;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}}@-webkit-keyframes slbEnterPrev{from{opacity:0;-webkit-transform:translate3d(-4em, 0, 0)}to{opacity:1;-webkit-transform:translate3d(0, 0, 0)}}@-moz-keyframes slbEnterPrev{from{opacity:0;-moz-transform:translate3d(-4em, 0, 0)}to{opacity:1;-moz-transform:translate3d(0, 0, 0)}}@keyframes slbEnterPrev{from{opacity:0;-webkit-transform:translate3d(-4em, 0, 0);-moz-transform:translate3d(-4em, 0, 0);-ms-transform:translate3d(-4em, 0, 0);-o-transform:translate3d(-4em, 0, 0);transform:translate3d(-4em, 0, 0)}to{opacity:1;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}}

/* --- CMS --- */

.cms .header-navigation {
  pointer-events: none;
}

.cms .team-member {
  cursor: default;
}

.cms .galerie-item {
  left: auto !important;
  top: auto !important;
}