body:after{
  content:"";
  position:fixed;
  left:0;
  right:0;
  top:0;
  bottom:0;
  z-index:-99;
  background:url('../img/bg.jpg') repeat;
}

/*-----------------------------------------------------------------------------< Wrapper >---*/

#wrapper{
  width:100%;
  max-width:1000px;
  margin:0 auto;
}

#main{
  margin:0 15px;
  padding:3vw 5vw;
  background-color:#fff;
}

/*-----------------------------------------------------------------------------< Header >---*/

#Logo{
  display: block;
  width:50vw;
  height:50vw;
  max-width:300px;
  max-height:300px;
  margin:0 auto;
  padding:5vh 0;
  background: url('../img/logo.png') no-repeat center;
  background-size: contain;
}

body.offset header{
  background-color:#fff;
  position:fixed;
  top:-100px;
  height:50px;
  left:0;
  right:0;
  box-shadow:0 -2px 10px 0 #000;
  border-bottom:1px solid #50536d;
  transition:top .2s;
  z-index:1;
}

body.offset.fixed header{
  top:0;
}

body.offset header > .inside{
  position:relative;
  width:100%;
  height:100%;
  max-width:970px;
  margin:0 auto;
}

body.offset #Logo{
  position:absolute;
  left:0;
  top:0;
  width:175px;
  margin:0;
  padding:0;
  height:100%;
  background-size:160px;
  background-position: 15px -52px;
}


/*-----------------------------------------------------------------------------< Menü >---*/

#mainNav ul,
#secNav ul{
  display:flex;
  justify-content:space-between;
}

#secNav ul{
  justify-content: center;
}

@media screen and (min-width:925px){
  body.offset #mainNav{
    position: absolute;
    right:-15px;
    top:0;
    left:175px;
    font-size:.8em;
  }
}

body.offset #mainNav ul{
  justify-content: flex-end;
}

.mod_navigation a,
.mod_navigation strong{
  color:inherit;
  text-decoration:none;
  font-weight:normal;
  padding:1em;
  display: block;
}

body:not(.offset):not(.open) nav#mainNav ul,
nav#secNav ul{
  background-color:#50536d;
  color:#fff;
}

body:not(.offset):not(.open) nav#mainNav ul a,
nav#secNav ul a{
  transition:text-shadow .2s;
}

body:not(.offset):not(.open) nav#mainNav ul a:hover,
body:not(.offset):not(.open) nav#mainNav ul a:focus,
nav#secNav ul a:hover,
nav#secNav ul a:focus{
  text-decoration:none;
  text-shadow: 5px 6px 9px #000;
}

body:not(.offset) nav#mainNav ul,
nav#secNav ul{
  margin:15px;
}

body:not(.offset) nav#mainNav a:hover,
body:not(.offset) nav#mainNav a:focus,
nav#secNav a:hover,
nav#secNav a:focus{
  text-decoration:underline;
}

.mod_navigation strong{
  font-family: 'Montserrat Bold';
}
.mod_navigation a{
  font-family: 'Montserrat Regular';
}

body:not(.offset) .mod_navigation  strong,
nav#secNav strong{
  background-color:#fff;
  color:#50536d;
}

@media screen and (max-width:575px){
  #secNav ul{
    flex-direction: column;
    text-align: center;
    margin:3em 0;
  }
}

/*-----------------------------------------------------------------------------< BurgerButton >---*/

.hamburger-inner, .hamburger-inner:after, .hamburger-inner:before{
  background-color:#50536d;
}

button#Burger{
  display:none;
  padding:0;
}

@media screen and (max-width:924px){
  button#Burger{
    position:relative;
    display:block;
    z-index:9;
    margin:0 auto;
    padding-bottom:5vh;
  }
  body.offset:not(.open) button#Burger{
    padding:0;
    position:absolute;
    right:15px;
    top:13px;
  }
  #mainNav{
    background-color:rgba(255,255,255,.9);
    position:fixed;
    top:50%;
    bottom:50%;
    left:0;
    right:0;
    overflow:hidden;
    transition:top .2s, bottom .2s;
    z-index:8;
  }
  #mainNav::before{
    content:"";
    display: block;
    width:50vw;
    height:50vw;
    max-width:300px;
    max-height:300px;
    margin:5vh auto;
    background: url('../img/logo.png') no-repeat center;
    background-size: contain;
  }
  #mainNav ul{
    flex-direction: column;
    text-align: center;
    margin-top:5vh;
    background-color:#fff;
  }
  #mainNav ul li{
    border-bottom:1px solid #e3e3ea;
  }
  #mainNav ul li:first-child{
    border-top:1px solid #e3e3ea;
  }
  body.open #mainNav{
    top:0;
    bottom:0;
  }
  body.open #Logo{}
  body.open #Burger{
    position:fixed;
    left:50%;
    margin-left:-20px;
    bottom:0;
    margin-bottom:0;
  }

}

/*-----------------------------------------------------------------------------< Slider >---*/

#Slider{
  margin:0 15px 20px;
  box-shadow:0px 40px 30px -40px #000;
}

#Slider ul{
  margin:0;
}

/*-----------------------------------------------------------------------------< Bilder >---*/

.image_container.float_left,
.image_container.float_right{
  margin-bottom:1.875rem;
}

.image_container.float_right{
  float:right;
  margin-left:1.875rem;
}

.image_container.float_left{
  float:left;
  margin-right:1.875rem;
}

.ce_gallery ul.masonry{
  list-style-type: none;
  margin:0 0 1em 0;
}

.ce_gallery > ul.masonry .image_container{
  padding:0 5px 5px 0;
}

/*-----------------------------------------------------------------------------< allg. Elemente >---*/

main .mod_article{
  margin-bottom:2em;
}

main .mod_article > div{
  margin-bottom:2em;
}

main .ce_text p{
  hyphens: auto;
}

main .mod_article ul{
  list-style-type:disc;
  margin-left: 1.1em;
}

table{
  width:100%;
}

table tr:nth-child(odd){
  background-color:#cfd0dc;
}

table td{
  padding:.2em;
}

table td:not(:first-child){
  border-left:1px dotted #50536d;
}

.ce_dlh_googlemaps{
  margin-left:-5vw;
  margin-right:-5vw;
}
a.btn {
	background-color: #50536d;
	display: inline-block;
    color: #fff;
    transition: text-shadow .2s;
    padding: .8em 1em;
    text-decoration: none;
    font-family: 'Montserrat Regular';
}
a.btn:hover {
	text-shadow: 5px 6px 9px #000;
}