:root {
    --font-color: #444;
    --background-color: white;
    --section-background: #f5f5f5;
    --section-border-color: #dcdcdc;
    --additives-background-color: rgba(0,0,0,.1);
    --additives-font-color: rgba(0,0,0,.4);
    --main-padding-bottom: 2em;
    --transition-speed: 150ms;
}

[data-theme="dark"] {
    --font-color: white;
    --background-color: black;
    --section-background: #222;
    --section-border-color: rgba(255,255,255,.35);
    --additives-background-color: rgba(255,255,255,.2);
    --additives-font-color: rgba(255,255,255,.5);
    --main-padding-bottom: 0;
}


html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}

body, nav, ul, li, a {
    margin: 0;
    padding: 0;
}

body {
    position: relative;
    margin: 0 auto;
    background: var(--background-color);
    font: normal 1em/1.4 'Roboto Condensed', 'Segoe UI', system-ui, -apple-system, BlinkMacSystemFont, Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    font-size: 110%;
    font-weight: 300;
    color: var(--font-color);
    transition: all var(--transition-speed);
}

*,
*:after,
*:before {
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.clearfix:before,
.clearfix:after {
    content: '';
    display: table;
}

.clearfix:after {
    clear: both;
}

a:link,
a:visited {
    outline: none; /* Sorry */
}

a:hover,
a:active {
}

main a:link,
main a:visited {
    color: var(--font-color);
    border-bottom: 1px dotted black;
}

main a:hover,
main a:active {
    color: #00bee6;
}

a,
a:hover,
a:active,
a:visited {
   -webkit-transition: all var(--transition-speed);
   -moz-transition:    all var(--transition-speed);
   -o-transition:      all var(--transition-speed);
   -ms-transition:     all var(--transition-speed);
    transition:        all var(--transition-speed);
    text-decoration: none;
}
/*
nav a[href="#"] {
    pointer-events: none;
    /*cursor: pointer;*/
/*}*/

h1 {
    margin: 0;
    font-weight: 300;
    font-size: 2.7em;
    color: white;
    /*text-shadow: -1px -1px 0 #dd4d38, 1px -1px 0 #dd4d38, -1px 1px 0 #dd4d38, 1px 1px 0 #dd4d38; /* dd5e37 */
}

h2 {
    padding: 0.35em 0;
}

/* Damit Luft entsteht, wenn h2 ein Anker ist */
h2:first-child {
    padding: 1em 0;
}

h2, h3 {
    margin: 0;
    text-transform: uppercase;
    font-size: 1.4em;
    font-weight: 300;
    color: #00bee6; /* Tuerkis */
    clear: both; /* ! */
}

h3 {
    font-size: 1em;
}

h4, h5 {
    font-weight: 400;
}

h4 {
    font-size: 1.2em;
}

h5 {
    margin: 0.5em 0 1.5em 0;
    font-size: 1em;
}

h1, h2, h3, h4, h5, h6, p {
    line-height: 1.4;
   -moz-hyphens: auto;
   -o-hyphens: auto;
   -webkit-hyphens: auto;
   -ms-hyphens: auto;
    hyphens: auto;
    hyphenate-limit-chars: auto 3;
    hyphenate-limit-lines: 2;
}

main > p:last-of-type {
    margin-bottom: 0;
}

hr {
    float: left;
    width: 100%;
    margin: 0 0 1em 0;
    height: 0;
    border: 0;
    border-bottom: 1px solid silver;
}

strong {
    font-weight: 400;
}

ul {
    list-style: none;
}
/*
.fa.fa-angle-right {
    margin-left: 0.5em;
}
*/

main ul {
    margin-left: 1em;
}

/* Use em or % */
main li:before {
    position: relative;
    content: '\25A0'; /* \2022 Round bullet, \25A0 Square bullet */
    /*content: '•'; /* · */
    display: block;
    max-width: 0;
    max-height: 0;
    left: -1.1em;
    top: -0.05em;
    font-size: 0.9em;
    color: #00bee6; /* Tuerkis */
}


/* --------------------------------------------------------------------------------------- */



    @media screen and (max-width: 800px) {

        h2 {
            padding: 0.5em 0 1em 0;
        }

    }


/* ####################################################################################### */



#showhide {
    position: fixed;
    z-index: 40;
    width: 100%;
    display: none;
    background: whitesmoke;
    padding: 15px 15px 10px 2em;
    box-shadow: 0 0 3px rgba(0,0,0,1);
}

#showhide span {
    display: block;
    width: 30px;
    height: 5px;
    background: #444;
    margin-bottom: 6px;
    border-radius: 3px;
}

#showhide > p {
    position: absolute;
    margin: 0 0 0 53px;
    top: 8px;
    color: white;
    font-size: 1.5em;
    font-weight: 300;
}


/* --------------------------------------------------------------------------------------- */



    @media screen and (max-width: 800px) {
        #showhide {
            display: block;
        }
    }


/* ####################################################################################### */



header {
    position: fixed;
    width: 100%;
    z-index: 40;
}

header > a {
    position: absolute;
    width: 180px;
    height: 180px;
    /*top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);*/
    top: -5px;
    left: 50%;
    transform: translateX(-50%);
    background: url('../images/sarsari2.png') no-repeat center center;
    background-size: 100%;
    /*border-radius: 50%;
    border: 3px solid whitesmoke;*/
    /*filter: drop-shadow(0 0 5px white);*/
}
/*
header > a > img {
    width: 100%;
    max-width: 150px;
}
*/
header > a.smaller {
    width: 120px;
    height: 120px;
    top: -5px;
    background-position: top center;
    border-width: 2px;
}


