@import url('https://fonts.googleapis.com/css2?family=Ephesis&display=swap');



@import url('variables.css');
@import url('fonts.css');

body {
    margin: 0;
    padding: 0;
    font-family: var(--font-text-medium);
    font-size: var(--font-size-4);
    line-height: 1.5;
    text-align: left;
    color: var(--color-2);
}

.font-ephesis {
    font-family: 'Ephesis-Regular', cursive;
    color: var(--color-15);
}
/* ==============
Container
=================*/

.gallery {
    height: 550px; 
    object-fit: cover; 
    object-position: 50% 50%; 
    border-radius: 2%;
    cursor: zoom-in;
    transition: opacity 0.25s ease;
}

.gallery:hover,
.gallery:focus {
    opacity: 0.86;
}

.gallery-modal .modal-content {
    background: transparent;
    border: 0;
}

.gallery-modal .modal-body {
    align-items: center;
    display: flex;
    justify-content: center;
    padding: 0;
}

.gallery-modal .gallery-modal-img {
    border-radius: 5px;
    max-height: 90vh;
    max-width: 100%;
    object-fit: contain;
}

.gallery-modal .gallery-modal-close {
    position: absolute;
    right: 0;
    top: -40px;
    z-index: 2;
}

.gallery-modal .gallery-modal-nav {
    align-items: center;
    background-color: rgba(30, 63, 79, 0.72);
    border: 2px solid var(--color-1);
    border-radius: 50%;
    display: flex;
    height: 52px;
    justify-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: background-color 0.25s ease, opacity 0.25s ease;
    width: 52px;
    z-index: 2;
}

.gallery-modal .gallery-modal-nav:hover,
.gallery-modal .gallery-modal-nav:focus {
    background-color: var(--color-2);
    opacity: 1;
}

.gallery-modal .gallery-modal-nav::before {
    border-right: 3px solid var(--color-1);
    border-top: 3px solid var(--color-1);
    content: '';
    display: block;
    height: 16px;
    width: 16px;
}

.gallery-modal .gallery-modal-prev {
    left: 16px;
}

.gallery-modal .gallery-modal-prev::before {
    transform: rotate(-135deg);
}

.gallery-modal .gallery-modal-next {
    right: 16px;
}

.gallery-modal .gallery-modal-next::before {
    transform: rotate(45deg);
}

.border-radius-5{
    border-radius: 5%;
}

main .no-header {
    padding-top: 170px;
}

@media (min-width: 1401px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1700px;
    }
}

@media (max-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1320px;
    }
}

@media (max-width: 1200px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 1140px;
    }
}
@media only screen and (max-device-width: 991px) {
    .container {
        max-width: 98% !important;
    }
}

@media (max-width: 992px) {
    .container, .container-lg, .container-md, .container-sm {
        max-width: 98%;
    }
}

@media only screen and (max-device-width: 767px) {
    .container, .container-md, .container-sm {
        max-width: 98% !important;
    }
}
/* ==============
Navigation
=================*/

#nav-header {
    position: fixed;
    z-index: 100;
    width: 100%;
    backdrop-filter: blur(5px);
    transition: all 0.3s ease;
}

.navbar-toggler {
    width: 50px;
    height: 50px;
    padding: 0;
    transition: 0.3s ease-in-out;
    flex-shrink: 0;
    border:0;
}
.dropdown-toggle::after {
    margin-left: 0;
    border-top: 0 solid;
}

.navbar-toggler:focus {
    box-shadow: none;
}
/* Base style for navigation links */
.navbar-nav .nav-link {
    text-decoration: none;
    color: var(--color-2);
    border-bottom: 2px solid transparent;
    padding: 0 0 6px 0 !important;
    margin: 10px 30px 0 0px;
    position: relative;
    display: inline-block;
    transition: color 0.7s ease-in-out; /* Optional colour transition animation */
    line-height: 1.5;
    cursor: pointer;
    text-transform: uppercase;
}
.navbar-nav .nav-link.active{
    color: var(--color-2);
}

/* Pseudo-element for the bottom border line */
.navbar-nav .nav-link::after {
    content: '';
    position: absolute;
    left: 0;
    top: 31px; /* Startposition etwas unterhalb der sichtbaren Grenze */
    width: 0;
    height: 2px;
    background-color: var(--color-3);
    transition:  0.7s ease-in-out;
    opacity: 0;
    cursor: pointer;
}

/* Hover effect for links */
.navbar-nav .nav-link:hover::after {
    width: 100%;
    opacity: 1;
}


.navbar-nav.nav-end .nav-item:last-child .nav-link{
    margin: 10px 0px 0 0px;
}
#top .dropdown-menu {
    top: 75px;
    backdrop-filter: blur(5px);
    background-color: rgba(243, 243, 243, 0.8);
    border:0 solid transparent;
    border-radius: 0;
    padding: 0;
}

#top .dropdown-item {
    font-size: var(--bs-nav-link-font-size);
    padding: var(--size-1) var(--size-2);
    transition: 0.7s ease-in-out;
    color: var(--color-2);
}

#top .dropdown-item:focus,
#top .dropdown-item:hover {
    background-color: rgba(30, 63, 79,0.15);

}
#top .dropdown-item.active {
    background-color: rgba(30, 63, 79,0.25);
}
#top .nav-mobile-vg {
    position: absolute;
    right: 80px;
    top: 21px;
}

#wrapper {
    transition: left 0.6s;
    left: 0;
    /*position: absolute;*/
    position: relative;
}

#wrapper.slideleft {
    position: absolute;
    left: -233px;

}



/** NAV bei scrollpoint aktive **/
.navbar-nav {
    position: relative;
    --underline-left: 0px;
    --underline-width: 0px;
}

#nav-header .head-logo {
    width: auto;
    height:  50px;
    transition:  0.6s ease;
    margin-bottom: 1.5rem;
    margin-top: 2rem;
}

#nav-header.navi-mini .head-logo {
    height:35px;
    margin-bottom: 0.8rem;
    margin-top: 1rem;
}

#nav-header .head-logo-mobile {
    height: 41px;
    margin: 25px 25px 25px -5px !important;
}

#nav-header .navbar {
    padding: 20px 0;
}
#nav-header.navi-mini .navbar {
    padding: 10px 0;
}
#nav-header .nav-item .nav-link {
    font-size: var(--font-size-1);
}
#nav-header.navi-mini-mobile .nav-item .nav-link,
#nav-header.navi-mini .nav-item .nav-link {
    font-size: var(--font-size-3);
}
/* New ::before for scrollspy – does NOT conflict with existing ::after */
.navbar-nav::before {
    content: '';
    position: absolute;
    left: var(--underline-left);
    top: 41px;
    width: var(--underline-width);
    height: 2px;
    background-color: var(--color-3);
    transition: left 0.4s ease, width 0.4s ease;
    pointer-events: none;
    z-index: 1;
}

