/*  © 2025 Edelross GmbH. Alle Rechte vorbehalten. Dieses HTML-Template darf ohne ausdrückliche schriftliche Genehmigung des Eigentümers nicht kopiert, weitergegeben oder für kommerzielle Zwecke genutzt werden. */
/*----------- Fonts ------------*/
@font-face {
    font-family:'Inter';
    src: local('../fonts/Inter Regular'), local('Inter-Regular'),
        url('../fonts/Inter-Regular.woff2') format('woff2'),
        url('../fonts/Inter-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: local('../fonts/Inter Medium'), local('Inter-Medium'),
        url('../fonts/Inter-Medium.woff2') format('woff2'),
        url('../fonts/Inter-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: local('../fonts/Inter Bold'), local('Inter-Bold'),
        url('../fonts/Inter-Bold.woff2') format('woff2'),
        url('../fonts/Inter-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: local('../fonts/Inter Black'), local('Inter-Black'),
        url('../fonts/Inter-Black.woff2') format('woff2'),
        url('../fonts/Inter-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/*----------- VARIABLES ------------*/
/* Custom Variables and Bootstrap Overrides */
:root {
    /* Core Colors */
    --color-primary: v;
    --color-body: #010101;

    /* Bootstrap Color Overrides */
    --bs-primary: #b31216;
    --bs-primary-rgb: 19, 59, 252;
    --bs-body-color: #010101;
    --bs-body-color-rgb: 31, 31, 31;
    --bs-link-color: #b31216;
    --bs-link-hover-color: #b31216;
}

.bg-primary {
    background-color: #b31216 !important;
}

body {
    overflow-x: hidden;
}

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
    font-weight: 600;
	margin-bottom: 1.5rem;
}

/*----------- RESET ------------*/
.owl-carousel .owl-item img {
    width: auto;
}

/*----------- UTILITIES ------------*/
.has-background {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.is-section {
    overflow: hidden;
}

.is-section.has-py-lg {
    padding-top: 100px;
    padding-bottom: 100px;
}

.is-section.has-py-lg-prod {
    padding-top: 100px;
    padding-bottom: 100px;
}

.is-section.has-py-md {
    padding-top: 50px;
    padding-bottom: 50px;
}

.is-section.has-py-sm {
    padding-top: 20px;
    padding-bottom: 20px;
}

.pabo {
    padding-bottom: 3rem;
}

/* Media Marquee */
.k11-marquee-carousel-w {
    width: 100%;
    height: auto;
    overflow: hidden;
    margin-bottom: -2rem;
}

.k11-marquee-carousel-w .k11-marquee-carousel {
    width: 100%;
    height: 50%;
}

.k11-marquee-carousel-w .k11-marquee-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    margin-top: 30px;
}

.k11-marquee-carousel-w .k11-marquee-controls>button {
    padding: 0;
    line-height: inherit;
    background-color: inherit;
    border: none;
    display: inline-flex;
}

.k11-marquee-carousel-w .k11-marquee-controls>button svg {
    width: 32px;
    height: 32px;
}

.k11-marquee-carousel-w .k11-marquee-controls>button.pause .start-icon {
    display: none;
}

.k11-marquee-carousel-w .k11-marquee-controls>button.pause .pause-icon {
    display: block;
}

.k11-marquee-carousel-w .k11-marquee-controls>button.pause.paused .start-icon {
    display: block;
}

.k11-marquee-carousel-w .k11-marquee-controls>button.pause.paused .pause-icon {
    display: none;
}

.k11-marquee-carousel-w .k11-marquee-carousel .swiper-wrapper,
.k11-marquee-carousel-w .k11-logo-carousel .swiper-wrapper,
.k11-marquee-carousel-w .k11-logo-carousel-reverse .swiper-wrapper {
    -webkit-transition-timing-function: linear !important;
    transition-timing-function: linear !important;
}

.k11-marquee-carousel-w .k11-marquee-carousel .swiper-wrapper .swiper-slide,
.k11-marquee-carousel-w .k11-logo-carousel .swiper-wrapper .swiper-slide,
.k11-marquee-carousel-w .k11-logo-carousel-reverse .swiper-wrapper .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
}

.k11-marquee-carousel-w .k11-marquee-carousel .swiper-wrapper .swiper-slide .k11-marquee-carousel-content {
    width: auto;
    height: max(70vh, 600px);
    aspect-ratio: 0.6666666667;
    text-align: center;
    font-size: 18px;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 18px;
    overflow: hidden;
    position: relative;
}

.k11-marquee-carousel-w .k11-marquee-carousel .swiper-wrapper .swiper-slide .k11-marquee-carousel-content span {
    position: absolute;
    top: 50% !important;
    left: 50% !important;
    bottom: unset !important;
    right: unset !important;
    transform: translate(-50%, -50%);
    max-width: 100%;
    line-height: 1.2;
    color: #fff;
    font-size: 30px;
}

@media screen and (max-width: 768px) {
   .k11-marquee-carousel-w .k11-marquee-carousel .swiper-wrapper .swiper-slide .k11-marquee-carousel-content span {
         font-size: 20px;
    }
}
.hero-title {
     background: #a50000;
  padding: 6px 14px;
  margin: 4px auto;
}

.k11-marquee-carousel-w .k11-marquee-carousel .swiper-wrapper .swiper-slide .k11-marquee-carousel-content img,
.k11-marquee-carousel-w .k11-marquee-carousel .swiper-wrapper .swiper-slide .k11-marquee-carousel-content video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media screen and (max-width: 768px) {
    .k11-marquee-carousel-w .k11-marquee-carousel .swiper-wrapper .swiper-slide .k11-marquee-carousel-content {
        height: 45vh;
    }
}

/* yt-modal-trigger */
.mon-yt-video-popup {
    display: none;
    align-items: center;
    justify-content: center;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.8);
    z-index: 1000;
}

.mon-yt-video-popup__content {
    position: relative;
    width: min(90%, 1200px);
    padding: 0 20px;
}

.mon-yt-video-popup__close {
    position: absolute;
    right: 10px;
    top: -40px;
    color: white;
    font-size: 30px;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
}

.mon-yt-video-popup__container {
    aspect-ratio: 16 / 9;
}

.mon-yt-video-popup__container iframe {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

.yt-modal-trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100px;
    height: 100px;
    background: rgba(255, 255, 255, 0.5);
    border: 2px solid #fff;
    border-radius: 50%;
    margin: 15px;
}

.yt-modal-trigger::before {
    content: '';
    width: calc(100% + 30px);
    height: calc(100% + 30px);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255, 255, 255, 0.25);
    border-radius: 50%;
    transition: all 0.2s ease-in-out;
}

.yt-modal-trigger:hover::before {
    width: 100%;
    height: 100%;
    opacity: 0;
}

.yt-modal-trigger::after {
    content: '';
    border: 20px solid transparent;
    border-left-color: #fff;
    border-left-width: 40px;
    position: absolute;
    top: 50%;
    left: calc(50% + 15px);
    transform: translate(-50%, -50%);
    z-index: 2;
}


/* mon-looper */
.mon-looper {
    display: flex;
    white-space: nowrap;
    overflow: hidden;
}

.mon-looper>* {
    animation: textLoop 10s linear infinite;
    font-size: 3vw;
    color: white;
    font-family: 'Inter';
    margin-bottom: 0;
}

@media only screen and (max-width: 990px) {
    .mon-looper p {
        font-size: 10vw;
    }
}

@keyframes textLoop {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }

    100% {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0)
    }
}


/* mon-blockquote */
.mon-blockquote {
    position: relative;
     font-family: 'Inter';
    max-width: 620px;
    margin: 80px auto;
    align-self: center;
}

.mon-blockquote h3 {
     font-family: 'Inter';
    position: relative;
    /* for pseudos */
    color: #b69694;
    font-size: 2.8rem;
    font-weight: normal;
    line-height: 1;
    margin: 0;
    border: 2px solid #fff;
    border: solid 2px;
    border-radius: 20px;
    padding: 25px;
}

.mon-blockquote h3:after {
    content: "";
    position: absolute;
    border: 2px solid #db9d9a;
    border-radius: 0 100% 0 0;
    width: 60px;
    height: 60px;
    bottom: -60px;
    left: 50px;
    border-bottom: none;
    border-left: none;
    z-index: 3;
}

.mon-blockquote h3:before {
    content: "";
    position: absolute;
    width: 80px;
    border: 6px solid #48000b;
    bottom: -3px;
    left: 50px;
    z-index: 2;
}

.mon-blockquote h4 {
    position: relative;
    color: #ffffff;
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.2;
    margin: 0;
    padding-top: 15px;
    z-index: 1;
    margin-left: 150px;
    padding-left: 12px;
}

@media all and (min-width: 600px) {
    .mon-blockquote h3 {
        font-size: 3rem;
        line-height: 1.4;
    }
}

@media screen and (max-width: 768px) {
    .mon-blockquote h4 {
        font-size: 1rem;
    }
}

.mon-blockquote h4:first-letter {
    margin-left: -12px;
}



/* stondorte */
/** Termin buchen */
.inline {
    display: inline-flex;
}

.tbk {
    font-size: 2rem;
    writing-mode: vertical-rl;
    line-height: 75%;
    c-space: pre;
    transform: rotate(180deg);
    margin-left: 0rem;
}

.circle {
    background: #c28c81;
    border-radius: 50%;
    width: 45px;
    height: 45px;
    margin-top: -20px;
    margin-left: 8px;
}

.circle2 {
    background: #48000b;
    border-radius: 50%;
    width: 25px;
    height: 25px;
    margin-top: -30px;
    margin-left: 2px;
}

.circle3 {
    background: #deb8a1;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    margin-top: -40px;
    margin-left: -10px;
}

iframe {
    border-width: 0px !important;
    border: none !important;
    frameborder: 0 !important;
}



iframe .user-list .li {
    border: 0px solid #fff !important;
}

.pricing-classic-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-align: left;
    padding: 5px 20px 5px 0;
    border-bottom: 1px solid #e7e7e7;
}

.pricing-classic-item p {
    padding-top: 16px;
}

.shop-tags {
    color: #fff !important;
    line-height: 1.5;
    border-radius: 25px;
    letter-spacing: 2px;
    margin-right: 7px !important;
    font-family: 'Inter';
    display: flex;
    flex-wrap: wrap;
}

.shop-tags>a {
    padding: 0.25em 0.75em;
    border-radius: 20px;
    background-color: #48000b;
    color: #ffffff;
}

.price-value {
    font-weight: 400;
    color: #b31216;
    font-size: 1.65rem;
     font-family: 'Inter';
}

.pi {
    font-size: 13px;
    text-align: right;
    margin-top: -2.5rem;
}

@media only screen and (max-width: 990px) {
    .mobil-mit-border {
        padding-top: 3rem !important;
        padding-bottom: 1rem !important;
        border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
    }
}

@media only screen and (max-width: 990px) {
    .mobil-ohne-border {
        padding-top: 3rem !important;
        padding-bottom: 0rem !important;
    }
}

@media only screen and (max-width: 990px) {
    .pi {
        margin-top: 0.5rem;
    }
}



/* foooter */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

a,
footer a {
    color: #515151;
}

a {
    transition: color .3s ease-in-out
}

a:hover {
    color: #fff;
}

img {
    max-width: 100%;
    height: auto
}

.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin: 0-15px
}

.col {
    padding: 0 15px;
    width: 100%
}

.bottom-links,
footer {
    border-top: 2px solid #fff
}

footer ul {
    list-style: none;
}

footer {
    background: #0830fd;
    padding: 80px 0
}

