@font-face {
    font-display: swap;
    font-family: "Roboto";
    font-style: normal;
    font-weight: 100;
    src: url("../assets/fonts/roboto-v30-latin-100.woff2") format("woff2");
}

@font-face {
    font-display: swap;
    font-family: "Roboto";
    font-style: normal;
    font-weight: 300;
    src: url("../assets/fonts/roboto-v30-latin-300.woff2") format("woff2");
}

@font-face {
    font-display: swap;
    font-family: "Roboto";
    font-style: normal;
    font-weight: 400;
    src: url("../assets/fonts/roboto-v30-latin-regular.woff2") format("woff2");
}

@font-face {
    font-display: swap;
    font-family: "Roboto";
    font-style: normal;
    font-weight: 500;
    src: url("../assets/fonts/roboto-v30-latin-500.woff2") format("woff2");
}

@font-face {
    font-display: swap;
    font-family: "Roboto";
    font-style: normal;
    font-weight: 700;
    src: url("../assets/fonts/roboto-v30-latin-700.woff2") format("woff2");
}

@font-face {
    font-display: swap;
    font-family: "Roboto";
    font-style: normal;
    font-weight: 900;
    src: url("../assets/fonts/roboto-v30-latin-900.woff2") format("woff2");
}

@font-face {
    font-display: swap;
    font-family: "Sedgwick Ave";
    font-style: normal;
    font-weight: 400;
    src: url("../assets/fonts/sedgwick-ave-v12-latin-regular.woff2") format("woff2");
}

:root {
    --light-color: #fff;
    --dark-color: #001e3c;
    --alert-color: #c90713;
    --accent-color: #ff8000;
    --ny-color: #686868;

    --blur-back: blur(0.75rem);

    --bar-width: 1.5rem;
    --bar-height: 0.25rem;
    --hamburger-gap: 0.25rem;
    --hamburger-height: calc(var(--bar-height) * 3 + var(--hamburger-gap) * 2);
    --animation-timing: 200ms ease-in-out;

    --nav-height: 3.125rem;

    --section-seperator: 0.5rem;

    --ff-heading: "Sedgwick Ave", cursive;
    --ff-paragraph: "Roboto", sans-serif;
}

@media (min-width: 65rem) {
    :root {
        --nav-height: 6.25rem;

        --section-seperator: 0.75rem;
    }
}

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-family: var(--ff-paragraph);
    font-size: 100%;
    scroll-behavior: smooth;
}

body {
    background-color: black;
    color: var(--light-color);
}

button {
    font-size: 100%;
    cursor: pointer;
}

img {
    max-width: 100%;
}

header,
section,
footer {
    --_side-pad: 1.5rem;

    position: relative;

    display: grid;
    grid-template-columns: minmax(var(--_side-pad), auto) minmax(auto, 75rem) minmax(var(--_side-pad), auto);

    scroll-margin-top: var(--nav-height);

    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom;
}

section:first-of-type {
    margin-top: var(--nav-height);
}

section::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;

    width: 100%;
    height: var(--section-seperator);

    background-color: #000;
    z-index: 1;
}

@media (min-width: 48rem) {
    header,
    section,
    footer {
        --_side-pad: 2.5rem;
    }
}

@media (min-width: 65rem) {
    header,
    section,
    footer {
        --_side-pad: 4rem;
    }
}

.container {
    grid-column: 2 / 3;

    padding-top: 1.5rem;
    padding-bottom: calc(1.5rem + var(--section-seperator));
}

