*,
*::before, 
*::after {
    box-sizing: border-box;
}

html {
    /*smooth scrolling*/
    scroll-behavior: smooth;
}

body {
    font-family: 'Poppins', sans-serif;
    /*font-family: 'Roboto Slab', serif;*/

    margin: 0;
    font-size: 1.25rem;
    /*font-size: 35pt;*/

}

:root {
    --prussian-blue: #1B2F43;
    --gold: #c9ab81;
    --rose-vale: #A74646;
    --liver-chestnut: #9C7C57;

    --btn-bg-color: var(--prussian-blue);
    --btn-txt-color: var(--gold);
}

/* ----------------- VARIABLEN ----------------- */


.bg-prussian-blue {
    background-color: var(--prussian-blue);
}

h1.navbar-brand {
    margin: 0;
    font-size: 1.5rem;
}

.btn {
    font-size: 1.25rem;
    width: 15rem;
    display: block;
}
.btn.focus, .btn:focus {
    box-shadow: 0 0 0 .2rem rgba(27, 47, 67, .25);
}

h2 {
    text-align: center;
    color: var(--prussian-blue);
}

p {
    font-family: 'Roboto Slab', serif;
}

a {
    user-select: none;
}



/*-----------------eigene allgemeine Klassen*/
/*Linkfarbe*/
.lk-white,
.navbar-dark .nav-item .lk-white {
    color: white;
}

.lk-white:hover,
.lk-white.lk-active,
.navbar-dark .nav-item .lk-white:hover,
.navbar-dark .lk-white:hover,
.navbar-dark .nav-item .lk-white.lk-active {
    color: #C9AB81;
}

.navbar-dark .nav-item .lk-white {
    opacity: .75;
}

.navbar-dark .nav-item .lk-white:hover,
.navbar-dark .nav-item .lk-white.lk-active {
    opacity: 1;
}

.m-2rem {
    margin: 2rem;
}

.mt-6 {
    margin-top: 4rem;
}

.mt-7 {
    margin-top: 7rem;
}

/*-----------------button color*/
.btn-prussian-blue,
a:not([href]).btn-prussian-blue {
    background-color: var(--btn-bg-color);
    color: var(--btn-txt-color);
    border: none;
}

.btn-prussian-blue:hover,
a:not([href]).btn-prussian-blue:hover {
    background-color: var(--btn-txt-color);
    color: var(--btn-bg-color);
    border: none;
}

.bg-white_beige {
    background-color: white;
}

.bg-white_beige:hover {
    background-color: var(--gold);
    ;
}

/*-----------------burger menu*/
.burger {
    width: 30px;
    height: 23px;
    position: relative;
    margin: 0px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    cursor: pointer;
    border: none;
}

.burger-line {
    display: block;
    position: absolute;
    height: 3px;
    width: 100%;
    border-radius: 1px;
    opacity: 1;
    left: 0;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
}

.burger-line:nth-child(1) {
    top: 0px;
}

.burger-line:nth-child(2) {
    top: 10px;
    width: 80%;
    margin-left: 10%;
}

.burger-line:nth-child(3) {
    top: 20px;
}

.burger.open div:nth-child(1) {
    top: 11px;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    transform: rotate(135deg);
}

.burger.open div:nth-child(2) {
    opacity: 0;
    left: -30px;
}

.burger.open div:nth-child(3) {
    top: 11px;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    -o-transform: rotate(-135deg);
    transform: rotate(-135deg);
}

/*geschlossener Burger:*/
.burger:hover .bg-white_beige {
    background-color: var(--gold);
}

/*---------Navigation*/
.nav-link {
    text-align: center;
}



.nav-placeholder>div {
    height: 62px;
    background-color: #1B2F43;
}



/*-----------------------------------------------------------------------hero image--------------*/
.hero-image {
    /* Use "linear-gradient" to add a darken background effect to the image (photographer.jpg). This will make the text easier to read */
    background-image: url("../img/fotos/hero.jpg");

    /* Set a specific height */
    height: calc(100vh - 62px);

    /* Position and center the image to scale nicely on all screens */
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.menu .hero-image {
    height: calc(50vh - 62px);
}

.hero-image-blurred {
    background-image: url("../img/fotos/hero-blurred.jpg");
}

/* Place text in the middle of the image */
.hero-text {
    text-align: center;
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
}

/*-----------------------------------------------------------------------ueber uns short--------------*/
#ueberUnsShort p {
    text-align: center;
    max-width: 50rem;
}