footer h3 {
    font-weight: 500;
    color: #444444;
    letter-spacing: 1px;
    font-size: 32px;
    margin-bottom: 10px
}

footer ul {
    list-style: none
}

footer li {
    margin-bottom: 5px
}

body,
footer a {
    font-size: 18px;
}

.social-icons a {
    margin-right: 10px
}

.bottom-links {
    background: #f4f0ec;
    padding: 25px 0;
    text-align: center
}

.bottom-links a {
    font-size: 15px;
    letter-spacing: .5px;
    margin: 0 10px
}

#to-top-button {
    position: fixed;
    width: 41px;
    height: 41px;
    right: 12px;
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #c09083;
    color: #fff;
    border-radius: 50%;
    border: 0;
    cursor: pointer;
    opacity: 0;
    bottom: -48px;
    transition: opacity .5s, bottom .5s
}

#to-top-button.show {
    opacity: 1;
    bottom: 46px
}

.freeprivacypolicy-com---palette-light.freeprivacypolicy-com---nb {
    background-color: #f2f2f2;
    color: #111
}

.freeprivacypolicy-com---palette-light .cc-nb-text,
.freeprivacypolicy-com---palette-light .cc-nb-title {
    color: #111
}

.freeprivacypolicy-com---palette-light .cc-cp-body-content-entry a,
.freeprivacypolicy-com---palette-light .cc-nb-text a {
    color: #111;
    text-decoration: underline
}

.freeprivacypolicy-com---palette-light .cc-nb-text a:hover,
a {
    text-decoration: none
}

.freeprivacypolicy-com---palette-light .cc-nb-changep:focus,
.freeprivacypolicy-com---palette-light .cc-nb-okagree:focus,
.freeprivacypolicy-com---palette-light .cc-nb-reject:focus,
.freeprivacypolicy-com---palette-light .cc-nb-text a:focus {
    box-shadow: 0 0 0 2px #ff8d00
}

.freeprivacypolicy-com---palette-light .cc-nb-okagree,
.freeprivacypolicy-com---palette-light .cc-nb-reject {
    color: #fff;
    background-color: green
}

.freeprivacypolicy-com---palette-light .cc-nb-changep {
    background-color: #eaeaea;
    color: #111
}

.freeprivacypolicy-com---palette-light .cc-pc-container {
    background: #fff
}

.freeprivacypolicy-com---palette-light .cc-pc-head {
    background: #fff;
    color: #111;
    border-bottom: 1px solid #ccc
}

.freeprivacypolicy-com---palette-light .cc-cp-body-tabs-item[active=true] button,
.freeprivacypolicy-com---palette-light .cc-pc-head-lang select,
.freeprivacypolicy-com---palette-light .cc-pc-head-title-headline,
.freeprivacypolicy-com---palette-light .cc-pc-head-title-text {
    color: #111
}

.freeprivacypolicy-com---palette-light .cc-pc-head-lang select:focus {
    box-shadow: 0 0 0 2px green
}

.freeprivacypolicy-com---palette-light .cc-pc-head-close {
    background: 0 0;
    color: #666
}

.freeprivacypolicy-com---palette-light .cc-pc-head-close:active,
.freeprivacypolicy-com---palette-light .cc-pc-head-close:focus {
    border: 2px solid green
}

.freeprivacypolicy-com---palette-light .cc-cp-body {
    background: #fbfbfb !important;
    color: #111
}

.freeprivacypolicy-com---palette-light .cc-cp-body-tabs {
    color: #666;
    background: #e6e6e6
}

.freeprivacypolicy-com---palette-light .cc-cp-body-tabs-item {
    border-right-color: #ccc;
    border-bottom-color: #ccc
}

.freeprivacypolicy-com---palette-light .cc-cp-body-tabs-item-link,
.freeprivacypolicy-com---palette-light .cc-cp-body-tabs-item-link:hover {
    color: #666
}

.freeprivacypolicy-com---palette-light .cc-cp-body-tabs-item-link:focus {
    box-shadow: 0 0 0 2px #fbfbfb
}

.freeprivacypolicy-com---palette-light .cc-cp-body-tabs-item[active=true] {
    background: #fbfbfb !important
}

.freeprivacypolicy-com---palette-light .cc-cp-body-content {
    background: #fbfbfb !important;
    color: #111
}

.freeprivacypolicy-com---palette-light .cc-cp-body-content-entry-text,
.freeprivacypolicy-com---palette-light .cc-cp-body-content-entry-title {
    color: #111
}

.freeprivacypolicy-com---palette-light .cc-cp-body-content-entry a:hover {
    text-decoration: none
}

.freeprivacypolicy-com---palette-light .cc-cp-body-content-entry a:focus,
.freeprivacypolicy-com---palette-light .cc-cp-foot-byline a:focus {
    box-shadow: 0 0 0 2px green
}

.freeprivacypolicy-com---palette-light .cc-cp-foot {
    background: #f2f2f2;
    border-top-color: #ccc
}

.freeprivacypolicy-com---palette-light .cc-cp-foot-byline {
    color: #111
}

.freeprivacypolicy-com---palette-light .cc-cp-foot-save {
    background: green;
    color: #fff
}

.freeprivacypolicy-com---palette-light .cc-cp-foot-save:focus {
    box-shadow: 0 0 0 2px #ff8d00
}

@media (min-width:992px) {
    .col {
        flex: 0 0 25%;
        max-width: 25%
    }

    h3 {
        font-size: 32px
    }	
}

@media (min-width:769px) {
	.is-section.has-py-lg-prod {
    padding-top: 0px;}	
}

@media screen and (max-width:991px) {
    footer .col ul {
        display: flex;
        flex-wrap: wrap
    }

    footer .col ul li {
        width: 50%
    }
}

@media (max-width:767px) {
    .footer-brand {
        text-align: center
    }
}

.sticky-nav {
    position: fixed;
    right: -200px;
    top: 50%;
    transform: translateY(-50%);
    width: 250px;
    z-index: 99;
    margin: 0;
    padding: 0;
    gap: 8px
}

.sticky-nav,
.sticky-nav li,
.sticky-nav ul {
    display: flex;
    flex-direction: column
}

.sticky-nav,
.sticky-nav ul {
    list-style: none
}

.sticky-nav li {
    background-color: inherit;
    border-radius: 8px;
    height: 66px;
    opacity: .85
}

.sticky-nav ul li {
    height: auto
}

.sticky-nav>li {
    position: relative;
    overflow: hidden;
    background-color: #b69694;
    transition: .3s transform ease-in
}

.sticky-nav>li:nth-child(even) {
    background-color: #48000b
}

.sticky-nav>li:nth-child(1) {
    z-index: 5
}

.sticky-nav>li:nth-child(2) {
    z-index: 4
}

.sticky-nav>li:nth-child(3) {
    z-index: 3
}

.sticky-nav>li:nth-child(4) {
    z-index: 2
}

.sticky-nav>li:nth-child(5) {
    z-index: 1
}

.sticky-nav a {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    text-decoration: none;
    font-size: 20px;
    color: #fff
}

.sticky-nav ul a {
    font-size: 16px;
    padding-top: 8px;
    padding-bottom: 8px
}

.sticky-nav svg {
    min-width: 24px;
    max-width: 24px
}

.sticky-nav ul {
    display: none;
    width: 100%;
    gap: 4px;
    margin: 1px 0 0;
    background-color: inherit;
    border-radius: 8px;
    padding: 12px 0
}

@media (min-width:768px) {
    .sticky-nav li:hover {
        opacity: 1
    }

    .sticky-nav>li:hover {
        transform: translateX(-190px);
        overflow: visible
    }

    .sticky-nav>li:hover ul {
        display: flex
    }
}

@media (max-width:767px) {
    .sticky-nav {
        right: unset;
        top: unset;
        bottom: 0;
        width: 100%;
        transform: unset;
        flex-direction: row;
        justify-content: space-evenly;
        background-color: #48000b;
        padding: 8px
    }

    .sticky-nav li {
        height: auto;
        background-color: unset !important
    }

    .sticky-nav a {
        padding: 0
    }

    .sticky-nav a span {
        display: none
    }
}


/* navigation */
.navbar-nav {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
}

/* Main Navigation Styles with Flip Animation */
.navbar-nav li a {
    font-size: 17px;
    transition: color 250ms cubic-bezier(.645, .045, .355, 1);
    cursor: pointer;
    position: relative;
    padding: 0 calc(var(--space-sm, 0.5rem) + 2pt);
    overflow: hidden;
}

.navbar-nav li a span {
    transform-origin: left bottom;
    will-change: transform;
    transition: transform .5s cubic-bezier(.645, .045, .355, 1) 0s;
    display: inline-block;
}

.navbar-nav li:hover>a::after {
    transform: translateZ(0);
}

.navbar-nav li:hover>a span {
    transform: translateY(-100%) skewY(-20deg);
}