/* --------------------------------------------------------------------------------------- */



    @media screen and (max-width: 800px) {

        header > a.default {
            width: 100px;
            height: 100px;
            top: -5px;
            background-position: center center;
        }

    }


/* ####################################################################################### */



nav {
    position: fixed;
    z-index: 30;
    margin: 0;
    width: 100%;
    /*height: 58px; /* default */
    /*height: 59px; /* 58 */
    /*background: rgba(255,255,255,0.95);*/
    /*background: rgba(0,0,0,0.9);*/
    background: whitesmoke;
    /*max-width: 1220px;*/
    font-size: 1.1em;
    box-shadow: 0 0 3px rgba(0,0,0,1);

   -webkit-transition: height 250ms;
   -moz-transition:    height 250ms;
   -o-transition:      height 250ms;
   -ms-transition:     height 250ms;
    transition:        height 250ms;
}

nav ul {
    float: right;
    display: table;
    table-layout: fixed;
    border-collapse: collapse;
}

nav > ul > li {
    display: table-cell;
    /*font-weight: 400;*/
}

nav ul li a {
    display: block;
    padding: 16px 20px 15px 20px; /* default */
    /*padding: 31px 20px 30px 20px;*/
    color: #444;
    font-weight: 400;
    white-space: nowrap;
    /*background: rgba(255,255,255,0.7);*/
    background-color: whitesmoke;
    /*background: rgba(0,0,0,0.9);*/
    text-align: center;
    border: 0;
}


/* onscroll resize nav mit zwei Klassen */
nav.default {
    /* height: 59px; */
}

/*nav.default ul li a {*/
    /*padding: 31px 20px 30px 20px;*/
/*}*/

nav.smaller {
    height: 38px;
}

nav.smaller ul li a {
    padding: 6px 20px 5px 20px;
}
/* ------------------------------------ */


nav > ul > li:hover > a {
    background-color: #5c000a;
    color: #fff;
}

nav ul li.current a,
nav ul li.currentpath.open > a {
    color: #00bee6; /* Tuerkis */
    font-weight: 400;
}


nav ul li.open a {
    /*border-left: 1px solid transparent; /* whitesmoke */
    /*border-right: 1px solid transparent; /* whitesmoke */
    /*z-index: 1; /* Damit das Submenü hinter dem Submenü-Button 'li.open a' liegen kann */
    width: 8.188em; /* Breite des Submenüs 'Benefit' */
}

nav ul li.open {
    color: #444;
}

/* Submenü */
nav ul li.open:hover a {
   /*-moz-box-shadow: 0px 2px 2px rgba(0,0,0,.3);
   -webkit-box-shadow: 0px 2px 2px rgba(0,0,0,.3);
    box-shadow: 0px 2px 2px rgba(0,0,0,.3);*/
    /*border-left: 1px solid gainsboro; /* whitesmoke */
    /*border-right: 1px solid gainsboro; /* whitesmoke */
}

nav > ul > li > ul {
    position: absolute; /* relative = gleich breites Untermenü */
    /*display: none;*/
    /*margin-top: -1px;*/
    /*z-index: -1; /* Damit das Submenü hinter dem Submenü-Button 'li.open a' liegt */
    visibility: hidden;
    opacity: 0;
    /*border-top: 1px solid gainsboro; /* whitesmoke */
   -webkit-transition: opacity 250ms;
   -moz-transition:    opacity 250ms;
   -o-transition:      opacity 250ms;
   -ms-transition:     opacity 250ms;
    transition:        opacity 250ms;

    /*width: 30%; /* auto */
    /*min-width: 15em;*/
    font-weight: 400;
   /*-moz-box-shadow: 0px 2px 2px rgba(0,0,0,.3);
   -webkit-box-shadow: 0px 2px 2px rgba(0,0,0,.3);
    box-shadow: 0px 2px 2px rgba(0,0,0,.3);*/
    /*margin-top: -1.5em;*/
    margin-top: 0;
    /*margin-left: -1%; /* Zentrierung des Submenüs unter Hauptbutton */
}

/* Bei hover über LI mit Untermenü UL sichtbar schalten */
nav > ul > li:hover > ul {
    /*display: block;*/
    visibility: visible;
    opacity: 1;
}

nav > ul > li > ul > li {
    width: auto;
    /*display: block;*/
}

nav > ul > li > ul > li > a {
    text-align: center;
    /*padding: 0.5em 30px 0.5em 30px;*/
    padding: 16px 20px 15px 20px;
}

nav > ul > li > ul,
nav > ul > li > ul > li:last-child,
nav > ul > li > ul > li:last-child a {
    /*border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;*/
}

nav > ul > li > ul > li:first-child,
nav > ul > li > ul > li:first-child a {
    /*border-top-right-radius: 5px;*/
}

nav > ul > li > ul > li:first-child {
    /*border-top: 1px solid gainsboro; /* whitesmoke */
}

/* Trennstriche im Second Level */
  nav > ul > li > ul > li/*:not(:last-child)*/ {
    /*border-bottom: 1px solid gainsboro; /* whitesmoke */
}