/*-----------------------------------------------------------------------hero image--------------*/
.zweiBilder .hero-image {
    /* Use "linear-gradient" to add a darken background effect to the image (photographer.jpg). This will make the text easier to read */
    background-image: url("../img/fotos/bar.jpg");
    /* Set a specific height */
    height: 25vw;
    min-height: 15rem;
    width: 50vw;
}

.zweiBilder .hero-image:last-child {
    background-image: url("../img/fotos/coffee.jpg");
}

/*-----------------------------------------------------------------------bilderGalerie--------------*/
.carousel-item {
    opacity: 1;
    transition: opacity .6s ease-in-out, -webkit-opacity .6s ease-in-out;
    z-index: 1;
}

.carousel-item img {
    width: 75%;
    margin-left: 12.5%;
}

.carousel-indicators li {
    width: 2.5vw;
    max-width: 20px;
    max-height: 20px;
    height: 2.5vw;
    border-radius: 50%;
    opacity: .75;
    margin: 0 .5vw;
    border: none;
    transition: 0.3s;
}

.carousel-indicators li:hover {
    background-color: #1B2F43;
    opacity: 1;
}

.carousel-indicators .active {
    background-color: #1B2F43;
}

.carousel-indicators {
    order: 1;
    position: relative;
    bottom: 80%;
}

.bilderCarouselOuter {
    height: calc(75vw*0.796);
}

/*.inner-border {
    border: 20px solid black;
    box-shadow: inset 0px 0px 0px 5px red;
    box-sizing: border-box; /* Include padding and border in element's width and height */

.galerieBG {
    background-color: #C9AB81;
    width: 100%;
    height: calc(75vw*0.6667);
    position: relative;
    top: -66%;
}

.carousel-control-next,
.carousel-control-prev {
    top: 36%;
    height: 10%;
    margin: 0 1rem;
    width: 10%;
    opacity: .75;
}

.carousel-control-next:hover,
.carousel-control-prev:hover {
    opacity: 1;
}

.carousel-control-next-icon,
.carousel-control-prev-icon {
    width: 30px;
    transition: 0.3s;
}

.carousel-control-next:hover .carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%231b2f43' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e");
}

.carousel-control-prev:hover .carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%231b2f43' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e");
}

svg {
    width: 60px;
    height: auto;
    margin: 0.3rem 0.5rem;
    fill: #1B2F43;
    cursor: pointer;
}

svg:hover {
    fill: #C9AB81;
    ;
}

#bilderGalerie .text {
    width: 75%;
}

#bilderGalerie p {
    text-align: center;
}

#bilderGalerie .justify-content-between {
    justify-content: space-around !important;
}

@media (min-width: 768px) {
    #bilderGalerie p {
        text-align: left;
    }
}

/*------------------------------------------------------kontakt---------*/
#kontakt img {
    width: 100%;
    height: auto;
}

#kontakt p {
    font-family: 'Poppins', sans-serif;
    color: #1B2F43;
    text-align: center;
}

#kontakt span {
    font-size: 1.15rem;
    color: #C9AB81;
}

#kontakt .googleMap {
    width: 48.5%;
}

#kontakt .row div:not(.googleMap) {
    width: 25%;
}

@media (max-width: 991px) {
    #kontakt .justify-content-between {
        justify-content: space-around !important;
    }

    #kontakt .row,
    #kontakt .row div {
        display: block;
        width: 100%;
        margin: 0;
    }

    #kontakt .googleMap {
        margin: 0 -98px;
    }

    #kontakt .row div:not(.googleMap) {
        width: 100%;
    }

    #kontakt .row>div:last-child {
        margin-top: 1.5rem;
    }
}


.dreiBilder .hero-image {
    /* Use "linear-gradient" to add a darken background effect to the image (photographer.jpg). This will make the text easier to read */
    background-image: url("../img/fotos/bar.jpg");
    /* Set a specific height */
    height: 15vw;
    min-height: 7.5rem;
    width: calc(100%/3);
}

.dreiBilder .hero-image:nth-child(2) {
    background-image: url("../img/fotos/coffee.jpg");
}