.navbar-nav>li>a::after {
    content: attr(title);
    position: absolute;
    color: var(--color-primary, #007bff);
    top: 0;
    left: calc(var(--space-sm, 0.5rem) + 2pt);
    will-change: transform;
    transform: translateY(100%) skewY(20deg);
    transform-origin: 0 0;
    transition: transform .5s cubic-bezier(.645, .045, .355, 1) 0s;
}

.navbar-nav>li {
    display: flex;
    align-items: center;
    height: var(--main-header-height-md, 60px);
    position: relative;
}

/* Submenu Styles */
.navbar-nav .has-submenu {
    position: relative;
}

/* Pure CSS hover submenu */
.navbar-nav .has-submenu .submenu {
    font-size: var(--text-xs, 14px);
    position: absolute;
    top: 100%;
    width: 220px;
    left: calc(50% - 100px);
    margin: 0;
    background-color: var(--color-contrast-high, #fff);
    z-index: var(--zindex-popover, 1000);
    visibility: hidden;
    opacity: 0;
    transform: translateY(20px) perspective(1px);
    backface-visibility: hidden;
    transition:
        visibility .3s cubic-bezier(.645, .045, .355, 1),
        opacity .3s cubic-bezier(.645, .045, .355, 1),
        transform .3s cubic-bezier(.645, .045, .355, 1);
    border-radius: 12pt;
    box-shadow:
        0 1px 1px rgba(0, 0, 0, .05),
        0 2px 2px rgba(0, 0, 0, .2),
        0 4px 4px rgba(0, 0, 0, .15),
        0 8px 8px rgba(0, 0, 0, .05);
    padding: 0;
    list-style: none;
}

.navbar-nav .has-submenu:hover .submenu {
    visibility: visible;
    transform: translateZ(0) perspective(1px);
    opacity: 1;
    transition:
        visibility .5s cubic-bezier(.645, .045, .355, 1) .1s,
        opacity .5s cubic-bezier(.645, .045, .355, 1) .1s,
        transform .5s cubic-bezier(.645, .045, .355, 1);
}

.navbar-nav .has-submenu .submenu::before {
    content: '';
    position: absolute;
    background-color: var(--color-contrast-high, #fff);
    border-radius: 3pt;
    width: 14px;
    height: 14px;
    top: -.3rem;
    left: calc(50% - 14px);
    z-index: -1;
    transform: rotate(45deg);
}

.navbar-nav .has-submenu .submenu li {
    width: 100%;
    margin-left: 0;
    border-radius: .25rem;
}

.navbar-nav .has-submenu .submenu li a {
    line-height: 1.4;
    font-size: 15px;
    color: var(--color-contrast-lower, #333) !important;
    padding: 6pt 8pt;
    margin-left: 8pt;
    margin-right: 8pt;
    display: block;
    border-radius: 4pt;
    transition: color .6s cubic-bezier(.405, 0, .025, 1);
    backface-visibility: hidden;
    outline: 0;
}

.navbar-nav .has-submenu .submenu li a:hover {
    opacity: 1;
    color: var(--color-primary, #007bff) !important;
}

/* First and last items in submenu */
.navbar-nav .has-submenu .submenu li:first-child>a {
    margin-top: 6pt;
}

.navbar-nav .has-submenu .submenu li:last-child>a {
    margin-bottom: 6pt;
}

/* Override flip animation for submenu items */
.navbar-nav .has-submenu .submenu li a span {
    transform: none !important;
    transform-origin: initial;
    transition: none;
    display: inline;
}

.navbar-nav .has-submenu .submenu li a::after {
    display: none;
    content: none;
}

/* Mobile styles */
@media only screen and (max-width: 992px) {
    .navbar-nav>li {
        height: auto;
    }

    .navbar-nav li a span {
        transform: none !important;
        transition: none;
    }

    .navbar-nav li a::after {
        display: none;
    }

    .navbar-nav .has-submenu .submenu {
        position: static;
        width: 100%;
        transform: none;
        visibility: visible;
        opacity: 1;
        box-shadow: none;
        border-radius: 0;
        background: transparent;
        display: none;
        margin-left: 15px;
    }

    .navbar-nav .has-submenu .submenu::before {
        display: none;
    }

    .navbar-nav .has-submenu:hover .submenu {
        display: block;
    }

    .is_mobile .submenu {
        margin-left: 30px;
    }
}


/* Navbar Animation Styles */
/* Desktop navbar styles (preserved from your original code) */
.navbar-nav li a {
    font-size: 17px;
    transition: color 250ms cubic-bezier(.645, .045, .355, 1);
    cursor: pointer;
    position: relative;
    padding: 0 calc(var(--space-sm, 0.5rem) + 2pt);
    overflow: hidden;
    letter-spacing: 0.2px;
}

.navbar-nav li a span {
    transform-origin: left bottom;
    will-change: transform;
    transition: transform .5s cubic-bezier(.645, .045, .355, 1) 0s;
    display: inline-block;
}

.navbar-nav li:hover a::after {
    transform: translateZ(0);
}

.navbar-nav li:hover a span {
    transform: translateY(-100%) skewY(-20deg);
}

.navbar-nav>li>a::after {
    content: attr(title);
    position: absolute;
    color: var(--color-primary, #007bff);
    top: 0;
    left: calc(var(--space-sm, 0.5rem) + 2pt);
    will-change: transform;
    transform: translateY(100%) skewY(20deg);
    transform-origin: 0 0;
    transition: transform .5s cubic-bezier(.645, .045, .355, 1) 0s;
}

.navbar-nav>li {
    display: flex;
    align-items: center;
    height: var(--main-header-height-md, 60px);
}

.navbar-nav .has-submenu:hover>a::after {
    transform: translateZ(0);
}

.navbar-nav .has-submenu:hover>a span {
    transform: translateY(-100%) skewY(-20deg);
}

.navbar-nav .submenu li a span {
    transform-origin: initial;
    transition: none;
}

.navbar-nav .submenu li:hover a::after {
    transform: none;
}

.navbar-nav .submenu li:hover a span {
    transform: none;
}

.navbar-nav .submenu li a::after {
    content: none;
}

/* Mobile navbar specific styles */
@media (max-width: 991.98px) {

    /* Sidebar overlay */
    .sidebar-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: 1040;
        display: none;
    }

    .sidebar-overlay.show {
        display: block;
    }

    /* Sidebar menu */
    .navbar-collapse {
        position: fixed;
        top: 0;
        right: -280px;
        width: 280px;
        height: 100vh;
        padding: 1rem;
        background-color: white;
        z-index: 1050;
        overflow-y: auto;
        transition: right 0.3s ease;
        display: block !important;
        box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
    }

    .navbar-collapse.show {
        right: 0;
    }

    /* Close button */
    .sidebar-close {
        position: absolute;
        top: 10px;
        right: 10px;
        font-size: 1.5rem;
        background: none;
        border: none;
        cursor: pointer;
    }

    /* Navbar styles for mobile */
    .navbar-nav {
        margin-top: 60px;
        flex-direction: column;
        text-align: left;
        align-items: flex-start;
    }

    .navbar-nav>li {
        height: auto;
        margin-bottom: 15px;
        display: block;
    }

    .navbar-nav li a {
        display: block;
        padding: 10px 0;
        font-size: 18px;
    }

    /* Remove desktop animations for mobile */
    .navbar-nav li a span {
        transform-origin: initial;
        transition: none;
        display: block;
    }

    .navbar-nav li:hover a span,
    .navbar-nav .has-submenu:hover>a span {
        transform: none;
    }

    .navbar-nav>li>a::after,
    .navbar-nav .has-submenu>a::after {
        content: none;
    }

    /* Submenu styles for mobile */
    .navbar-nav .submenu {
        display: block !important;
        position: static;
        background: none;
        box-shadow: none;
        padding-left: 20px;
        margin-top: 5px;
        margin-bottom: 10px;
    }

    .navbar-nav .submenu li {
        margin-bottom: 5px;
    }

    .navbar-nav .submenu li a {
        padding: 5px 0;
        font-size: 16px;
        color: #666;
    }

    /* Category headers for submenu sections */
    .navbar-nav .has-submenu>a {
        font-weight: bold;
        margin-bottom: 0;
    }

    /* Logo area adjustments */
    .navbar>.container {
        padding: 10px 15px;
    }
}

/* Handle submenu display for desktop */
@media (min-width: 992px) {
    .navbar-nav .submenu {
        position: absolute;
        top: 100%;
        left: 0;
        background: white;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
        padding: 10px 0;
        min-width: 200px;
        display: none;
        z-index: 1000;
    }

    .navbar-nav .has-submenu:hover .submenu {
        display: block;
    }
}

/* Footer Copyright (c) 2025 by Zed Dash (https://codepen.io/z-/pen/zYxdRQy) */
body .footer {
    z-index: 1;
    footer-background: #b31216;
    display: grid;
    position: relative;
    grid-area: footer;
    min-height: 12rem;
    margin-top: 10rem;
    overflow-x: clip;
}

body .footer .bubbles {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1rem;
    background: #b31216;
    filter: url("#blob");
}

body .footer .bubbles .bubble {
    position: absolute;
    left: var(--position, 50%);
    background: #b31216;
    border-radius: 100%;
    -webkit-animation: bubble-size var(--time, 4s) ease-in infinite var(--delay, 0s), bubble-move var(--time, 4s) ease-in infinite var(--delay, 0s);
    animation: bubble-size var(--time, 4s) ease-in infinite var(--delay, 0s), bubble-move var(--time, 4s) ease-in infinite var(--delay, 0s);
    transform: translate(-50%, 100%);
}

body .footer .footer-content {
    padding: 8rem 0 4rem;
    background-color: #b31216;
    color: #000;
    z-index: 2;
}

body .footer .footer-content p {
    font-size: 20px;
    font-weight: 400;
    margin-bottom: 1rem;
    opacity: 0.9;
}

body .footer .footer-content a {}

body .footer .footer-copyright {
    text-align: center;
    font-size: 12px;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

@-webkit-keyframes bubble-size {
    0%,
    75% {
        width: var(--size, 4rem);
        height: var(--size, 4rem);
    }

    100% {
        width: 0rem;
        height: 0rem;
    }
}

@keyframes bubble-size {

    0%,
    75% {
        width: var(--size, 4rem);
        height: var(--size, 4rem);
    }

    100% {
        width: 0rem;
        height: 0rem;
    }
}

@-webkit-keyframes bubble-move {
    0% {
        bottom: -4rem;
    }

    100% {
        bottom: var(--distance, 10rem);
    }
}

@keyframes bubble-move {
    0% {
        bottom: -4rem;
    }

    100% {
        bottom: var(--distance, 10rem);
    }
}

.footer-social {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: left;
}

.footer-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: #fff;
    transition: all 0.3s ease;
}

.footer-social a:hover {
    color: #b31216; 
    transform: translateY(-3px);
}

.footer-social svg {
    width: 24px;
    height: 24px;
}

/*text-animation* Copyright (c) 2025 by Ivo Pereira (https://codepen.io/Hivvu/pen/qjjpwo)*/
.mon-text-animation {
    width: 16em;
    height: 8em;
    margin: 20px auto 140px;
    position: relative;
    background: red;
    border-radius: 25px;
}

.mon-text-animation .red {
    color: #b31216;
    padding: 0 0 5px 0;
    font-weight: 700;
}

.mon-text-animation .red div {
    background: #fff;
    padding-right: 5px;
    display: inline-block;
}

.mon-text-animation .mask {
    overflow: hidden;
    position: relative;
}

/*********************
  * Animation Copyright (c) 2025 by Tom Miller (https://codepen.io/creativeocean/pen/ByBogvj)
  *********************/
@keyframes animation-left {
    0% {
        transform: translate3d(100%, 0, 0);
    }

    30% {
        transform: translate3d(100%, 0, 0);
    }

    60% {
        transform: translate3d(0, 0, 0);
    }
}

@keyframes animation-right {
    0% {
        transform: translate3d(-100%, 0, 0);
    }

    30% {
        transform: translate3d(-100%, 0, 0);
    }

    60% {
        transform: translate3d(0, 0, 0);
    }
}

.mon-text-animation>div {
    display: inline-block;
    width: 300px;
}

.mon-text-animation .text-show {
    text-align: left;
    margin-bottom: 8px;
    width: auto !important;
    padding-left: 15px;
}

.mon-text-animation>div:first-child {
    font-size: 1em;
    letter-spacing: 1px;
}

.mon-text-animation>div:first-child .text-show {
    animation: 3s cubic-bezier(0.19, 1, 0.22, 1) infinite alternate both animation-right;
    font-size: 4rem;
    letter-spacing: 0.5px;
}

.zwei {
    font-size: 1.7rem !important;
}

.drei {
    font-size: 1rem !important;
}

@media (min-width: 992px) {
    .sidebar-close {
        display: none;
    }
}

.zentriert {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

#message {
    min-height: 40vh;
}

.k11abstand {
    padding: 50px 0;
}

.bg-red {
    background-color: #b31216;
}

.rot {
    color: #b31216 !important;
}

/*#Accordion*/
.accordion-title {
    display: block;
    border-bottom: 1px solid #c5c5c5;
    padding-left: 1vw;
    transition: border .3s;
    font-size: 1.25rem;
    text-transform: uppercase;
    letter-spacing: 1.25px;
    font-weight: 700;
}

.accordion-contain .accordion-title {
    padding: 25px 35px 25px 35px;
    cursor: pointer;
}

@media only screen and (max-width: 990px) {
    .accordion-contain .accordion-title {
        padding: 20px 10px 20px 10px;
        font-size: 1.05rem;
    }
}

.accordion-contain .accordion-title::after {
    content: "\203A";
    float: left;
    margin-right: 1vw;
    margin-top: -7px;
    transition: 400ms;
    transform: rotate(0deg);
    color: #b31216;
}


.accordion-contain:hover .accordion-title::after {
    transform: rotate(90deg);
}

.accordion-contain {
    position: relative;
}

.accordion-contain .accordion-body .accordion-content {
    opacity: 0;
    height: 0;
    padding: 0px 30px 0px 75px;
    -webkit-hyphens: auto;
    hyphens: auto;
    hyphenate-limit-chars: auto 5;
    hyphenate-limit-lines: 2;
    line-height: 1.75;
    font-size: 1.13rem;
}

@media only screen and (max-width: 990px) {
    .accordion-contain .accordion-body .accordion-content {
        padding: 0px 10px 0px 10px;
    }
}


.accordion-contain .accordion-body {
    opacity: 0;
    height: 0;
    transition: padding-top .4s, padding-bottom .4s;
    position: absolute;
    top: 0;
}

.accordion-contain:hover .accordion-title {
    border-bottom-color: transparent;
}

.accordion-contain:hover .accordion-title~.accordion-body {
    opacity: 1;
    height: 100%;
    padding: 10px;
    position: inherit;
}

.accordion-contain:hover .accordion-title~.accordion-body .accordion-content {
    opacity: 1;
    height: 100%;
}

.bold-big {
    font-size: 2.5rem;
    color: #b31216;
}

.red {
    color: #b31216;
}

.smaller {
    max-width: 200px;
}

.smaller2 {
    max-width: 300px;
}

.hoehe {
    margin-bottom: 18rem;
}

.gross {
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.8px;
}

.message {
    font-size: 1.2rem;
    line-height: 1.5;
    letter-spacing: 0.5px;
    padding-left: 70px;
    padding-right: 70px;
    text-align: center;
}

@media only screen and (max-width: 990px) {
    .message {
        font-size: 1rem;
        padding-left: 20px;
        padding-right: 20px;
    }
}

.grosser {
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: 0.8px;
}

/*#text bouncing  Copyright (c) 2025 by Oluwadare Seyi (https://codepen.io/oluwadareseyi/pen/wvMZpyd) */
.ml9 {
    position: relative;
    font-size: 1.7em;
}

.ml9 .text-wrapper {
    position: relative;
    display: inline-block;
    overflow: hidden;
}

.ml9 .letter {
    transform-origin: 50% 100%;
    display: inline-block;
    line-height: 1em;
}

/*button* Copyright (c) 2025 by Haneen Krimly (https://codepen.io/hkrimly/pen/WNeRXdj)*/
.button {
    position: relative;
    color: #000;
    text-decoration: none;
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: 2px solid #000;
    border-radius: 1000px;
    padding: 10px 20px;
    margin: 25px;
    box-shadow: 0 2px 5px 0 rgba(3, 6, 26, 0.15);
    transition: .5s all ease-in-out;
}

.button:hover {
    cursor: pointer;
    color: #000;
    animation: none;
    animation-play-state: paused;
}

.button-float {
    animation: float 1.5s linear alternate infinite;
}

@keyframes float {
    50% {
        transform: translateY(-px);
    }

    100% {
        transform: translateY(-18px);
    }
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

@media only screen and (max-width: 990px) {
    .vibrate-3 {
        animation: none !important;
        transform: none !important;
    }
}

.btn-primary {
    background-color: #b31216;
    border: none;
    color: #000;
}

.kasterlb {
    padding: 30px 30px 30px 30px;
    background-color: #000;

}

.kasterlr {
    padding: 30px 30px 30px 30px;
    background-color: #b31216;
}


.abstandoben {
    padding-top: 9rem;
}

@media only screen and (max-width: 768px) {
    .abstandoben {
        padding-top: 0rem;
    }
}

/* navbar */
@keyframes spin {
    to {
        transform: rotate(1turn)
    }
}

@keyframes scroll-up-down {
    0% {
        transform: translateZ(0)
    }

    to {
        transform: translate3d(0, 10px, 0)
    }
}

@keyframes tp_zoom_in_out {
    0%,
    to {
        transform: scale(.5)
    }

    50% {
        transform: scale(1)
    }
}

@keyframes tp_zoom_in_out_2 {
    0%,
    to {
        transform: scale(1)
    }

    50% {
        transform: scale(.5)
    }
}

@keyframes headerSlideDown {
    0% {
        margin-top: -150px
    }

    to {
        margin-top: 0
    }
}

@keyframes float {

    0%,
    to {
        transform: translateY(-2rem)
    }

    50% {
        transform: translateY(3rem)
    }
}

@keyframes rotate2 {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(1turn)
    }
}

@keyframes circle-animations {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(1turn)
    }
}

@keyframes scrollText {
    0% {
        transform: translateX(0)
    }

    to {
        transform: translateX(-50%)
    }
}

@keyframes scrollText-2 {
    0% {
        transform: translateX(-50%)
    }

    to {
        transform: translateX(0)
    }
}

@keyframes tfLeftToRight {
    49% {
        transform: translateX(30%)
    }

    50% {
        opacity: 0;
        transform: translateX(-30%)
    }

    51% {
        opacity: 1
    }
}

@keyframes fadeInDown {
    0% {
        opacity: 0;
        transform: translateY(-20px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes sliderShape {
    0%,
    to {
        border-radius: 42% 58% 70% 30%/45% 45% 55% 55%;
        transform: translateZ(0) rotate(.01deg)
    }

    34% {
        border-radius: 70% 30% 46% 54%/30% 29% 71% 70%;
        transform: translate3d(0, 5px, 0) rotate(.01deg)
    }

    50% {
        transform: translateZ(0) rotate(.01deg)
    }

    67% {
        border-radius: 100% 60% 60% 100%/100% 100% 60% 60%;
        transform: translate3d(0, -3px, 0) rotate(.01deg)
    }
}

@keyframes iconMove {
    0%,
    to {
        transform: translateX(0)
    }

    30% {
        opacity: 0
    }

    31% {
        transform: translateX(1.25rem)
    }

    32% {
        transform: translateX(-1.25rem)
    }

    84% {
        opacity: 1
    }
}

@keyframes bar_anim {
    0%,
    to {
        -webkit-clip-path: inset(-2px 0);
        clip-path: inset(-2px 0)
    }

    42% {
        -webkit-clip-path: inset(-2px 0-2px 100%);
        clip-path: inset(-2px 0-2px 100%)
    }

    43% {
        -webkit-clip-path: inset(-2px 100% -2px 0);
        clip-path: inset(-2px 100% -2px 0)
    }
}

@keyframes opacity-2 {
    0%,
    to {
        height: 40px;
        opacity: 1
    }

    50% {
        height: 24px;
        opacity: 0
    }
}

@keyframes bgshots {
    0% {
        transform: translate(0)
    }

    to {
        transform: translate(-100%)
    }
}

@keyframes bgshotsright {
    0% {
        transform: translate(0)
    }

    to {
        transform: translate(100%)
    }
}

@keyframes zoomInOut {
    0%,
    to {
        transform: scale(1)
    }

    50% {
        transform: scale(1.1)
    }
}

.tp-header-height *,
.tp-offcanvas-area * {
    font-family: 'Inter';
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 1.1px;
	color: #010101 !important;
}

.tp-header-height .tp-offcanvas-social ul li a,
.tp-header-height a,
.tp-header-height button,
.tp-header-height input,
.tp-header-height li,
.tp-header-height p,
.tp-offcanvas-area,
.tp-offcanvas-area .tp-offcanvas-social ul li a,
.tp-offcanvas-area a,
.tp-offcanvas-area button,
.tp-offcanvas-area input,
.tp-offcanvas-area li,
.tp-offcanvas-area p {
    transition: .3s ease-out
}

.tp-header-height a,
.tp-offcanvas-area a {
    text-decoration: none;
    hyphens: auto;
    hyphenate-limit-chars: auto 10
}

.tp-header-height .h3,
.tp-header-height .h4,
.tp-header-height h3,
.tp-header-height h4,
.tp-offcanvas-area .h3,
.tp-offcanvas-area .h4,
.tp-offcanvas-area h3,
.tp-offcanvas-area h4 {
    color: #010101b;
    font-weight: 800;
    line-height: 1.2;
    margin-top: 0;
    transition: color .3s ease-out
}

.tp-header-height .h3,
.tp-header-height h3,
.tp-offcanvas-area .h3,
.tp-offcanvas-area h3 {
    font-size: 28px
}

.tp-header-height .h4,
.tp-header-height h4,
.tp-offcanvas-area .h4,
.tp-offcanvas-area h4 {
    font-size: 24px
}

.tp-header-height ul,
.tp-offcanvas-area ul {
    margin: 0;
    padding: 0
}

.tp-header-height p,
.tp-offcanvas-area p {
    color: #5d5d63;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 28px;
    margin-bottom: 15px
}

.tp-header-height img,
.tp-offcanvas-area img {
    max-width: 100%
}

.tp-header-height a:focus,
.tp-header-height a:hover,
.tp-header-height a:not([href]):not([class]),
.tp-header-height a:not([href]):not([class]):hover,
.tp-offcanvas-area a:focus,
.tp-offcanvas-area a:hover,
.tp-offcanvas-area a:not([href]):not([class]),
.tp-offcanvas-area a:not([href]):not([class]):hover {
    color: inherit;
    text-decoration: none
}

.tp-header-height .button:focus,
.tp-offcanvas-area .button:focus {
    outline: 0;
    text-decoration: none
}

.tp-header-height a:focus,
.tp-header-height button:focus,
.tp-offcanvas-area a:focus,
.tp-offcanvas-area button:focus {
    outline: 0
}

.tp-header-height a,
.tp-header-height button,
.tp-offcanvas-area a,
.tp-offcanvas-area button {
    background: 0 0;
    border: 0;
    outline: 0;
    color: #010101
}

.tp-header-height .pointer,
.tp-header-height button:hover,
.tp-offcanvas-area .pointer,
.tp-offcanvas-area button:hover {
    cursor: pointer
}

.tp-header-height input[type=tel],
.tp-header-height input[type=text],
.tp-offcanvas-area input[type=tel],
.tp-offcanvas-area input[type=text] {
    background-color: #fff;
    border: 1px solid #e0e2e3;
    color: #1e1e1e;
    font-size: 14px;
    height: 56px;
    line-height: 56px;
    outline: 0;
    padding-left: 26px;
    padding-right: 26px;
    width: 100%
}

.tp-header-height input[type=tel]::placeholder,
.tp-header-height input[type=text]::placeholder,
.tp-offcanvas-area input[type=tel]::placeholder,
.tp-offcanvas-area input[type=text]::placeholder {
    color: #95999d
}

.tp-header-height input[type=tel]:focus,
.tp-header-height input[type=text]:focus,
.tp-offcanvas-area input[type=tel]:focus,
.tp-offcanvas-area input[type=text]:focus {
    border-color: #1e1e1e
}

.tp-header-height input[type=tel]:focus::placeholder,
.tp-header-height input[type=text]:focus::placeholder,
.tp-offcanvas-area input[type=tel]:focus::placeholder,
.tp-offcanvas-area input[type=text]:focus::placeholder {
    opacity: 0
}

.tp-header-height input[type=color],
.tp-offcanvas-area input[type=color] {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    background: 0 0;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    height: 100%;
    padding: 0;
    width: 100%
}

.tp-header-height ::selection,
.tp-offcanvas-area ::selection {
    background: #1e1e1e;
    color: #f5f7f5;
    text-shadow: none
}

.tp-header-height ::placeholder,
.tp-offcanvas-area ::placeholder {
    color: #1e1e1e;
    font-size: 14px;
    opacity: 1
}

.tp-header-height .z-index-9,
.tp-offcanvas-area .z-index-9 {
    position: relative;
    z-index: 9
}

.tp-header-height .fix,
.tp-offcanvas-area .fix {
    overflow: hidden
}

.body-overlay {
    background-color: #1e1e1e;
    background: rgb(23 23 23 / .4);
    height: 100%;
    left: 0;
    opacity: 0;
    position: fixed;
    top: 0;
    transition: .45s ease-in-out;
    visibility: hidden;
    width: 100%;
    z-index: 9999
}

.tp-header-height .class,
.tp-offcanvas-area .class {
    stroke-dasharray: 189px, 191px;
    stroke-dashoffset: 0
}

.body-overlay.opened,
.tp-header-height .tp-offcanvas-gallery-img:hover:after,
.tp-offcanvas-area .tp-offcanvas-gallery-img:hover:after {
    opacity: 1;
    visibility: visible
}

.tp-offcanvas-area {
    background: #f5e4dc;
    height: 100%;
    overflow-x: hidden;
    overflow-y: scroll;
    overscroll-behavior-y: contain;
    padding: 50px 20px;
    position: fixed;
    right: 0;
    scrollbar-width: none;
    top: 0;
    transform: translateX(calc(100% + 80px));
    width: 450px;
    z-index: 99999
}

@media (max-width:767px) {
    .tp-offcanvas-area {
        width: 100%
    }
}

@media only screen and (min-width:576px) and (max-width:767px) {
    .tp-offcanvas-area {
        width: 450px
    }
}

.tp-offcanvas-area.opened {
    transform: translateX(0)
}

.tp-offcanvas-area .tp-homemenu-wrapper {
    margin: 20px 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px
}

.tp-offcanvas-area .tp-homemenu-wrapper .col {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 0;
    overflow: hidden;
}

.tp-offcanvas-area .tp-homemenu-wrapper .image-thumbnail {
    border-radius: 8px;
    aspect-ratio: 1;
    overflow: hidden;
}

.tp-offcanvas-area .tp-homemenu-wrapper .image-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tp-offcanvas-area .tp-homemenu-wrapper .homemenu-title {
    font-size: 12px;
    line-height: 1.2;
    margin-top: 8px;
    word-wrap: break-word;
    overflow-wrap: break-word;
    position: static;
    transform: none;
    text-align: center;
}

.tp-offcanvas-area .tp-homemenu-wrapper .teammenu .homemenu-title,
.tp-offcanvas-area .tp-homemenu-wrapper .homemenu .homemenu-title {
    margin-top: 8px;
    position: static;
    transform: none;
    text-align: center;
    font-size: 12px;
    line-height: 1.2;
}

.tp-offcanvas-area .tp-homemenu-wrapper .homemenu-label {
    top: 5px;
    right: 5px;
    font-size: 9px;
    padding: 3px 5px;
}

.tp-offcanvas-area .tp-main-menu-mobile ul li>a {
    font-size: 15px
}

.tp-header-height .tp-offcanvas-top,
.tp-offcanvas-area .tp-offcanvas-top {
    margin-bottom: 90px
}

.tp-header-height .tp-offcanvas-close-btn,
.tp-offcanvas-area .tp-offcanvas-close-btn {
    color: #000
}

.tp-header-height .tp-offcanvas-close-btn:hover,
.tp-offcanvas-area .tp-offcanvas-close-btn:hover {
    opacity: 1;
    transform: rotate(90deg)
}

.tp-header-height .tp-offcanvas-content,
.tp-offcanvas-area .tp-offcanvas-content {
    margin-bottom: 45px
}

.tp-header-height .tp-offcanvas-content p,
.tp-offcanvas-area .tp-offcanvas-content p {
    color: #414144;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px
}

.tp-header-height .tp-offcanvas-title,
.tp-offcanvas-area .tp-offcanvas-title {
    font-size: 40px;
    letter-spacing: -.8px;
    line-height: 1
}

.tp-header-height .tp-offcanvas-title,
.tp-header-height .tp-offcanvas-title.sm,
.tp-offcanvas-area .tp-offcanvas-title,
.tp-offcanvas-area .tp-offcanvas-title.sm {
    color: #1e1e1e;
    font-weight: 700;
    margin-bottom: 15px
}

.tp-header-height .tp-offcanvas-title.sm,
.tp-offcanvas-area .tp-offcanvas-title.sm {
    font-size: 20px;
    text-transform: uppercase
}

.tp-header-height .tp-transparent,
.tp-offcanvas-area .tp-transparent {
    position: absolute;
    z-index: 999
}

.header-sticky,
.tp-header-height .tp-transparent,
.tp-offcanvas-area .tp-transparent {
    background-color: #ffffff36;
    /* box-shadow: 20px 2px 30px #dbd1d1;*/
    left: 0;
    right: 0;
    top: 0;
    width: 100%
}

.header-sticky {
    animation: .95s forwards headerSlideDown;
    background: rgb(255 255 255 / .9);
    box-shadow: 0 1px 3px 0 rgb(18 20 32 / .14);
    opacity: 1;
    position: fixed;
    visibility: visible;
    z-index: 999
}

.header-sticky:after {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    content: "";
    left: 0;
    position: absolute;
    top: 0;
    z-index: -1;
    height: 100%;
    width: 100%
}

.tp-header-height .logo-2,
.tp-header-height .tp-main-menu-mobile .tp-submenu,
.tp-offcanvas-area .logo-2,
.tp-offcanvas-area .tp-main-menu-mobile .tp-submenu {
    display: none
}

.tp-header-area.header-sticky .tp-header-menu>nav>ul>li>a {
    padding: 27px 0
}

@media (max-width:991px) {
    .tp-header-mob-space {
        padding: 20px 0
    }

    .tp-header-area {
        padding-left: 0;
        padding-right: 0
    }
}

.tp-header-menu>nav>ul>li {
    display: inline-block;
    list-style-type: none
}

.tp-header-menu>nav>ul>li>a {
    color: #48000b;
    display: inline-block;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    padding: 0 0 5px
}

.tp-header-bar {
    line-height: 0
}

.tp-header-bar button span {
    background-color: #48000b;
    display: block;
    height: 2px;
    margin: 6px 0;
    width: 40px
}

.tp-header-bar button:hover span {
    animation: .8s cubic-bezier(.44, 1.1, .53, .99) forwards bar_anim
}

.tp-header-bar button:hover span:nth-child(2) {
    animation-delay: .1s
}

.header-main-menu>nav>ul>li>.submenu {
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    background: rgb(255 255 255 / .9);
    box-shadow: 0 30px 30px 0 rgb(25 25 26 / .1);
    margin-left: 0;
    opacity: 0;
    overflow: hidden;
    padding: 35px 0;
    position: absolute;
    text-align: left;
    top: 100%;
    transform: perspective(300px) rotateX(-18deg);
    transform-origin: top;
    transition: .1s;
    visibility: hidden;
    width: 330px;
    z-index: 999
}

.header-main-menu>nav>ul>li>.submenu>li {
    display: block;
    list-style: none;
    padding: 0 45px
}

.header-main-menu>nav>ul>li>.submenu>li:not(:last-child) {
    margin-bottom: 13px
}

.header-main-menu>nav>ul>li>.submenu>li>a {
    color: #575758;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: -.3px;
    line-height: 1;
    position: relative;
    text-transform: uppercase
}

.header-main-menu>nav>ul>li>.submenu>li>a:before {
    background-color: #1e1e1e;
    content: "";
    display: inline-block;
    height: 2px;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 10px;
    transition: .3s ease-out;
    visibility: hidden;
    width: 0
}

.header-main-menu>nav>ul>li>.submenu>li:hover>a {
    color: #1e1e1e;
    padding-left: 25px
}

.header-main-menu>nav>ul>li>.submenu>li:hover>a:before {
    opacity: 1;
    visibility: visible;
    width: 20px
}

.header-main-menu>nav>ul>li>.submenu .submenu {
    left: 100%;
    top: 0
}

.header-main-menu>nav>ul>li:hover>.submenu {
    opacity: 1;
    transform: perspective(300px) rotateX(0);
    transition-duration: .2s;
    visibility: visible
}

/* Mega menu: override submenu defaults so centering transform doesn't conflict */
.header-main-menu>nav>ul>li>.tp-mega-menu {
    transform: translateX(-50%);
    transform-origin: top center;
    transition: opacity .15s ease, visibility .15s ease;
    transition-delay: .08s;
}

.header-main-menu>nav>ul>li:hover>.tp-mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%);
    transition-delay: 0s;
}

.header-main-menu>nav>ul>li.has-homemenu {
    position: static
}

.header-main-menu>nav>ul>li.has-homemenu .tp-mega-menu,
.tp-header-height .tp-main-menu-mobile nav ul li img,
.tp-offcanvas-area .tp-main-menu-mobile nav ul li img {
    width: 100%
}

.header-main-menu>nav>ul>li>.tp-mega-menu {
    background-color: #fff;
    left: 0;
    margin-top: -10px;
    padding: 15px 0 15px;
    position: absolute;
    right: 0;
    top: 100%;
    width: 100%
}

.header-main-menu>nav>ul>li>.tp-mega-menu .tp-homemenu-wrapper {
    padding: 0 20px
}

.homemenu-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 1.5rem;
}

.homemenu-grid > .col {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    flex: none;
    padding: 0;
}

.homemenu-grid > .col > a {
    display: block;
}

.homemenu-grid .image-thumbnail {
    width: 90%;
}

.homemenu-grid .image-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
}

@media (max-width: 1199.98px) {
    .homemenu-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 991.98px) {
    .homemenu-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.tp-header-height .homemenu-title {
    font-size: 17px;
    line-height: 1
}

.tp-header-height .homemenu-title,
.tp-offcanvas-area .homemenu-title {
    color: #48000b;
    font-weight: 500;
    letter-spacing: 1.5px;
    margin-bottom: 0
}

.tp-header-height .tp-main-menu-mobile nav ul,
.tp-offcanvas-area .tp-main-menu-mobile nav ul {
    box-shadow: none;
    display: block;
    margin-bottom: 50px;
    position: static
}

.tp-header-height .tp-main-menu-mobile nav ul li,
.tp-offcanvas-area .tp-main-menu-mobile nav ul li {
    list-style: none;
    padding: 0;
    position: relative;
    width: 100%
}

.tp-header-height .tp-main-menu-mobile nav ul li:not(:last-child)>a,
.tp-offcanvas-area .tp-main-menu-mobile nav ul li:not(:last-child)>a {
    border-bottom: 1px solid rgb(6 7 40 / .1)
}

.tp-header-height .tp-main-menu-mobile nav ul li.has-dropdown>a .dropdown-toggle-btn,
.tp-offcanvas-area .tp-main-menu-mobile nav ul li.has-dropdown>a .dropdown-toggle-btn {
    color: #7f8387;
    font-size: 18px;
    position: absolute;
    right: 30px;
    text-align: center;
    top: 28%;
    transform: translateY(-2px);
    transition: background-color .3s ease-in-out, border-color .3s ease-in-out, color .3s ease-in-out
}

@media (max-width:767px) {

    .tp-header-height .tp-main-menu-mobile nav ul li.has-dropdown>a .dropdown-toggle-btn,
    .tp-offcanvas-area .tp-main-menu-mobile nav ul li.has-dropdown>a .dropdown-toggle-btn {
        right: 0
    }
}

.tp-header-height .tp-main-menu-mobile nav ul li.has-dropdown>a .dropdown-toggle-btn i,
.tp-offcanvas-area .tp-main-menu-mobile nav ul li.has-dropdown>a .dropdown-toggle-btn i {
    transition: .3s ease-in-out
}

.tp-header-height .tp-main-menu-mobile nav ul li.has-dropdown>a .dropdown-toggle-btn.dropdown-opened i,
.tp-offcanvas-area .tp-main-menu-mobile nav ul li.has-dropdown>a .dropdown-toggle-btn.dropdown-opened i {
    transform: rotate(45deg)
}

.tp-header-height .tp-main-menu-mobile nav ul li:last-child a span,
.tp-offcanvas-area .tp-main-menu-mobile nav ul li:last-child a span {
    border-bottom: 0
}

.tp-header-height .tp-main-menu-mobile nav ul li>a,
.tp-offcanvas-area .tp-main-menu-mobile nav ul li>a {
    color: #48000b;
    display: block;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 1px;
    line-height: 1.2;
    padding: 15px 20px 15px 0;
    position: relative
}

.tp-header-height .tp-main-menu-mobile nav ul li>a svg,
.tp-offcanvas-area .tp-main-menu-mobile nav ul li>a svg {
    transform: translateY(-2px)
}

.tp-header-height .tp-main-menu-mobile nav ul li>a>i,
.tp-offcanvas-area .tp-main-menu-mobile nav ul li>a>i {
    display: inline-block;
    font-size: 21px;
    line-height: 1;
    margin-right: 13px;
    transform: translateY(4px);
    width: 11%
}

.tp-header-height .tp-main-menu-mobile nav ul li ul,
.tp-header-height .tp-main-menu-mobile nav ul li ul li,
.tp-offcanvas-area .tp-main-menu-mobile nav ul li ul,
.tp-offcanvas-area .tp-main-menu-mobile nav ul li ul li {
    padding: 0
}

.tp-header-height .tp-main-menu-mobile nav ul li ul li a,
.tp-offcanvas-area .tp-main-menu-mobile nav ul li ul li a {
    margin-left: auto;
    padding: 10px 20px 10px 0;
    text-shadow: none !important;
    visibility: visible;
    width: 93%
}

.tp-header-height .tp-main-menu-mobile nav ul li ul li li a,
.tp-offcanvas-area .tp-main-menu-mobile nav ul li ul li li a {
    padding: 10px 20px 10px 0;
    width: 88%
}

.tp-header-height .tp-main-menu-mobile nav ul li ul li li li a,
.tp-offcanvas-area .tp-main-menu-mobile nav ul li ul li li li a {
    padding: 10px 20px 10px 0;
    width: 83%
}

.tp-header-height .tp-main-menu-mobile nav ul li ul li li li li a,
.tp-offcanvas-area .tp-main-menu-mobile nav ul li ul li li li li a {
    padding: 10px 20px 10px 0;
    width: 68%
}

.tp-header-height .tp-main-menu-mobile nav ul li .submenu,
.tp-offcanvas-area .tp-main-menu-mobile nav ul li .submenu {
    box-shadow: none;
    display: none;
    min-width: 100%;
    opacity: 1;
    padding: 0;
    position: static;
    visibility: visible
}

.tp-header-height .tp-main-menu-mobile nav ul li .submenu li,
.tp-offcanvas-area .tp-main-menu-mobile nav ul li .submenu li {
    display: block;
    float: none;
    padding: 0;
    width: 100%
}

.tp-header-height .tp-main-menu-mobile nav ul li .submenu li:hover a .dropdown-toggle-btn,
.tp-offcanvas-area .tp-main-menu-mobile nav ul li .submenu li:hover a .dropdown-toggle-btn {
    color: #336ef9
}

.tp-main-menu-mobile * li,
.tp-main-menu-mobile * ul {
    transition: none !important
}

.tp-header-height .has-click-dropdown.dropdown-opened .dropdown,
.tp-header-height .has-dropdown.dropdown-opened .submenu,
.tp-offcanvas-area .has-click-dropdown.dropdown-opened .dropdown,
.tp-offcanvas-area .has-dropdown.dropdown-opened .submenu {
    display: block
}

.tp-offcanvas-area .has-dropdown .dropdown-toggle-btn::before {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8 2a.5.5 0 0 1 .5.5v5h5a.5.5 0 0 1 0 1h-5v5a.5.5 0 0 1-1 0v-5h-5a.5.5 0 0 1 0-1h5v-5A.5.5 0 0 1 8 2'/%3E%3C/svg%3E")
}

.tp-offcanvas-area .has-dropdown.dropdown-opened .dropdown-toggle-btn::before {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M2 8a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11A.5.5 0 0 1 2 8'/%3E%3C/svg%3E")
}

.tp-header-height .has-click-dropdown,
.tp-header-height .homemenu,
.tp-header-height .teammenu,
.tp-header-logo,
.tp-offcanvas-area .has-click-dropdown,
.tp-offcanvas-area .homemenu,
.tp-offcanvas-area .teammenu {
    position: relative
}

.tp-header-height .homemenu .homemenu-title,
.tp-offcanvas-area .homemenu .homemenu-title {
    color: #48000b;
    line-height: 1.3;
    text-align: center;
    margin-top: 8px;
    position: static;
    transform: none;
    max-width: 100%;
}

.tp-header-height .teammenu .homemenu-title,
.tp-offcanvas-area .teammenu .homemenu-title {
    line-height: 1.3;
    margin-top: -30px;
    text-align: center
}

.tp-header-logo {
    height: auto;
    margin-top: -5px;
	  display: inline-block;
    width: 50%;
    vertical-align: top;  /* Verhindert ungewollte Abstände */
}

.tp-header-logo img {
    width: 100%;
    height: auto
}

.tp-header-height .has-click-dropdown .dropdown,
.tp-offcanvas-area .has-click-dropdown .dropdown {
    display: none;
    margin-top: 20px;
    position: absolute
}

.tp-header-height .has-click-dropdown .dropdown:before,
.tp-offcanvas-area .has-click-dropdown .dropdown:before {
    border-bottom: 10px solid #b31216;
    border-left: 10px solid #fff0;
    border-right: 10px solid #fff0;
    content: "";
    height: 0;
    position: absolute;
    right: 0;
    top: -10px;
    width: 0
}

.tp-header-height .is-search,
.tp-offcanvas-area .is-search {
    border-radius: 10px;
    right: -23px;
    width: 350px
}

.tp-header-height .is-search:before,
.tp-offcanvas-area .is-search:before {
    right: 20px !important
}

.tp-header-height .tp-language-switcher,
.tp-offcanvas-area .tp-language-switcher {
    background-color: #b31216;
    display: flex;
    flex-direction: column;
    list-style: none
}

.tp-header-height .tp-language-switcher a,
.tp-offcanvas-area .tp-language-switcher a {
    color: #fff;
    display: block;
    font-size: 16px;
    font-weight: 600;
    opacity: .5;
    padding: 10px
}

.tp-header-height .tp-language-switcher li:not(:last-child),
.tp-offcanvas-area .tp-language-switcher li:not(:last-child) {
    border-bottom: 1px solid #b69694
}

.tp-header-height .tp-language-switcher a.is-active,
.tp-header-height .tp-language-switcher a:hover,
.tp-offcanvas-area .tp-language-switcher a.is-active,
.tp-offcanvas-area .tp-language-switcher a:hover {
    opacity: 1
}

.tp-header-height .is-language-switcher,
.tp-offcanvas-area .is-language-switcher {
    right: -10px
}

.tp-header-height .is-language-switcher:before,
.tp-offcanvas-area .is-language-switcher:before {
    right: 50%;
    transform: translateX(-50%)
}

header .tp-main-menu-content {
    display: flex;
    gap: 74px;
    justify-content: center
}

.tp-header-height a.nav-cta,
.tp-offcanvas-area a.nav-cta {
    align-items: center;
    background-color: #b31216;
    color: #fff !important;
    border: 1px solid #b31216;
    display: flex !important;
    gap: 16px;
    justify-content: center;
    padding: 10px 15px !important;
    transition: opacity .3s ease;
}

.tp-header-height a.nav-cta:hover,
.tp-offcanvas-area a.nav-cta:hover {
    opacity: .85;
    color: #fff !important;
}

.tp-header-height .tp-nav-main {
    padding: 0
}

.tp-header-height .tp-nav-main,
.tp-header-height .tp-nav-secondary {
    align-items: center;
    display: flex;
    gap: 30px;
    list-style: none
}

.tp-offcanvas-area .tp-nav-main,
.tp-offcanvas-area .tp-nav-secondary {
    align-items: center;
    display: flex;
    gap: 30px;
    justify-content: center;
    padding: 0;
    list-style: none
}

.tp-header-height .tp-nav-main {
    flex-grow: 1;
    justify-content: center;
    max-width: fit-content
}

.tp-header-height .tp-nav-main>li>a:not([class]),
.tp-offcanvas-area .tp-nav-main>li>a:not([class]) {
    border-bottom: 2px solid #fff0;
    width: auto;
    white-space: nowrap;
    line-height: 1.25
}

.tp-header-height .tp-nav-main>li.is-active>a:not([class]),
.tp-header-height .tp-nav-main>li:hover>a:not([class]),
.tp-offcanvas-area .tp-nav-main>li.is-active>a:not([class]),
.tp-offcanvas-area .tp-nav-main>li:hover>a:not([class]) {
    border-color: #b31216;
}

.tp-header-height .tp-nav-secondary {
    justify-content: flex-end;
    padding: 0;
    padding-bottom:10px;
}

.tp-header-height .tp-nav-secondary>li,
.tp-offcanvas-area .tp-nav-secondary>li {
    margin: 0 !important
}

.tp-header-height .homemenu-label {
    top: 10px;
    right: 10px;
    font-size: 14px !important
}

.tp-offcanvas-area .homemenu-label {
    top: -5px;
    right: -3px
}

.tp-header-height .homemenu-label,
.tp-offcanvas-area .homemenu-label {
    position: absolute;
    background-color: #b31216;
    color: #fff !important;
    padding: 5px;
    border-radius: 5px;
    line-height: 1.4;
    font-weight: 400;
    font-size: 10px;
    letter-spacing: .5px;
    text-align: right
}

.keinedoppels{
    text-transform: lowercase !important;
	color: #fff !important;
}

.tp-offcanvas-area .kuehl {
    background-color: #000 !important;
}

.tp-header-height .kuehl,
.tp-offcanvas-area .kuehl {
    background-color: #000 !important;
}

.tp-header-height .freeze,
.tp-offcanvas-area .freeze {
    background-color: #7A8AB1 !important;
}

.tp-header-height .pizza,
.tp-offcanvas-area .pizza {
    background-color: #F98B04 !important;
}

.tp-header-height .ordi,
.tp-offcanvas-area .ordi {
    background-color: #deb8a1 !important
}

#header-sticky {
    padding: 15px 50px
}

.tp-header-height .tp-nav-secondary li>a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 14px
}

.tp-header-height .tp-nav-secondary li>a svg {
    width: 20px;
    height: 20px
}

.tp-header-height .tp-nav-secondary li>a span {
    line-height: 1
}

.tp-header-height .image-thumbnail,
.tp-offcanvas-area .image-thumbnail {
    position: relative;
    overflow: hidden;
}

.tp-header-height .image-thumbnail img,
.tp-offcanvas-area .image-thumbnail img {
    width: 100%;
    height: auto;
    mix-blend-mode: multiply
}

.tp-offcanvas-area .homemenu-title {
    font-size: 14px;
    line-height: 1
}

@media (min-width:1200px) and (max-width:1399px) {

    .tp-header-height .tp-nav-main,
    .tp-header-height .tp-nav-secondary {
        gap: 15px
    }

    .tp-header-height .homemenu-title {
        font-size: 13px
    }

    .tp-header-menu>nav>ul>li>a {
        font-size: 14px
    }

    .tp-header-height .tp-nav-main>li>a:not([class]),
    .tp-offcanvas-area .tp-nav-main>li>a:not([class]) {
        width: auto
    }
}

@media (min-width:992px) and (max-width:1199px) {

    .tp-header-height .tp-nav-main,
    .tp-header-height .tp-nav-secondary {
        gap: 8px
    }

    .tp-header-height .homemenu-title {
        font-size: 12px
    }

    .tp-header-menu>nav>ul>li>a {
        font-size: 13px
    }
}

@media (max-width:991px) {
    #header-sticky {
        padding: 15px
    }

    #header-sticky .container-full {
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
        justify-content: space-between
    }

    .tp-header-height .tp-nav-secondary li>a {
        flex-direction: column
    }
}