/* Hover bei Submenu-Items. */
nav > ul > li > ul > li:hover a {
    color: #444;
}


/* --------------------------------------------------------------------------------------- */



    @media screen and (max-width: 800px) { /* 700 */

        nav {
            display: none;
            position: fixed; /* absolute */
            float: left;
            top: 58px;
            height: auto;
            margin: 0;
            background: whitesmoke;
        }

        nav ul {
            width: 100%;
            display: block;
            margin: 0;
        }

        nav ul li,
        nav ul li ul li {
            clear: both;
            display: block;
            width: 100%;
            /* border-bottom: 1px solid gainsboro; */
        }

        nav ul li a {
            /*color: #444;*/
            text-align: left;
            padding-left: 1.75em;
        }

        nav ul li.open a,
        nav ul li.open:hover a {
            border-left: none;
            border-right: none;
            margin: 0;
            width: 100%;
        }

        nav > ul > li > ul {
            position: relative;
            z-index: unset;
            width: 100%;
            margin-top: 0;
            visibility: visible;
            opacity: 1;
           -moz-box-shadow: none;
           -webkit-box-shadow: none;
            box-shadow: none;
        }

        nav > ul > li > ul,
        nav > ul > li > ul > li:last-child,
        nav > ul > li > ul > li:last-child a,
        nav > ul > li > ul > li:first-child,
        nav > ul > li > ul > li:first-child a {
            border-radius: 0;
        }

        nav > ul > li > ul > li:first-child {
            border-top: 1px solid gainsboro; /* whitesmoke */
        }
        nav > ul > li > ul > li > a {
            /*padding: 1em 5em 1em 30px;*/
            text-align: left; /* Neu 20.01.2017 */
        }

    }


/* ####################################################################################### */



#scrolldown {
    position: absolute;
    /*top: calc(100% - 150px);*/
    left: 50%;
    /*transform: translate(-50%, -50%);*/
    /*font-size: 1.5em;*/
    /*left: calc(50% - 0.3em);*/
    transform: translateX(-50%);
    font-size: 3em;
    color: white;
    line-height: 0;
    z-index: 1;

    -webkit-animation-name: scrollelement;
    -webkit-animation-duration: 1500ms;
    -webkit-animation-iteration-count: infinite;

    -moz-animation-name: scrollelement;
    -moz-animation-duration: 1500ms;
    -moz-animation-iteration-count: infinite;

    -o-animation-name: scrollelement;
    -o-animation-duration: 1500ms;
    -o-animation-iteration-count: infinite;

    animation-name: scrollelement;
    animation-duration: 1500ms;
    animation-iteration-count: infinite;

    /*animation-direction: alternate;*/

    /*background-color: red;*/
}

    @-webkit-keyframes scrollelement {
        0% {
          top: calc(100% - 90px);
          opacity: 0;
        }
        50% {
          opacity: 1;
        }
        100% {
          top: calc(100% - 60px);
          opacity: 0;
        }
    }

    @-moz-keyframes scrollelement {
        0% {
          top: calc(100% - 90px);
          opacity: 0;
        }
        50% {
          opacity: 1;
        }
        100% {
          top: calc(100% - 60px);
          opacity: 0;
        }
    }

    @-o-keyframes scrollelement {
        0% {
          top: calc(100% - 90px);
          opacity: 0;
        }
        50% {
          opacity: 1;
        }
        100% {
          top: calc(100% - 60px);
          opacity: 0;
        }
    }

    @keyframes scrollelement {
        0% {
          top: calc(100% - 90px);
          opacity: 0;
        }
        50% {
          opacity: 1;
        }
        100% {
          top: calc(100% - 60px);
          opacity: 0;
        }
    }


/* ####################################################################################### */



/* Aufklapppfeil */
.more {
    /*cursor: pointer;*/
    display: none; /* mit jQ sichtbar schalten */
    font-weight: 400;
    border-top: 2px solid plum;
}

.more > i {
   -moz-transition: transform 250ms;
   -webkit-transition: transform 250ms;
    transition: transform 250ms;
    /*font-weight: bold;
    color: #007ac0;*/
    margin-left: 0.5em;
}

.more > i.down {
   -moz-transform: rotate(90deg);
   -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}


/* --------------------------------------------------------------------------------------- */



    @media screen and (max-width: 800px) {

    }


/* ####################################################################################### */



main {
    /*position: relative;*/
    float: left;
    width: 100%;
    margin: 0;
    /*padding: 2em;*/
    padding: 0 2em 2em 2em;
    /*background-color: white;*/
    /*border: 5px solid green;*/
    /*background: green;*/
    padding-bottom: var(--main-padding-bottom);
    transition: all var(--transition-speed);
}
/*
main > section > article {
    display: table;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 30px 15px;
    width: 100%;
}
*/

main h3 {
    font-weight: 400;
}

main h2,
main h3 {
    color: var(--font-color);
    transition: all var(--transition-speed);
}

article {
    float: left;
    width: 100%;
    margin: 1em 0;
    /**/padding: 2em; /* Version mit Padding für Foto */
    background-color: #f4f3f1; /* whitesmoke */
    border: 1px solid gainsboro;
    border-top: 3px solid #8a000f; /* war 'plum' */
}

/*
article + h2 {
    position: relative;
    top: -0.75em;
    color: red;
    margin-bottom: -1.45em;
}
*/
main > article:first-of-type {
    margin-top: 0;
}

