/*
  README

  -----------------------------

  CSS Guidelines

  This project follows the BEM (Block Element Modifier ) Pattern.
  ( please refer https://cssguidelin.es/ )

  Global css classes are marked with the prefix "style-", page template classes with "l-" prefix and js classes with "js-".

*/


/* CSS-Variablen */

:root {

    /* Template-Variablen Level 1 */

    --template-text-color-1: #343434; /* Standard-Schriftfarbe */
    --template-text-color-2: #999999; /* Akzent-Schriftfarbe - Überschriften, Akzent-Styles, Tabellen-Kopfzeile */

    --template-primary-fill-color: green;  /* Primärfarbe - Für Buttons, Links, Highlight-Farbe */
    --template-primary-text-color: #ECECEC; /* Textfarbe auf Primärfarbe */

    --template-secondary-fill-color: orange; /* Sekundärfarbe - Für Buttons */
    --template-secondary-text-color: #434343; /* Textfarbe auf Sekundärfarbe */

    --template-bg-1-fill-color: violet; /* Hintergrundfarbe 1 für Background-Box, Fifty-Fifty, ... - Speziell: Input-Border */
    --template-bg-1-text-color: blue; /* Textfarbe auf Hintergrundfarbe 1 */

    --template-bg-2-fill-color: yellow; /* Hintergrundfarbe 2 für Background-Box, Fifty-Fifty, ... - Speziell:  Tabellen-Hintergrund (Abwechselnd) */
    --template-bg-2-text-color: brown; /* Textfarbe auf Hintergrundfarbe 2 */

    --template-menu-fill-color: lightpink;  /* Hintergrundfarbe für Menü/Top-Bar, Sticky-Footer */
    --template-menu-text-color: #000000; /* Textfarbe zu --template-menu-fill-color */

    --template-submenu-fill-color: lightgreen;  /* Hintergrundfarbe für Submenüs auf Desktop, Navigationsoverlay in Mobil-Version */
    --template-submenu-text-color: #000000; /* Textfarbe zu --template-submenu-fill-color */

    --template-footer-fill-color: lightcoral; /* Hintergrundfarbe für Footer */
    --template-footer-text-color: #000000; /* Textfarbe zu --template-footer-fill-color */

    --template-font-1: Arial, sans-serif; /* Standard-Schriftart */
    --template-font-1-size-adjust: 1; /* Schriftgrößen-Anpassungsfaktor für --template-font-1 */

    --template-font-2: Arial, serif; /* Schriftart für diverse Überschriften, Teaser, ... */
    --template-font-2-size-adjust: 1; /* Schriftgrößen-Anpassungsfaktor für --template-font-2 */

    --template-border-radius: 4px;


    /* Bakehouse Variablen */

    --datepicker-color-highlight: aqua; /* Datepicker Highlightfarbe - Primärfarbe empfohlen */
    --datepicker-color-selected: #A3A3A340; /* Datepicker Selectfarbe - Primärfarbe mit 25% Opacity empfohlen */


    /* Template-Variablen Level 2 (können bei Bedarf angepasst werden) */

    --template-small-icon-size: 1.6rem; /* Input-Icons, Submenu-Accordion-Pfeil */
    --template-default-icon-size: 2rem; /* Accordion Plus, Sticky-Footer Icons, Swiper Navigationsicons, Tab-Swiper-Navigation  */
    --template-big-icon-size: 2.4rem; /* Footer-Link Icons, Download-Element Icon, Form-Manager Input-Icons */
    --template-swiper-color-1: var(--template-secondary-fill-color); /* Navigation-Pfeil Farbe, Pagination */
    --template-swiper-color-2: var(--template-secondary-text-color); /* Navigation-Pfeil Hintergrund */
    --template-swiper-navigation-prev: "\e901";
    --template-swiper-navigation-next: "\e902";
    --template-swiper-navigation-size: var(--template-default-icon-size);

    --template-border-radius--large: calc(var(--template-border-radius) * 2);
    --template-border-radius--small: calc(var(--template-border-radius) / 2);

    --template-transition-duration-main: 0.3s;
    --template-transition-timing-function-main: linear;

    --content-padding: 8rem; /* Mediaqueries beachten! */


    /* Funktionale Variablen (Nicht bearbeiten!) */

    --font-color: var(--template-text-color-1);
    --template-font-size-adjust: var(--template-font-1-size-adjust);

    --transition-main: var(--template-transition-duration-main) var(--template-transition-timing-function-main);

}

@media only screen and (max-width:1200px) {
    :root {
        --content-padding: 4rem;
    }
}

@media only screen and (max-width:600px) {
    :root {
        --content-padding: 2rem;
    }
}

/* REM */

html {
    font-size: 10px;
    -webkit-text-size-adjust: none;
}