@media (max-width:991px) {
    .tp-header-logo {
        width: 125px
    }
}

.tp-searchables {
    background-color: #fff;
    border-radius: 6px !important;
    overflow: hidden;
    display: flex !important;
    flex-direction: column;
    margin-top: 5px;
    margin-left: 0 !important
}

.tp-searchables>:not(:first-child) {
    border-top: 1px solid #ccc
}

.tp-searchable-item {
    display: flex;
    flex-direction: column;
    padding: 10px;
    font-family: 'Avenir LT Pro Roman'
}

.tp-searchable-text {
    font-size: 12px;
    line-height: 1.5
}

.tp-searchable-text mark {
    font-size: inherit;
    padding: 0;
    line-height: inherit
}

input.tp-searchable-input {
    border-radius: 6px !important;
    padding: 10px !important
}

.ohnebg {
    background-color: transparent !important}

/* ----------------------------------------------
 * Generated by Animista on 2026-3-6 8:51:31
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/** * -- * animation pulsate-fwd--------*/
@-webkit-keyframes pulsate-fwd {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes pulsate-fwd {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

.pulsate-fwd {
	-webkit-animation: pulsate-fwd 0.5s ease-in-out infinite both;
	        animation: pulsate-fwd 0.5s ease-in-out infinite both;
}


.bild-container {
    display: flex;
    gap: 15px; 
}

.bild-container img {
    height: auto;
}
.tp-mega-menu {
    max-width: 1600px !important;
    left: 50% !important;
    right: auto !important;
}

.tp-offcanvas-area .tp-mega-menu {
    max-width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
}


/* ========================================
   MAIN CONTAINER
   ======================================== */

.container2 {
    width: 100%;
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    position: relative;
    padding: 40px 20px;
}

/* ==== BOX CONTAINER=== */

.container2 .box {
    width: 900px;
    max-width: 100%;
    height: 620px;
    background: #fff;
    position: relative;
}

/* ======PRODUKTBILD==== */
.container2 .box .product__img {
    width: 500px;
    position: absolute;
    left: -136px;
    top: 56px;
    z-index: 2;
}

@media (min-width: 1023px) {
.product__img2 {
    left: -170px !important;}
}

@media (min-width: 1023px) {
.pizza2 {
    left: -153px !important;}
}

@media (min-width: 1023px) {
.led {
    left: -60px !important;}
}

.container2 .box .product__img img {
    width: 100%;
    height: auto;
    display: block;
}

.container2 .box .product__disc {
    width: 600px;
    height: auto;
    background: #b31216;
    position: absolute;
    right: 0;
    top: 50px;
    padding: 50px;
    display: flex;
    align-items: center;
    z-index: 1;
}

.container2 .box .product__disc .product__disc--content {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* Tablet */
@media (max-width: 1024px) {
    .container2 .box {
        width: 100%;
        height: auto;
        min-height: 600px;
    }
    
    .container2 .box .product__img {
        left: -100px;
        width: 500px;
    }
    
    .container2 .box .product__disc {
        width: 450px;
        height: 400px;
        padding: 40px;
    }
    
    .container2 .box .product__disc .disc__content--about h1 {
        font-size: 28px;
    }
}

@media (max-width: 768px) {
    .container2 {
        padding: 20px 10px;
    }
    
    .container2 .box {
        height: auto;
        min-height: 700px;
    }
    
    .container2 .box .product__img {
        position: relative;
        left: 0;
        top: 20px;
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
    }
    
    .container2 .box .product__disc {
        position: relative;
        right: auto;
        top: auto;
        width: 100%;
        height: auto;
        padding: 30px;
        margin-top: 20px;
    }
    
    .container2 .box .product__disc .disc__content--about h1 {
        font-size: 24px;
    }
    
    .container2 .box .product__disc .disc__content--about p {
        font-size: 13px;
    }
    
}

@media (max-width: 480px) {
    .container2 .box .product__disc .disc__content--about h1 {
        font-size: 22px;
    }
    
    .container2 .box .product__disc .disc__content--about span {
        font-size: 12px;
    }
    
    .container2 .box .product__disc .disc__content--about p {
        font-size: 12px;
    }
    
    .container2 .box .product__video .video i {
        width: 60px;
        height: 60px;
        font-size: 12px;
    }
    
    .container2 .box .product__video .video p {
        font-size: 13px;
    }
}

.price-box {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.price-new {
    font-size: 32px;
    font-weight: bold;
    color: #fff;
    position: relative;
}

.price-new .euro {
    font-size: 18px;
    font-weight: bold;
    top: -0.5em;
}

.price-old {
    font-size: 20px;
    font-weight: normal;
    color: #fff;
	padding-top: 15px;
    text-decoration: line-through;
}

/* ==========================================
   AUTOMATEN SPEZIFIKATIONEN (SCHWARZ)
   ========================================== */
.automaten-specs {
    background: #000;
    padding: 60px 20px;
}

.specs-grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    grid-auto-rows: 1fr;
}

.spec-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 20px;
    padding: 30px 20px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.3s ease;
    cursor: pointer;
    position: relative;
    min-height: 100%;
}

.spec-box:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: #b31216;
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
}

.spec-icon {
    width: 70px;
    height: 70px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    position: relative;
    border-radius: 50%;
    margin-bottom: 0;
}

.spec-box:hover .spec-icon {
    background: #b31216;
    transform: scale(1.15);
}

.spec-icon svg {
    width: 36px;
    height: 36px;
    color: #fff;
    stroke-width: 2;
}

.spec-text {
    position: relative;
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.spec-label {
    display: block;
    margin: 0 0 12px 0;
    font-size: 16px;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 700;
    line-height: 1.5;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
    white-space: normal;
    max-width: 100%;
}

.spec-value {
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    line-height: 1.4;
    transition: color 0.3s ease;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
    white-space: normal;
}

@media (max-width: 768px) {
    .specs-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .spec-box {
        padding: 25px 18px;
    }
    
    .spec-icon {
        width: 60px;
        height: 60px;
    }
    
    .spec-icon svg {
        width: 32px;
        height: 32px;
    }
    
    .spec-label {
        font-size: 14px;
    }
    
    .spec-value {
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .automaten-specs {
        padding: 40px 15px;
    }
    
    .specs-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    
    .spec-box {
        padding: 25px 15px;
        gap: 15px;
    }
    
    .spec-icon {
        width: 60px;
        height: 60px;
    }
    
    .spec-icon svg {
        width: 30px;
        height: 30px;
    }
    
    .spec-label {
        font-size: 14px;
    }
    
    .spec-value {
        font-size: 13px;
    }
}

/* ==========================================
   KONFIGURATION SECTION
   ========================================== */
.config-section {
    background: #fff;
    padding: 80px 20px;
}

.config-container {
    max-width: 1200px;
    margin: 0 auto;
}

.config-header {
    text-align: center;
    margin-bottom: 60px;
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
}

.config-section .row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}

.config-section .col-lg-6 {
    width: 50%;
    padding: 0 15px;
}

.config-category {
    padding: 30px;
    margin-bottom: 30px;
}

.category-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 25px;
}

.category-icon {
    width: 50px;
    height: 50px;
    background: #b31216;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.category-icon svg {
    width: 28px;
    height: 28px;
    color: #fff;
    stroke-width: 2;
}

.category-title {
    font-size: 24px;
    color: #000;
    margin: 0;
    font-weight: bold;
}

.options-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    grid-auto-rows: 1fr;
}