.dreiBilder .hero-image:last-child {
    background-image: url("../img/fotos/hero.jpg");
}

footer {
    width: 100%;
    padding: 1.5rem 1rem;
    font-size: 12pt;
    line-height: 12pt;
    color: white;
}

footer a:hover {
    text-decoration: none;
}

footer.row {
    margin: 0;
}

footer p {
    margin: 0;
    user-select: none;
}



/* Speisekarte --------------------------------------- */
#menu-top .hero-text {
    width: 100%;

    /* komplette Filterleiste */
    --menu-filter-hight: 20vh;
    height: var(--menu-filter-hight);
    min-height: 100px;
    max-height: 160px;

    /* OBERER Teil Filterleiste */
    --filter-auswahl-hight: 72%;

    top: 55%;
    left: 0;
    transform: none;
}

/* OBERER Teil Filterleiste */
#filter-auswahl {
    height: var(--filter-auswahl-hight);
    background-color: #C9AB81dd;
    margin: 0;
    flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;

    /*-ms-overflow-style: none;
    scrollbar-width: 2px;*/
}

@media (min-width: 1338px) {
    #filter-auswahl {
        padding-left: calc( (100vw - (((20vh * 0.72) + 16px )* 14)) / 2);
    }
}


/* % horizontal Scrollbar */
/* +% Chrome, Safari, Opera */
#filter-auswahl::-webkit-scrollbar {
    height: 12px;
}
#filter-auswahl::-webkit-scrollbar-thumb {
    background: #1B2F43bb;
    border: #C9AB81 solid 2px;
    border-radius: 5px;
    
}
#filter-auswahl::-webkit-scrollbar-thumb:hover {
    background: #1B2F43;
    border-width: 1px;
    border-radius: 6px;
}
/* +% Chrome, Safari, Opera */
#filter-auswahl {
    scrollbar-color: #1B2F43bb #C9AB8100;
    scrollbar-width: thin;
    scrollbar-highlight-color: #1B2F43;
}
/* % ENDE */


.filter {
    cursor: pointer;
    width: calc( 20vh * 0.72);
    min-width: calc(79.6px + 16px);
    height: 100%;
    margin: 0;
    padding: 0.5rem;
    display: block;
    margin: auto 0;
    flex: 0 0 auto;

    /* var: VARIABLEN für Filter-Icons*/
    --filter-icon-inside: #fff;
    --filter-icon-outside: #1B2F43;

    --filter-icon-inside-hover: #1B2F43;
    --filter-icon-outside-hover: #9C7C57;

    --filter-icon-inside-active: #fff;
    --filter-icon-outside-active: #9C7C57;

    --filter-icon-inside-active-hover: #1B2F43;
    --filter-icon-outside-active-hover: #fff;
    
}

/* § Filter ICONS -------------------------------- */
.filter svg {
    /* var: Größe der Icons */
    --icon-height: 75%;

    margin: 0;
    height: var(--icon-height);
    width: auto;
}
/* +§ FARBEN:    normal Icons */
.cls-1 {
    fill: var(--filter-icon-outside);
}
.cls-2 {
    fill: var(--filter-icon-inside);
}
/* +§ FARBEN:    hover Icons */
.filter:hover .cls-1,
.filter:hover h4 {
    fill: var(--filter-icon-outside-hover);
    color: var(--filter-icon-outside-hover);
}
.filter:hover .cls-2 {
    fill: var(--filter-icon-inside-hover);
}
/* +§ FARBEN:    active Icons */
.move-filter .cls-1 {
    fill: var(--filter-icon-outside-active);
}
.move-filter .cls-2 {
    fill: var(--filter-icon-inside-active);
}
/* +§ FARBEN:    active hover Icons */
.move-filter:hover .cls-1 {
    fill: var(--filter-icon-outside-active-hover);
}
.move-filter:hover .cls-2 {
    fill: var(--filter-icon-inside-active-hover);
}
/* § ENDE */


#filter-gewaehlt {
    width: 100%;
    height: calc(100% - var(--filter-auswahl-hight));
    background-color: #1B2F43cc;
    margin: 0;
    padding: 0 0.5rem;
}

.filter h4 {
    --filter-h4-font-size: 12pt;
    font-size: var(--filter-h4-font-size);
    line-height: var(--filter-h4-font-size);
    margin: 0;

    color: var(--prussian-blue);
    user-select: none;

    display: block;
    margin-top: auto;
}