@media (min-width: 48rem) {
    .container {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
}

@media (min-width: 65rem) {
    .container {
        gap: 2rem;
        padding-top: 2rem;
        padding-bottom: calc(2rem + var(--section-seperator));
    }
}

/* --------------------------------------------------------------------------------------
	typo
-------------------------------------------------------------------------------------- */
h1 {
    font-family: var(--ff-paragraph);
    font-size: clamp(1.75rem, 1.14rem + 2.86vw, 3rem);
    font-weight: 900;
    line-height: 1.2;
    text-transform: uppercase;
    border-bottom: 2px solid var(--dark-color);
}

h2 {
    font-family: var(--ff-heading);
    font-size: clamp(1.75rem, 1.14rem + 2.86vw, 3rem);
    line-height: 1.2;
}

h3 {
    font-size: clamp(1rem, 0.76rem + 1.14vw, 1.5rem);
    line-height: 1.2;
}

h4 {
    font-size: clamp(0.875rem, 0.75rem + 0.57vw, 1.125rem);
    line-height: 1.2;
}

p {
    font-size: clamp(1rem, 0.88rem + 0.57vw, 1.25rem);
    line-height: 1.4;
}

li {
    line-height: 1.5;
}

a {
    color: inherit;
}

a:hover {
    text-decoration: none;
    border-bottom: 1px solid inherit;
}

.info {
    font-size: clamp(0.5rem, 0.44rem + 0.29vw, 0.625rem);
}

.info-med {
    font-size: clamp(0.75rem, 0.62rem + 0.59vw, 1rem);
}

.info .allergens {
    font-size: clamp(0.375rem, 0.31rem + 0.29vw, 0.5rem);
}

.normal {
    font-weight: 400;
}

.bold {
    font-weight: 700;
}

.underline {
    text-decoration: underline;
}

.signature {
    font-family: var(--ff-heading);
    font-size: clamp(1rem, 0.76rem + 1.14vw, 1.5rem);
}

/* --------------------------------------------------------------------------------------
  buttons / signs
-------------------------------------------------------------------------------------- */
.btn {
    padding: 0.75em;
    background-color: var(--dark-color);
}

.btn_reserve-now {
    align-self: center;

    width: 100%;

    font-size: clamp(1.5rem, 1.26rem + 1.14vw, 2rem);
    font-weight: 700;
    line-height: 1.2;
    color: var(--light-color);
    text-decoration: none;
    text-align: center;

    border-radius: 0.25em;
}

.btn-white-2row {
    color: var(--light-color);
    background-color: black;
    border: 2px solid var(--light-color);
}

.reservision-start {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.reservision-start > div {
    align-self: center;

    width: 100%;

    border-radius: 0.25em !important;

    font-size: 1.5rem;
    font-weight: 700;
    color: var(--light-color);
    text-decoration: none;
    text-align: center;

    background-color: var(--dark-color) !important;
}

.sign {
    position: relative;
    top: -0.5em;
    padding: 1em;
    border-radius: 0.25em;
    text-align: center;
    transform: rotate(-2deg);
    box-shadow: 0.5rem 0.5rem 0.125rem rgba(3, 30, 60, 0.7);
    background-color: black;
    z-index: 50;
}

@media (min-width: 48rem) {
    .sign {
        top: -0.75em;
    }
}

@media (min-width: 65rem) {
    .sign {
        top: -1em;
    }
}

/* --------------------------------------------------------------------------------------
  header
-------------------------------------------------------------------------------------- */
header {
    position: fixed;
    top: 0;
    left: 0;

    width: 100%;

    color: var(--light-color);

    background-color: var(--dark-color);
    z-index: 999;
}

header > .container {
    display: grid;
    grid-template-columns: max-content auto max-content;
    grid-template-rows: 3.125rem auto;
    column-gap: 1rem;
    row-gap: 0;

    width: 100%;
    height: var(--nav-height);
    padding: 0;
}

@media (min-width: 65rem) {
    header > .container {
        grid-template-columns: auto max-content;
        grid-template-rows: repeat(2, 3.125rem);
        column-gap: 2em;

        height: 6.25rem;
    }
}

.logo-zb {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
}

.logo-zb a {
    display: flex;
}

.logo-zb__small {
    height: 1rem;
}

.logo-zb__big {
    display: none;
    height: 4.5rem;
}

.opening-welcome-tmp {
    display: none;
}

@media (min-width: 65rem) {
    .opening-welcome-tmp {
        display: block;
        position: relative;

        grid-column: 2;
        grid-row: 1;
        justify-self: start;
        align-self: end;

        font-family: var(--ff-heading);
        line-height: 1.2;
        text-align: right;

        z-index: 999;
    }

    .opening-welcome-tmp::after {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        bottom: -0.25rem;
        width: calc(100% + 1rem);
        height: 1px;
        background-color: var(--light-color);
    }
}

.opening-hours {
    display: none;
    position: relative;

    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    align-self: center;

    font-family: var(--ff-heading);
    line-height: 1.2;
    text-align: right;

    cursor: pointer;
    z-index: 999;
}

.opening-hours p {
    font-size: 0.625rem;
}

.opening-hours .from-time,
.opening-hours .to-time {
    font-weight: 100;
    margin: 0 0.25rem;
}

.opening-hours span {
    font-family: var(--ff-paragraph);
}

.opening-hours__small {
    display: block;
}

.opening-hours__big {
    display: none;
}

@media (min-width: 65rem) {
    .logo-zb {
        grid-column: 1;
        grid-row: 1 / 3;
        align-self: center;
    }

    .logo-zb__small {
        display: none;
    }

    .logo-zb__big {
        display: block;
    }

    .opening-hours {
        position: relative;

        justify-self: start;
        align-self: end;

        cursor: pointer;
    }

    .opening-hours::after {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        bottom: -0.25rem;
        width: calc(100% + 1rem);
        height: 1px;
        background-color: var(--light-color);
    }

    .opening-hours__small {
        display: none;
    }

    .opening-hours__big {
        display: block;
    }

    .opening-hours p {
        font-size: 1.25rem;
    }
}

.burger-nav {
    position: relative;
    overflow-y: scroll;
    left: 1.5rem;
    grid-column: 1 / 4;
    grid-row: 2;
    justify-self: end;
    align-self: end;
    width: min-content;
    /* height: calc(100vh - var(--nav-height)); */
    height: 100vh;
    padding: 2rem;

    background-color: var(--dark-color);

    translate: 100%;
    transition: translate var(--animation-timing);
}

@media (min-width: 48rem) {
    .burger-nav {
        left: 2.5rem;
    }
}

@media (min-width: 65rem) {
    .burger-nav {
        position: relative;
        overflow-y: initial;
        left: 0;

        grid-column: 2;
        justify-self: end;

        display: grid;
        grid-template-columns: auto;
        grid-template-rows: 3.125rem 3.125rem;

        width: 100%;
        height: 6.25rem;
        padding: 0;

        background-color: transparent;
        translate: 0;
    }
}

.main-nav {
    font-size: 1.125rem;
}

.nav-btn {
    position: relative;
    color: var(--light-color);
    background-color: transparent;
    border: 0;
}

.main-nav ul {
    display: flex;
    flex-direction: column;
    align-items: start;
    list-style: none;
}

.main-nav li {
    position: relative;
    margin-bottom: 0.75rem;
}

.main-nav li ul {
    display: none;
    position: relative;
    left: 1.25rem;
    top: 0.75rem;
}

.dropdown.active > ul {
    display: flex;
}

.dropdown.active > button {
    color: var(--accent-color);
}

.main-nav a {
    position: relative;
    display: block;
    color: var(--light-color);
    text-decoration: none;
}

.main-nav a::after,
.nav-btn::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.25rem;
    width: 100%;
    height: 0.125rem;
    background-color: var(--light-color);
    transform: scalex(0);
    transform-origin: left;
    transition: transform 200ms ease-in-out;
}

.main-nav a:hover::after,
.nav-btn:hover::after {
    transform: scalex(1);
}

.nav-reserve-now a {
    margin-block: 0.25rem;
    padding: 0.125em 0.5em;
    font-weight: 500;
    color: var(--dark-color);
    background-color: var(--light-color);
    border-radius: 0.25em;
}

.nav-reserve-now a:hover {
    color: var(--light-color);
    background-color: var(--accent-color);
}

.nav-reserve-now a:hover::after {
    transform: scaleX(0);
}

@media (min-width: 65rem) {
    .main-nav {
        grid-column: 1;
        grid-row: 2;
        justify-self: end;
        align-self: center;
    }

    .main-nav ul {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        gap: clamp(1rem, 0.51rem + 2.29vw, 2rem);
    }

    .main-nav li {
        margin-bottom: 0;
    }

    .main-nav li ul {
        display: none;
        position: absolute;
        left: -1rem;
        top: -0.25rem;

        flex-direction: column;
        align-items: center;
        gap: 1rem;

        text-align: center;

        width: calc(100% + 2rem);
        padding: 3rem 1.5rem 1.5rem;
        border-radius: 0.25rem;

        background-color: var(--light-color);
        z-index: -50;
    }

    .main-nav li ul a {
        color: var(--dark-color);
    }

    .main-nav li ul a::after {
        background-color: var(--dark-color);
        transform-origin: center;
    }

    .nav-reserve-now a {
        margin-block: 0;
    }
}

.social-bar ul {
    display: flex;
    gap: 1rem;
    margin-top: 1.5rem;
    list-style: none;
}

.social-bar img {
    height: 1.5rem;
    transition: transform 150ms ease-in-out;
}

.social-bar img:hover,
.social-bar img:focus {
    transform: translateY(0.15rem) scale(1.5);
}

@media (min-width: 65rem) {
    .social-bar {
        position: relative;
        grid-column: 1;
        grid-row: 1;
        justify-self: end;
        align-self: end;
    }

    .social-bar ul {
        gap: 0.75rem;
        margin-top: 0;
    }

    .social-bar::after {
        content: "";
        display: block;
        position: absolute;
        right: 0;
        bottom: -0.25rem;
        width: calc(100% + 1rem);
        height: 1px;
        background-color: var(--light-color);
    }
}

/* burger
----------------------------------------- */
.burger-toggle {
    display: none;
    appearance: none;
    outline: none;
    pointer-events: none;
}

@media (min-width: 65rem) {
    .burger-toggle {
        display: none;
    }
}

.burger-toggle:checked ~ .burger-nav {
    translate: 0;
}

.burger {
    position: relative;
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    align-self: center;

    display: flex;
    flex-direction: column;
    gap: var(--hamburger-gap);

    width: var(--bar-width);
    height: var(--hamburger-height);

    cursor: pointer;
}

@media (min-width: 65rem) {
    .burger {
        display: none;
    }
}

.bar {
    --x-width: calc(var(--hamburger-height) * 1.41421356237);

    position: relative;
    width: 100%;
    height: var(--bar-height);
    border-radius: 10rem;
    display: block;
    opacity: 100;
    background-color: var(--light-color);

    transform-origin: left center;
    transition: opacity var(--animation-timing), width var(--animation-timing), rotate var(--animation-timing), translate var(--animation-timing), background-color var(--animation-timing);
}

.burger-toggle:checked ~ .burger > .bar:nth-child(1) {
    width: var(--x-width);
    rotate: 45deg;
    translate: 0 calc(var(--bar-height) / -2);
}

.burger-toggle:checked ~ .burger > .bar:nth-child(2) {
    opacity: 0;
}

.burger-toggle:checked ~ .burger > .bar:nth-child(3) {
    width: var(--x-width);
    rotate: -45deg;
    translate: 0 calc(var(--bar-height) / 2);
}

/* --------------------------------------------------------------------------------------
  main content
-------------------------------------------------------------------------------------- */
.card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1rem;

    padding: 1.25rem;

    border-radius: 0.25rem;
    box-shadow: 0.25rem 0.25rem 0.5rem rgba(0, 0, 0, 0.25);

    z-index: 2;
}