.option-item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 18px 20px;
    background: #fff;
    border: 1px solid #e0e0e0;
    min-height: 100%;
}

.option-name {
    font-size: 15px;
    color: #000;
    font-weight: 500;
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 10px;
}

.option-note {
    display: block;
    font-size: 12px;
    color: #666;
    font-weight: normal;
}

.option-price {
    font-size: 16px;
    font-weight: bold;
    color: #b31216;
    white-space: nowrap;
    text-align: right;
    margin-top: auto;
}

.config-cta {
    text-align: center;
    padding-top: 40px;
}

.config-cta p {
    font-size: 14px;
    color: #666;
    margin: 0 0 20px 0;
}

.cta-button {
    display: inline-block;
    padding: 18px 40px;
    background: #b31216;
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    text-align: center;
    border: 1px solid #fff;
}

.cta-button:hover {
    background: #000;
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(202, 23, 27, 0.4);
    border: 1px solid #000;
}

@media (max-width: 991px) {
    .config-section .col-lg-6 {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .config-section {
        padding: 60px 15px;
    }
    
    .config-header h2 {
        font-size: 32px;
    }
    
    .config-header p {
        font-size: 16px;
    }
    
    .config-category {
        padding: 25px 20px;
    }
    
    .category-header h3 {
        font-size: 20px;
    }
    
    .options-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    
    .option-item {
        padding: 15px;
    }
}

@media (max-width: 480px) {
    .config-header h2 {
        font-size: 28px;
    }
    
    .category-icon {
        width: 45px;
        height: 45px;
    }
    
    .category-icon svg {
        width: 24px;
        height: 24px;
    }
    
    .category-header h3 {
        font-size: 18px;
    }
    
    .options-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .option-name {
        font-size: 14px;
    }
    
    .option-price {
        font-size: 15px;
    }
    
    .cta-button {
        width: 100%;
        padding: 16px 20px;
        font-size: 14px;
    }
}

@media (min-width: 1200px) {
    .prod {
        font-size: 2.6rem;
    }
    
    h2, .h2 {
        font-size: 2.5rem;
    }
}

.review {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 1px;
}

/* ==========================================
   WARUM WARENAUTOMATEN SECTION (WEIß)
   ========================================== */

/* Icon grau, beim Hover rot mit weißem SVG */
.why-spec-icon {
    background: transparent !important;
    border-radius: 50%;
}

.why-spec-icon svg {
    stroke: #666 !important;
}

.why-spec-box:hover .why-spec-icon {
    background: #ca171b !important;
}

.why-spec-box:hover .why-spec-icon svg {
    stroke: #fff !important;
}

.why-spec-label {
    font-size: 18px !important;
    color: #000 !important;
}

.why-spec-value {
    font-size: 16px !important;
    color: #666 !important;
}

/* ==========================================
   PRODUCT EXAMPLES GRID (FINAL VERSION)
   ========================================== */
.product-examples-grid {
    margin-top: 60px;
    text-align: center;
}

.product-example-header h3 {
    font-size: 32px;
    margin-bottom: 40px;
    color: #ca171b;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    margin-top: 40px;
}

.product-item {
    background: #fff;
    padding: 30px 20px;
    border: 1px solid #e0e0e0;
    text-align: center;
    transition: all 0.3s ease;
    border-radius: 8px;
}

.product-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    border-color: #ca171b;
}