/* News Manager: Falls kein Bild eingesetzt wurde, Ausgabe unterdrücken */
main > article > section:first-child:empty {
    display: none;
}

/* News Manager: Falls kein Bild eingesetzt wurde, Padding der zweiten <section> unterdrücken */
main > article > section:first-child:empty + section {
    padding: 0;
}

main > article:last-of-type {
    margin-bottom: 0;
}

main > article > section:first-child {
    float: left;
    width: 40%;
}

/* Version ohne Padding für Foto; immer formatfüllend */
/*main > article > section:first-child > div {
    width: 100%;
    height: 100%;
    min-height: 300px;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
}*/

main > article > section:last-child {
    float: left;
    width: 60%;
    /**/padding-left: 2em; /* Version mit Padding für Foto */
}

main.kontakt > article > section:first-child {
    width: 50%;
    padding-right: 2em;
}

main.kontakt > article > section:last-child {
    width: 50%;
}

main.kontakt > article > section h1 {
    margin-top: 0.2em;
    color: #444;
    text-shadow: none; /* dd5e37 */
}

/* Letztes Element ohne Abstand nach unten */
main > article > section:last-child *:last-child {
    margin-bottom: 0;
}

main > article > section:last-child > h2 {
    font-size: 150%;
    margin: 0 0 0.5em 0;
    padding: 0;
    /*text-transform: none;*/
}

main > article > section:last-child h3 {
    display: inline-block;
    color: white;
    font-size: 0.95em;
    padding: 0.2em 0.5em 0.2em 0.5em;
    /*background-color: mediumslateblue;*/
    background-color: rgba(0,0,0,0.7);
    border-radius: 0.2em;
    margin-bottom: 1.25em;
}

/* Version mit Padding für Foto */
/**/main > article > section img {
    float: left;
    width: 100%;
}

/* Impressum, Datenschutz */
main.default section :last-child {
    margin-bottom: 0;
}

/* Impressum, Datenschutz */
main.default section h2:not(:first-child) {
    padding: 0;
}

/* Impressum, Datenschutz */
main.default section h3:not(:first-child) {
    margin-top: 1.5em;
}

/* Impressum, Datenschutz */
main.default section h3 + p {
    margin-top: 0.5em;
}

main.default {
    padding-top: 5em;
}


/* --------------------------------------------------------------------------------------- */



    @media screen and (max-width: 800px) {

        main {
            /* padding: 0 3% 3% 3%; */
            padding: 0 10px 10px 10px;
        }

        main.default {
            padding-top: 5em !important;
        }        

        main > article {
            margin: 0 0 3% 0;
            padding: 0;
        }

        main.kontakt > article {
            text-align: center;
        }

        main > article > section:first-child {
            width: 100%;
            padding: 0;
        }

        /* News Manager: Falls kein Bild eingesetzt wurde, Padding der zweiten <section> wieder einschalten */
        main > article > section:first-child:empty + section {
            padding: 0 3% 5% 3%;
        }

        main.kontakt > article > section:first-child {
            width: 100%;
            padding: 6% 3% 3% 3%;
        }

        main > article > section:last-child {
            position: relative;
            width: 100%;
            padding: 0 3% 5% 3%;
        }

        main.kontakt > article > section:last-child {
            width: 100%;
            padding-bottom: 3%;
        }

        main > article > section:last-child h3 {
            position: relative;
            left: calc(-3% - 1px);
            padding-left: 3.5%;
            padding-right: 3.5%;
            border-radius: 0.5em;
            border-top-left-radius: 0;
            border-top-right-radius: 0;
            border-bottom-left-radius: 0;
            border-bottom: 2px solid #00bee6; /* Tuerkis */
            border-right: 2px solid #00bee6; /* Tuerkis */
        }

        main > article > section:last-child :not(h3):first-child {
            margin-top: 1em;
        }

        /* Impressum, Datenschutz */
        main.default {
            /* padding: 0 2em 2em 2em; */
        }

        /*main.default section :last-child {
            margin-bottom: 1em;
        }*/



    }


/* --------------------------------------------------------------------------------------- */


/* Getränkekarte */
section.menu {
    /*background: #e3d6f0;*/
    /*padding: 1em 0 0 0;*/
    float: left;
    width: 100%;
    /* padding: 2.5% 3% 2% 3%; */
    padding: 1.5% 3% 2% 3%;
    padding: 16px;
    background: var(--section-background);
    border: 1px solid var(--section-border-color);
    border-left: 3px solid lightslategrey;
    transition: all var(--transition-speed);
}