/* FONT-STYLES */

body {
    font-family: var(--template-font-1);
    --template-font-size-adjust: var(--template-font-1-size-adjust);
    font-style: normal;
    font-weight: normal;
    font-size: calc(1.6rem * var(--template-font-size-adjust));
    line-height: 1.5;
    /* letter-spacing: 0.02em; */
}

a {
    color: var(--bg-font-color, var(--font-color));
}

p {
    margin-bottom: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin-top: 0;
}

.bh-bodytext:where(:not(.bh-form-manager__field__input):not(.bh-form-manager__submit__input)) {
    color: var(--bg-font-color, var(--font-color));
}

.bh-bodytext p {
    margin-bottom: 2rem;
}

a.bh-bodytext,
.bh-bodytext a {
    color: var(--bg-font-color, var(--font-color));
    text-decoration: underline;
}

.bh-bodytext--centered {
    text-align: center;
}

h1.bh-bodytext,
.bh-bodytext h1,
.bh-bodytext *.style-text--h1,
*.style-text--h1.bh-bodytext {
    font-family: var(--template-font-2);
    --template-font-size-adjust: var(--template-font-2-size-adjust);
    font-weight: 700;
    font-size: calc(4.6rem * var(--template-font-size-adjust));
    line-height: 1.35;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    --font-color: var(--template-text-color-2);
}

h2.bh-bodytext,
.bh-bodytext h2,
.bh-bodytext *.style-text--h2,
*.style-text--h2.bh-bodytext {
    font-family: var(--template-font-2);
    --template-font-size-adjust: var(--template-font-2-size-adjust);
    font-weight: 700;
    font-size: calc(3.6rem * var(--template-font-size-adjust));
    line-height: 1.35;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    --font-color: var(--template-text-color-2);
}

h3.bh-bodytext,
.bh-bodytext h3,
.bh-bodytext *.style-text--h3,
*.style-text--h3.bh-bodytext {
    font-weight: 700;
    font-size: calc(2.8rem * var(--template-font-size-adjust));
    line-height: 1.35;
    margin-bottom: 0.5rem;
    --font-color: var(--template-text-color-2);
}

h4.bh-bodytext,
.bh-bodytext h4,
.bh-bodytext *.style-text--h4,
*.style-text--h4.bh-bodytext {
    font-weight: 700;
    font-size: calc(1.8rem * var(--template-font-size-adjust));
    line-height: 1.35;
    margin-bottom: 1.2rem;
    text-transform: uppercase;
}

h5.bh-bodytext,
.bh-bodytext h5,
.bh-bodytext *.style-text--h5,
*.style-text--h5.bh-bodytext {
    font-weight: 700;
    font-size: calc(1.6rem * var(--template-font-size-adjust));
    line-height: 1.1;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
    text-transform: uppercase;
}

h6.bh-bodytext,
.bh-bodytext h6,
.bh-bodytext *.style-text--h6,
*.style-text--h6.bh-bodytext {
    font-weight: 700;
    font-size: calc(1.3rem * var(--template-font-size-adjust));
    line-height: 1.1;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
}

.bhLegalNotice ul,
.bh-bodytext ul {
    padding-left: 2rem;
}

.bhLegalNotice ul:first-child,
.bh-bodytext ul:first-child {
    margin-top: 0;
}

.bhLegalNotice ul:first-child>li:first-child,
.bh-bodytext ul:first-child>li:first-child {
    margin-top: 0;
}

.bhLegalNotice ul li::marker,
.bh-bodytext ul li::marker {
    color: var(--bg-font-color, var(--font-color));
}

.bhLegalNotice ul li::marker,
.bh-bodytext ul li::marker {}

@media only screen and (max-width: 840px) {
    body {
        font-size: calc(1.4rem * var(--template-font-size-adjust));
    }

    h1.bh-bodytext,
    .bh-bodytext h1,
    .bh-bodytext *.style-text--h1,
    *.style-text--h1.bh-bodytext {
        font-size: calc(2.6rem * var(--template-font-size-adjust));
    }

    h2.bh-bodytext,
    .bh-bodytext h2,
    .bh-bodytext *.style-text--h2,
    *.style-text--h2.bh-bodytext {
        font-size: calc(2.3rem * var(--template-font-size-adjust));
    }

    h3.bh-bodytext,
    .bh-bodytext h3,
    .bh-bodytext *.style-text--h3,
    *.style-text--h3.bh-bodytext {
        font-size: calc(2.2rem * var(--template-font-size-adjust));
    }

    h4.bh-bodytext,
    .bh-bodytext h4,
    .bh-bodytext *.style-text--h4,
    *.style-text--h4.bh-bodytext {
        font-size: calc(1.6rem * var(--template-font-size-adjust));
    }

    h5.bh-bodytext,
    .bh-bodytext h5,
    .bh-bodytext *.style-text--h5,
    *.style-text--h5.bh-bodytext {
        font-size: calc(1.4rem * var(--template-font-size-adjust));
    }

    h6.bh-bodytext,
    .bh-bodytext h6,
    .bh-bodytext *.style-text--h6,
    *.style-text--h6.bh-bodytext {}

    .bhLegalNotice ul,
    .bh-bodytext ul {
        padding-left: 1rem;
    }
}

