@charset "utf-8";

@font-face {
font-family: 'Arvo regular';
src: url('../fonts/Arvo-Regular.ttf');
src: url('../fonts/Arvo-Regular.ttf') format('truetype'),
url('../../fonts/Arvo-Regular.ttf') format('truetype');
font-weight: normal;
font-style: normal;
} 

@font-face {
font-family: 'Sanchez';
src: url('../fonts/Sanchez-Regular.ttf');
src: url('../fonts/Sanchez-Regular.ttf') format('truetype'),
url('../../fonts/Sanchez-Regular.ttf') format('truetype');
font-weight: normal;
font-style: normal;
} 

@import url("https://netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css");

:root {
  --me-darkblue: hsl(205,19%,19%);
  --me-blue: hsl(205,34%,35%);
  --me-darkrot: hsl(2,57%,17%);
  --me-white: hsl(0,0%,100%);
}

html,
body {
	margin:0;
	padding: 0;
	font-family: 'Sanchez', Arial;
    font-size: 18px;
    color:var(--me-darkblue);
}

@media screen and (min-width:100px) and (max-width:800px) {
   body {font-size: 14px;}
}


/*div, ul, li, p, h1, img, form, a, nav {border: 2px solid red;}*/

.leer {height: 800px;}

div,
nav,
main,
header,
p {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
}

img {display: block;}
.flex {display: flex;}
.col {flex-direction: column;}
.row {flex-direction: row;}
.wrap {flex-wrap: wrap;}
.center {justify-content: center;}
.between {justify-content: space-between;}
.around {justify-content: space-around;}
.end {justify-content: flex-end;}

.mitte {
    margin-left: auto;
    margin-right: auto;
    width: 80%;
    max-width: 1500px;
}

@media screen and (min-width:100px) and (max-width:1350px) {
    .mitte {width: 90%;}
}

@media screen and (min-width:100px) and (max-width:700px) {
    .mitte {width: 95%;}
}

.mt-2 {margin-top: 2.0em;}
.mb-2 {margin-bottom: 2.0em;}
.mt-3 {margin-top: 3.0em;}
.mb-3 {margin-bottom: 3.0em;}

h1 {
    text-transform: uppercase;
    margin: 0;
    padding: 0;
    font-size: 2.0em;
}

h2 {
   text-transform: uppercase;
   font-weight: 200;
}

h4 {
    margin: 0;
    margin-bottom: 10px;
}

.text {
    font-size: 0.85em;
    line-height: 1.6em;
    hyphens: auto;
}

a {text-decoration: none;}

