@font-face {
  font-family: 'icomoon';
  src:  url('../fonts/icomoon.eot?ghhzqw');
  src:  url('../fonts/icomoon.eot?ghhzqw#iefix') format('embedded-opentype'),
    url('../fonts/icomoon.ttf?ghhzqw') format('truetype'),
    url('../fonts/icomoon.woff?ghhzqw') format('woff'),
    url('../fonts/icomoon.svg?ghhzqw#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-angle-left:before {
  content: "\f104";
}
.icon-angle-right:before {
  content: "\f105";
}



html {
    box-sizing: border-box;
    height: 100%;
}

body {
    height: 100%;
    padding:0;
    margin:0;
}

*, *::before, *::after {
    box-sizing: inherit;
}

img {
    max-width: 100%;
}

.clearfix {
    clear: both;
}

body {
    color: #796a62;
    color: #817766;
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    font-size: 1em;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
}

.desktop {
    display: none;
}
.hide {
    display: none;
}

h1, h2, h3, h4, h5, h6 {
    font-size: 1.333em;
    margin: 0 0 0.65em;
    clear: both;
    color: #4e4837;
    color: #233183;
}

h1 + h2 {
    padding-bottom: 15px;
}

a {
    text-decoration: none;
}

main.main-text p a:hover ,
footer a:hover {
    color:#141335;
}

/* mobile */



.desktop {
    display: none;
} 

header .mobile-nav {
    height: 60px;
}
header .mobile-nav .opening-times p {
    color:white;
    display: block;
    position: absolute;
    left: 15px;
    top: 20px;
    margin:0;
}

.opening-times a {
    color: #4e4837;    
}

header .mobile-nav #phone-icon {
    display: block;
    position: absolute;
    right: 60px;
    top: 17px;
    width: 30px;
    height: 30px;
    cursor: pointer;
}
header .mobile-nav #phone-icon a {
    color: #4e4837;
}
header .mobile-nav #phone-icon a i {
    font-size: 30px;
}

header .mobile-nav #nav-icon {
    background: none;
    border: 0;
    display: block;
    position: absolute;
    right: 15px;
    top: 20px;
    width: 30px;
    height: 30px;
    cursor: pointer;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    -webkit-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
}
header .mobile-nav #nav-icon span:nth-child(1) {
    top: 0;
}
header .mobile-nav #nav-icon span:nth-child(2) {
    top: 10px;
}
header .mobile-nav #nav-icon span:nth-child(3) {
    top: 20px;
}
header .mobile-nav #nav-icon span {
    display: block;
    position: absolute;
    height: 3px;
    width: 100%;
    background: #4e4837;
    border-radius: 7px;
    opacity: 1;
    left: 0;
    -webkit-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
}
header .mobile-nav #nav-icon.open span:nth-child(3) {
    top: 10px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
header .mobile-nav #nav-icon.open span:nth-child(2) {
    display: none;
}
header .mobile-nav #nav-icon.open span:nth-child(1) {
    top: 10px;
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
}
header nav.show-mobile {
    display: block;
}
/* /mobile */


header {
    background:#fff;
    height: 60px;
    margin: 0;
    padding: 0;
    width: 100%;
}

header .logo {
    height: 40px;
    margin: 10px;
}

header nav ul {
    background:#4e4837;
    display: inline-block;
    height: initial;
    list-style-type: none;
    margin: 0;
    padding: 0;
    position: relative;
    width: auto;
    width: 100%;
}

header nav ul li a {
    font-size:18px;
    color:white;
}   
@media (min-width: 768px) {
    header nav ul li {
        padding: 16px;
        padding-left:8px;
        padding-right:8px;
        position: relative;
    } 
    header nav ul li a {
        font-size:16px;
    }      
}
@media (min-width: 820px) {
    header nav ul li a {
        font-size:18px;
    } 
}
@media (min-width: 920px) {
    header nav ul li {
        padding: 16px;
    }
}
header nav ul li.active a {
    font-weight:700;
}