/* Formats */

.style-p--teasertext {
    font-family: var(--template-font-2);
    --template-font-size-adjust: var(--template-font-2-size-adjust);
    font-size: calc(1.6rem * var(--template-font-size-adjust));
    font-weight: 600;
    letter-spacing: 0.05em;
}

.style-p--copy-1 {
    font-weight: 700;
}

.style-p--copy-2 {
    font-weight: 600;
    font-size: calc(2.2rem * var(--template-font-size-adjust));
    line-height: 1.7;
    letter-spacing: 0.02em;
}

.style-p--small {
    font-size: calc(1.4rem * var(--template-font-size-adjust));
}

.style-ul--check ul,
.bh-bodytext ul.style-ul--check {
    padding-left: 3rem;
    list-style: none;
}

.style-ul--check ul li,
.bh-bodytext ul.style-ul--check li {
    position: relative;
    list-style-type: none;
    margin: 1rem 0;
}

.style-ul--check ul li::before,
ul.style-ul--check li::before {
    content: "\e911";
    position: absolute;
    left: -3rem;
    top: 0;
    color: var(--bg-font-color, var(--wille-color--yellow));
    font-family: 'bakehouse-iconset' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    letter-spacing: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

@media only screen and (max-width: 840px) {
    .style-p--copy-1 {
        font-size: calc(1.2rem * var(--template-font-size-adjust));
    }

    .style-p--copy-2 {
        font-size: calc(1.8rem * var(--template-font-size-adjust));
    }

    .style-p--small {
        font-size: calc(1.2rem * var(--template-font-size-adjust));
    }

    .style-ul--check ul,
    .bh-bodytext ul.style-ul--check {
        padding-left: 2rem;
        list-style: none;
    }

    .style-ul--check ul li::before,
    ul.style-ul--check li::before {
        left: -2rem;
    }
}

/* Background-Colors */

.style-bg {
    --bg-color: none;
    background: var(--bg-color);
}

.style-bg--transparent {
    --bg-color: none;
}

.style-bg--primary {
    --bg-color: var(--template-primary-fill-color);
    --bg-font-color: var(--template-primary-text-color)
}

.style-bg--secondary {
    --bg-color: var(--template-secondary-fill-color);
    --bg-font-color: var(--template-secondary-text-color)
}

.style-bg--bg-1 {
    --bg-color: var(--template-bg-1-fill-color);
    --bg-font-color: var(--template-bg-1-text-color)
}

.style-bg--bg-2 {
    --bg-color: var(--template-bg-2-fill-color);
    --bg-font-color: var(--template-bg-2-text-color)
}

.style-bg--menu {
    --bg-color: var(--template-menu-fill-color);
    --bg-font-color: var(--template-menu-text-color)
}

.style-bg--submenu {
    --bg-color: var(--template-submenu-fill-color);
    --bg-font-color: var(--template-submenu-text-color)
}

.style-bg--footer {
    --bg-color: var(--template-footer-fill-color);
    --bg-font-color: var(--template-footer-text-color)
}

/* ## Font ## */

.bh-bodytext *,
.style-color {
    color: var(--bg-font-color, var(--font-color));
}

.style-color--text-color-1 {
    --font-color: var(--template-text-color-1);
}

.style-color--text-color-2 {
    --font-color: var(--template-text-color-2);
}

.style-color--secondary {
    --font-color: var(--template-secondary-text-color);
}

.style-color--bg-1 {
    --font-color: var(--template-bg-1-text-color);
}

.style-color--bg-2 {
    --font-color: var(--template-bg-2-text-color);
}

.style-color--menu {
    --font-color: var(--template-menu-text-color);
}

.style-color--submenu {
    --font-color: var(--template-submenu-text-color);
}

.style-color--secondary {
    --font-color: var(--template-secondary-text-color);
}

.style-color--footer {
    --font-color: var(--template-footer-text-color);
}

/* Border-Radius */

.style-border-radius {
    border-radius: var(--border-radius);
}

.style-border-radius--small {
    --border-radius: var(--template-border-radius--small);
}

.style-border-radius--medium {
    --border-radius: var(--template-border-radius);
}

.style-border-radius--large {
    --border-radius: var(--template-border-radius--large);
}

/* Button */

.style-button,
.style-button>* input.style-button,
input.cooRouteSubmit,
.bhnl-register-form input[type="submit"],
.bhnl-unregister-form input[type="submit"],
.bh-shop-button.bh-shop-button,
.bh-cookies-consent-button {
    font-family: var(--template-font-1);
    --template-font-size-adjust: var(--template-font-1-size-adjust);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    display: inline-block;
    -webkit-appearance: none;
    border: none;
}

.style-button>* {
    margin-bottom: 0;
}

.style-button--style-1,
input.style-button--style-1,
input.cooRouteSubmit,
.bhnl-register-form input[type="submit"],
.bhnl-unregister-form input[type="submit"],
.bh-shop-button.bh-shop-button,
.bh-cookies-consent-button {
    padding: 2rem 4rem;
    background: var(--bg-color);
    color: var(--bg-font-color);
    border-radius: var(--template-border-radius);
}

.style-button--style-1,
.style-button--style-1>*,
input.cooRouteSubmit,
.bhnl-register-form input[type="submit"],
.bhnl-unregister-form input[type="submit"],
.bh-shop-button.bh-shop-button,
.bh-cookies-consent-button {
    font-size: calc(1.4rem * var(--template-font-size-adjust));
}

.bhnl-register-form input[type="submit"],
.bhnl-unregister-form input[type="submit"] {
    --bg-color: var(--template-secondary-fill-color);
}

.style-button--style-2,
.style-button--style-2>* {
    font-size: calc(1.2rem * var(--template-font-size-adjust));
    color: var(--bg-color);
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 2px;
    margin-bottom: 4px;
}

.style-buttontext {
    font-weight: 700;
    font-size: calc(1.4rem * var(--template-font-size-adjust));
    line-height: 1.35;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--bg-color);
}