#filter-gewaehlt h3 {
    --filter-h3-font-size: 16pt;
    font-size: var(--filter-h3-font-size);
    line-height: var(--filter-h3-font-size);
    margin: auto 12px auto 0;
    display: block;
}

/* angepasstes margin zwischen Name und Icon nach Höhe des Bereichs */
/* angepasste Größe des "rausgefiltert:" */
@media (max-height: 700px) {
    .filter h4 {
        font-size: 11pt;
    }
    #filter-gewaehlt h3 {
        font-size: 14pt;
    }
}
@media (max-height: 550px) {
    .filter h4 {
        font-size: 10pt;
    }
    #filter-gewaehlt h3 {
        font-size: 13pt;
    }
}



/* % gewählte Filter */
.move-filter {
    height: 100%;
    padding: 0;
    margin: 0 0 0 0.7rem;
    min-width: 27.98px;
    width: calc(20vh * 0.28);
}

.move-filter svg {
    height: 100%;
    margin: 0;
    vertical-align: top;
    padding: 0.2rem;
}

.move-filter h4 {
    display: none;
}



/* ! Speisen-Karten --------------------------------------- */
/* Karte (groß) */
    /* Karten werden durch .container zentriert & bekommen Abstand zu Rand */
#speisen>.container {
    /* Karten hören auf zu skalieren: */
    max-width: 1800px;
}

/* Überschrift der Speisenarten (Vorspeise etc.) */
#speisen h3 {
    text-align: center;
    color: var(--prussian-blue);
}

/* Text und Bild nebeneinander */
#speisen .row {
    margin: 0;
    flex-wrap: nowrap;
}

#speisen>.container>.row {
    flex-wrap: wrap;
}

/* Karten-Layout */
.speise-card {
    position: relative;
    /* Rand unter Bild */
    padding-bottom: 1rem;
    width: 48%;
    height: 15rem;
}
/* farbiger Teil der Karte */
.speise-card::after {
    content: "";
    width: 100%;
    height: 48%;
    bottom: 0;
    left: 0;
    background-color: var(--gold);
    position: absolute;
    z-index: -1;
}
.speise-card > .row {
    width: 100%;
    height: 100%;
}

/* Bild */
.speise-card-image {
    width: 45%;
    height: 100%;
}
/* "Background-Image" */
.speise-card img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

/* § Text */
.speise-card-text {
    width: 55%;
    height: 100%;
}
/* +§ Speisen-Name */
#speisen h5 {
    color: var(--gold);
    font-size: 1.5rem;
}
/* +§ Speisen-Beschreibung */
#speisen p {
    font-size: 1.15rem;
}
/* +§ Speisen-Preis */
#speisen h6 {
    color: var(--gold);
    font-size: 1.25rem;
    line-height: 1.25rem;
    text-align: right;
    position: absolute;
    bottom: 7rem;
    right: 1rem;
}

/* § Button */
#speisen .btn {
    width: 29%;
    min-width: 118px;
}
.btn-bestellen:hover {
    background-color: #9C7C57;
}
/* +§ button position */
.btn-bestellen {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
}


/* § filter-tag-container */
.filter-tags {
    position: absolute;
    left: calc(50% * 0.92);
    top: 8.5rem;
    width: 22.8%;
    flex-wrap: wrap!important; 
}
.filter-tags>div:not(.flex-break) {
    display: flex;
    flex-wrap: wrap!important; 
}

/* § filter-tags in menu */
/* var: filter farben */
:root {
        /* var: notwendig */
        --flt-nwd-aussen: var(--prussian-blue);
        --flt-nwd-innen: #fff;
        /* var: austauschbar */
        --flt-atb-aussen: var(--rose-vale);
        --flt-atb-innen: #fff;
}
.flt-tag {
    height: 2.5rem;
    width: 2.5rem;
    margin: 0 0.5rem 0.5rem 0;
}
/* +§ notwendig */
.flt-nwd .cls-1, .flt-nwd .flt-tag:hover .cls-2 {
    fill: var(--flt-nwd-aussen);
}
.flt-nwd .cls-2, .flt-nwd .flt-tag:hover .cls-1 {
    fill: var(--flt-nwd-innen);
}
/* +§ austauschbar */
.flt-atb .cls-1, .flt-atb .flt-tag:hover .cls-2 {
    fill: var(--rose-vale);
}
.flt-atb .cls-2, .flt-atb .flt-tag:hover .cls-1 {
    fill: var(--flt-atb-innen);
}