header nav ul li ul {
    display: inline-block;
    position: relative;
    width: 100%;
}
header nav ul li:hover ul {
    display: inline-block;
}
header nav ul li ul li {
    float:none;
    height: 36px;
    padding:10px;
    text-align: left;
}
header nav ul li ul li a{
    margin-left: 10px;    
}

header nav.show-mobile ul li {
    padding: 0;
}
header nav.show-mobile ul li a {
    display: inline-block;
    padding: 17px;
    width: calc(100% - 20px);
    padding-top:8px;
    height: 36px;
}

main.main-logo {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: block;
}

.index main.main-logo {
        height: 150px;
}

@media (min-width: 768px) {
    main.main-logo {
        height: 150px;
    }
}

main .logo-spacer{
    background: rgba(255,255,255,0.75);
    padding: 15px;
    color:#4e4837;
    border-bottom: 3px solid #fff;
    text-align: left;
    height: 150px;
    display: none;
}

.content main .logo-spacer{
    background: -webkit-linear-gradient(rgba(255,255,255,0.1) 0%, rgba(121,106,98,0.4) 100%);
    background: -o-linear-gradient(rgba(255,255,255,0.1) 0%, rgba(121,106,98,0.4) 100%);
    background: linear-gradient(rgba(255,255,255,0.1) 0%, rgba(121,106,98,0.4) 100%);
}

.content main .logo-spacer{
    border-bottom: 3px solid #4e4837;
}

main .logo-spacer a {
    display: inline-block;
}
main .logo-spacer .logo {
    display: block;
    margin: auto;
    max-width: 300px;
    max-height: 100px;
    margin-top: 14px;
}
main .logo-spacer .opening-times {
    text-align: center;
    margin:0;
    font-weight: 700;
}
main .text-headerbild {
    height: 100%;
    background: linear-gradient(to bottom, rgba(55,55,55,0.8) 0%,rgba(55,55,55,0.2) 40%);
    display: table;
    width: 100%;
}
main .text-headerbild h1 {
    color: white;
    padding: 15px;
    margin:0;
    max-width: 1230px;
    text-align: center;
    
    display: table-cell;
    vertical-align: middle;
    
    font-size: 40px;
}

@media (min-width: 768px) {
    main .text-headerbild {
        height: calc(100% - 150px);
    }
}
    
main.main-text {
    text-align: left;
    padding: 15px;    
    padding-top: 30px;
    height: auto;
    background: white;
}

main.main-text h1 {
    font-size: 36px;
    line-height: 40px;
    margin-bottom: 10px;
}
main.main-text h2 {
    font-size: 22px;
    line-height: 22px;
    font-weight: 700;
    margin-bottom: 10px;
}
main.main-text .likeH1 {
    font-size: 36px;
    line-height: 40px;
    margin-bottom: 10px;
}

main.main-text h2+p {
    margin-top: 0;
}
main.main-text h3 {
    font-size: 20px;
    line-height: 32px;
    font-weight: 700;
    margin-bottom: 0;
}

main.main-text h3+p {
    margin-top: 0;
}
main.main-text p {
    font-size: 22px;
    line-height: 32px;
}
main.main-text ul {
    margin: 0;
    padding-left: 25px;
    margin-bottom: 30px;
}

main.main-text .td {
 font-size: 22px;
 line-height: 32px;
 padding-right: 10px;
}
 
main.main-text .right {
 text-align: right;
}

main.main-text ul li {
    font-size: 22px;
    line-height: 32px;
}
main.main-text .box ul {
    margin: 0;
}
main.main-text .box ul li {
    font-size: 20px;
    line-height: 24px;
}
    
main.main-text p a {
    color: #4e4837;
    text-decoration: underline;
}
main.main-text hr {
    border:0;
    border-top:1px solid #4e4837;
    height: 0;
    padding: 0;
    margin: 0;
    margin-top:25px;
    margin-bottom:25px;
}

main.main-text-form h2,
main.main-map h2 {
}

main.main-text-form input,
main.main-text-form textarea {
    width: 100%;
    background: rgba(217, 217, 217, 1);
    border: 0;
    margin-bottom: 10px;
    height: 30px;
    font-size: 14px;
    padding: 5px;
    padding-left: 10px;
}