/* Active link for scrollspy – extends existing .active */
.navbar-nav .nav-link.active {
    color: var(--color-2);
}

/* Mobile: hide underline */
@media (max-width: 1200px) {
    .navbar-nav::before {
        display: none; /* Auf Mobile nicht anzeigen */
    }
    #nav-header .navbar-toggler {
        position: absolute;
        right: -12px;
        top: -74px;
        transition: 0.6s ease;
    }
    #nav-header.navi-mini .navbar-toggler {
        position: absolute;
        right: -12px;
        top: -55px;
    }

}


@media screen and (max-width: 1200px) {
    .navbar-collapse.collapse:not(.show) {
        display: block;
    }

    .navbar-collapse {
        position: fixed;
        top: 0;
        right: 0;
        background-color: rgba(243, 243, 243, 0.8);
        width: 233px;
        height: 100vh;
        z-index: 9999;
        padding: 0 25px 25px 25px;
        transform: translateX(233px);
        transition: 0.5s ease-in-out;
        display: block;
        margin-top: 0;
        backdrop-filter: blur(5px);

    }
    #wrapper.slideleft .navbar-collapse {
        box-shadow: -3px 3px 3px #00000029;
    }

    .navbar-collapse.show {
        transform: translateX(233px);
    }
    .navbar-nav .nav-link {
        margin: 10px 0 0 0px;
    }
    .nav-overlay {
        position: absolute;
        background: transparent;
        width: 100vw;
        height: 100vh;
        top: 0;
        left: 0;
        z-index: 2;
        transform: translateX(-100vw);
        transition: 0.9s ease-in-out;
        display: block;
    }

    .nav-overlay.active {
        transform: translateX(0);
    }

    #top .dropdown-menu {
        display: block;
        background-color: transparent;
    }
    #top .dropdown-menu  {
        background-color: transparent;

    }
    #top .navbar-collapse {
        /*background-color: rgba(243, 243, 243, 0.8);*/
        background-color: var(--color-12-1)
    }
    #top .dropdown-item {
        font-size: var(--size-4);
        padding: 5px var(--size-2);
    }
    #top .dropdown-item:focus,
    #top .dropdown-item:hover {
        background-color: transparent;
    }
    #top .navbar-nav .nav-link {
        font-size: var(--font-size-2);
    }

    .navbar-nav .nav-link::after {
        width: 100%;
        opacity: 1;
    }

}
/* ========
GRAP - Spacing CLASSES
===========*/

.padding-top-xs  { padding-top: 30px; }
.padding-top-sm  { padding-top: 50px; }
.padding-top-md  { padding-top: 100px; }
.padding-top-lg  { padding-top: 130px; }
.padding-top-xl  { padding-top: 150px;}
.padding-top-xxl { padding-top: 190px;}

.padding-xs      { padding-bottom: 30px;}
.padding-sm      { padding-bottom: 50px;}
.padding-md      { padding-bottom: 100px;}
.padding-lg      { padding-bottom: 130px;}
.padding-xl      { padding-bottom: 150px;}


.padding-right-xs  { padding-right: 30px; }
/* ========
BG Color
===========*/
.bg-white {
    background-color: var(--color-1);
}
.bg-blue {
    background-color: var(--color-2);
}

.bg-yellow {
    background-color: var(--color-3);
}
.bg-light-beige {
    background-color: var(--color-12);
}

.bg-light-yellow {
    background-color: var(--color-13);

}

.bg-gradient-gold {
    background: var(--bg-gradient-1);
}

.bg-gradient-beige-blue {
    background: var(--bg-gradient-2);
}
.bg-light-blue {
    background-color: var(--color-5);
}

.bg-cyan {
    background-color: var(--color-14);
}



.bg-blue-50 {
    background-color: var(--color-2-50);
}


/* ========
Text Color for BG Color
===========*/
.bg-blue p,
.bg-cyan p,
.bg-cyan h1,
.bg-cyan h2,
.bg-cyan h4,
.bg-cyan h5,
.bg-gradient-beige-blue p {
    color: var(--color-1);
}

.bg-cyan h3 {
    color: var(--color-8);
}

.text-cyan {
    color: var(--color-14) !important
}
div.prevText:first-of-type {
    margin-top: 60px; /* oder dein Wert */
}

.bold,
strong {
    font-family: var(--font-text-medium);
}
/* ==============
BG Images
=================*/

.BGImage {
    position: relative;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: cover;
    min-height: 500px;
    background-position: 50% 50%;
}

/* ==============
Icons
=================*/
.icon {
    display: flex;
    align-items: center;
}
.icon:before  {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background-size: contain; /* Fits the image to the element size */
    margin-right: 10px; /* Optional: Abstand zwischen dem Bild und dem Text */
    background-repeat: no-repeat;
}
.icon-whatsup:before {
    background-image: url('../icon/icon-whatsup.svg');
}
.icon-adress:before {
    background-image: url('../icon/icon-adress.svg');
    margin-top: 10px;
}
.icon-email:before {
    background-image: url('../icon/icon-email.svg');
    margin-top: 5px;
}
.icon-grap {
    margin-left: 31px;
}
/* ==============
Site Header
=================*/
.section_header-bg {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center 13%;
}
.img-border-pin {
    border-width: 20px 20px 100px 20px;
    border-style: solid;
    border-color: #ffffff;
}