section.happyhour {border-left-color: #4dd4cd;}
section.cocktails {border-left-color: hotpink;}
section.longdrinks {border-left-color: yellowgreen;}
section.gin {border-left-color: mediumslateblue;}
section.whisky {border-left-color: darkgoldenrod;}
section.shots {border-left-color: #689cee;}
section.spirituosen {border-left-color: mediumslateblue;}
section.weinspecials {border-left-color: rosybrown;}
section.rotwein {border-left-color: firebrick;}
section.rose {border-left-color: lightcoral;}
section.weisswein {border-left-color: darkkhaki;}
section.weinschorle {border-left-color: palegoldenrod;}
section.prosecco {border-left-color: gold;}
section.bier {border-left-color: navajowhite;}
section.rum {border-left-color: #d1995c;}
section.softdrinks {border-left-color: lightskyblue;}
section.heissgetraenke {border-left-color: coral;}
section.notice {border-left-color: lightslategrey;}

section.menu > h3 {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1;
    padding: .5em 0 .7em 0;
    background: var(--section-background);
    /* margin: 0 0 1em 0; */
    margin: 0;
    font-family: 'Rye', cursive;
    font-weight: normal;
    font-size: 1.4em;
    text-transform: none;
    box-shadow: 0 8px 8px var(--section-background), 0 8px 8px var(--section-background);
    transition: all var(--transition-speed);
}

/* Additives / Zusätze */
section.menu sup {
    margin-left: .4em;
    /* font-size: 60%; */
    font-family: 'Roboto Condensed', 'Segoe UI', system-ui, -apple-system, BlinkMacSystemFont, Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    font-size: 11px;
    font-weight: 400;
    color: var(--additives-font-color);
    transition: all var(--transition-speed);
}

section.happyhour > h3 {color: #4dd4cd;}
section.cocktails > h3 {color: hotpink;}
section.longdrinks > h3 {color: yellowgreen;}
section.gin > h3 {color: mediumslateblue;}
section.whisky > h3 {color: darkgoldenrod;}
section.shots > h3 {color: #689cee;}
section.spirituosen > h3 {color: mediumslateblue;}
section.weinspecials > h3 {color: rosybrown;}
section.rotwein > h3 {color: firebrick;}
section.rose > h3 {color: lightcoral;}
section.weisswein > h3 {color: darkkhaki;}
section.weinschorle > h3 {color: hsl(55, 67%, 50%);}
section.prosecco > h3 {color: hsl(51, 80%, 60%);}
section.bier > h3 {color: hsl(36, 70%, 64%);}
section.rum > h3 {color: #d1995c;}
section.softdrinks > h3 {color: lightskyblue;}
section.heissgetraenke > h3 {color: coral;}
section.notice > h3 {color: lightslategrey;}


/* Zwischenüberschriften */
section.menu > h4 {
    margin: 0.5em 0 .5em 0;
    font-size: 1em;
    /* font-weight: 700; */
    /* text-transform: uppercase; */

    font-family: 'Rye', cursive;
    font-weight: normal;
}

section.menu > h4:not(:first-of-type) {
    /* border-bottom: 2px solid red; */
    margin-top: 1em;
}

/* section.menu > h3 ~ section.menu > h4 {
    margin-top: 0;
} */

/* Getränkenamen */
section.menu > strong {
    font-weight: 400;
}

section.menu:not(:last-child) {
    /* margin-bottom: 2em; */
    margin-bottom: 10px;
}

section.menu > table {
    width: 100%;
    border: 0;
}

section.menu > table tr:not(:last-child) {
    border-bottom: 1px solid var(--section-border-color);
}

section.menu > table tr:nth-child(odd) {
    /*background: rgba(0,0,0,0.04);*/
}

section.menu > table td {
    vertical-align: top;
    font-weight: 300;
    padding: 0.5em 0;
    /*empty-cells: hide; /* show/hide */
}

section.menu > table td:first-child {
    width: 65%;
    padding-right: 5%;
    font-weight: 400;
}

section.menu > table td:first-child > span {
    font-weight: 300;
}

section.menu > table td:nth-child(2) {
    width: 10%;
    padding-right: 5%;
    text-align: right;
    white-space: nowrap; /* Mengenangaben nicht umbrechen */
}

section.menu > table td:last-child {
    width: 15%;
    text-align: right;
    font-weight: 400;
    white-space: nowrap; /* Preise nicht umbrechen */
}

section.menu > table td:empty {
    display: none;
}


/* Allergene und Zusatzstoffe */
ul.additives {
    margin: 1em 0 1em 0;
    font-size: 0.8em;
}

ul.additives li::before {
    all: unset;
}

ul.additives li {
    margin-bottom: .2em;
}

ul.additives li > span {
    font-size: .75em;
    font-weight: 600 !important;
    line-height: 0;
    background-color: var(--additives-background-color);
    /* color: white; */
    width: 24px;
    height: 24px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin-right: 6px;
    border-radius: 50%;
    /* padding: 7px; */
    /* text-align: center; */
}



/* --------------------------------------------------------------------------------------- */



    @media screen and (max-width: 800px) {

        section.menu > h3 {
            /* margin-top: 3%; */
        }
    }


/* --------------------------------------------------------------------------------------- */



/* Große Hintergrundbilder */
.visualcontainer {
    position: relative;
    float: left;
    width: 100%;
    margin: 0;
    height: 100vh;
    /*min-height: 37.5em; /* 600px */
    /*min-height: 100vh;*/
}

.slides {
    position: absolute;
    width: 100%;
    min-height: 100%;
    background-position: center center;
   -webkit-background-size: cover;
   -moz-background-size: cover;
   -o-background-size: cover;
    background-size: cover;
}

.intro {
    position: relative;
    display: block;
    width: 35%;
    /*max-width: 33%;
    min-width: 25%;*/
    height: 100%;
    min-height: 100%;
    color: white;
    text-align: center;
    /*background: rgba(0,0,0,0.8);*/
    /*top: calc(50% + 10px);*/
    top: 0;
    /*left: 50%;
    transform: translate(-50%, -50%);*/
    left: 0;
    /*transform: translateY(-50%);*/
    /*overflow-y: hidden; /* schwarze Flaeche (.intro > div:after) = 200% */
}

.intro > div:after {
    content: '';
    position: absolute;
    /*z-index: 1;*/
    top: 0;
    left: 0;
    background: rgba(0,0,0,0.7);
    min-width: 100%;
    min-height: 100%;
    /*border: 4px solid red;*/
}

.intro > div {
    float: left;
    /*display: table-cell;*/
    padding: 5em 6% 1em 6%;
    /*border: 1px solid red;*/
}

/* Content über die schwarze Fläche aus '.intro > div:after' legen */
.intro > div > aside {
    float: left;
    position: relative;
    z-index: 1;
}

.intro > div > aside ul {
    float: left;
    /*background: red;*/
}

.intro > div > aside ul li {
    float: left;
    border: 2px solid rgba(255,255,255,0.8);
    border-radius: 0.4em;
    background: rgba(0,0,0,0.7);
    margin: 3%;
    /*width: 14%; /* 5 Icons in einer Reihe = 5n+1, 5n */
    width: 19%;     /* 4 Icons in einer Reihe = 4n+1, 4n */
}

section.icons > ul li:nth-child(4n+1) {
    margin-left: 0;
    /*border: 1px solid yellow;*/
}

section.icons > ul li:nth-child(4n) {
    margin-right: 0;
    /*border: 1px solid red;*/
}

.intro > div > aside ul li img {
    float: left;
    width: 100%;
}

.intro h1 {
    /*white-space: nowrap;*/
    font-family: 'Lobster', serif;
}

.intro > div > aside > h2 {
    padding: 0 0 0.3em 0;
    border-bottom: 1px solid rgba(255,255,255,0.7);
    margin-bottom: 0.5em;
    color: #9eb964;
}

.intro > div > aside > h3:last-of-type {
    margin-bottom: 1em;
}
/*
.intro > div:first-child {
    padding-bottom: 3%;
}

.intro > div:last-child {
    padding-top: 0;
    padding-bottom: 23%;
    background-image: url('../assets/visual.png');
    background-size: 50%;
    background-repeat: no-repeat;
    background-position: 10% center;
}
*/


/* --------------------------------------------------------------------------------------- */



    @media screen and (max-width: 640px) {

        /* Auskommentiert für #modal in home.php */
        .visualcontainer {
            height: auto;
            min-height: auto;
        }

        .intro {
            position: relative;
            display: block;
            transform: translateY(0);
            width: 100%;
            /*height: 100%;
            top: 58px;*/
            /*height: calc(100% - 10px);*/
            /*height: auto;*/
            /*padding: 3.8em 3% 3% 3%;*/
        }

        .intro > div,
        .intro > div:first-child,
        .intro > div:last-child {
            position: relative;
            display: block;
            width: 100%;
            /*background-color: green;*/
        }

        .intro > div:last-child {
            background-size: 50%;
            background-position: center center;
            /*background-color: red;*/
        }

        .intro h1 {
            white-space: normal;
            margin-top: 15px;
        }

    }


/* ####################################################################################### */



.gototop {
    position: fixed;
    z-index: 1;
    bottom: 70px;
    right: 4.3em;
    line-height: 0;
    display: none;
    /*background: red;*/
}

.gototop > a {
    position: absolute;
    display: block;
    width: 45px;
    height: 45px;
    padding: 3px 0;
    border: 1px solid gainsboro;
    font-size: 2em;
    text-align: center;
    background-color: white;
    color: #444;
    border-radius: 50%;
}

.gototop > a:hover,
.gototop > a:active {
    color: #00bee6; /* Tuerkis */
}

/* Abstand nach unten, damit man den Footer lesen kann, wenn gototop sichtbar ist */
/*body#top {
    padding-bottom: 100px;
}*/


/* --------------------------------------------------------------------------------------- */



    @media screen and (max-width: 640px) {

        .gototop {
            /*width: calc(100% - 30px);*/
            bottom: 52px;
            right: 4em;
        }
    }


/* ####################################################################################### */



footer {
    float: left;
    width: 100%;
    margin: 0;
    /*height: auto;*/
    padding: 2em;
    /*background: #f4f3f1; /* whitesmoke */
    background-color: black; /* #000b1f */
    /*color: #444;*/
    color: gainsboro;
    /*display: table;
    table-layout: fixed;
    border-collapse: collapse;*/
    border-top: 1px solid rgba(0,0,0,.1);
}

footer > section {
    position: relative;
}

footer > section > ul {
  /*position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);*/
  display: flex;
  justify-content: center;
  /*align-items: center;*/
}

footer > section > ul > li {
    float: left;
    margin-right: 1em;
}

footer > section > ul > li:last-child {
    margin-right: 0;
    /*white-space: nowrap;*/
}

footer > section > ul > li > a:link,
footer > section > ul > li > a:visited {
    color: gainsboro;
    border-bottom: 1px dotted gainsboro;
}

footer > section > ul > li > a:link:hover,
footer > section > ul > li > a:visited:hover,
footer > section > ul > li.current > a {
    color: #00bee6; /* Tuerkis */
}

footer > section .fa {
    margin-right: 0.3em;
}


/* --------------------------------------------------------------------------------------- */



    @media screen and (max-width: 640px) {

        footer {
            padding: 0 6% 3em 6%;
        }

        footer > section > ul {
          display: block;
          justify-content: unset;
        }

        footer > section > ul > li {
            width: 100%;
            margin-right: 0;
        }

        footer > section > ul > li > a {
            display: block;
            padding: 1em 0;
            /*border: 0;*/
        }

        footer > section > ul > li:last-child {
            margin-top: 1em;
        }

    }


/* ####################################################################################### */



.kontaktbox {
    margin: 0px 0 0 0;
}

.kontaktbox em {
    color: indianred;
    margin-left: 0.2em;
}

.kontaktbox.hide {
    position: absolute;
    z-index: 1000;
    /*top: calc(50% - 20px);*/
    top: -15px;
    left: 50%;
    transform: translate(-50%, 0);
    width: 100%;
    height: 100%;
    padding: 5em 15%;
    /*border: 1px solid rgba(0,0,0,0.2);
    border-radius: 2px;*/
    background: rgba(255,255,255,0.95);
    color: black;
    /**/display: none;
}

.kontaktbox.hide i.close {
    position: absolute;
    top: 2.4em;
    right: calc(15% - 0.7em);
    font-size: 2em;
    color: silver;
    line-height: 0;
    text-align: center;
    padding: 1em 0;
    width: 2em;
    height: 1em;
    border-radius: 50%;
    cursor: pointer;

   /*-webkit-transition: transform 400ms;
   -moz-transition:    transform 400ms;
   -o-transition:      transform 400ms;
   -ms-transition:     transform 400ms;
    transition:        transform 400ms;*/

   -webkit-transition: color 250ms;
   -moz-transition:    color 250ms;
   -o-transition:      color 250ms;
   -ms-transition:     color 250ms;
    transition:        color 250ms;
}

.kontaktbox.hide i.close:hover {
    color: #008cd2;
   /*-moz-transform-origin: 50% 50%;
   -ms-transform-origin: 50% 50%;
   -o-transform-origin: 50% 50%;
   -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;

   -moz-transform: rotate(-180deg);
   -ms-transform: rotate(-180deg);
   -o-transform: rotate(-180deg);
   -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);*/
}

.kontaktbox fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}


.kontaktbox label {
    display: block;
    margin-bottom: 5px;
}


input, textarea {
    margin: 0 0 20px 0;
    padding: 12px;
    width: 100%;
    color: #444;
    background-color: #fbfbfb;
    border: 1px solid gainsboro;
    height: 2.7em;
    border-radius: 0;

   /*-moz-box-shadow: inset 0px 0px 3px rgba(0,0,0,.1);
   -webkit-box-shadow: inset 0px 0px 3px rgba(0,0,0,.1);
    box-shadow: inset 0px 0px 3px rgba(0,0,0,.1);*/

   -webkit-transition: all 400ms;
   -moz-transition:    all 400ms;
   -o-transition:      all 400ms;
   -ms-transition:     all 400ms;
    transition:        all 400ms;
}


textarea {
    margin: 0 0 10px 0;
    height: 7em;
}


input:focus, textarea:focus {
    /*color: #222;*/
    background-color: white;
   -moz-box-shadow: inset 0px 0px 4px rgba(0,0,0,.2);
   -webkit-box-shadow: inset 0px 0px 4px rgba(0,0,0,.2);
    box-shadow: inset 0px 0px 4px rgba(0,0,0,.2);
}


textarea:focus {
    /*height: 14.4em;*/
}


#senden {
    width: auto;
    float: right;
    color: #222;
    text-align: center;
    padding: 10px 30px;
    height: auto;
    border: 1px solid #ccc;
    margin: 20px 0 0 0; /* 20px 0 10px 0 */
   /*-moz-box-shadow: none;
   -webkit-box-shadow: none;
    box-shadow: none;*/
   -moz-box-shadow: 0px 0px 4px rgba(0,0,0,.1);
   -webkit-box-shadow: 0px 0px 4px rgba(0,0,0,.1);
    box-shadow: 0px 0px 4px rgba(0,0,0,.1);
    background-color: #f4f4f1; /* Hintergrundfarbe der Angebote */
    border-radius: 2px;
}


#senden:hover, #senden:active {
    cursor: pointer;
    border: 1px solid #bbb;
   -moz-box-shadow: 0px 0px 4px rgba(0,0,0,.1);
   -webkit-box-shadow: 0px 0px 4px rgba(0,0,0,.1);
    box-shadow: 0px 0px 4px rgba(0,0,0,.1);
    background-color: #d0ebff;
    color: black;
}


#senden, .formbuttons, .formbuttons:hover {
   -moz-transition: all .2s ease;
     -o-transition: all .2s ease;
    -ms-transition: all .2s ease;
        transition: all .2s ease;
}


iframe#googlemap {
    margin-top: 15px;
    /*padding-left: 25px;*/
    width: 100%;
    height: 400px;
    border: 0;
}


/* --------------------------------------------------------------------------------------- */



    @media screen and (max-width: 700px) {

        #senden {
            width: 100%;
            float: left;
            padding: 20px 30px;
        }

        input, textarea {
            background-color: white;
            border: 1px solid #ccc;
        }

        input:focus, textarea:focus {
            background-color: white;
        }

        iframe#googlemap {
            /*width: 100%;*/
            /*padding-right: 25px;*/
        }

    }