@media (min-width: 48rem) {
    .card {
        padding: 1.625rem;
    }
}

@media (min-width: 65rem) {
    .card {
        padding: 2rem;
        border-radius: 0.5rem;
    }
}

.c-white {
    color: var(--dark-color);
    background-color: var(--light-color);
}

.c-blue {
    color: var(--light-color);
    background-color: var(--dark-color);
}

.c-black {
    color: var(--light-color);
    background-color: black;

    background-image: url("/assets/bg/tafel-dunkel__portrait.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

@supports (backdrop-filter: blur()) {
    .c-white {
        background-color: rgba(255, 255, 255, 0.8);
        backdrop-filter: blur(0.75rem);
        -webkit-backdrop-filter: blur(0.75rem);
    }

    .c-blue {
        background-color: rgba(0, 30, 60, 0.8);
        backdrop-filter: blur(0.75rem);
        -webkit-backdrop-filter: blur(0.75rem);
    }
}

/* section home
-------------------------------------------------------------------------------------- */
.sec-home {
    min-height: calc(100svh - var(--nav-height) + var(--section-seperator));
    margin-top: var(--nav-height);
}

/* home ad split
------------------------------------------------------------------ */
.sec-split > .container {
    grid-column: 1 / 4;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5rem;
    padding: 0;
    overflow: hidden;
}

.split {
    display: grid;
    grid-template-columns: minmax(var(--_side-pad), auto) minmax(auto, 75rem) minmax(var(--_side-pad), auto);

    padding: 1.25rem 0;

    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.split > div {
    grid-column: 2 / 3;
    position: relative;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

@media (min-width: 48rem) {
    .split {
        justify-content: center;
        padding: 1.625rem 0;
    }
}

@media (min-width: 65rem) {
    .sec-split > .container {
        gap: 0.75rem;
    }

    .split {
        justify-content: center;
        padding: 2rem 0;
    }
}

.shild {
    grid-column: 2 / 3;
    display: inline-block;
    padding: 0.5rem 1.25rem;
    margin-bottom: 0.25rem;
    background-color: var(--dark-color);
    border-radius: 0.25rem;
    box-shadow: 0.25rem 0.25rem 0.5rem rgba(0, 0, 0, 0.25);
    transform: rotate(-2deg);
}

.split-shild {
    align-self: center;
    padding: 1.25rem 1.25rem;
    margin-top: 1rem;
    background-color: var(--light-color);
    border-radius: 0.25rem;
    text-align: center;
    color: var(--dark-color);
}

.shild p {
    position: relative;
    top: 0.19ch;
    font-family: var(--ff-heading);
    font-size: clamp(2rem, 1.64rem + 1.71vw, 2.75rem);
    font-weight: 900;
}

.sub-shild {
    background-color: var(--light-color);
}

.sub-shild p {
    font-family: var(--ff-paragraph);
    color: var(--dark-color);
    font-size: clamp(0.875rem, 0.81rem + 0.29vw, 1rem);
    background-color: var(--light-color);
}

.christmas-eve {
    background-image: url("../assets/images/winterlandschaft.jpg");
}

.christmas {
    background-image: url("../assets/images/weihnachtsgans.jpg");
}

.green-cabbage {
    background-image: url("../assets/images/gruenkohl.jpg");
}

.easter {
    background-image: url("../assets/images/ostern.jpg");
}

.asparagus {
    background-image: url("../assets/images/spargel.jpg");
}

.haxe {
    background-image: url("../assets/images/haxe.jpg");
}

.valentin {
    background-image: url("../assets/images/rosen.jpg");
}

.drinks {
    background-image: url("../assets/images/drinks.jpg");
}

.vacation {
    background-image: url("../assets/images/betriebsurlaub.jpg");
}

.winterbbq {
    background-image: url("../assets/images/winterbbq.jpg");
}

.em2024 {
    background-image: url("../assets/images/em-burger.jpg");
}

/* ad spareribs
------------------------------------------------------------------ */
.sec-home.ad-spareribs {
    background-image: url("../assets/bg/tafel-dunkel__landscape.jpg");
}

.ad-spareribs p {
    font-size: 1.375rem;
    line-height: 1.25;
    font-weight: 900;
    text-align: center;
}

.ad-price {
    display: flex;
    flex-direction: column;
}

.ad-price p:nth-child(2) {
    font-size: 0.5rem;
}

.ad-image {
    display: none;
}

@media (min-width: 65rem) {
    .ad-spareribs p {
        font-size: 1.5rem;
    }
}

@media (min-width: 48rem) {
    .ad-image {
        display: block;
        position: absolute;
        top: 0;
        left: 50%;
        height: 100%;
    }

    .ad-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        -webkit-mask-image: linear-gradient(to left, rgba(0, 0, 0, 1), rgba(0, 0, 0, 1) 85%, rgba(0, 0, 0, 0));
        mask-image: linear-gradient(to left, rgba(0, 0, 0, 1), rgba(0, 0, 0, 1) 85%, rgba(0, 0, 0, 0));
    }
}

/* ad gruenkohl
------------------------------------------------------------------ */
.sec-home.ad-gruenkohl {
    background-image: url("../assets/bg/holz-hell.jpg");
}

.ad-gruenkohl > .container {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(3, max-content);
    column-gap: 0;
    row-gap: 1rem;
    justify-items: center;

    text-align: center;
    color: var(--dark-color);
}

.gruenkohl-logo {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.gruenkohl-line {
    max-width: 40rem;
    margin-bottom: 3rem;
}

.ad-gruenkohl .btn {
    max-width: 80%;
}

@media (min-width: 48rem) {
    .gruenkohl-logo {
        max-width: 80%;
        margin-top: 1rem;
        margin-bottom: 1rem;
    }

    .gruenkohl-line {
        margin-bottom: 1rem;
    }

    .ad-gruenkohl .btn {
        max-width: 60%;
    }
}

.gruenkohl-foreground {
    position: absolute;
    bottom: 0;

    max-height: 30%;
}

.gruenkohl-foreground img {
    object-fit: cover;
}

.link-to {
    margin-top: 1rem;
}

/* section welcome
-------------------------------------------------------------------------------------- */
.sec-welcome {
    background-image: url("../assets/images/biergarten-paulaner-helles.jpg");
}

.c-welcome {
    display: none;
}

@media (min-width: 48rem) {
    .c-welcome {
        display: block;
        width: 100%;
        background-image: url("../assets/images/biergarten-paulaner-helles.jpg");
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
    }
}

.logo-welcome {
    margin: 2rem 0;
    height: clamp(6rem, 3.09rem + 13.71vw, 12rem);
}

/* section lunch food and beverage seasonal / spezial
-------------------------------------------------------------------------------------- */
.sec-lunch-food-and-beverage {
    background-image: url("../assets/images/schnitzel.jpg");
}

.sec-lunch-food-and-beverage > .container {
    display: grid;
    gap: 1.5rem;
}

@media (min-width: 65rem) {
    .sec-lunch-food-and-beverage > .container {
        gap: 2rem;
    }
}

h2 a {
    text-decoration: none;
}

.lunch-header {
    font-size: clamp(0.75rem, 0.51rem + 1.14vw, 1.25rem);
    /* font-size: clamp(0.875rem, 0.69rem + 0.86vw, 1.25rem); */
    /* font-size: .75rem; */
}

/* section food / beverage / seasonal / special
-------------------------------------------------------------------------------------- */
.sec-food {
    background-image: url("../assets/images/schnitzel.jpg");
}

.sec-beverage {
    background-image: url("../assets/images/biermass-gruppe.jpg");
}

.sec-seasonal.sea-green-cabbage {
    background-image: url("../assets/images/gruenkohl.jpg");
}

.sec-seasonal.sea-christmas {
    background-image: url("../assets/images/weihnachtsgans.jpg");
}

.sec-seasonal.sea-christmas-eve {
    background-image: url("../assets/images/winterlandschaft.jpg");
}

.sec-seasonal.sea-easter {
    background-image: url("../assets/images/ostern.jpg");
}

.sec-seasonal.sea-asparagus {
    background-image: url("../assets/images/spargel.jpg");
}

.sec-seasonal.sea-valentin {
    background-image: url("../assets/images/rosen.jpg");
}

.sec-seasonal.sea-pfifferlinge {
    background-image: url("../assets/images/pfifferlinge.jpg");
}

.sec-seasonal.sea-em-2024 {
    background-image: url("../assets/images/em-burger.jpg");
}

.sec-seasonal.sea-winterbbq {
    background-image: url("../assets/images/winterbbq.jpg");
}

.c-christmas,
.c-christmas-eve,
.c-green-cabbage,
.c-easter,
.c-asparagus,
.c-valentin,
.c-pfifferlinge,
.c-em-2024 .c-winterbbq {
    display: none;
}

@media (min-width: 48rem) {
    .sec-seasonal.sea-christmas > .container,
    .sec-seasonal.sea-christmas-eve > .container,
    .sec-seasonal.sea-green-cabbage > .container,
    .sec-seasonal.sea-easter > .container,
    .sec-seasonal.sea-asparagus > .container,
    .sec-seasonal.sea-valentin > .container,
    .sec-seasonal.sea-pfifferlinge > .container,
    .sec-seasonal.sea-em-2024 > .container,
    .sec-seasonal.sea-winterbbq > .container {
        grid-template-columns: repeat(2, 1fr);
    }

    .c-christmas,
    .c-christmas-eve,
    .c-green-cabbage,
    .c-easter,
    .c-asparagus,
    .c-valentin,
    .c-pfifferlinge,
    .c-em-2024,
    .c-winterbbq {
        display: block;
        width: 100%;
        background-image: url("../assets/images/gruenkohl.jpg");
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
    }

    .c-christmas {
        background-image: url("../assets/images/weihnachtsgans.jpg");
    }

    .c-christmas-eve {
        background-image: url("../assets/images/winterlandschaft.jpg");
    }

    .c-easter {
        background-image: url("../assets/images/ostern.jpg");
    }

    .c-asparagus {
        background-image: url("../assets/images/spargel.jpg");
    }

    .c-valentin {
        background-image: url("../assets/images/rosen.jpg");
    }

    .c-pfifferlinge {
        background-image: url("../assets/images/pfifferlinge.jpg");
    }

    .c-em-2024 {
        background-image: url("../assets/images/em-burger.jpg");
    }

    .c-winterbbq {
        background-image: url("../assets/images/spiessbraten.jpg");
    }

    .sec-food > .container,
    .sec-beverage > .container,
    .sec-seasonal > .container {
        grid-template-columns: 1fr;
    }
}

.food-categorys,
.beverage-categorys {
    display: grid;
    row-gap: 1rem;
}

@media (min-width: 48rem) {
    .food-categorys,
    .beverage-categorys {
        row-gap: 2rem;
    }
}

@media (min-width: 65rem) {
    .sec-food > .container > .card,
    .sec-beverage > .container > .card,
    .sec-seasonal > .container > .card {
        column-gap: 3rem;
    }
}

.sec-food,
.sec-beverage,
.sec-seasonal {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom;
    background-attachment: fixed;
}

.menue-price {
    display: flex;
    justify-content: space-around;
    text-align: center;
    margin-top: 1rem;
}

.menue-price h3 {
    font-family: var(--ff-heading);
}

.h3-script {
    font-family: var(--ff-heading);
    margin-top: 1rem;
}

.dish-category,
.beverage-category {
    display: grid;
    align-self: start;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.beverage {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1em;
}

.dish > div {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1em;
}

h3.dish-titel,
p.dish-ingredients,
p.dish-price,
h3.beverage-titel,
p.beverage-ingredients,
p.beverage-price,
p.dish-tagline {
    font-size: clamp(0.875rem, 0.69rem + 0.86vw, 1.25rem);
    line-height: 1.4;
}

p.dish-price {
    text-align: right;
}

h3.dish-titel,
h3.beverage-titel {
    font-weight: 900;
}

.beverage-price {
    text-align: right;
}

.beverage-size {
    font-weight: 100;
}

.dish-allergene,
.beverage-allergene {
    font-size: clamp(0.5rem, 0.32rem + 0.86vw, 0.875rem);
    font-style: italic;
    text-transform: uppercase;
}

.category-container {
    position: relative;
    width: 100%;
    height: auto;
    display: grid;
    grid-template-columns: 60% auto;
    column-gap: 1rem;
}

.cat-con-link {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
}

.catcon-reverse {
    grid-template-columns: auto 60%;
}

.text-content {
    text-align: center;
}

.tag-line {
    font-family: var(--ff-heading);
    font-size: clamp(1rem, 0.88rem + 0.57vw, 1.25rem);
    margin-top: 0.5rem;
}

.veggi,
.vegan {
    position: relative;
    display: table;
}

.veggi::after,
.vegan::after {
    /* content: ""; */
    content: url("../assets/logos/Veggi.svg");
    position: absolute;
    /* bottom: 15%; */
    /* left: calc(100% + 1ch); */
    /* right: -5ch; */
    margin-top: 0.125ch;
    margin-left: 0.75ch;

    height: 3ch;
    aspect-ratio: 1;

    /* background: url("../assets/logos/Veggi.svg") no-repeat bottom left; */

    transform: rotate(-4deg);
}

.vegan::after {
    /* content: ""; */
    content: url("../assets/logos/Vegan.svg");
    /* background: url("../assets/logos/Vegan.svg") no-repeat bottom left; */
    height: 3.675ch;
}

@media (min-width: 65rem) {
    .tag-line {
        margin-top: 0.75rem;
    }
}

.image-haxen,
.image-schnitzel,
.image-hendl,
.image-spareribs,
.image-biermass,
.image-spargel,
.image-gruenkohl,
.image-pfifferlinge {
    display: block;
    width: 100%;

    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.image-haxen {
    background-image: url("../assets/images/haxe.jpg");
}

.image-schnitzel {
    background-image: url("../assets/images/schnitzel.jpg");
}

.image-hendl {
    background-image: url("../assets/images/hendl.jpg");
}

.image-spareribs {
    background-image: url("../assets/images/spareribs.jpg");
}

.image-biermass {
    background-image: url("../assets/images/biermass-gruppe.jpg");
}

.image-spargel {
    background-image: url("../assets/images/spargel.jpg");
}

.image-gruenkohl {
    background-image: url("../assets/images/gruenkohl.jpg");
}

.image-pfifferlinge {
    background-image: url("../assets/images/pfifferlinge.jpg");
}

.box-shadow {
    border-radius: 0.25rem;
    box-shadow: 0.25rem 0.25rem 0.5rem rgba(0, 0, 0, 0.25);
}

/* section actiondays
-------------------------------------------------------------------------------------- */
.sec-actiondays {
    background-image: url("../assets/images/haxe.jpg");
}

.sec-actiondays .card {
    align-items: center;
}

.sec-actiondays > .card {
    background-color: #ff8000;
}

.sec-actiondays .card header {
    text-align: center;
}

.c-actiondays {
    display: none;
}

.at-pause,
.wn-abholungen {
    color: white;
    text-align: center;
    padding: 1em 0.5em;
    border-radius: 0.25rem;
    background-color: #c90713;
}

.wn-abholungen {
    transform: rotate(-2deg);
}

.attention {
    background-color: #c90713;
}

.attention p {
    color: var(--light-color);
    background-color: transparent;
}

.nr {
    transform: rotate(0);
}

.sec-haxen-montag .at-pause,
.sec-schnitzel-dienstag .at-pause,
.sec-hendl-mittwoch .at-pause,
.sec-spareribs-donnerstag .at-pause {
    margin-top: -1rem;
}

.at-pause span,
.wn-abholungen span {
    font-size: clamp(1.25rem, 1.01rem + 1.14vw, 1.75rem);
    font-weight: 900;
    text-transform: uppercase;
}

.wn-abholungen span {
    font-size: clamp(1rem, 0.74rem + 1.18vw, 1.5rem);
}

@media (min-width: 48rem) {
    .c-actiondays {
        display: grid;
    }
}

@media (min-width: 65rem) {
    .sec-haxen-montag .at-pause,
    .sec-schnitzel-dienstag .at-pause,
    .sec-hendl-mittwoch .at-pause,
    .sec-spareribs-donnerstag .at-pause {
        margin-top: -2rem;
    }

    .c-actiondays {
        display: grid;
    }
}

.sec-haxen-montag img,
.sec-schnitzel-dienstag img,
.sec-hendl-mittwoch img,
.sec-spareribs-donnerstag img {
    width: 70%;
    align-self: center;
    margin-bottom: 1rem;
}

@media (min-width: 65rem) {
    .sec-haxen-montag img,
    .sec-schnitzel-dienstag img,
    .sec-hendl-mittwoch img,
    .sec-spareribs-donnerstag img {
        margin-bottom: 2rem;
    }
}

.sec-haxen-montag {
    background-image: url("../assets/images/haxe.jpg");
}

.sec-schnitzel-dienstag {
    background-image: url("../assets/images/schnitzel.jpg");
}

.sec-hendl-mittwoch {
    background-image: url("../assets/images/hendl.jpg");
}

.sec-spareribs-donnerstag {
    background-image: url("../assets/images/spareribs.jpg");
}

.c-haxe,
.c-schnitzel,
.c-hendl,
.c-spareribs {
    display: none;
}

@media (min-width: 48rem) {
    .c-haxe,
    .c-schnitzel,
    .c-hendl,
    .c-spareribs {
        display: block;
        width: 100%;
        background-image: url("../assets/images/haxe.jpg");
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
    }

    .c-schnitzel {
        background-image: url("../assets/images/schnitzel.jpg");
    }

    .c-hendl {
        background-image: url("../assets/images/hendl.jpg");
    }

    .c-spareribs {
        background-image: url("../assets/images/spareribs.jpg");
    }
}

.pre-order p {
    font-weight: 900;
    font-size: 1.25rem;
    text-transform: uppercase;
}

@media (min-width: 65rem) {
    .pre-order p {
        font-size: 1.5rem;
    }
}

/* section beer garden
-------------------------------------------------------------------------------------- */
.sec-beergarden {
    background-image: url("../assets/images/biergarten-top.jpg");
}

.sec-beergarden img {
    border-radius: 0.25rem;
}

.c-beergarden {
    display: none;
}

@media (min-width: 48rem) {
    .c-beergarden {
        display: block;
        width: 100%;
        background-image: url("../assets/images/biergarten-top.jpg");
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
    }
}

/* section reservation
-------------------------------------------------------------------------------------- */
.sec-reservation {
    background-image: url("../assets/images/reservierung.jpg");
}

.c-reservation {
    display: none;
}

@media (min-width: 48rem) {
    .c-reservation {
        display: block;
        width: 100%;
        background-image: url("../assets/images/reservierung.jpg");
        background-size: cover;
        background-repeat: no-repeat;
        background-position: left;
    }
}

/* section contact
-------------------------------------------------------------------------------------- */
.sec-contact {
    background-image: url("../assets/images/altes-telefon.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.sec-contact h3 {
    margin-bottom: 0.5rem;
}

.sec-contact ul {
    list-style: none;
}

.c-contact {
    display: none;
}

@media (min-width: 48rem) {
    .c-contact {
        display: block;
        width: 100%;
        background-image: url("../assets/images/altes-telefon.jpg");
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
    }
}

.contact-opening-hours > div {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 0.5rem;
}

@media (min-width: 65rem) {
    .contact-opening-hours > div {
        margin-bottom: 1rem;
    }
}

.social-links {
    display: flex;
    justify-content: space-around;
    margin-top: 1.5rem;
    list-style: none;
}

.social-links img {
    height: 2rem;
    transition: transform 150ms ease-in-out;
}

.social-links img:hover,
.social-links img:active,
.social-links img:focus {
    transform: translateY(0.15rem) scale(1.5);
}

.contact-form {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 0.5rem;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    width: 100%;
    padding: 1em;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
    border-radius: 0.125rem;
    border: none;
}

.contact-form ::placeholder {
    color: rgba(0, 0, 0, 0.5);
}

.input-container label {
    font-size: 0.75rem;
}

.contact-form textarea {
    height: 10rem;
    resize: none;
}

.contact-form input[type="submit"] {
    margin-top: 1rem;
    cursor: pointer;
    color: var(--light-color);
    background-color: var(--accent-color);
}

.contact-form input[type="submit"]:hover {
    background-color: green;
}

/* --------------------------------------------------------------------------------------
  footer
-------------------------------------------------------------------------------------- */
footer {
    min-height: calc(100svh - var(--nav-height));
    background-image: url("../assets/images/biergarten-kanal-herbst.jpg");
}

footer > .container {
    display: grid;
    grid-template-columns: 1fr;
}

footer > .container > .card {
    align-self: end;

    flex-direction: row;
    align-items: flex-end;
}

footer .legal {
    display: flex;
    flex-direction: column;
}

footer p {
    font-size: 0.75rem;
    line-height: 1.3rem;
}

@media (min-width: 48rem) {
    footer .legal {
        gap: 1rem;
        flex-direction: row;
    }
}

@media (min-width: 65rem) {
    footer p {
        font-size: 0.875rem;
    }
}

footer ul {
    list-style: none;
}

footer a {
    text-decoration: none;
}

footer a:hover {
    border-bottom: 1px solid var(--light-color);
}

footer a:focus {
    border-bottom: 1px solid var(--light-color);
    color: #001e3c;
    background-color: #fff;
}

.logo-row {
    align-self: flex-end;
}

.logo-row ul {
    display: flex;
    gap: 1.25rem;
}

.logo-row img {
    height: 1.5rem;
}

.logo-row a:hover,
.logo-row a:focus {
    border-bottom: 0;
}

@media (min-width: 48rem) {
    .logo-row ul {
        gap: 1.5rem;
    }
}

@media (min-width: 65rem) {
    .logo-row img {
        height: 2rem;
    }
}

/* --------------------------------------------------------------------------------------
  impressum
-------------------------------------------------------------------------------------- */
.sec-impressum {
    background-image: url("../assets/images/biergarten-kanal-herbst.jpg");
}

@media (min-width: 48rem) {
    .sec-impressum > .container > .card {
        grid-column: 1 / 3;
    }
}

/* --------------------------------------------------------------------------------------
  datenschutz
-------------------------------------------------------------------------------------- */
.sec-datenschutz {
    background-image: url("../assets/images/biergarten-kanal-herbst.jpg");
}

@media (min-width: 48rem) {
    .sec-datenschutz > .container > .card {
        grid-column: 1 / 3;
    }
}

/* --------------------------------------------------------------------------------------
  helper
-------------------------------------------------------------------------------------- */
.white-space-no-wrap {
    white-space: nowrap;
}

.gap2 {
    gap: 2rem;
}

.gap3 {
    gap: 3rem;
}

.gap4 {
    gap: 4rem;
}

.a-img80 a {
    width: 80%;
}

.maintenance {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 4rem;

    height: 100dvh;
    color: var(--dark-color);
    background-color: white;
}

.maintenance img {
    width: 60%;
}

.flag {
    margin-right: 0.5rem;
    height: clamp(0.75rem, 0.62rem + 0.59vw, 1rem);

    transform: rotate(-4deg);
}

.ap-logo {
    height: 6rem;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
}

.contact-opening-hours > div.a2 {
    grid-template-columns: 1fr;
}

.mt-2 {
    margin-top: 2rem;
}