.style-buttontext--small {
    font-size: calc(1.2rem * var(--template-font-size-adjust));
}

@media only screen and (max-width: 600px) {

    .style-button--style-1,
    input.style-button--style-1,
    input.cooRouteSubmit,
    .bh-shop-button.bh-shop-button, {
        padding: 1.6rem 4rem;
        background: var(--bg-color);
        color: var(--bg-font-color);
    }
}

/* button-group */

.button-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    --button-group--spacing: 1rem;
}

.button-group--small-gaps {
    --button-group--spacing: 0.5rem;
}

.button-group--normal-gaps {
    --button-group--spacing: 1rem;
}

.button-group--large-gaps {
    --button-group--spacing: 2rem;
}

.button-group--column {
    flex-direction: column;
}

.button-group--row {
    flex-direction: row;
    margin: calc(var(--button-group--spacing) * -1);
}

.button-group--row>.style-button {
    margin: var(--button-group--spacing);
}

.button-group--nowarp {
    flex-wrap: nowrap;
}

.button-group--equal>.style-button {
    flex: 1;
}

.button-group--centered {
    justify-content: center;
}

.button-group--equal.button-group--nowrap>.style-button {
    padding-left: 1rem;
    padding-right: 1rem;
}

/* bh-bodytext table */

.bh-bodytext .table__container {
    position: relative;
}

.bh-bodytext .table__container__inner {
    overflow: auto;
}

.bh-bodytext table {}

.bh-bodytext table:not(.style-table--head):not(.nested-table) tr:nth-child(2n+1),
.bh-bodytext .nested-table:not(.style-table--head).style-table--head .nested-table__line--odd,
.bh-bodytext .nested-table:not(.style-table--head).style-table--head .nested-table__subline--odd {
    background: var(--template-bg-2-fill-color);
    --bg-color: var(--template-bg-2-fill-color);
    --bg-font-color: var(--template-bg-2-text-color);
}

.bh-bodytext td {
    padding: 1.5rem;
    text-align: center;
}

.bh-bodytext td:first-child {
    text-align: left;
    padding-left: 2rem;
}

.bh-bodytext .nested-table td:first-child {
    vertical-align: top;
}

.bh-bodytext td:first-child {
    padding-right: 2rem;
}


/* style-table--head */

.bh-bodytext table:not(.nested-table).style-table--head tr:nth-child(2n),
.bh-bodytext .nested-table.style-table--head .nested-table__line--even,
.bh-bodytext .nested-table.style-table--head .nested-table__subline--even {
    background: var(--template-bg-2-fill-color);
    --bg-color: var(--template-bg-2-fill-color);
    --bg-font-color: var(--template-bg-2-text-color);
}

.bh-bodytext table.style-table--head tr:first-child td {
    font-weight: 400;
    color: var(--bg-font-color, var(--template-text-color-2));
}

/* style-table--highlight-first-col */