.product-icon {
    font-size: 48px;
    margin-bottom: 15px;
}

.product-item h4 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 8px;
    color: #000;
}

.product-item p {
    font-size: 14px;
    color: #666;
    margin: 0;
    line-height: 1.5;
}

/* RESPONSIVE */
@media (max-width: 991px) {
    .product-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .product-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
    }
}

@media (max-width: 576px) {
    .product-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
    }
    
    .product-item {
        padding: 20px 15px !important;
    }
    
    .product-icon {
        font-size: 36px !important;
        margin-bottom: 10px !important;
    }
    
    .product-item h4 {
        font-size: 15px !important;
    }
    
    .product-item p {
        font-size: 12px !important;
    }
    
    .product-example-header h3 {
        font-size: 22px !important;
        margin-bottom: 30px !important;
    }
}

@media (max-width: 400px) {
    .product-icon {
        font-size: 32px !important;
    }
    
    .product-item h4 {
        font-size: 14px !important;
    }
    
    .product-item p {
        font-size: 11px !important;
    }
}

    ol {
      padding-left: 22px;
    }
    li {
      margin-bottom: 18px;
    }

.bild-container {
    display: flex;
    gap: 15px;
    align-items: center;
}

.bild-container img {
    height: auto;
}
.tp-mega-menu {
    max-width: 1600px !important;
    left: 50% !important;
    right: auto !important;
}