main.main-text-form textarea {
    height: 200px;
}
main.main-text-form input[type="submit"]{
    color:white;
    background: #4e4837;
    text-transform: uppercase;
}
main.main-text-form input[type="submit"]:hover{
    background: #141335;
}
::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    text-transform: uppercase;
}
::-moz-placeholder { /* Firefox 19+ */
    text-transform: uppercase;
}
:-ms-input-placeholder { /* IE 10+ */
    text-transform: uppercase;
}
:-moz-placeholder { /* Firefox 18- */
    text-transform: uppercase;
}

main.main-map iframe {
    border:0;
    width: 100%;
    min-height: 400px;
} 



main p {
    line-height: 20px;
}

main p.adresse {
    font-size: 14px;
}


    

.slider {
    padding: 15px;
    text-align: center;
}

.slider .slide p {
    font-size: 20px;
    line-height: 24px;
}







.galerie button {
  z-index: 102;
}
.galerie-slider {
  position: relative;
}
.galerie .slick-slide {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: 0.3s ease-in-out all;
  transition: 0.3s ease-in-out all;
}
.galerie .slick-slide.slick-center {
  opacity: 1;
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
    z-index: 10000;
    position: relative;

}
.galerie .slick-slide.slick-center img  {
    border: 15px solid white;                    
    box-shadow: 0 0 10px #d6d1cd;
}

.galerie .galerie-slider {
  margin: 0 auto;
  position: relative;
}