/* § break in flex */
.flex-break {
    flex-basis: 100%;
    height: 0;
}

/* § tooltips */
.flt-tooltip {
    display: none;
    position: absolute;
    color: white;
    text-align: center;
    font-size: 7pt;
    line-height: 9pt;
    padding: 0.25rem;
    width: 120px;
}
/* +§ name des filters */
.flt-tooltip span {
    font-size: 9pt;
    line-height: 10pt;
    display: block;
    margin-bottom: 0.2rem;
}
/* +§ positions */
    /* +§ höhe */
.flt-row-bottom .flt-tooltip {
    top: 5.75rem;
}
.flt-row-top .flt-tooltip{
    top: -1.55rem;
}
    /* +§ breite */
.flt-tooltip {
    left: -2.6rem;
}
.flt-row-bottom>div:nth-child(2) .flt-tooltip, .flt-row-top>div:nth-child(2) .flt-tooltip {
    left: 0.5rem;
}
.flt-row-bottom>div:nth-child(3) .flt-tooltip, .flt-row-top>div:nth-child(3) .flt-tooltip {
    left: 3.6rem;
}


/* § Tooltip bei oberer Reihe */
.flt-row-top .flt-atb .flt-tooltip {
    top: -3.25rem;
}


/* +§ notwendige filter - kein margin */
.flt-nwd .flt-tooltip span {
    margin: 0;
}
/* +§ farben der tooltips */
.flt-atb .flt-tooltip {
    background-color: var(--rose-vale);
}
.flt-nwd .flt-tooltip {
    background-color: var(--prussian-blue);
}

/* +§ zeigen der tooltips bei hover */
.flt-tag:hover + .flt-tooltip {
    display: block;
}

.flt-hide-rind, 
.flt-hide-schwein, 
.flt-hide-milch,
.flt-hide-gluten,
.flt-hide-ei,
.flt-hide-fisch,
.flt-hide-sellerie,
.flt-hide-alkohol,
.flt-hide-nuss,
.flt-hide-schalentier,
.flt-hide-soja,
.flt-hide-steinobst {
    display: none;
}


/* ! Liste der Speisen untereinander*/
@media (max-width: 1499px){

    #speisen>.container {
        /* Karten hören auf zu skalieren: */
        max-width: 1200px;
    }

    #speisen>.container>.row {
        /* Karten hören auf zu skalieren: */
        display: block;
    }

    /* Karten-Layout */
    .speise-card {
        width: 100%;
        height: 8rem;
    }
    /* farbiger Teil der Karte */
    .speise-card::after {
        height: 37.5%;
    }

    /* Bild */
    .speise-card-image {
        width: 17.5%;
        min-width: 160px;
    }

    /* § Text */
    .speise-card-text {
        width: 57.5%;
        margin-right: calc(20% + 2rem) !important;
    }
    /* +§ Speisen-Name */
    #speisen h5 {
        line-height: 1.5rem;
    }
    /* +§ Speisen-Beschreibung */
    #speisen p {
        line-height: 1.35rem;
        margin: 0;
        max-height: 44px;
        overflow: hidden;
    }
    /* +§ Speisen-Preis */
    #speisen h6 {
        bottom: 4rem;
        right: 1.2rem;
    }
    #speisen h5 {
        margin-bottom: .25rem;
        margin-right: calc(-40%);
    }

    #speisen .btn {
        width: 22%;
        line-height: 25pt;
        border-radius: 5pt;
    }

    .btn-bestellen {
        bottom: 1.2rem;
    }

    .filter-tags {
        top: 5.2rem;
        left: calc(17.5% + 1rem);
        flex-wrap: nowrap !important;
    }

    .filter-tags > div:not(.flex-break) {
        flex-wrap: nowrap !important;
    }

    /* kein break */
    .flex-break {
        display: none;
    }

    /* +§ positions */
    /* +§ höhe */
    .flt-row-top .flt-tooltip, .flt-row-bottom .flt-tooltip{
        top: 2.75rem;
    }

    :root {
        --nml-tooltip-position: -2.5rem;
    }

        /* +§ breite */
    .flt-tooltip {
        left: var(--nml-tooltip-position);
    }
    .flt-pos-2 .flt-tooltip {
        left: calc(-2.5rem + 48px);
    }
    .flt-pos-3 .flt-tooltip {
        left: calc(-2.5rem + 96px)!important;
    }
    .flt-pos-4 .flt-tooltip {
        left: calc(-2.5rem + 144px)!important;
    }
    .flt-pos-5 .flt-tooltip {
        left: calc(-2.5rem + 192px)!important;
    }
    .flt-pos-6 .flt-tooltip {
        left: calc(-2.5rem + 240px)!important;
    }

}