.tp-offcanvas-area .tp-mega-menu {
    max-width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
}

.tp-primary-row.row.align-items-center {
    width: 100%;
}

/* ==========================================
   BRANCHEN SLIDER SECTION (K11 STYLE) - FIXED!
   ========================================== */
.branchen-slider-section {
    background: #000;
    padding: 100px 0;
    position: relative;
}

.branchen-slider-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        #b31216 50%, 
        transparent 100%);
}

.branchen-container {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 20px;
}

.branchen-slider-section h2 {
    color: #fff;
    margin-bottom: 30px;
    letter-spacing: -1px;
    text-align: center;
}

.branchen-slider-section > .branchen-container > p {
    color: #c9c6c6;
    max-width: 800px;
    margin: 0 auto 60px;
    text-align: center;
    line-height: 1.7;
}

.branchen-carousel-wrapper {
    width: 100%;
    position: relative;
    overflow: hidden;
}

.branchen-carousel {
    width: 100%;
    padding: 0 0 60px 0;
}

.branchen-carousel .swiper-slide {
    height: auto;
}

.branchen-carousel .industry-card:hover {
    transform: translateY(-8px);
    z-index: 10;
}

.branchen-carousel .industry-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.branchen-carousel .industry-card:hover::before {
    transform: scale(1.08);
}