.blau {background-color: var(--me-darkblue);}
.rot {color: var(--me-darkrot);}
.white {color: #fff;}
.text_center {text-align: center;}

.button-mitte {
    margin-left: auto;
    margin-right: auto;
}

.ramen-w {
    border-bottom: 1px solid #fff;
    border-top: 1px solid #fff;
    padding-bottom: 10px;
    padding-top: 10px;
}

.ramen-r{
    border-bottom: 1px solid var(--me-darkrot);
    border-top: 1px solid var(--me-darkrot);
    padding-bottom: 10px;
    padding-top: 10px;
}

.header {
    width: 100%;
    height: auto;
    min-height: 874px;
    background-image: url(../images/start-bild.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

@media screen and (min-width:100px) and (max-width:800px) {
    .header {
    min-height: 650px;
    background-position: -100px 0; 
    }
}

.header-kurz {
    width: 100%;
    height: auto;
    position: relative;
}

.header-block {
    width: 100%;
    height: auto;
    background-color: hsl(2,57%,17%, 0.8);
    padding-top: 30px;
    padding-bottom: 30px;
}

.header-kurz .header-block {
    background-color: hsl(2,57%,17%);
}

.header-block h3 {
    color: #fff;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    padding: 10px;
    width: 360px;
    text-align: right;
    margin-right: 0;
    margin-left: auto;
    margin-bottom: 30px;
    font-size: 1.1em;
}


@media screen and (min-width:100px) and (max-width:800px) {
    .header-block {padding-top: 0;}
    .header-block div {width: 100%;}
    .header-block h3 {font-size: 0.95em;}
    .logo-block img {
        width: 30%;
        margin-left: auto;
        margin-right: auto;
     }    
    .zeit-block h3 {
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }
}

@media screen and (min-width:100px) and (max-width:500px) {
    .logo-block img {
        width: 50%;
        margin-left: auto;
        margin-right: auto;
    }
}

nav a {
    color: #fff;
    padding: 10px 0 10px 0;
    margin-left: 60px;
    text-transform: uppercase;
}

nav a:hover {
    border-bottom: 1px solid #fff;
    border-top: 1px solid #fff;
}

.openbtn {display: none;}

@media screen and (min-width:100px) and (max-width:1400px) {
    nav a {
    color: #fff;
    padding: 8px 0 8px 0;
    margin-left: 30px;
    text-transform: uppercase;
    font-size: 0.8em;
    }
}

@media screen and (min-width:100px) and (max-width:900px) {
    .nav {display: none;}
    .openbtn {display: block;}
}

.reservierung-block {
    width: 100%;
    height: auto;
    background-color: hsl(2,57%,17%, 0.85);
    padding-top: 40px;
    padding-bottom: 40px;
    position: absolute;
    bottom: 0;
}

.reservierung-block div {align-items: center;}

.reservierung-block p {
    color: #fff;
    margin-right: 20px;
    font-size: 1.1em;
}

.button {
    color: #fff;
    text-transform: uppercase;
    background-color: var(--me-blue);
    padding: 10px 30px;
    margin-left: 20px;
}

.button:hover {background-color: var(--me-darkblue);}

@media screen and (min-width:100px) and (max-width:1400px) {
    .reservierung-block div p {
        font-size: 1.0em;
        margin-left: 15px;
        margin-right: 15px;
    }
}

@media screen and (min-width:100px) and (max-width:1200px) {
    .button {margin: 0;}
    .reservierung-block div {width: 100%;}
    .reservierung-block div p {
        margin: 0;
        padding: 0;
        margin-bottom: 2.0em;
        text-align: center;
    }
}

.willkommen {
    padding-top: 4.0em;
    padding-bottom: 4.0em;
}

.bild {
    width: 22%;
    height: auto;
    border: 1px solid #fff;
    margin: 25px 30px;
    z-index: 2;
}
    
.bild img {
    width: 100%;
    height: auto;
}

.bilder {position: relative;}

.blau-line {
    width: 100%;
    height: 15%;
    background-color: var(--me-blue);
    position: absolute; 
    bottom: 0;
    z-index: 1;
}

@media screen and (min-width:100px) and (max-width:1200px) {
    .bild {
    width: 28%;
    margin: 20px auto;
    }
}
    
@media screen and (min-width:100px) and (max-width:700px) {
    .bild {
    width: 70%;
    margin-left: auto;
    margin-right: auto;
    }
}

.aktuelles {
    padding-top: 4.0em;
    padding-bottom: 4.0em;
}

.veranstaltung  {
    width: 45%;
    border-top: 1px solid var(--me-darkrot);
    border-bottom: 1px solid var(--me-darkrot);
    padding: 30px 10px;
    margin-right: 60px;
}

.plakat {
    width: 50%;
    height: auto;
}

.plakat img {
    width: 100%;
    height: auto;
}

.beschreibung {
    width: 45%;
    padding-left: 30px;
}

@media screen and (min-width:100px) and (max-width:1500px) {
    .veranstaltung  {margin-right: 50px;}
    .plakat {width: 30%;}
    .beschreibung {width: 65%;}
}
    
@media screen and (min-width:100px) and (max-width:900px) {
    .veranstaltung  {
    width: 100%;
    margin: 0;
    }
    .plakat {width: 40%;}
    .beschreibung {width: 60%;}
}

@media screen and (min-width:100px) and (max-width:500px) {
    .plakat {width: 95%;}
    .beschreibung {
    width: 95%;
    padding: 0;
    }
}

.parallax {
    background-image: url("../images/img_parallax.jpg");
    height: 500px;
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

@media screen and (min-width:100px) and (max-width:1500px) {
    .parallax {display: none;}
}

.anfahrt {
    background-color: var(--me-darkrot);
    width: 100%;
    height: auto;
    min-height: 200px;
}

.adresse {
    width: 15%;
    line-height: 1.5em;
    margin: 70px 0 80px auto;
}

.karte {
    width: 70%;
    height: auto;
    margin: 0 0 0 auto;
}
    
@media screen and (min-width:100px) and (max-width:900px) {
    .adresse {
    width: 100%;
    margin: 0;
    padding: 20px;
    }
    .karte {
    width: 100%;
    height: 300px;
    margin: 0;
    }
}

footer {
    width: 100%;
    height: auto;
    padding-top: 70px;
}

.foot-nav a,
.foot-nav p {
    display: block;
    color: #fff;
    font-size: 0.85em;
    padding: 5px 0;
    line-height: 1.5em;
}

.foot-nav a:hover {color: var(--me-blue);}

.fab fa-facebook-square {color: #fff;}

.fab fa-facebook-square:hover {color: var(--me-blue);}

.bottom {
    width: 100%;
    min-height: 30px;
    background-color: var(--me-blue);
    margin-top: 70px;
}

#copyright {
    color: #fff;
    font-size: 0.7em;
    padding: 5px;
    text-align: center;
}

#copyright a {
    color: #fff;
}

#copyright a:hover{
    color: var(--me-darkblue);
}

@media screen and (min-width:100px) and (max-width:400px) {
    .foot-nav {
        width: 45%;
        margin-bottom: 2.0em;
    }
}

/*----------Speisekarte----------*/

.article {align-items: center; }

.pdf {
    display: block;
    height: auto;
    margin-left: 70px;
    margin-right: 70px;
    padding: 10px 30px;
    border: 2px solid var(--me-darkrot);
    border-radius: 20px;
    color: var(--me-darkrot);
    text-align: center;
}

.pdf:hover {
    background-color: var(--me-darkrot);
    color: #fff;
}

@media screen and (min-width:100px) and (max-width:800px) {
    .pdf {
       margin-left: 20px;
       margin-right: 20px;}
}

@media screen and (min-width:100px) and (max-width:600px) {
    .article {flex-wrap: wrap;}
    .download {width: 100%;}
    .pdf {
        width: 90%;
        margin: 0;
        margin-top: 10px;
        padding: 10px;
    }
}

.karten {justify-content: center;}

.karten a {
    display: block;
    width: auto;
    height: auto;
    padding: 15px 20px;
    color: var(--me-blue);
    font-size: 0.9em;
    text-transform: uppercase;
    text-align: center;
    border-bottom: 1px solid var(--me-blue);
    margin: 5px;
}

.karten .schau {
    background-color: var(--me-blue);
    color: #fff;
}

.karten a:hover {color: var(--me-darkblue);}


@media screen and (min-width:100px) and (max-width:800px) {
    .karten a {
        padding: 5px 10px;
        margin-left: 5px;
    }
}

@media screen and (min-width:100px) and (max-width:600px) {
    .karten {
        width: 100%;
        justify-content: flex-start;
        padding-left: 10px;
    }
}

.speisen h4 {
    text-transform: uppercase;
    font-weight: 200;
    font-size: 1.1em;
    margin-bottom: 1.0em;
}

.container {
    width: 70%;
    padding: 10px;
    margin-left: auto;
    margin-right: auto;
}

.container hr {
    height: 1px;
    border-width:0;
    color: var(--me-darkrot);
    background-color: var(--me-darkrot);
}

.gericht {width: 75%;}

.preis p {
    float: right;
    text-align: right;
}

.klein {font-size: 0.8em;}
.gelb {background-color: #e6e9ef;}

.narrow {
    width: 40%;
    padding: 5px;
}

.narrow div {width: 32%;}
.vegetarisch {color: forestgreen;}


@media screen and (min-width:100px) and (max-width:800px) {
    .container {width: 90%;}
    .doppel {width: 62%;}
    .narrow {width: 90%;}
}

/*---------Downloads--------*/

.downloads {width: 50%;}

.downloads .download {
    max-width: 600px;
}

.downloads .download .pdf {
    text-align: left;
    text-transform: uppercase;
    margin: 0;
    margin-bottom: 20px;
    border: 2px solid var(--me-blue);
    border-radius: 0;
    color: var(--me-blue);
}

.downloads .download .pdf:hover {
    background-color: var(--me-blue);
    color: #fff;
}

.side-bild {width: 50%;}

.side-bild img {
    width: 100%;
    margin: 0 0 0 auto;
}

@media screen and (min-width:100px) and (max-width:1310px) {
    .side-bild img {width: 90%;}
}

@media screen and (min-width:100px) and (max-width:900px) {
    .downloads {width: 100%;}
    .side-bild {display: none;}
}

/*-------Reservierung---Kontakt--------*/

.reservieren-1 {
    width: 60%;
    padding-right: 30px;
}

.reservieren-2 {
    width: 40%;
}

.form {
    width: 100%;
    border: 0;
    padding: 20px 50px;
}


@media screen and (min-width:100px) and (max-width:800px) {
    .reservieren-1 {
    width: 90%;
    }
    .reservieren-2 {
    width: 90%;
    margin-left: 0;
    margin-top: 20px;
    padding: 0
    }
    .form {padding: 0;}
 
} 


/*----------Karriere--------*/

.mail {
    color: var(--me-darkblue);
    font-weight: 600;
}
.mail:hover {color: var(--me-blue);}

.jobs {width: 45%;}

.job {
    display: none;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
    width: 100%;
    padding: 30px 40px;
    border: 1px solid var(--me-darkblue);
    margin-right: 50px;
    margin-bottom: 20px;
}

.collapsible {
    background-color: var(--me-blue);
    cursor: pointer;
    padding: 3px 20px;
    width: 100%;
    border: none;
    text-align: left;
    outline: none;
    margin-bottom: 10px;
}

.active, .collapsible:hover {background-color: var(--me-darkblue);}

.collapsible h2 {
    color: #fff;;
    font-size: 1.0em;
}

.job h3 {font-size: 0.9em;}

.job p,
.job ul {
    font-size: 0.80em;
}

.karriere-bild {width: 45%;}

.karriere-bild img {
    width: 100%;
    height: auto;
    margin-top: 2.0em;
}

@media screen and (min-width:100px) and (max-width:900px) {
    
    .jobs {width: 100%;}
    .job {width: 70%;}
    .karriere-bild {display: none;}    
    .collapsible {width: 80%;}
}

/*-------Aktuelles------------*/

.facebook-link {width: 100%;}

.news {
    margin-top: 2.0em;
    border-bottom: 1px solid var(--me-darkrot);
    padding-bottom: 3.0em;
}

.news-bild {width: 30%;}

.news-bild img {
    max-width: 300px;
    height: auto;
    cursor: zoom-in;
}

.news-text {width: 65%;}

.news-text .button {
    float: right;
    margin-top: 40px;
}

@media screen and (min-width:100px) and (max-width:1400px) {
    .news-bild {width: 25%;}
    .news-bild img {max-width: 250px;}
    .news-text {
     width: 70%;
     padding-left: 40px;
    }
}

@media screen and (min-width:100px) and (max-width:1050px) {
    .news-bild img {
    width: 100%;
    max-width: 220px;
    }
    .news-text {
    width: 60%;
    padding-left: 15px;
    }
}

@media screen and (min-width:100px) and (max-width:700px) {
   .news-bild {width: 100%;}    
   .news-bild img {
    margin-left: auto;
    margin-right: auto;
    }
    .news-text {
    width: 100%;
    padding-top: 20px;
    }  
    .news-text .button {
    float: right;
    margin-top: 40px;
    }
}

/*---------Impressum-------*/

.impressum div {width: 40%;}

@media screen and (min-width:100px) and (max-width:600px) {
    .impressum div {width: 100%;}
}

/*---------Fahrplan---------*/

.veranstaltung-block {margin-bottom: 1.5em;}

.veranstaltung-block p {
    padding: 10px 20px;
    font-size: 0.9em;
}

.datum-block {
    width: 30%;
    height: auto;
    background-color: #e6e9ef;
    text-align: center;
}

@media screen and (min-width:100px) and (max-width:500px) {
    .datum-block {width: 35%;}
}


 