.img-border-pin:before {
    content: '';
    position: absolute;
    top: -11%;
    left: -13%;
    width: 32%;
    height: 30%;
    background-image: url('../icon/tape.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 2;
    opacity: 0.7;
    transition: opacity 0.3s ease;
    filter: invert(58%) sepia(74%) saturate(776%) hue-rotate(8deg) brightness(91%) contrast(90%);

}

.section_header .BGImage {
    height: 850px;
}

.section_header .header-text-box {
    position: relative;
    left: 0;
    z-index: 2;
}


.section_header .text-box  {
    width: 50%;
    position: absolute;
    z-index: 3;
    top: 240px;
    left: 115px;
    text-align: center;
}
.section_header.bg-light-beige {
    background: linear-gradient(
            to bottom,
            var(--color-12) 0%,
            var(--color-12) 50%,
            var(--color-2) 50%, /* Ab Mitte: hellbeige */
            var(--color-2) 100%
    );
}

.section_header .BGImage .text-box,
.section_header .BGImage .h1-mobile {
    position: relative;
    z-index: 1;
}

.section_header h1 {
    font-size: 3.5rem;
    color: var(--color-1);
    hyphens: auto;
    margin-bottom: var(--grap-sm);
    hyphens: none;
}

.section_header .plz-formular {
    padding: 30px;
    position: absolute;
    bottom: 60px;
    right: -380px;
    width: 380px;
    color: var(--color-4);
    transition: right 1s ease; /* Animationseffekt */
    z-index: 3;
}

.section_header .plz-formular p {
    font-family: var(--font-text-light);
    margin-block-start: 0;
    margin-bottom: 25px;
}
@media only screen and (max-device-width: 768px) {
    .section_header-bg {
        background-position: 80% 13%;
    }

}


@media only screen and (max-device-width: 576px) {
    .section_header-bg {
        background-position: 80% 13%;
    }

    .section_header .BGImage {
        height: 500px;
    }
    .section_header .container .col-12 {
        height: 500px;
        position: relative;
    }
    .h1-mobile {
        position: absolute;
        left: 32px;
        bottom: -20px;
        z-index: 2;
        width: 50%;
        top: 111px;
        text-align: center;
    }

    .section_header .header-text-box {
        position: relative;
        left: -75px;
        top: 233px;
    }
    .section_header .figurecke {
        top: -192px;
        min-height: 200px !important;
        max-height: 200Px !important;
        width: 100px;
        left: 109px;
    }
    .section_header-mobile h1 {
        hyphens: none;
    }

}

/* carousel */

.owl-carousel .BGImage{
    min-height: 600px;
}
.owl-carousel .BGImage::after {
    background: transparent linear-gradient(0deg, var(--color-2) 0%, #0c1f36bd 25%, #FFF8F800 100%) 0 0 no-repeat padding-box;
    bottom: 0;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    opacity: 0.70;
    mix-blend-mode: multiply;
}

.owl-dots {
    position: absolute;
    bottom: -84px;
    left: 50%;
    transform: translate(-50%,-50%);
}
.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
    background: var(--color-2);
}
.owl-theme .owl-dots .owl-dot span {
    background: var(--color-8);
}

/* ==============
Text Style
=================*/
h1, h2 {
    font-family: var(--font-headline-semiBold);
    font-size: 3rem;
    hyphens: none;
    margin-bottom: var(--grap-sm);
    text-transform: uppercase;
    color: var(--color-2);
}

h3 {
    font-size: var(--size-3);
    font-family: var(--font-text-light);
}

.horizontal-parallax h3 {
    font-size: var(--size-3);
}


h4 {
    font-size: var(--font-size-7);
    font-family: var(--font-headline-semiBold);
    margin-bottom: var(--grap-xs);
}
.section_bgimage_with_textbox h4,
.section_bgimage_with_textbox_mobile h4{
    font-family: var(--font-headline);
}
.section_bgimage_with_textbox_mobile h4 {
    font-size: var(--font-size-2);
}
h5 {
    font-family: var(--font-text-light);
    font-size: var(--font-size-1);
}

p {
    font-family: var(--font-text-regular);
}
.phonelink,
.emailLink,
.kontakt-data {
    color: var(--color-14)!important;
}


.kontak-img {
    width: 60%;
    height: auto;
    margin-top: 47px;
}

.border-bottom-blue {
    border-bottom: 13px solid var(--color-2);
    box-shadow: 0 40px 0 0 var(--color-8);
}
.border-bottom-gray {
    border-bottom: 13px solid var(--color-8);
    box-shadow: 0 40px 0 0 var(--color-2);
}

.border-radius-xs {
    border-radius: var(--border-radius-xs);
}
    /* ==============
    sliderOutRight - Erstinforationen
    =================*/

    .main {
        position: relative;
    }

    .sliderOutRight {
        position: absolute;
        top: 270px;
        right: 0;
        z-index: 20;
        background-color: var(--color-1);
        width: 370px;
        height: 253px;
        padding: 35px 40px 25px 25px;
        font-family: var(--font-text-light);
        font-size: var(--size-2);
        box-shadow: 1px 1px 5px var(--color-8);
        transition: transform 0.5s ease;

    }
    .sliderOutRight.closing{
        transition: right 0.5s ease!important; /* Transition effect */
        right: -370px;
    }

    .sliderOutRight.fixed {
        transition: top 1s ease; /* Transition for smooth scrolling */

    }

    .sliderOutRight .button-curtains a {
        color: var(--color-5);
        text-decoration: none;
    }
    .sliderOutRight .close::after {
        background-image: url('../icon/icon_x_yellow.svg');
        content: '';
        height: 18px;
        width: 18px;
        display: inline-block;
        background-size: 100%;
        position: absolute;
        right: 10px;
        top: 14px;
    }
    .sliderOutRight .close:hover::after {
        filter: drop-shadow(0px 1px 2px var(--color-6));
        cursor: pointer;
    }



/* =======================
Scroll To Top Buttom
=========================*/

.scrollToTop {
    position: fixed;
    height: 50px;
    z-index: 100;
    right: 30px;
    bottom: 30px;
}
.scrollToTop .scrolltop {
    border-radius: 48%;
    width: 55px;
    height: 55px;
    border: 0.12em solid var(--color-3);
    animation: 1s ease-in;
}
.scrollToTop .scroll-icon {
    background-image: url('../icon/icon_arrow_down_yellow.svg');
    width:  46px;
    height: 49px;
    display: block;
    margin-left: 3px;
    background-size: contain;
    background-repeat: no-repeat;
    transform: rotate(178deg);
}

.scrollToTop .scroll-icon:hover {
    cursor: pointer;
}


.scrollToTop:hover .scrolltop {
    box-shadow: 0 0 12px rgba(101, 101, 101, 0.35);
}
/* ==============
Listen Style
=================*/

ul.checkliste {
    list-style-type: none;
    padding-left: 0;

}
ul.checkliste.disk {
    list-style-type: disc;
    padding-left: 18px;
}

ul.checkliste li {
    background: url('/files/icon/list-icon.svg') no-repeat left 22%;
    padding-left: 50px;
    margin-bottom: 10px;
    margin-left: 50px;
    line-height: 1.4;
    background-size: 2.5%;
    font-size: var(--font-size-4);
    font-family: var(--font-text-light);
}
ul.checkliste.disk li {
    background: unset;
    margin-left: 25px;
    padding-left: 25px;
}
.section_header ul.checkliste li,
.section_header-mobile ul.checkliste li {
    background: url('/files/icon/list-icon-white.svg') no-repeat left 25%;
    padding-left: 50px;
    margin-left: 0;
    margin-bottom: 10px;
    line-height: 1.5;
    background-size: 4%;
    font-size: var(--font-size-4);
    font-family: var(--font-text-medium);
    color: var(--color-5);
}

ul.checkliste li {
    background-size: 18px;
}

ul.no-list-points  {
    list-style-type: none;
    padding-left: 0;
}

.section_accordeon_text ul.checkliste li {
    margin-left: 0;
    color: var(--color-2);

}


.parallax-container {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.parallax-container p {
    position: absolute;
}


/* ==============
Links
/*=================*!*/
.text-link {
    text-decoration: none;
    padding: 0;
    margin: 0;
    position: relative;
    display: inline-block;
    transition: color 0.7s ease-in-out; /* Optional colour transition animation */
}

.bg-blue-50 .text-link {
    color: var(--color-1-60);
}


.text-link::after {
    content: '';
    position: absolute;
    left: 0;
    top: 22px; /* Startposition etwas unterhalb der sichtbaren Grenze */
    width: 0;
    height: 0.075em;
    background-color: var(--color-4);
    transition:  0.7s ease-in-out;
    opacity: 0;
    cursor: pointer;
}

/* Hover effect for links */
.text-link:hover::after {
    width: 100%;
    opacity: 1;
}

.bg-yellow .text-link {
    color: var(--color-4);
}

.bg-yellow .text-link::after {
    background-color: var(--color-2);
}

/* With animation for links */
.text-link-animation {
    color: var(--color-4);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    padding: 0;
    margin: 0 0 4px 0;
    position: relative;
    display: inline-block;
    transition: color 0.7s ease-in-out; /* Optional colour transition animation */
    line-height: 1.5;
    cursor: pointer;
}
.bg-blue-50 .text-link-animation{
    color: var(--color-5);
}

/* Pseudo-element for the bottom border line */
.text-link-animation::after {
    content: '';
    position: absolute;
    left: 0;
    top: 55px; /* Startposition etwas unterhalb der sichtbaren Grenze */
    width: 0;
    height: 2px;
    background-color: var(--color-3);
    transition:  0.7s ease-in-out;
    opacity: 0;
    cursor: pointer;
}

.bg-gradient-gold .text-link-animation::after  {
    background-color: var(--color-14);
}

/* ==============
   WOW – replaced by IntersectionObserver + CSS animation (no wow.js / animate.css needed)
/* ============== */
.wow {
    visibility: hidden;
    opacity: 0;
}

.wow.animated {
    visibility: visible;
    animation: fadeInUpCustom 0.8s ease-out forwards;
}

@keyframes fadeInUpCustom {
    from {
        opacity: 0;
        transform: translate3d(0, 40px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}


/* Hover effect for links */
.text-link-animation:hover::after {
    width: 100%;
    opacity: 1;
}
/* E-Mail Links und Whatup-links */
#whatsupLink,
#emailLink {
    padding-top: 5px;
    padding-left: 3px;
}
#kontakt #whatsupLink,
#kontakt #emailLink {
    margin-bottom: 0;
}
#kontakt #whatsupLink.text-link-animation::after ,
#kontakt #emailLink.text-link-animation::after  {
    top: 38px;
}


/* ==============
IMAGE CONTAINER
/*=================*!*/

.img-box-animation .image-strip {
    width: 70%;
    height: auto;
    border-radius: var(--border-radius-xs);
    margin-top:var(--grap-sm);

}

/*.order-1 .img-box-animation1::after {*/
/*    height: 25%;*/
/*    width: 2000px;*/
/*    background-color: var(--color-2);*/
/*    top: 0;*/
/*    right: 15%;*/
/*    content: '';*/
/*    display: inline-block;*/
/*    position: absolute;*/
/*    z-index: -1;*/
/*}*/

.order-md-2 .img-box-animation1::after {
    height: 25%;
    width: 100vw;
    background-color: var(--color-2);
    top: 0;
    left: 15%;
    content: '';
    display: inline-block;
    position: absolute;
    z-index: -1;
}
.order-1 .img-box-bg {
    height: 25%;
    width: 2000px;
    background-color: var(--color-2);
    top: 0;
    right: 15%;
    content: '';
    display: inline-block;
    position: absolute;
    z-index: -1;
}
.section_30_70_img_text {
    overflow-x: hidden;
    position: relative; /* wichtig, falls noch nicht gesetzt */
}
.order-md-2 .img-box-bg {
    height: 25%;
    left: 15%;
    width: 100vw; /* Breite des gesamten Viewports */
    background-color: var(--color-2);
    top: 0;
    content: '';
    display: inline-block;
    position: absolute;
    z-index: -1;
}

.img-box-animation .image-container {
    position: relative;
    z-index: 1;
    width: 80%; /* Anpassen je nach Bedarf */
    height: 300px;
    background-size: contain;
    background-position: center;
    border: 20px solid var(--color-9);
    background-color: var(--color-9);
    background-repeat: no-repeat;
    min-height: auto;
}

/*.image-container-border {*/
/*    width: 250px;*/
/*    height: 250px;*/
/*    position: absolute;*/
/*    top: 33px;*/
/*    left: 43px;*/
/*    z-index: 0;*/
/*    border: 2px solid var(--color-2);*/
/*}*/

.img-container-preview {
    width:60%;
    height:auto;
    display: none;
}

.order-2 .img-box-animation .image-container {
    float: right;
    margin-right: 50px;
}

/*.order-2 .img-box-animation .image-container-border {*/
/*    top: 33px;*/
/*    right: 86px;*/
/*    left: unset;*/
/*}*/

/* ==============
ACCORDEON
=================*/

.section_accordeon_text .accordion-item {
    background-color: transparent;
    border-radius: 0;
    border: 0 solid transparent;
    margin-bottom: 10px;
}
.section_accordeon_text .accordion-body {
    padding: 20px 20px 20px 0;
}
.section_accordeon_text .accordion-body p {
    font-family: var(--font-text-light);
    color: var(--color-2);

}

.section_accordeon_text h2 .accordion-button {
    font-size: var(--font-size-5);
    font-family: var(--font-text-medium);
    padding: 20px 60px 20px 0;
    color: var(--color-2);
    background-color: transparent;
    border-bottom: 1px solid transparent;
}
.bg-cyan .section_accordeon_text h2 .accordion-button {
    color: var(--color-2);
}
/* New: ::before for the animated line */
.section_accordeon_text h2 .accordion-button::before {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 0;
    height: 1px;
    background-color: var(--color-8);
    transition: width 1.5s ease-in-out;
}

.section_accordeon_text h2 .accordion-button[aria-expanded="true"]::before {
    width: 100%;
}
.section_accordeon_text .accordion-button::after {
    content: '';
    height: 31px;
    width: 31px;
    background-image:  url('../icon/icon_arrow_down_yellow.svg');
    display: inline-block;
    background-size: 100%;
    position: absolute;
    right: 5px;
    top: 23px;
    transform: rotate(0deg);
}

.section_accordeon_text .accordion-button[aria-expanded="false"]::after {
    content: '';
    height: 45px;
    width: 45px;
    display: inline-block;
    position: absolute;
    right: -4px;
    top: 23px;
    background-image: none !important;
    background-color: var(--color-3);
    mask: url('../icon/icon_arrow_down_yellow.svg') no-repeat center / 100%;
}

.section_accordeon_text .accordion-button[aria-expanded="true"]::after {
    mask: url('../icon/icon_x_yellow.svg') no-repeat center / 100%;
    content: '';
    height: 26px;
    width: 26px;
    display: inline-block;
    background-size: 100%;
    position: absolute;
    right: 5px;
    top: 23px;
    background-image: none !important;
    background-color: var(--color-3);
}
.bg-cyan.section_accordeon_text .accordion-button[aria-expanded="true"]::after,
.bg-cyan.section_accordeon_text .accordion-button[aria-expanded="false"]::after {
    background-color: var(--color-1);
}

/* Toogle Animation */

.section_accordeon_text.toggle-section.d-none {
    display: none; /* Einfach nur verstecken beim Start */
}

/* ==============
BG IMAGE With TEXTBOX
/*=================*!*/
.section_bgimage_with_textbox .bg-box {
    opacity: 0.9;
    z-index: 1;
    position: relative;
}


.section_bgimage_with_textbox1 .text-link-animation::after {
    top: 41px;
}


.section_bgimage_with_textbox::after {
    background: linear-gradient(0deg, #254A51 0%, #3B5C62E4 0%, #395A60E7 48%, #C8C8C814 99%, #FAFAFA 100%) 0 0 no-repeat;
    bottom: 0;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    mix-blend-mode: multiply;
    opacity: 1;
}


/* ==============
Button Style
/*=================*!*/

.btn-basic{
    background:var(--color-2);
    display:inline-block;
    overflow:hidden;
    position:relative;
    font-size: var(--font-size-3);
    font-family: var(--font-headline-semiBold);
    text-transform: uppercase;
    color:var(--color-4);
    z-index:0;
    -moz-transition: all 0.6s ease-out 0.0s;
    -ms-transition: all 0.6s ease-out 0.0s;
    -o-transition: all 0.6s ease-out 0.0s;
    -webkit-transition: all 0.6s ease-out 0.0s;
    transition: all 0.6s ease-out 0.0s;
    border-left: var(--color-14) solid 5px;
    border-right:var(--color-14) solid 5px;
    border-top:0;
    border-bottom:0;
    cursor: pointer;
    padding: var(--size-1) var(--size-3);
    text-decoration: none;
    letter-spacing: 0.07rem;
    border-radius: var(--border-radius-xs);
}

.bg-blue .btn-basic {
    background: var(--color-14);
    color: var(--color-4);
    border-left: var(--color-4) solid 5px;
    border-right:var(--color-4) solid 5px;
}

.bg-yellow .btn-basic {
    background: var(--color-2);
    color: var(--color-4);
    border-left: var(--color-4) solid 5px;
    border-right:var(--color-4) solid 5px;
}


.btn-basic:after,
.btn-basic:before {
    -moz-transition: all 0.4s ease-out 0.0s;
    -ms-transition: all 0.4s ease-out 0.0s;
    -o-transition: all 0.4s ease-out 0.0s;
    -webkit-transition: all 0.4s ease-out 0.0s;
    transition: all 0.4s ease-out 0.0s;
}
.btn-basic + .btn-basic {
    margin-left:25px;
}

.btn-curtains-close:after,
.btn-curtains-close:before {
    z-index:-1;
    content:"";
    position:absolute;
    width:00%;
    height:100%;
    background:var(--color-14);
}
.bg-yellow .btn-curtains-close:after,
.bg-yellow .btn-curtains-close:before,
.bg-blue .btn-curtains-close:after,
.bg-blue .btn-curtains-close:before {
    z-index:-1;
    content:"";
    position:absolute;
    width:00%;
    height:100%;
    background:var(--color-4);
}

.btn-curtains-close:after{
    top:0;
    right:0;
}

.btn-curtains-close:before{
    bottom:0;
    left:0;
}

.btn-basic:hover{
    cursor: pointer;
}

.btn-curtains-close:hover{
    color:var(--color-4);
    cursor: pointer;
}
.bg-yellow .btn-curtains-close:hover,
.bg-blue .btn-curtains-close:hover{
    color:var(--color-2)
}

.btn-curtains-close:hover:after { width:51%;}
.btn-curtains-close:hover:before {width:50%;}


/* ==============
Basic Style
=================*/

.bar-bottom {
    bottom: 0;
    left: 0;
    width: 100%;
}
.content-align-bottom {
    position: absolute;
    bottom: 30px;
    z-index: 4;
}

.bg-header-overlay {
    overflow: hidden;
    min-height: 100%;
    display: flex;
    mix-blend-mode: multiply;
    opacity: 0.9;
    /*background: transparent linear-gradient(0deg, #254A51 0%, #395A60E7 39%, #3B5C62E4 100%) 0% 0% no-repeat padding-box;*/
    background: transparent linear-gradient(0deg, #111f30 0%, #111f3094 20%, #FFF8F800 100%) 0 0 no-repeat padding-box;
}


/* ==============
Card Style
=================*/


.card {
    border-radius: var(--border-radius-xs);
    border-color: transparent;
    margin-bottom: 25px;
    opacity: 1; /* Karten zu Beginn unsichtbar */

}
.card .img-box {
    background-size: auto;
    width: 140px;
    background-repeat: no-repeat;
    min-height: 140px;
    background-color: var(--color-4);
    border-radius: 80px;
}

.card .img-box-2 {
    background-size: contain;
    width: 140px;
    background-repeat: no-repeat;
    min-height: 140px;
    margin-top: var(--bs-card-spacer-x);
    background-color: var(--color-2);
    background-color: var(--color-15)
}

.card .card-title {
    margin-bottom: 5px;
    text-align: center;
    hyphens: none;
    text-transform: uppercase;
    font-family: var(--font-text-bold);
    font-size: var(--font-size-3);
    color: var(--color-2);
}

.card .card-subtitle {
    margin-top: 5px;
    text-align: center;
    hyphens: none;
    color: var(--color-15);
}

/* ==============
Cards mit Kachel
=================*/

.icon-kachel .card {
   background-color: transparent;
}

.icon-kachel .element-height-fit .col-10 {
    border-width: 1px;
    border-style: solid;
    border-left:0;
    border-image: linear-gradient(rgba(0,0,0,0), var(--color-2), rgba(0,0,0,0)) 0 100%;
}

.icon-kachel .element-height-fit .col-10.last-item {
    border-width: 0;
}
.icon-kachel .element-height-fit .col-10.show-more:hover {
    cursor: pointer;
}
.icon-kachel .element-height-fit .card1::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    transition: transform 0.5s ease;
    transform: translateY(0%);
    opacity: 0;
    z-index: 0;
    border-radius: 50%;
    background-image:  radial-gradient(circle, red 25%, white 75%);
    animation: slideIn 0.5s forwards;

}
.icon-kachel .element-height-fit .card1:hover::before {
    transform: translateY(0);
    opacity: 1;
}
@keyframes slideIn {
    to {
        opacity:1;
    }
}

.icon-kachel .card-title {
    color: var(--color-1);
    z-index: 1;
}


.icon-kachel .img-box2 {
    transition: all 0.3s ease-in-out 0.1s;
}
.icon-kachel .col-10:hover .img-box2 {
    transform:  translateY(-10px);
    filter: drop-shadow(5px 5px 10px #7d7d7d);

    /*animation: bouncing 0.5s .3s;*/
}

/* ==============
    skrollr-parallax - slab width Text and Icon
    =================*/

.skrollr-parallax {
    position: relative;
    width: 100%;
    min-height: 100vh;
}

.skrollr-parallax .sticky-holder {
    position: sticky;
    top: 0;
    height: 100vh;
    width: 100%;
    overflow: hidden;
}

.skrollr-parallax .para-box {
    position: absolute;
    height: 400px;

    text-align: center;
    border-radius: 5px;
    font-size: 20px;
    display: none;
}

.skrollr-parallax .box-item {
}

.skrollr-parallax .slab-img {
    width: 100px;
    height: auto;
}

    /* ==============
    Formular
    =================*/
textarea:focus,
button:focus,
input:focus,
input:active,
input:visited {
    outline: none;
    box-shadow:none!important;
}
.form-control {
    font-size: var(--font-size-4);
    background: transparent;
    border: 2px solid var(--color-2);
    color: var(--color-1);
    text-align: center;
    border-radius: 0;
}

.plz-formular .form-control {
    width: 265px;
}

.bg-yellow .form-control,
.bg-blue .form-control {
    font-size: var(--font-size-4);
    background: transparent;
    border: 2px solid var(--color-4);
    color: var(--color-4);
    text-align: left;
    border-radius: 0;
    font-family: var(--font-text-regular);
}
.bg-yellow .form-floating > .form-control {
    color: var(--color-2)
}

.plz-formular .form-control::placeholder {
    color: var(--color-4);
}

.plz-formular .form-control {
    width: 318px;
    text-align: center;
}

.form-floating > label {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 1rem .75rem;
    overflow: hidden;
    text-align: start;
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
    border: 1px solid transparent;
    transform-origin: 0 0;
    transition: opacity .1s ease-in-out,transform .1s ease-in-out;
}

.form-floating > label {
    font-size: var(--font-size-2);
    color: var(--color-1);
    font-family: var(--font-text-light);
}

.form-floating > textarea.form-control,
.form-floating > input.form-control {
    /*padding: 17px 50px 0px 16px;*/
    color: var(--color-4);
    transition:  0.35s ease-in-out;
}

/* Focus Input  Field */

.form-floating > .form-control:not(:placeholder-shown) ~ label::after,
/* aktive Input Field -> Label Farbe*/
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:focus ~ label::after,
    /* Filled input field */
.form-floating > .form-control:not(:placeholder-shown) ~ label {
    opacity: 1;
    color: var(--color-1)!important;
    font-size: var(--font-size-3)!important;
    transform: translateY(-.95em) translateX(0em);
    background-color: transparent!important;
}

.form-floating > .form-control-plaintext:focus,
.form-floating > .form-control-plaintext:not(:placeholder-shown),
.form-floating > .form-control:focus,
.form-floating > .form-control:not(:placeholder-shown) {
    padding-top: 2rem;
    padding-bottom: .625rem;
    background-color: transparent;
    border-color: var(--color-2);
    text-align: left;
    color: var(--color-2);
}

.bg-yellow .form-floating > .form-control-plaintext:focus,
.bg-yellow .form-floating > .form-control-plaintext:not(:placeholder-shown),
.bg-yellow .form-floating > .form-control:focus,
.bg-yellow .form-floating > .form-control:not(:placeholder-shown) {
    border-color: var(--color-4);
}

/* :focus / :active box shadow bottom */

.form-floating > textarea.form-control:focus,
.form-floating > input.form-control:focus,
.form-floating > input.form-control:active {
    -moz-box-shadow: inset 0 -13px 0 -9px var(--color-2) !important;
    -webkit-box-shadow: inset 0 -13px 0 -9px var(--color-2) !important;
    box-shadow: inset 0 -13px 0 -9px var(--color-2) !important;
}

/* Checkbox */

.form-check {
    margin-top: 25px;
    position: relative;
}
.form-check label{
    font-size: var(--font-size-3);
    margin-bottom: 25px;
}

.form-check-input[type="checkbox"] {
    border-radius: 0;
}

input.form-check-input,
input.form-check-input:focus,
input.form-check-input:active{
    border: 1px solid var(--color-2);
    border-radius: 0;
    background-color: transparent;
}

input.form-check-input:checked {
    background-color: var(--color-2);
    border-color: transparent;
}

input.form-check-input.error {
    border: 2px solid var(--color-7);
}





/* Formular */

.form-control.error {
    border: 2px solid var(--color-7);
}

.form-control::placeholder {
    color: var(--color-5);
}

.fill-in-help {
    min-height: 30px;
}
.fill-in-help .error-message {
    color: var(--color-7);
    display: none;
    font-size: 0.65em;
    vertical-align: top;
}
.fill-in-help.active .error-message{
    display: block;
}

.whd.email {
    display: none;
}

/* ==============
Horizontal Scoller
=================*/
.horizontal-parallax {
    position: relative;
    width: 100%;
    min-height: 100vh;
}
.horizontal-parallax .space-holder {
    position: relative;
    width: 100%;
}

.horizontal-parallax .sticky {
    position: sticky;
    top: 0;
    height: 100vh;
    width: 100%;
    overflow-x: hidden;
}

.horizontal-parallax .horizontal {
    position: absolute;
    height: 100%;
    will-change: transform;
}

.horizontal-parallax .cards {
    position: relative;
    height: 100%;
    padding: 0;
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
}

.horizontal-parallax .sample-card:first-child {
    margin-right: 60px;
    background-color: transparent;
}


.horizontal-parallax .sample-card:last-child {
    margin-right: 60px;
}
.horizontal-parallax .sample-card {
    position: relative;
    height: 550px;
    background-color: #111f30;
    margin-right: 30px;
    flex-shrink: 0;
    background-position: 50% 100%;
    padding: 0;
    transition: 0.5s ease-in-out;
    border-radius: var(--border-radius-xs);
}
.horizontal-parallax .sample-card:nth-child(n+2) h2 {
    color: var(--color-1);
    font-family: var(--font-headline);
    hyphens: auto;
    font-size: var(--font-size-7);
}

.horizontal-parallax h2 {
    font-family: var(--font-headline-semiBold);
}
.img-box-zoom {
    background-position: 50% 35%;
    min-height: 100%;
    transition: background-position 1s ease-in-out;
    border-radius: var(--border-radius-xs);
}
.img-box-zoom::after {
    background: transparent linear-gradient(0deg, var(--color-2) 0%, #0c1f36bd 25%, #FFF8F800 100%) 0 0 no-repeat padding-box;
    bottom: 0;
    content: "";
    height: 100%;
    left:0;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    opacity: 0.70;
    mix-blend-mode: multiply;
    border-radius: var(--border-radius-xs);
}

.img-box-zoom:hover {
    background-position: 50% 100%;

}
.horizontal-parallax .sample-card .content-align-bottom {
    padding: 0 25px 0 25px;
    position: absolute;
    bottom: 30px;
    z-index: 4;
}

.horizontal-parallax .sample-card:first-child h3 {
    color: var(--color-2);
    font-size: 3rem;
}

/* ==============
Elemente Boxen
=================*/

.bg-box {
    padding: var(--grap-md);
    margin-right: var(--grap-sm);
}


.bg-box-sm {
    padding: var(--grap-sm);
}


.content-center {
    transform: translate(-50%,-50%);
    left: 50%;
    position: absolute;
    top: 50%;
}

.photo-text {
    position: absolute;
    bottom: -187px;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-2deg);
    width: max-content;
}
.photo-text h2 {
    text-transform: capitalize;
    font-size: 3.2rem;
    text-shadow: 2px 2px 2px #afaeae;
    opacity: 0;
    transition: none;
}

.write-on-scroll {
    opacity: 0;
    visibility: hidden;
}

/* Wird sichtbar wenn Schreibeffekt startet */
.write-on-scroll.writing-done {
    opacity: 1;
    visibility: visible;
}
/* ==============
Parallax  BG Fixed Scrolling
=================*/

.parallax-bg-fix {
    background-attachment: fixed;
    min-height: 100vh;
    background-size: cover;
    background-position-x: 30%;
}
.bg-people-conversation {
   /*   background-image: url('../img/business-conversation.jpg');*/
    background-position: 23% center;
}


/* ==============
Parallax  Cards scrolling one after the other
=================*/

.wrapper_parallax {
    overflow-y: hidden;
    position: relative;
    /* The image used */
    /*background-image: url("https://www.wallpaperflare.com/static/757/698/338/horizon-planets-earth-hd-wallpaper.jpg");*/
    overflow-x: hidden;
    z-index: 0;
    /* Create the parallax scrolling effect */
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.wrapper_parallax  #content {
    position: relative;
    width: 100%;
    overflow:hidden;
    /*top: 1500px;*/

}

.wrapper_parallax  .parallax-card {
    position: absolute;
    background-color: transparent;
    /*height: 400px;*/
    /*width: 400px;*/
    border-radius: 0;
    text-align: center;
    /*height: 400px;*/
    left: 0;
    width: 100%;
}

.wrapper_parallax  .parallax-card img {
    height:auto;
    width: 60%;
    margin-top: 9px;
    padding-bottom: var(--grap-md);
}

.wrapper_parallax  .posfix{
    position: fixed!important;
}

.wrapper_parallax .visible {
    opacity:1;
}

@-webkit-keyframes fadeInUpParallax {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 50%, 0);
        transform: translate3d(0, 50%, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInUpParallax {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 50%, 0);
        -ms-transform: translate3d(0, 50%, 0);
        transform: translate3d(0, 50%, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
    }
}

.fadeInUpParallax {
    -webkit-animation-name: fadeInUpParallax;
    animation-name: fadeInUpParallax;
}

.wrapper_parallax .text-box {
    opacity: 0;
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    transition-property: opacity;
    transition-duration: 1s;
    transition-delay: 1s;
}
.wrapper_parallax .text-show .text-box {
    opacity: 1;
    -webkit-animation-name: fadeInUpParallax;
    animation-name: fadeInUpParallax;
}



/* ==============
Parallax  TEXT Ebene overflow the next Ebene
=================*/
* {
    --parallax-height: 400px;
}
/* Variables ============================ */
/* Main ============================ */

.site-sep {
    position: absolute;
    top: 0;
    right: 0;
    width: 200px;
    height: 200px;
    background-color: #cdcdcd;
}
.para-box {
    position: relative;
}
.text-box {
    padding: 0;
    margin: 0;
    position: relative;
}
.section-parallax {
    text-align: center;
    position: absolute;
    width: 100%;
    height: 400px;
    overflow: hidden;
    clip: rect(0, auto, auto, 0);
}
.section-parallax .fixed {
    overflow: hidden;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-100%, 0%);
    width: 50%;
}
.section-parallax .small {
    font-size: 0.8rem;
}

.section-parallax:nth-child(1) {
    background-color: darkseagreen;
    color: #001330;
    top: 0;
    z-index: 1;
}
.section-parallax:nth-child(1) a {
    color: #001330;
}
.section-parallax:nth-child(2) {
    background-color:  #b8fb3c;
    color: #001330;
    top: 400px;
    z-index: 2;
}
.section-parallax:nth-child(2) a {
    color: #001330;
}
.section-parallax:nth-child(3) {
    background-color: #5ce5d5;
    color: #001330;
    top: 800px;
    z-index: 3;
}
.section-parallax:nth-child(3) a {
    color: #001330;
}
.section-parallax:nth-child(4) {
    background-color: #7898fb;
    color: #5ce5d5;
    top: 1200px;
    z-index: 4;
}
.section-parallax:nth-child(4) a {
    color: #5ce5d5;
}

/* ==============
skw parallax
=================*/

.bg-contact-form {
    top:0;
    left:0;
    width:100% ;
    height:100%;
    background-size: auto;
    filter: brightness(0) saturate(100%) invert(25%) sepia(40%) saturate(500%) hue-rotate(170deg) brightness(80%);
    opacity: 0.2;
    background-position: center center;
}

/* ==============
Impressum / Datenschutz
=================*/

.datenschutz p strong,
.impressum p strong  {
    display: inline-block;
    margin-top: 15px;
}

.datenschutz h3 {
    margin: 60px 0 25px 0;
}
.datenschutz ul {
    margin-left: 25px;
}
.datenschutz ul li {
    font-family: var(--font-text-regular);
}

/* ==============
Footer
=================*/
.footer {

}
.footer p {
    font-family: var(--font-text-regular);
    font-size: var(--font-size-5);
    margin-bottom: 20px;
}

p.small {
    font-family: var(--font-text-light);
    font-size: var(--font-size-1);
    margin-bottom: 0;
}

p.small.grap {
    margin-bottom: 9px;
}
span.spammail {
    display: none;
}
ul.nav-footer {
    padding-left: 0;
}
ul.nav-footer li {
    position: relative;
}


.footer .nav-item {
    color: var(--color-4);
    font-size: var(--font-size-1);
    font-family: var(--font-text-light);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    padding: 0;
    margin: 0 0 4px 0;
    position: relative;
    display: inline-block;
    transition: color 0.7s ease-in-out; /* Optional colour transition animation */
    line-height: 1.5;
    cursor: pointer;
}

/* Pseudo-element for the bottom border line */
.footer .nav-item::after {
    content: '';
    position: absolute;
    left: 0;
    top: 31px; /* Startposition etwas unterhalb der sichtbaren Grenze */
    width: 0;
    height: 2px;
    background-color: var(--color-3);
    transition:  0.7s ease-in-out;
    opacity: 0;
    cursor: pointer;
}

/* Hover effect for links */
.footer .nav-item:hover::after {
    width: 100%;
    opacity: 1;
}



/* ==============
Responsive Design
=================*/

@media only screen and (max-device-width: 575px) {
    .wrapper_parallax_mobile .container .img {
        width: 250px;
    }
}
@media (max-width: 1400px) {
    .bg-box {
        padding: var(--grap-xs);
        margin-right: var(--grap-xs);
    }
}

@media (max-width: 1200px) {

    .bg-box {
        padding: 0;
        margin-right: 0;
    }
    .icon-kachel .element-height-fit .col-10.item-2 {
        border-width: 0;
    }
    .parallax-bg-fix {
        background-attachment: scroll;
        min-height: 50vh;
    }
    h1 {
        hyphens: auto;
    }
    .photo-text {
        bottom: -172px;
    }
    .section_50_50_img_text .photo-text h2 {
        font-size: 2.2rem;
    }



}
@media (max-width: 992px) {
    h1 {
       font-size: var(--font-size-6);
    }
    h2 {
        font-size: var(--font-size-6);
    }
    h3 {
        font-size: var(--font-size-5)
    }

    h4 {
        font-size: var(--font-size-5)
    }
    .section_bgimage_with_textbox h4 {
        font-size: var(--font-size-5);
    }



    ul.no-list-points li {
        background: none;
        margin-left: 0;
        padding-left: 0;
    }

    .section_header ul.checkliste li,
    .section_header-mobile ul.checkliste li {
        margin-bottom: 6px;
        background-size: 20px;
    }

    .btn-basic {
        padding: var(--size-1) var(--size-2);
    }
    /*#kontakt .row  {*/
    /*    --bs-gutter-x: 3rem;*/
    /*}*/
    .order-2 .img-box-animation .image-container {
        float: right;
        margin-right: 0;
    }
    /*.order-2 .img-box-animation .image-container-border {*/
    /*    top: 33px;*/
    /*    right: 36px;*/
    /*}*/
    .img-box-animation .image-container {

        width: 90%;
    }

    .order-md-2 .img-box-bg {
        left: 5%;
    }
    .bg-contact-form {
        background-position: 0% center;
    }


}


@media (max-width: 767px) {

    #nav-header .navbar-toggler {

    }
    .section_header h1,
    h1 {
        font-size: var(--size-3);
    }
    h1 {
        hyphens: auto;
    }
   .section_header {
       background-position: 80% 100%;
   }
   p {
       font-size: var(--font-size-2);
   }
    ul.checkliste li {
        font-size: var(--font-size-2);
        margin-left: 0;
    }
    .section_header ul.checkliste li {
        font-size: var(--font-size-2);

    }
    .padding-top-xs  { padding-top: 20px; }
    .padding-top-sm  { padding-top: 30px; }
    .padding-top-md  { padding-top: 50px; }
    .padding-top-lg  { padding-top: 80px; }
    .padding-top-xl  { padding-top: 130px;}
    .padding-top-xxl { padding-top: 150px;}


    .padding-sm      { padding-bottom: 30px;}
    .padding-md      { padding-bottom: 50px;}
    .padding-lg     { padding-bottom: 80px;}
    .padding-xl      { padding-bottom: 130px;}
    .padding-xxl      { padding-bottom: 150px;}

    .padding-right-xl  { padding-right: 50px; }

    .order-1 .image-container {
        margin-bottom: 100px;
    }
    .order-2 .img-box-animation .image-container {
        margin-top: 100px;
    }
    .parallax-bg-fix {
        background-attachment: scroll;
        min-height: 400px;
    }
    .kontak-img {
        width: 100%;
    }

    .img-box-animation .image-strip {
        width: auto;
        height: 400px;
    }
    .img-box-animation::after {
        right: 0%;
    }

    .order-md-2 .img-box-bg {
        left: 10%;
    }

}

@media only screen and (max-device-width: 575px) {

    #nav-header .head-logo {
        height: 43px;
    }

    #nav-header .navbar-toggler {

    }

    .section_header .BGImage {
        background-position: 63% 50%;

    }
    .owl-carousel .BGImage,
    .section_header .BGImage {
        height: 450px;
    }
    .img-border-pin {
        border-width: 20px 20px 60px 20px;
    }
    .owl-dots {
        bottom: -57px;
    }
    .section_header h1 {
        font-size: var(--font-size-7);
    }

    /*h1 {*/
    /*    font-size: var(--font-size-5);*/
    /*    hyphens: auto;*/
    /*}*/
    h2 {
        font-size: var(--font-size-6);
    }


    p {
        font-size: var(--font-size-3);
    }

    div.prevText {
        font-size: var(--font-size-1);
    }

    .photo-text {
        bottom: -148px;
    }
    .photo-text h2 {
        font-size: 2.2rem;
    }
    .horizontal-parallax .sample-card:nth-child(n+2) h2 {
        font-size: var(--font-size-6);
    }
    ul.checkliste li {
        font-size: var(--font-size-3);
    }

    .section_header ul.checkliste li {
        font-size: var(--font-size-3);
    }

    .section_accordeon_text h2 .accordion-button {
        font-size: var(--font-size-4);
    }

    .parallax-bg-fix {
        background-attachment: scroll;
        min-height: 50vh;
    }


    .owl-carousel .BGImage,
    #kontakt .BGImage {
        min-height: 350px;
    }

    .order-md-2 .img-box-bg {
        left: 0%;
    }

    .padding-top-xs  { padding-top: 10px; }
    .padding-top-sm  { padding-top: 20px; }
    .padding-top-md  { padding-top: 30px; }
    .padding-top-lg  { padding-top: 50px; }
    .padding-top-xl  { padding-top: 80px;}
    .padding-top-xxl { padding-top: 100px;}

    .padding-sm      { padding-bottom: 30px;}
    .padding-md      { padding-bottom: 50px;}
    .padding-lg     { padding-bottom: 80px;}
    .padding-xl      { padding-bottom: 100px;}
    .padding-xxl      { padding-bottom: 100px;}

}