/* ####################################################################################### */


.drinks-selection-list-wrapper {
    position: relative;
    z-index: 10;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
}

/* &lsaquo; optisch ausgleichen */
.drinks-selection-list-wrapper > h3 {
    transform: translateY(-3px);
}

.drinks-selection-list-wrapper > h3 > a {
    font-size: 44px;
    font-weight: 300;
    padding: 0 20px 0 0;
    border: none;
}

/* Getränkekarte-Überschrift */
.drinks-selection-list-wrapper > h2 {
    padding: 24px 0;
}

.drinks-selection-list,
.drinks-selection-list > li,
.drinks-selection-list > li::before {
    all: unset;
}

.drinks-selection-list {
    width: 100%;
    position: absolute;
    right: 0;
    top: calc(100% - 10px);
    column-count: 2;
    column-width: 50%;
    column-gap: 0;
    display: none;
}

.drinks-selection-list > li {
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid;
    display: block;
}

.drinks-selection-list > li > a {
    display: block;
    font-family: 'Rye', cursive;
    font-weight: normal;
    font-size: 16px;
    padding: 16px 10px;
    line-height: normal;
    /* hyphens: auto; */
}

.fa.fa-bars {
    font-size: 26px;
    padding: 20px;
    cursor: pointer;
}

.fa.fa-bars:hover,
.fa.fa-bars:hover * {
    background: #5c000a;
    color: white;
}