.bh-bodytext table.style-table--highlight-first-col td:first-child {
    font-weight: 700;
    position: sticky;
    left: 0;
    background: var(--bg-color, #ffffff);
    max-width: calc(40vh - var(--content-padding));
}

/* style-table--highlight-last-col */

.bh-bodytext table.style-table--highlight-last-col td:last-child {
    font-weight: 700;
}

/* table__container--overflown */

.table__container--overflown {}

.table__container::after {
    content: "";
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%;
    width: calc(var(--content-padding) + 2rem);
    transition: opacity var(--transition-main);
    opacity: 0;
    pointer-events: none;
}

.table__container--overflown::after {
    right: 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, var(--bg-color, #FFFFFF) 80%, var(--bg-color, #FFFFFF) 100%);
}

.table__container--overflown .style-table--highlight-first-col td:first-child::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 1px;
    background: var(--font-color);
    opacity: 0;
    transition: opacity var(--transition-main);

}

.table__container--overflown:not(.table__container--scroll-start) .style-table--highlight-first-col td:first-child::after {
    opacity: 0.2;
}

.table__container--overflown:not(.table__container--scroll-end)::after {
    opacity: 1;
}

/* table__container--touched */

.bh-state-touch .table__container--overflown .table__container__inner::before {
    content: "\e9a2";
    font-family: 'bakehouse-iconset' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    letter-spacing: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    border-radius: 50%;
    font-size: 2.5rem;
    height: 5rem;
    width: 5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;

    position: absolute;
    left: 50%;
    top: 50%;
    background: #ccc;
    color: #000000;
    transform: translate(-50%, -50%);
    box-shadow: 0px 0px 20px #fff;
    animation: swipe 4s infinite;
    animation-timing-function: ease-in-out;
    animation-delay: 2s;
    transition: opacity var(--transition-main);
}

@keyframes swipe {
    0% {
        transform: translate(-50%, -50%);
    }

    5% {
        transform: translate(-50%, -50%);
    }

    20% {
        transform: translate(50%, -50%);
    }

    40% {
        transform: translate(-150%, -50%);
    }

    55% {
        transform: translate(-50%, -50%);
    }

    100% {
        transform: translate(-50%, -50%);
    }
}

.table__container--touched .table__container__inner::before {
    opacity: 0;
}

/* LAYOUT */

/* Navbar */

.l-navbar {}

/* Header */

.l-header {
    min-height: var(--fixed-top-height);
}

.bh-bemode .l-header {
    margin-top: calc(var(--fixed-top-height) + 30px);
    min-height: 20px
}

/* margin-content-container */

.margin-content-container {
    --margin-content-container__margin-top: 10rem;
    --margin-content-container__margin-bottom: 10rem;
}

.bhe-state-dragging .margin-content-container:hover>.bhe-container-dropzone {
    min-height: 1px;
    margin-bottom: -1px;
}

.bhe-state-editing .bhContainer.margin-content-container>.bhElement:nth-child(2):not(.margin-content-element--no-margin),
.bhContainer.margin-content-container>.bhElement:first-child:not(.margin-content-element--no-margin) {
    margin-top: var(--margin-content-container__margin-top);
}

.bhe-state-editing .bhContainer.margin-content-container>.bhElement:nth-last-child(2):not(.margin-content-element--no-margin),
.bhContainer.margin-content-container>.bhElement:last-child:not(.margin-content-element--no-margin) {
    margin-bottom: var(--margin-content-container__margin-bottom);
}

@media only screen and (max-width: 960px) {
    .margin-content-container {
        --margin-content-container__margin-top: 7rem;
        --margin-content-container__margin-bottom: 7rem;
    }
}

@media only screen and (max-width: 600px) {
    .margin-content-container {
        --margin-content-container__margin-top: 4rem;
        --margin-content-container__margin-bottom: 4rem;
    }
}

/* Content */

.l-content {}

/* bh-swiper */

/* bh-swiper swiper-navigation */

.bh-swiper {
    --navigation-width: 4.8rem;
    --navigation-width-half: calc(var(--navigation-width) / 2);
}

.swiper-navigation.swiper-button-next,
.swiper-navigation.swiper-button-prev {
    color: var(--template-swiper-color-1);
    background: var(--template-swiper-color-2);
    border-radius: var(--template-border-radius);
    width: var(--navigation-width);
    height: var(--navigation-width);
    margin: 0;
}

.swiper-navigation.swiper-button-prev,
.bh-swiper.bh-width-max[data-plugin-settings*='"navigation":1'] .swiper-button-prev,
.bh-swiper.bh-width-max[data-settings*='"navigation":1'] .swiper-button-prev,
.bh-swiper.bh-width-max[data-swiper*='"navigation":1'] .swiper-button-prev,
.bh-swiper-container-element.bh-width-max .bh-swiper[data-plugin-settings*='"navigation":1'] .swiper-button-prev,
.bh-swiper-container-element.bh-width-max .bh-swiper[data-settings*='"navigation":1'] .swiper-button-prev,
.bh-swiper-container-element.bh-width-max .bh-swiper[data-swiper*='"navigation":1'] .swiper-button-prev {
    left: 1rem;
    transform: translate(0, -50%);
}

.swiper-navigation.swiper-button-next,
.bh-swiper.bh-width-max[data-plugin-settings*='"navigation":1'] .swiper-button-next,
.bh-swiper.bh-width-max[data-settings*='"navigation":1'] .swiper-button-next,
.bh-swiper.bh-width-max[data-swiper*='"navigation":1'] .swiper-button-next,
.bh-swiper-container-element.bh-width-max .bh-swiper[data-plugin-settings*='"navigation":1'] .swiper-button-next,
.bh-swiper-container-element.bh-width-max .bh-swiper[data-settings*='"navigation":1'] .swiper-button-next,
.bh-swiper-container-element.bh-width-max .bh-swiper[data-swiper*='"navigation":1'] .swiper-button-next {
    right: 1rem;
    transform: translate(0, -50%);
}

/* bh-swiper swiper-navigation::before, ::after */

.swiper-navigation.swiper-button-next:after,
.swiper-navigation.swiper-button-prev:after {
    content: none;
}

.swiper-navigation.swiper-button-prev:before,
.swiper-navigation.swiper-button-next:before {
    font-size: var(--template-swiper-navigation-size);
    color: var(--template-swiper-color-1);
    font-family: 'bakehouse-iconset' !important;
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.swiper-navigation.swiper-button-prev:before {
    content: var(--template-swiper-navigation-prev);
}

.swiper-navigation.swiper-button-next:before {
    content: var(--template-swiper-navigation-next);
}

/* bh-swiper bh-width-max */

.bh-swiper.bh-width-max[data-plugin-settings*='"navigation":1'],
.bh-swiper.bh-width-max[data-settings*='"navigation":1'],
.bh-swiper.bh-width-max[data-swiper*='"navigation":1'],
.bh-swiper-container-element.bh-width-max .bh-swiper[data-plugin-settings*='"navigation":1'],
.bh-swiper-container-element.bh-width-max .bh-swiper[data-settings*='"navigation":1'],
.bh-swiper-container-element.bh-width-max .bh-swiper[data-swiper*='"navigation":1'] {
    padding-left: 0;
    padding-right: 0;
}

@media only screen and (max-width: 600px) {
    .bh-swiper {
        --navigation-width: 4rem;
    }

    /* .bh-swiper[data-plugin-settings*='"navigation":1'] .swiper-button-prev,
    .bh-swiper[data-settings*='"navigation":1'] .swiper-button-prev,
    .bh-swiper[data-swiper*='"navigation":1'] .swiper-button-prev {
        transform: translate(min(var(--content-padding), -50%), -50%);
    }

    .bh-swiper[data-plugin-settings*='"navigation":1'] .swiper-button-next,
    .bh-swiper[data-settings*='"navigation":1'] .swiper-button-next,
    .bh-swiper[data-swiper*='"navigation":1'] .swiper-button-next {
        transform: translate(min(var(--content-padding), 50%), -50%);
    } */
}

/* Pagination */

.bh-swiper[data-plugin-settings*='"pagination":1'],
.bh-swiper[data-settings*='"pagination":1'],
.bh-swiper[data-swiper*='"pagination":1'] {
    padding-bottom: 4rem;
}

.bh-swiper-container-element.bh-swiper--pagination-within .bh-swiper[data-plugin-settings*='"pagination":1'],
.bh-swiper--pagination-within.bh-swiper[data-plugin-settings*='"pagination":1'],
.bh-swiper-container-element.bh-swiper--pagination-within .bh-swiper[data-settings*='"pagination":1'],
.bh-swiper--pagination-within.bh-swiper[data-settings*='"pagination":1'],
.bh-swiper-container-element.bh-swiper--pagination-within .bh-swiper[data-swiper*='"pagination":1'],
.bh-swiper--pagination-within.bh-swiper[data-swiper*='"pagination":1'] {
    padding-bottom: 0;
}

.bh-swiper[data-plugin-settings*='"pagination":1'] .swiper-navigation.swiper-button-prev,
.bh-swiper[data-settings*='"pagination":1'] .swiper-navigation.swiper-button-prev,
.bh-swiper[data-swiper*='"pagination":1'] .swiper-navigation.swiper-button-prev,
.bh-swiper[data-plugin-settings*='"pagination":1'] .swiper-navigation.swiper-button-next,
.bh-swiper[data-settings*='"pagination":1'] .swiper-navigation.swiper-button-next,
.bh-swiper[data-swiper*='"pagination":1'] .swiper-navigation.swiper-button-next {
    top: calc(50% - 2rem);
}

.bh-swiper--pagination-within.bh-swiper .swiper-navigation.swiper-button-prev,
.bh-swiper--pagination-within.bh-swiper .swiper-navigation.swiper-button-next,
.bh-swiper-container-element.bh-swiper--pagination-within .bh-swiper .swiper-navigation.swiper-button-prev,
.bh-swiper-container-element.bh-swiper--pagination-within .bh-swiper .swiper-navigation.swiper-button-next {
    top: 50%;
}

.bh-swiper .swiper-pagination {
    bottom: 0;
}

.bh-swiper .swiper-pagination .swiper-pagination-bullet {
    background-color: var(--template-swiper-color-1);
    width: 1rem;
    height: 1rem;
    opacity: 1;
    margin: 0.6rem;
    left: 0px !important;
    transform: none;
    opacity: 0.4;
    transition: opacity var(--transition-main);
}

.bh-swiper .swiper-pagination .swiper-pagination-bullet-active {
    opacity: 1;
}

@media only screen and (max-width: 820px) {
    .bh-swiper .swiper-pagination .swiper-pagination-bullet {
        width: 0.8rem;
        height: 0.8rem;
    }
}

/* bhAnfrage */

.bh-fieldblock.bh-col--gaps-xsmall .bh-field {
    padding-bottom: 1rem;
}

.bh-fieldblock.bh-cols>.bh-fieldblock.bh-cols {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
}

.bh-fieldblock {
    text-align: left;
}

.bh-field,
.bh-shop-field-input {
    position: relative;
}

.js-kind-alter-template {
    display: none;
}

.bh-field input:not([type="submit"]),
.bhnl-form-field input:not([type="submit"]),
input.cooRouteLocationInput,
.bh-field select,
.bh-field textarea,
.bh-shop-field.bh-shop-field input:not([type="checkbox"]),
.bh-shop-field.bh-shop-field select,
.bh-shop-field.bh-shop-field textarea,
.bh-stripe-form-creditcard.bh-stripe-form-creditcard {
    border: 1px solid var(--template-bg-1-fill-color);
    padding: 1.2rem 1.8rem;
    border-radius: var(--template-border-radius--small, 0);
    background: #FFFFFF;
    box-sizing: border-box;
    -webkit-appearance: none;
    width: 100%;
    text-align: left;
    font-family: var(--template-font-1);
    --template-font-size-adjust: var(--template-font-1-size-adjust);
    font-size: calc(1.5rem * var(--template-font-size-adjust));
    line-height: 2.4rem;
    color: var(--template-text-color-1);
    letter-spacing: 0.02em;
    height: auto;
}

.bh-field textarea,
.bh-shop-field.bh-shop-field textarea {
    min-height: 11rem;
    resize: vertical;
}

.bh-field input::placeholder,
.bhnl-form-field input::placeholder,
.bh-field select:invalid,
.bh-field textarea::placeholder,
.bh-shop-field.bh-shop-field textarea::placeholder {
    font-size: calc(1.5rem * var(--template-font-size-adjust));
    color: var(--template-text-color-1);
}

.bh-field select:focus-visible,
.bh-field textarea:focus-within,
.bh-shop-field.bh-shop-field textarea:focus-within,
.bh-field input:focus {}

.bh-field .bh-field__label {}

.bh-field__select-icon,
.bh-shop-field-select-icon {
    position: absolute;
    right: 3rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: var(--template-small-icon-size);
}

.bh-shop-field-select-icon.bh-shop-field-select-icon::before,
.bh-field__select-icon::after {
    display: block;
    content: "\e908";
    font-family: 'bakehouse-iconset' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    letter-spacing: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: static;
    bottom: auto;
    height: auto;
    font-size: inherit;
    right: auto;
}

.bh-field__datepicker-icon {
    position: absolute;
    right: 3rem;
    top: 50%;
    transform: translateY(-50%);
}

.bh-field__datepicker-icon::after {
    display: block;
    content: "\e9a8";
    font-family: 'bakehouse-iconset' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    letter-spacing: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.bh-field--checkbox .bh-form-checkbox-container {
    position: relative;
    display: block;
    padding-left: 4.5rem;
    padding-bottom: 1rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.bh-field--checkbox .bh-form-checkbox-container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 1.8rem;
    min-height: 0;
    max-height: 1.8rem;
    width: 1.8rem;
    padding: 0;
    margin: 0;
    top: 0;
    left: 0;
    box-sizing: border-box;
}

.bh-field--checkbox .bh-form-checkbox__checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 1.6rem;
    width: 1.6rem;
    border: 2px solid var(--font-color);
    background: #FFFFFF;
    border-radius: 4px;
}

.bh-field--checkbox .bh-form-checkbox-container .bh-form-checkbox__checkmark:after {
    left: 0.5rem;
    top: 0.1rem;
    width: 0.4rem;
    height: 0.9rem;
    border: solid var(--font-color);
    border-width: 0 0.2rem 0.2rem 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.bh-field--checkbox .bh-form-checkbox__checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

.bh-field--checkbox .bh-form-checkbox-container input:checked~.bh-form-checkbox__checkmark:after {
    display: block;
}

.bh-field--checkbox .bh-form-checkbox__text {
    display: block;
}

.bh-field input[type="submit"],
input.cooRouteSubmit {
    cursor: pointer;
    white-space: normal;
}

.bh-field.bh-col--12 input[type="submit"] {
    min-height: 0;
}

.bh-shop-field.bh-shop-field input[type="checkbox"] {
    border: 1px solid var(--template-bg-1-fill-color);
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/* !- Newsletter An- & Abmeldung */

.bhnl-register-form form,
.bhnl-unregister-form form {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  width: calc(100% + 4rem);
  margin-left: -2rem;
  margin-top: -2rem;
}
.bhnl-register-form form > .bhnl-form-field,
.bhnl-unregister-form form > .bhnl-form-field {
  width: calc(50% - 4rem);
  margin: 2rem;
}
.bhnl-register-form form > input[type="submit"],
.bhnl-unregister-form form > input[type="submit"] {
  margin: 2rem;
}
@media only screen and (max-width:600px) {
  .bhnl-register-form form,
  .bhnl-unregister-form form {
    flex-flow: column nowrap;
    align-items: flex-start;
  }
  .bhnl-register-form form > .bhnl-form-field,
  .bhnl-unregister-form form > .bhnl-form-field {
    width: 100%;
  }
  .bhnl-register-form form > input[type="submit"],
  .bhnl-unregister-form form > input[type="submit"] {
    align-self: center;
  }
}

/* Card */

.card-list .card {
    padding-bottom: 2rem;
}

.card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    text-align: center;
    box-sizing: border-box;
    height: 100%;
    border-radius: var(--template-border-radius--large);
}

.card__img {
    height: 26rem;
    height: clamp(20rem, 60vw, 26rem);
    object-fit: cover;
    width: 100%;
    border-radius: var(--template-border-radius--large) var(--template-border-radius--large) 0 0;
}

.card__body {
    padding: 3rem 2rem;
    border-radius: 0 0 var(--template-border-radius--large) var(--template-border-radius--large);
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    background: var(--bg-color);
}

.card__title {
    margin-bottom: 2rem;
}

.card__subtitle {
    margin-top: -2rem;
    margin-bottom: 2rem;
}

.card__buttons {
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
}

.card__buttons::after {
    content: "";
    position: absolute;
    top: -1px;
    height: 50%;
    width: 100%;
    background: var(--bg-color);
    z-index: -1;
}

.card__button {}

@media only screen and (max-width: 600px) {
    .card__body {
        padding: 2.5rem 2rem;
    }
}

/* info-cols */

.info-cols {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    max-width: 400px;
    margin: 0 auto;
}

p.info-col__title,
p.info-col__body {
    margin-bottom: 0;
}

.info-col__body--nowrap {
    white-space: nowrap;
}

.info-col {
    flex: 1;
}

.info-cols--dividers .info-col:not(:last-child) {
    border-right: 1px solid var(--template-bg-2-fill-color);
}

/* pricetable */

.pricetable__title {
    text-align: center;
}

.pricetable td:nth-child(1n+3) {
    font-weight: 700;
}

.pricetable td:nth-child(1n+2) {
    white-space: nowrap;
}

/* detail-view */

.detail-view {}

.detail-view__top-texts {
    text-align: center;
}

.detail-view__img {
    width: 100%;
    height: 30rem;
    height: clamp(28rem, 60vw, 40rem);
    object-fit: cover;
}

.detail-view__img--contain {
    background-size: contain;
}

.detail-view__buttons {}

.detail-view__button {
    max-width: 18rem;
    box-sizing: border-box;
    text-align: center;
}

@media only screen and (max-width: 840px) {
    .detail-view__button {
        margin: 0 1rem;
    }

    .detail-view__buttons {
        margin-left: -1rem;
        margin-right: -1rem;
    }
}

/* Shop */

.bh-shop-button.bh-shop-button {
    --bg-color: var(--template-primary-fill-color);
    --bg-font-color: var(--template-primary-text-color);
}

.bh-shop-buttons.bh-shop-buttons {
    border: none;
}