@media (max-width: 1008px){
    .filter-tags {
        left: calc(160px + 1rem);
    }
}

@media (max-width: 715px) {
    .speise-card {
        padding-bottom: 0.5rem;
        height: 7.5rem;
    }
    .speise-card::after {
        height: 31%;
    }
    .flt-tag {
        height: 1.8rem;
        width: 1.8rem;
    }
    .filter-tags {
        top: 5.42rem;
    }

    #speisen .btn {
        width: 10%;
        line-height: 15pt;
        font-size: 10pt;
        min-width: 90px;
        bottom: 0.8rem;
    }
    #speisen p {
        font-size: 0.85rem;
        line-height: 0.95rem;
    }

    #speisen h5 {
        font-size: 1.2rem;
        line-height: 1.2rem;
        margin-bottom: .25rem;
    }

    #speisen h6 {
        font-size: 1.1rem;
        bottom: 2.8rem;
    }

    .flt-tooltip {
        font-size: 6pt;
        line-height: 7pt;
        width: 100px;
    }
    .flt-tooltip span {
        font-size: 8pt;
        line-height: 10pt;
        margin-bottom: 0rem;
    }

    .flt-row-top .flt-tooltip, .flt-row-bottom .flt-tooltip {
        top: 2.05rem;
    }

    .flt-pos-1 .flt-tooltip {
        left: calc(-2.2rem);
    }
    .flt-pos-2 .flt-tooltip {
        left: calc(-2.2rem + 36.8px);
    }
    .flt-pos-3 .flt-tooltip {
        left: calc(-2.2rem + 36.8px*2) !important;
    }
    .flt-pos-4 .flt-tooltip {
        left: calc(-2.2rem + 36.8px*3) !important;
    }
    .flt-pos-5 .flt-tooltip {
        left: calc(-2.2rem + 36.8px*4) !important;
    }
    .flt-pos-6 .flt-tooltip {
        left: calc(-2.2rem + 36.8px*5) !important;
    }
}

/* portable */
@media (max-width: 619px) {
    .speise-card {
        padding-bottom: 0;
    }

    .speise-card::after {
        height: 100%;
        width: 120px;
    }

    #speisen p {
        width: 160%;
        margin-top: 0.3rem;
    }

    #speisen .btn {
        width: 20%;
        min-width: 120px;
        bottom: 0.5rem;
        left: 11rem;
        line-height: 12pt;
    }

    #speisen h6 {
        bottom: 0.2rem;
        right: 0rem;
    }

    .filter-tags {
        display: none;
    }

    .m-2rem {
        margin: 0;
    }

    .mt-5 {
        margin-top: 25px!important;
    }

    #speisen .row {
        gap: 5%;
    }

    .speise-card-image {
        width: 25%;
        min-width: 0;
    }

    .speise-card-text {
        width: 70%;
    }

    .container {
        margin-right: 15px;
        margin-left: 15px;
        padding: 0;
        width: calc(100% - 30px);
    }

    #speisen > .container > .row,
    #speisen > .container > .row > .speise-card {
        width: 100%;
    }

    #speisen > .container > .row > .speise-card > .row > * {
        margin: 0 !important;
        padding: 0 !important;
    }

    .speise-card::after {
        height: 100%;
        width: 27.5%;
    }

    #speisen .btn {
        left: 30%;
    }

    #speisen .speise-card h5,
    #speisen .speise-card p {
        width: 100%;
    }
}






/* -------------- IMPRESSUM --------------- */
#impressum p {
    display: block;
    margin: 0 10rem !important;
}
@media (min-width: 760px) {
    #impressum p {
        width: 410px;
        margin: 0 auto;
    }
}