.branchen-carousel .industry-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);
    transition: opacity 0.4s ease;
}

.branchen-carousel .industry-card:hover::after {
    opacity: 0.5;
}

.branchen-carousel .industry-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 30px;
    z-index: 1;
    transform: translateY(0);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.branchen-carousel .industry-card:hover .industry-content {
    transform: translateY(-10px);
}

.branchen-carousel .industry-card h3 {
    display: inline-block;
    background: #b31216;
    color: #fff;
    font-size: 22px;
    font-weight: 800;
    padding: 12px 20px;
    margin-bottom: 15px;
    letter-spacing: -0.5px;
    line-height: 1.2;
    position: relative;
    transition: all 0.3s ease;
}

.branchen-carousel .industry-card:hover h3 {
    background: #ca171b;
    padding-right: 30px;
}

.branchen-carousel .industry-card h3::after {
    position: absolute;
    right: 12px;
    opacity: 0;
    transform: translateX(-10px);
    transition: all 0.3s ease;
}

.branchen-carousel .industry-card:hover h3::after {
    opacity: 1;
    transform: translateX(0);
}

.branchen-carousel .industry-card p {
    color: #fff;
    font-size: 15px;
    line-height: 1.6;
    font-weight: 400;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
    opacity: 0.95;
    transition: opacity 0.3s ease;
}

.branchen-carousel .industry-card:hover p {
    opacity: 1;
}

.branchen-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    margin-top: 40px;
}

.branchen-controls button {
    padding: 0;
    line-height: inherit;
    background-color: transparent;
    border: 2px solid #b31216;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: default;
    transition: all 0.3s ease;
}

.branchen-controls button:hover {
    background-color: #b31216;
    transform: scale(1.1);
}

.branchen-controls button:hover svg {
    color: #fff;
}

.branchen-controls button svg {
    width: 24px;
    height: 24px;
    color: #b31216;
    transition: color 0.3s ease;
}

.branchen-controls button.swiper-button-disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.branchen-controls button.swiper-button-disabled:hover {
    background-color: transparent;
    transform: scale(1);
}

@media (max-width: 1200px) {
    .branchen-carousel .industry-card {
        height: 380px;
    }
}

@media (max-width: 991px) {
    .branchen-slider-section {
        padding: 80px 0;
    }
    .branchen-carousel .industry-card {
        height: 350px;
    }
}

@media (max-width: 768px) {
    .branchen-slider-section {
        padding: 60px 0;
    }
    .branchen-slider-section > .branchen-container > p {
        font-size: 16px;
        margin-bottom: 40px;
    }
    .branchen-carousel .industry-card {
        height: 320px;
    }
    .branchen-carousel .industry-content {
        padding: 25px;
    }
    .branchen-carousel .industry-card h3 {
        font-size: 19px;
        padding: 10px 16px;
    }
    .branchen-carousel .industry-card p {
        font-size: 14px;
    }
    .branchen-controls button {
        width: 45px;
        height: 45px;
    }
    .branchen-controls button svg {
        width: 20px;
        height: 20px;
    }
}

@media (max-width: 576px) {
    .branchen-carousel .industry-card {
        height: 350px;
    }
    .branchen-carousel .industry-card h3 {
        font-size: 18px;
    }
    .branchen-carousel .industry-card p {
        font-size: 14px;
    }
}

.branchen-carousel .industry-card {
    position: relative;
    height: 400px;
    overflow: hidden;
    background: #000;
    cursor: default;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.branchen-carousel .industry-card,
.branchen-carousel .industry-card * {
    cursor: default !important;
}

@media (max-width: 768px) {
  body {
    cursor: auto !important;
  }

  #cursor-dot,
  #cursor-circle {
    display: none !important;
  }
}

.map-wrap {
      width: 100%;
      height: 100vh;
      overflow: hidden;
    }

    .map-wrap iframe {
      width: 100%;
      height: 100%;
      border: 0;
      display: block;
    }

.video-box {
  width: 300px !important;
  height: 400px !important;
  overflow: hidden;
}

.video-box video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
}
@media (max-width: 768px) {
    .specs-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}


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

:root {
  --bg: #F4F1EC;
  --card: #FFFFFF;
  --primary: #2B5C4F;
  --primary-hover: #1E4539;
  --accent: #C8A96E;
  --text: #2C2C2C;
  --text-light: #6B6B6B;
  --error: #C0392B;
  --success: #27AE60;
  --radius: 10px;
  --shadow: 0 8px 40px rgba(43, 92, 79, 0.08);
}

/* ---- Layout ---- */
.kontakt-section {
  color: var(--text);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3rem 1rem;
  position: relative;
}

.form-card {
  background: var(--card);
  border-radius: 16px;
  width: 100%;
  max-width: 620px;
  padding: 0rem 2.5rem;
  position: relative;
  animation: fadeUp 0.6s ease-out;
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}

.form-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 2.5rem;
  right: 2.5rem;
  border-radius: 0 0 3px 3px;
}

/* ---- Header ---- */
.form-header {
  text-align: center;
  margin-bottom: 2.2rem;
}

.form-header h1 {
  font-weight: 600;
  font-size: 1.75rem;
  color: var(--primary);
  letter-spacing: -0.02em;
  margin-bottom: 0.4rem;
}

.form-header p {
  font-size: 0.92rem;
  color: var(--text-light);
  line-height: 1.5;
}

/* ---- Form Elements ---- */
.form-group {
  display: grid;
  grid-template-columns: 120px 1fr;
  align-items: start;
  gap: 0 1rem;
  margin-bottom: 1.4rem;
}

.form-group label {
  font-weight: 500;
  color: #333333;
  letter-spacing: 0.03em;
  padding-top: 0.85rem;
  line-height: 1;
}

.form-group label .required {
  color: var(--error);
  margin-left: 2px;
}

.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="tel"],
.form-group textarea {
  width: 100%;
  padding: 0.8rem 1rem;
  font-size: 0.95rem;
  color: var(--text);
  border: 1.5px solid #8f9588;
  border-radius: var(--radius);
  outline: none;
  transition: border-color 0.25s, box-shadow 0.25s;
}

.form-group input:focus,
.form-group textarea:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(43, 92, 79, 0.1);
}

.form-group input::placeholder,
.form-group textarea::placeholder {
  color: #A8A3A3;
}

.form-group textarea {
  resize: vertical;
  min-height: 120px;
  line-height: 1.5;
}

.form-group input.input-error,
.form-group textarea.input-error {
  border-color: var(--error);
}

/* ---- Checkbox ---- */
.checkbox-group {
  margin: 1.6rem 0 1.8rem;
  padding-left: calc(120px + 1rem);
  position: relative;
}

.checkbox-group label {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  font-size: 0.85rem;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  color: var(--text-light);
  cursor: pointer;
  line-height: 1.45;
  user-select: none;
}

.checkbox-group input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border: 2px solid var(--border);
  border-radius: 5px;
  background: var(--bg);
  cursor: pointer;
  margin: 1px 0 0 0;
  position: relative;
  transition: background 0.2s, border-color 0.2s;
}

.checkbox-group input[type="checkbox"]:checked {
  background: var(--primary);
  border-color: var(--primary);
}

.checkbox-group input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 5px;
  width: 6px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.checkbox-group input[type="checkbox"]:focus-visible {
  box-shadow: 0 0 0 3px rgba(43, 92, 79, 0.15);
}

.checkbox-group .required {
  color: var(--error);
  margin-left: 2px;
}

.checkbox-error {
  display: none;
  color: var(--error);
  font-size: 0.78rem;
  margin-top: 0.4rem;
  margin-left: 1.6rem;
  animation: shake 0.4s ease;
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  25%      { transform: translateX(-4px); }
  75%      { transform: translateX(4px); }
}

.checkbox-group.invalid input[type="checkbox"] {
  border-color: var(--error);
}

.checkbox-group.invalid .checkbox-error {
  display: block;
}

/* ---- Submit Button ---- */
.submit-btn {
  width: calc(100% - 120px - 1rem);
  margin-left: calc(120px + 1rem);
  padding: 0.95rem 2rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: #fff;
  background: var(--primary);
  border: none;
  border-radius: var(--radius);
  cursor: pointer;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: background 0.25s, transform 0.15s, box-shadow 0.25s;
  position: relative;
  overflow: hidden;
}

.submit-btn:hover {
  background: var(--primary-hover);
  box-shadow: 0 4px 20px rgba(43, 92, 79, 0.25);
  transform: translateY(-1px);
}

.submit-btn:active {
  transform: translateY(0);
}

.submit-btn::after {
  content: ' \2192';
  transition: transform 0.2s;
  display: inline-block;
}

.submit-btn:hover::after {
  transform: translateX(3px);
}

/* ---- Status Messages ---- */
.form-status {
  text-align: center;
  padding: 1rem;
  border-radius: var(--radius);
  margin-bottom: 1.4rem;
  font-size: 0.9rem;
  display: none;
  animation: fadeUp 0.4s ease;
}

.form-status.success {
  display: block;
  background: rgba(39, 174, 96, 0.1);
  color: var(--success);
  border: 1px solid rgba(39, 174, 96, 0.2);
}

.form-status.error {
  display: block;
  background: rgba(192, 57, 43, 0.08);
  color: var(--error);
  border: 1px solid rgba(192, 57, 43, 0.15);
}

/* ---- Responsive ---- */
@media (max-width: 540px) {
  .form-card { padding: 2rem 1.5rem; }
  .form-group {
    grid-template-columns: 1fr;
    gap: 0.3rem 0;
  }
  .form-group label {
    padding-top: 0;
  }
  .checkbox-group {
    padding-left: 0;
  }
  .submit-btn {
    width: 100%;
    margin-left: 0;
  }
  .form-header h1 { font-size: 1.5rem; }
}

@media (max-width: 991.98px) {
  .intro-mobile-first {
    order: -1;
  }
}