.fa.fa-bars:hover .drinks-selection-list {
    display: block;
}









/* v1 */
.theme-switch-wrapper {
    position: relative;
    margin: 30px 0 0 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.theme-switch-wrapper em {
    margin-left: 10px;
    font-size: 1rem;
    font-style: normal;
}

.theme-switch {
    display: inline-block;
    height: 34px;
    position: relative;
    width: 60px;
}

.theme-switch input {
    display: none;
}

.slider {
    background-color: #ccc;
    bottom: 0;
    cursor: pointer;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: .4s;
}

.slider:before {
    background-color: #fff;
    bottom: 4px;
    content: '';
    height: 26px;
    left: 4px;
    position: absolute;
    transition: .4s;
    width: 26px;
}

input:checked + .slider {
    background-color: #66bb6a;
}

input:checked + .slider:before {
    transform: translateX(26px);
}

.slider.round {
    border-radius: 34px;
}

.slider.round:before {
    border-radius: 50%;
}





/* v2 */
/* Dark Mode Switch */
.theme-switch-wrapper label {
    position: absolute;
    right: 20px;
    top: 50%;
    --c: translate(-50%, -50%);
    transform: var(--c);
  }
  
  .theme-switch-wrapper .switch {
    position: relative;
    right: -18px;
    top: 0;
    width: 30px;
    height: 30px;
    /* margin-top: 40px; */
  }
  
  .theme-switch-wrapper label > input {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 5;
    opacity: 0;
    width: 100%;
    height: 100%;
  }
  
  .theme-switch-wrapper .switch span {
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: var(--c);
    border-radius: 50%;
    width: 70%;
    height: 70%;
    background: #ffac33;
    /* border: 5px solid white; */
    transition: all ease 0.15s;
  }
  
  .theme-switch-wrapper .switch div {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }
  
  .theme-switch-wrapper .switch div::before,
  .theme-switch-wrapper .switch div::after {
    content: " ";
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: var(--c);
    background: #ffac33;
    width: 12%;
    height: 130%;
    border-radius: 10px;
    transition: all ease 0.15s;
  }
  
  .theme-switch-wrapper .switch div:nth-child(1)::before {
    transform: var(--c) rotate(0deg);
  }
  
  .theme-switch-wrapper .switch div:nth-child(1)::after {
    transform: var(--c) rotate(45deg); /* 45deg increment each time */
  }
  
  .theme-switch-wrapper .switch div:nth-child(2)::before {
    transform: var(--c) rotate(90deg);
  }
  
  .theme-switch-wrapper .switch div:nth-child(2)::after {
    transform: var(--c) rotate(135deg);
  }
  
  .theme-switch-wrapper .switch::before,
  .theme-switch-wrapper .switch::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: var(--c);
    border-radius: 50%;
    background: white;
    transition: all ease 0.15s;
  }
  
  .theme-switch-wrapper .switch::before {
      width: 0%;
      height: 0%;
      z-index: 10;
      background: black;
  }
  
  .theme-switch-wrapper .switch::after {
    width: 50%;
    height: 50%;
  }
  
  .theme-switch-wrapper input:checked ~ .switch span {
    width: 100%; /* width change */
    height: 100%; /* height change */
    background: hsl(204, 11%, 65%); /* color change */
    /* get a full moon */
  }
  
  .theme-switch-wrapper input:checked ~ .switch div::before,
  .theme-switch-wrapper input:checked ~ .switch div::after {
    height: 50%; /* hide the sun-rays*/
  }
  
  .theme-switch-wrapper input:checked ~ .switch::before {
    /* draw a white circle a left-top corner to show a half moon */
    left: 30%;
    top: 30%;
    width: 90%;
    height: 90%;
  }
  
  .theme-switch-wrapper input:checked ~ .switch::after {
    /* hide the sun outline */
    width: 0%;
    height: 0%;
  }
  
  .theme-switch-wrapper input:not(:checked) ~ .switch {
    transform: rotate(180deg);
    transition: all ease 2.15s 0.1s;
  }