.galerie .galerie-slider:after {
  right: 0;
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, #ffffff 100%);
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, #ffffff 100%);
}
.galerie .galerie-slider:before {
  background: -webkit-linear-gradient(left, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(to right, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
}
.galerie .img-box {
  padding: 0;
}
.galerie .img-box img {
  width: 100%;
}
.galerie-slider .img-box {
  float: left;
  margin: 0 20px;
}

.galerie-slider .slick-prev {
    background: white;
    left: -35px;
    z-index: 100;   
}
.galerie-slider .slick-next {
    background: white;
    right: -35px;
    z-index: 100;
}
.galerie .galerie-slider.slick-dotted.slick-slider {
    margin-bottom: 30px;
}

.slick-dots {
    left: 0;
}
.slick-dots li button:before {
    font-size: 60px;
}


footer {
    background: #cdc9c2;
    padding: 15px;
    color: #333;
    font-size: 14px;
    font-weight: 700;
    line-height: 24px;
    margin-top: 60px;    
}

footer .footerwrapper {
    border: 0;
}

footer .footerwrapper img {
    margin-top:5px;
    margin-right:15px;
}

footer .email {
    text-transform: lowercase;
}
footer a {
    color: #4e4837;
}
footer p a {
    text-decoration: underline;
}



footer .partnerlink-ruegel,
footer .partnerlink-seehotel,
footer .partnerlink-roteleu {
    display: block;    
}

footer .partnerlink-seehotel img,
footer .partnerlink-roteleu img{
    margin-top:20px;    
}

footer div {
    margin: 15px;
    padding: 5px;
    padding-left: 10px;
    padding-bottom: 20px;
}



@media (min-width: 768px) {
    .mobile {
        display: none;
    }
    .desktop {
        display: block;
    }    
    header nav.hide {
        display: block;
        height: 50px;
    }
    header {
        text-align: center;
        background:#4e4837;
        height: 50px;
    }

    header nav ul {
        margin: 0;
        width: auto;
    }
    header nav ul li {
        float: left;
        height: 50px;
    }

    header nav ul li a:hover {
        border-bottom: 1px solid #fff;
    }

    header nav ul li ul {
        display: none;
        position: absolute;
        left: 0;
        top: 50px;
        width: 100%;
    }
    
    main .logo-spacer {
        height: 150px;
        display: block;
    }  
    
    
    main .logo-spacer .opening-times {
        text-align: right;
        position: absolute;
        right:15px;
        top:95px;
        font-size: 15px;
    }    
    
    @media (min-width: 1000px) {
        main .logo-spacer .opening-times {
            right: calc((100% - 970px) / 2);
        }
    }

    .table {
        margin-top: 15px;
        display: table;   
        clear: both;
        width: 100%;
    }
    .tr {
        display: table-row;   
        clear: both;
        margin: 0;
        padding: 0;
    }
    .td {
        border-top: 1px solid #333;
        display: table-cell;   
        padding-top: 15px;
        padding-bottom: 15px;
    }    
    .td:first-of-type {
        padding-right: 30px;
        width: 150px;
    }    
    .td:last-of-type {
        text-align: right;
        width: 70px;
    }    
    
    .index main.main-logo {
        height: 360px;
    }
    main.main-logo {
        text-align: center;
        margin-bottom: 50px;
    }
    
    .index main.main-logo {
        height: 800px;
        margin-bottom: 0px;
    }

    main .logo-spacer .logo {
        /* width: 300px; */
        height: 90px;
        left: 15px;
        position: absolute;
    }
    
    @media (min-width: 1000px) {
        main .logo-spacer .logo {
            /* width: 300px; */
            height: 90px;
            left: calc((100% - 970px) / 2);
            position: absolute;
        }

    }
    
    
    main.main-text {
        margin: auto;
        /* max-width: 770px; */
        width: 100%;
    } 
    
    main.main-text-width-aside {
        width: calc(100% / 3 * 2);
        float: left;
        padding-top:30px;
    }
    aside {
        width: calc(100% / 3);
        float: left;
        padding-top:30px;
    }
    
    main .text-headerbild {
        background: linear-gradient(to bottom, rgba(55,55,55,0.8) 0%,rgba(55,55,55,0) 40%);
        display: table;
        width: 100%;
    }    
    main .text-headerbild h1 {
        display: table-cell;
        vertical-align: middle;
        font-size: 80px;
    }
    .index main .text-headerbild h1 {
        padding-top: 45px;      
    }
    
    
    .slick-dotted.slick-slider {
        margin-bottom: 30px;
    }

    .slider {
        padding: 15px;
        text-align: center;
        max-width: 90%;
        margin:auto;
    }    
    @media (min-width: 1000px) {
        .slider {
            max-width: 900px;
        }
    }    
    
    .slider .slick-dots {
        display: none !important;
    }
    
    .slider .slick-next {
        background: white;
        z-index: 100;
    }
    .slider button {
        z-index: 102;
    }
    .slick-prev, .slick-next {
        height: 40px;
        width: 40px;
    }

    .slick-next:before {
        color: #333;
        content: "\f105";
        font-family: "Icomoon";
    }
    .slick-prev:before {
        color: #333;
        content: "\f104";
        font-family: "Icomoon";
    }

    .slick-prev:before, .slick-next:before {
        font-size: 40px;
    }
    .slick-track {
        margin-top: 15px;
        margin-bottom: 15px;
    }

    
    .main-span {
        max-width: 1000px;
        margin: auto;
        clear:both;
    }
    .main-span .main-text-text {
        padding-top:10px;
    }    
    .main-span2 {
        margin-top: 50px;
    }
    
    .main-span2 .main-text {
        width: calc(50% - 0px);
        float: left;
        text-align: left;
    }
    .main-span2 .main-text.main-text-red {
        width: calc(50% - 30px);
        float: left;
        text-align: center;
        
        margin-left: 15px;
        margin-right: 15px;
        padding-top: 15px;
    }
    main.main-text-form textarea {
        height: 280px;
    }
    
    
    
    footer {
        clear: both;
        display: inline-block;
        width: 100%;
    }
    footer .footerwrapper {
        width: 100%;
        max-width: 1000px;
        border: 0;
        margin: auto;
    }
    footer .footerwrapper div {
        float: left;
        width: calc((100% / 3) - 90px);

    }
    
    footer .footerwrapper div:last-of-type {
        padding-right: 0;
        margin-right: 0;
    }    
    footer .footerwrapper div a:last-of-type img{
        padding-right: 0;
        margin-right: 0;
    }

    footer .mapslink {
        float: left;
        margin: 15px;
        padding: 5px;
        margin-right: 0;
        padding-right: 0;
        margin-left: 0;
        padding-left: 0;
    }
    footer .mapslink .fa {
        font-size: 30px;
    }
    

    .galerie .galerie-slider:after,
    .galerie .galerie-slider:before {
      content: "";
      background: #fff;
      position: absolute;
      top: 0;
      height: 100%;
      width: 12%;
      z-index: 100;
    }    
    
}

.tr {
    border-top: 1px solid #333;
}   

.main-galerie-slider {
    overflow: hidden;
    margin-top: 30px;
    margin-bottom: 30px;
}
@media (max-width: 767px) {
    .main-galerie-slider .galerie {
        margin-left: 15px;
        margin-right: 15px;
     
    }
    .main-galerie-slider .img-box img {
       max-height: 70vh;
    }
    @media (min-width: 600px) {
        .main-galerie-slider {
            margin: auto;
            max-width: 530px;
        }
    }
}
@media (min-width: 1000px) {
    .main-galerie-slider {
        max-width: 640px;
     }
}
@media (min-width: 1800px) {
    .main-galerie-slider {
            margin: auto;
            max-width: 1800px;
     }
}


.main-galerie-slider .slick-track {
    margin-top: 0;
}
.main-galerie-slider .galerie-slider .slick-list {
    height: 92px;
}
    




.bottomslider .slide h2 {
    color: #98a244;
}            

.topslider {
    margin-top: -150px;
}

.topslider .slide h2 {
    color:#fff;
    padding:15px;
    position: absolute;
    top: 150px;
    width: 100vw;
}

.topslider .slick-dots li button:before {
    font-family: 'slick';
    font-size: 15px;
    opacity: 1;
    color: #fff;
}
.topslider .slick-dots li.slick-active button:before {
    opacity: 1;
    color: #796a62;
}

.topslider .slick-dots {
    top:450px;
}
.bottomslider .slide {
    text-align: center;    
}

.bottomslider .slide p {
    font-size: 20px;
}
.slick-dots li button:before {
    font-size: 20px;
}

.slider .slick-dots {
    bottom: 10px;
}

main {
    margin:0 auto;
}   

main .main-galerie-slider {
    box-shadow: 0 0 30px #796a62;
    padding:15px;
}

main .galerie {
    width: calc(100% - 60px);
    margin-left:30px;
    display: none;
}
@media (min-width: 768px) {
    main .galerie {
        display: block;
    }
}
main .galerie,
main .galerie .galerie-slider {
    text-align: left;
}
main .boxen3 .box {
    margin-bottom: 30px;
}
main .boxen3 .box img {
    width:100%;
}
main .boxen3 .box img:after {
  content: "";
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
}
main .boxen3 .box h2 {
    font-size: 18px;
    color: #233183;
    margin-bottom: 0;
    
    margin-left:0;
    margin-right:15px;
    padding-bottom: 0;
    line-height: 24px;
    font-weight: 700;
}

main .boxen3 .box span {
    color: #005ca6;
    font-size: 18px;
}

aside {
    padding:15px;    
}

aside .box.box-blau hr,
main .boxen3 .box.box-blau hr {
    border:0;
    border-top:1px solid #fff;
    height: 0;
    padding: 0;
    margin: 0;
}

main .boxen3 .box hr {
    border:0;
    border-top:1px solid #4e4837;
    height: 0;
    padding: 0;
    margin: 0;
    margin-top: 15px;
}



.galerie button {
  z-index: 102;
}
.galerie-slider {
  position: relative;
}
.galerie .slick-slide {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: 0.3s ease-in-out all;
  transition: 0.3s ease-in-out all;
}
.galerie .slick-slide.slick-center {
  opacity: 1;
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
    z-index: 10000;
    position: relative;

}
.galerie .slick-slide.slick-center img  {
    border: 15px solid white;                    
    box-shadow: 0 0 10px #d6d1cd;
}

.galerie .galerie-slider {
  margin: 0 auto;
  position: relative;
}
.galerie .galerie-slider:after,
.galerie .galerie-slider:before {
  content: "";
  background: none;
  position: absolute;
  top: 0;
  height: 100%;
  width: 12%;
  z-index: 100;
}

.galerie .galerie-slider:after {
  right: 0;
}
.galerie .galerie-slider:before {
}

.galerie .img-box {
  padding: 0;
}
.galerie .img-box img {
    width: 100%;
    cursor: pointer;
}
.galerie-slider .img-box {
  float: left;
  margin: 0px 8px;
}

.galerie-slider .slick-prev {
    background: white;
    z-index: 100;
    
}
.galerie-slider .slick-next {
    background: white;
    z-index: 100;
}
.galerie .galerie-slider.slick-dotted.slick-slider {
    margin-bottom: 30px;
}
.galerie .galerie-slider .slick-current img {
    border: 2px solid #3075c2;
}




footer {
    clear: both;
    padding-top: 15px;
}
footer * {
    color: #4e4837 ;
}
footer .footerwrapper {
    margin:0 auto;
    padding:15px;
}
footer .footerwrapper img {
    margin-top: 5px;
    margin-right: 15px;
    width: 100px;
}
footer h3 {

}
footer p {
    line-height: 24px;
}
footer a:hover {
    text-decoration: underline;
}



.bottomslider.slider {
    border:0;
    margin: auto;
    max-width:800px;    
}

.bottomslider.slider .img-box {
    background: #fff;
    padding: 15px;
    position: relative;
    text-align: center;
}

.bottomslider.slider .img-box img {
    border: 15px solid white;
    box-shadow: 0 0 10px #d6d1cd;
    margin: auto;
    padding: 0px;
    width:100%;
}

.bottomslider.slider .img-box p {
    color: #005ca6;
    font-size: 18px;
}


/* TABLET */

@media only screen and (max-width: 899px) and (min-width: 480px) {

    main .boxen3 .box {
        position: relative;
    }
    main .boxen3 .box div {
        position: absolute;
        background: #fff;
        width:80%;
        left:10%;
        right:10%;
        bottom:0;
        padding:15px;
    }
    
    main .boxen3 .box div h3 {
        padding-top: 15px;
        padding-bottom: 10px;

        margin-left: 15px;
        margin-right: 15px;
    }
    main .boxen3 .box div span {
        padding: 15px;
        padding-top: 10px;
        display: inline-block;
    }
    main .boxen3 .box span strong {
        font-size: 30px;

        line-height: 1;
    }
}
.slick-dots li button:before {
    font-size: 60px;
}
main.main-index {
    padding: 15px;
    max-width: 1000px;
}    

/* DESKTOP */

.marker {
    height: 70px;
    transition: box-shadow 0.3s ease-in-out;
}
.marker:hover {
    box-shadow: -5px 5px 5px rgba(0,0,0,0.5);
    transition: box-shadow 0.3s ease-in-out;
}

.marker span {
    color: #ffffff;
    margin:2px;
    text-decoration: none;
    text-align: left;
    padding: 10px;
    display: block;
    font-size: 19px;
    font-weight: 700;   
    line-height: 22px;
}

.mobile.marker  {
    height: 40px;
    margin-bottom: -60px;
    width:100%;
}

.mobile.marker span {
    text-align: center;
    
}

.marker-red {
    background: #b8401b;
    
}
.marker-red:hover {
    background: #fff;
    border:1px solid #b8401b;
    transition: all 0.3s ease-in-out;
}
.marker-red:hover * {
    color: #b8401b;
    transition: all 0.3s ease-in-out;
}

@media (min-width: 768px) {

    .marker {
        height: 70px;
        position: absolute;
        right: 0;
        width:180px;
        transition: box-shadow 0.3s ease-in-out;
    }
    .marker:hover {
        box-shadow: -5px 5px 5px rgba(0,0,0,0.5);
        transition: box-shadow 0.3s ease-in-out;
    }
    
    .marker span {
        color: #ffffff;
        margin:2px;
        text-decoration: none;
        text-align: left;
        padding: 10px;
        display: block;
        font-size: 19px;
        font-weight: 700;   
        line-height: 22px;
    }
    
    .marker-yellow {
        background: #dfb01a;
        top: 275px;
    }
    .marker-yellow:hover {
        background: #fff;
        border:1px solid #dfb01a;
        transition: all 0.3s ease-in-out;
    }
    .marker-yellow:hover * {
        color: #dfb01a;
        transition: all 0.3s ease-in-out;
    }

    .marker-red {
        background: #b8401b;
        top: 375px;
    }
    .marker-red:hover {
        background: #fff;
        border:1px solid #b8401b;
        transition: all 0.3s ease-in-out;
    }
    .marker-red:hover * {
        color: #b8401b;
        transition: all 0.3s ease-in-out;
    }

    .marker-blue {
        background: #4e4837;
        top: 475px;
    }
    .marker-blue:hover {
        background: #fff;
        border:1px solid #4e4837;
        transition: all 0.3s ease-in-out;
    }
    .marker-blue:hover * {
        color: #4e4837;
        transition: all 0.3s ease-in-out;
    }
    
}
    
aside a {
    color: #4e4837;
    text-decoration: underline;
    font-size: 22px;
}    

@media (min-width: 768px) {

    aside .box.box-blau {
        background: #3075c2;
        padding: 15px;
        text-align: center;
    }
    aside .box.box-blau h2 {
        color:#fff;
        padding-top: 15px;
    }
    aside .box.box-blau p {
        color:#fff;
    }
    
}

@media (min-width: 900px) {

    /*
    main {
        display: block;
        margin:0 auto;
        width: calc(100% - 30px);
        max-width:1000px;
        margin-top: 50px;
        margin-bottom: 50px;

        margin-top: 0;
        margin-bottom: 50px;
        z-index: 9;
        position: relative;                    
    }
    */

    .main-index {
        margin-top: -250px;
        display: block;
    }    
    
    main .grid2of3 {
        width: calc((100% / 3 * 2) - 30px);
        float:left;
        margin-right:30px;
    }
    main .grid1of3 {
        width: calc((100% / 3 * 1) - 30px);
        float:right;
        margin-left:30px;
    }                



    .topslider .slide {
        height: 800px;
    }            

    .topslider .slide h2 {
        font-size: 38px;
        margin-left:10vw;
        margin-top:100px;
        padding:0;
        width: 600px;
    }
    .topslider .slick-slide img {
        width: 100%;
    }

    .boxen2 .box {
        margin-bottom: 0;
        width: calc((100% / 2 * 1) - 30px);
        float: left;
        margin-left: 15px;
        margin-right: 15px;
        background: #fff;
        padding-bottom: 15px;
    }
    main .boxen3 .box {
        text-align: center;
        margin-bottom: 0;

        height:330px;
        width: calc((100% / 3 * 1) - 30px);
        float: left;
        margin-left: 15px;
        margin-right: 15px;
        background: #fff;
        box-shadow: 0 0 30px #796a62;
        padding-bottom: 15px;
    }
    main .boxen3 .box {
        padding: 15px;
    }
    main .boxen3 .box.box-blau h2 {
        color:#fff;
    }
    main .boxen3 .box.box-blau {
        background: #3075c2;
    }
    main .boxen3 .box.box-blau p {
        color:#fff;
    }

    .boxen3 .box img {
        padding:15px;
        padding:0;
        margin-bottom:15px;
        height: 180px;
    }                

    main .boxen3 .box h2 {
        margin-bottom: 0.65em;
        margin-left:15px;
        margin-right:15px;
        padding-bottom: 0;
        font-size: 24px;
        line-height: 24px;
        font-weight: 700;
    }
    
    main .boxen3 .box hr {
        border:0;
        border-top:1px solid #4e4837;
        height: 0;
        padding: 0;
        margin: 0;
        margin-left: 15px;
        margin-right: 15px;
    }

    main .boxen3 .box span strong {
        display: block;
        line-height: 1;
        margin-top: -10px;
    }


    main .boxen3 .box a {
        display: block;
        position: relative;
    }
    
    main .boxen3 .box a:before {
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
        margin: auto;
        border: 15px solid white;
        border: 0;
        content:"";
        background: rgba(0,0,0,0.25);
        margin: 0;
        height: 180px;
        transition: background 0.25s ease-in-out;
    }
    
    main .boxen3 .box a:hover:before {
        background: rgba(0,0,0,0);
        transition: background 0.25s ease-in-out;
    }
    



    .bottomslider {
        margin-top: 50px;
        margin-bottom: 50px;
        border-top: 1px solid #4e4837;
        border-bottom: 1px solid #4e4837;
    }
    .bottomslider .slide {
        margin:30px;
        margin-left:100px;
        margin-right:100px;
    }
    .bottomslider .slide p {
        font-size: 22px;
        line-height: 32px;
    }
    
    
    

    .bottomslider .slick-prev {
        background: white;
        left: 0px;
        z-index: 100;
    }
    .bottomslider .slick-next {
        background: white;
        right: 0px;
        z-index: 100;
    }

    .bottomslider.slider .img-box img {
        width:80%;
    }    

    main .galerie  {
        text-align: center;
    }
    main .galerie h2 {
        width: calc(100% / 2);
        margin: auto;
    }
    main .galerie p {
        width: calc(100% / 2);
        margin: auto;
    }                
    .galerie-slider .slick-prev:before,
    .bottomslider .slick-prev:before {
        color: #796a62;
        content: "\f104";
        font-family: "Icomoon";
    }
    .galerie-slider .slick-next:before,
    .bottomslider .slick-next:before {
        color: #796a62;
        content: "\f105";
        font-family: "Icomoon";
    }

    footer {
        /*height: 300px;*/
        padding-top: 10px;
    }
    footer .footerwrapper {
        max-width:1000px;
        padding:0;
        width: calc(90% - 50px);
    }
    footer .grid1of3 {
        float:left;
        margin-left:50px;
        width: calc((100% / 3 * 1) - 50px);
    }
    
    .slick-prev, .slick-next {
        height: 40px;
        width: 40px;
    }
    .slick-prev:before, .slick-next:before {
        font-size: 40px;
    }

}

/*
@media (min-width: 1200px) {
    main .galerie  {
        margin-left: calc((100vw - 1000px) / -2);
        margin-right: calc((100vw - 1000px) / -2);
    }
    main .galerie .img-box img {
        margin-top: 30px;
        margin-bottom: 30px;
    }
}
*/

.main-text-form ul {
    list-style-type: none;
    padding-left: 0;
}
.main-text-form li {
    clear: both;
    font-size: 18px;
    margin-bottom: 10px;
}
.main-text-form label,
.main-text-form span {
    display: block;
    float: left;
    width: 300px;
}
.main-text-form .select,
.main-text-form input,
.main-text-form textarea {
    background: rgba(244, 244, 244, 1);
    border: 1px solid rgba(217, 217, 217, 1);
    height: 30px;
    font-size: 14px;
    padding: 5px;
    width: 300px;
}
.main-text-form input:focus,
.main-text-form textarea:focus {
    background: rgba(230, 230, 230, 1);
}
.main-text-form textarea {
    height: 200px;
}
.main-text-form input[type="submit"]{
    background: #98a244;
    color:#fff;
}
.main-text-form input[type="submit"]:hover{
    background: rgba(217, 217, 217, 1);
    color:#333;
}


@media (min-width: 900px) {
    .main-text-form form {
        margin: auto;
        max-width: 620px;        
    }
}


main.main-text p a.linkbutton {
    background:#489ce1;
    color: white;
    display: inline-block;
    padding:10px;
    
    font-size: 22px;
    line-height: 32px;
    font-weight: 700;
    
    text-decoration: none;
}

.bild-links-text-rechts img,
.bild-links-text-rechts div {
    float: left;
    text-align: left;
}
.bild-links-text-rechts div {
    display: inline-block;
    margin-bottom: 30px;
}
.bild-links-text-rechts div {
    margin-left: 50px;
}

.show-mobile-fixed {
    position: fixed;
    z-index: 1000;
}
.show-mobile-fixed .show-mobile .lvl1ul {
    height: 100vh;
}

@media (max-width: 350px) {
    header .logo {
        height: 36px;
    }
}


.maps {
    width: 100%;
    height: 400px;
}
#search {
    border: 1px solid #4e4837;
    font-size: 20px;
    margin-bottom: 30px;
    padding: 5px;
}
.a-z h3 {
    cursor: pointer;
}
