/*
 * Theme Name:        Wasserkult 2026
 * Theme URI:         https://hyaqatec.de
 * Description:       Wasserkult im neuen Gewand
 * Version:           1.8.13
 * Author:            Agentur Junges Blut
 * Author URI:        https://junges-blut.com
 * Template:          mrittik
 */

:root {
    --primary-color: #001A4B;
    --secondary-color: #F3B7C9;
    --third-color: #535353;
    --fourth-color: #FFFFFF;
    --fifth-color: #B86D83;
    --sixth-color: #63B0CD;
    --bglight-color: #fff;
    --bgmid-color: #F1EFEA;
    --bgdark-color: #0d00ff;
    --gridlight-color: #E6E6E6;
    --griddark-color: #2e2e2e;
    --primary-color-rgb: 0, 26, 75;
    --secondary-color-rgb: 243, 183, 201;
    --third-color-rgb: 83, 83, 83;
    --fourth-color-rgb: 255, 255, 255;
    --fifth-color-rgb: 184, 109, 131;
    --sixth-color-rgb: 99, 176, 205;
    --bglight-color-rgb: 255, 255, 255;
    --bgmid-color-rgb: 241, 239, 234;
    --bgdark-color-rgb: 13, 0, 255;
    --gridlight-color-rgb: 230, 230, 230;
    --griddark-color-rgb: 46, 46, 46;
    --link-color: #ff0000;
    --link-color-hover: #F3B7C9;
    --link-color-active: #ff6200;
    --gradient-color-from: #999999;
    --gradient-color-to: #A6A182;
}

/* import fonts */
@font-face {
    font-family: 'AvenirPro';
    src: url("./assets/fonts/AvenirPro45Book.woff") format("woff");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'AvenirPro';
    src: url("./assets/fonts/AvenirPro65Medium.woff") format("woff");
    font-weight: medium;
    font-style: normal;
}

@font-face {
    font-family: 'AvenirPro';
    src: url("./assets/fonts/AvenirPro85Heavy.woff") format("woff");
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'ScandiaWeb';
    src: url("./assets/fonts/ScandiaWebRegular.woff2") format("woff2");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Caveat';
    src: url("./assets/fonts/Caveat-VariableFont_wght.ttf") format("truetype");
    font-weight: 100 900;
    font-style: normal;
}

/* define fonts */
html,
.pxl-text-editor .pxl-item--inner {
    font-family: 'AvenirPro', sans-serif !important;
    font-weight: normal;
    font-size: 18px !important;
    line-height: 2em;
}

h1,
h2 {
    font-family: 'ScandiaWeb', sans-serif !important;
}

h3,
h4 {
    font-family: 'AvenirPro', sans-serif !important;
    font-weight: bold;
}

/* margins/paddings */
#pxl-main {
    padding: 0;
}

.hy-prewave {
    padding: 0 0 15rem 0;
}

.hy-postwave {
    padding: 15rem 0 0 0;
}

@media (max-width:1024px) {
    .elementor-element.hy-pad-mobile {
        padding-left: 2.5rem;
        padding-right: 2.5rem;
    }

    .hy-prewave {
        padding: 0 0 5rem 0;
    }

    .hy-postwave {
        padding: 5rem 0 0 0;
    }
}

@media (max-width:767px) {
    .elementor-element.hy-pad-mobile {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

/* background-colours */
.hy-bg-mid {
    background-color: var(--bgmid-color);
}

/* separator waves */
.hy-separator-waves {
    position: absolute;
    transform: translateY(-90%);
    z-index: 5;
    width: 100%;
    height: clamp(2.5rem, 10vw, 250px);
    max-height: 250px;
}

.hy-separator-waves .elementor-widget-html,
.hy-separator-waves .elementor-widget-container {
    height: 100%;
    width: 100%;
}

.hy-separator-waves .separator-waves,
.hy-separator-waves svg {
    display: block;
    width: 100%;
    height: 100%;
}

.hy-separator-waves .separator-waves-wave {
    fill: #fff;
}

.hy-separator-waves.hy-seperator-waves-beige .separator-waves-wave {
    fill: var(--bgmid-color);
}


.hy-separator-waves .separator-waves-transparent {
    opacity: .3;
}

.hy-separator-waves.separator-waves-inverted {
    transform: scale(-1, -1) translateY(10%);
}

@media (max-width:1024px) {
    .hy-separator-waves {
        height: 4.5rem;
    }

    .hy-separator-waves .elementor-widget,
    .hy-separator-waves .separator-waves {
        height: 100%;
    }
}

/* wave colours */
.hy-separator-waves:not(.separator-waves-inverted):has(+ .hy-bg-mid) .separator-waves-wave {
    fill: var(--bgmid-color);
}

/* sparkling water */
.hy-bubble-wrapper {
    position: relative;
    width: 12rem;
    height: 24rem;
}

.hy-bubble {
    position: absolute;
    border-radius: 100%;
}

.hy-bubble-r-s {
    width: 0.5rem;
    height: 0.5rem;
    left: 50%;
    animation: flow-r-s 1.5s linear infinite;
    border: 1px solid var(--fifth-color);
}

.hy-bubble-l-s {
    width: 0.3rem;
    height: 0.3rem;
    left: 50%;
    animation: flow-l-s 1.8s linear infinite;
    border: 1px solid var(--fifth-color);
}

.hy-bubble-r-m {
    width: 0.75rem;
    height: 0.75rem;
    left: 50%;
    animation: flow-r-m 2.1s linear infinite;
    border: 2px solid var(--secondary-color);
}

.hy-bubble-l-m {
    width: 0.65rem;
    height: 0.65rem;
    left: 50%;
    animation: flow-l-m 2.4s linear infinite;
    border: 1px solid var(--fifth-color);
}

.hy-bubble-r-l {
    width: 1rem;
    height: 1rem;
    left: 50%;
    animation: flow-r-l 2.8s linear infinite;
    border: 1px solid var(--secondary-color);
}

.hy-bubble-l-l {
    width: 0.85rem;
    height: 0.85rem;
    left: 50%;
    animation: flow-l-l 2.2s linear infinite;
    border: 2px solid var(--secondary-color);
}

.hy-bubble-r-xl {
    width: 1.25rem;
    height: 1.25rem;
    left: 50%;
    animation: flow-r-xl 3.75s linear infinite;
    border: 2px solid var(--secondary-color);
}

.hy-bubble-l-xl {
    width: 1.35rem;
    height: 1.35rem;
    left: 50%;
    animation: flow-l-xl 3.2s linear infinite;
    border: 1px solid var(--fifth-color);
}

@keyframes flow-r-s {
    0% {
        top: 90%;
        left: 62%;
        opacity: 0;
    }

    25% {
        top: 68%;
        left: 68%;
        opacity: 1;
    }

    50% {
        left: 65%;
        opacity: 1;
    }

    75% {
        left: 67%;
        opacity: 0.9;
    }

    100% {
        top: 10%;
        left: 70%;
        opacity: 0;
    }
}

@keyframes flow-l-s {
    0% {
        top: 90%;
        left: 42%;
        opacity: 0;
    }

    25% {
        top: 68%;
        left: 38%;
        opacity: 1;
    }

    50% {
        left: 41%;
        opacity: 1;
    }

    75% {
        left: 37%;
        opacity: 0.9;
    }

    100% {
        top: 10%;
        left: 40%;
        opacity: 0;
    }
}

@keyframes flow-l-m {
    0% {
        top: 93%;
        left: 52%;
        opacity: 0;
    }

    25% {
        top: 68%;
        left: 55%;
        opacity: 1;
    }

    50% {
        left: 53%;
        opacity: 1;
    }

    75% {
        left: 51%;
        opacity: 0.9;
    }

    100% {
        top: 3%;
        left: 52%;
        opacity: 0;
    }
}

@keyframes flow-r-m {
    0% {
        top: 85%;
        left: 82%;
        opacity: 0;
    }

    25% {
        top: 71%;
        left: 85%;
        opacity: 1;
    }

    50% {
        left: 83%;
        opacity: 1;
    }

    75% {
        left: 81%;
        opacity: 0.9;
    }

    100% {
        top: 17%;
        left: 82%;
        opacity: 0;
    }
}

@keyframes flow-r-l {
    0% {
        top: 90%;
        left: 67%;
        opacity: 0;
    }

    25% {
        top: 74%;
        left: 64%;
        opacity: 1;
    }

    50% {
        left: 66%;
        opacity: 1;
    }

    75% {
        left: 63%;
        opacity: 0.9;
    }

    100% {
        top: 17%;
        left: 67%;
        opacity: 0;
    }
}

@keyframes flow-l-l {
    0% {
        top: 90%;
        left: 27%;
        opacity: 0;
    }

    25% {
        top: 74%;
        left: 24%;
        opacity: 1;
    }

    50% {
        left: 26%;
        opacity: 1;
    }

    75% {
        left: 23%;
        opacity: 0.9;
    }

    100% {
        top: 17%;
        left: 27%;
        opacity: 0;
    }
}

@keyframes flow-r-xl {
    0% {
        top: 95%;
        left: 57%;
        opacity: 0;
    }

    25% {
        top: 74%;
        left: 57.5%;
        opacity: 1;
    }

    50% {
        left: 53%;
        opacity: 0.9;
    }

    75% {
        left: 57%;
        opacity: 0.7;
    }

    100% {
        top: 3%;
        left: 57%;
        opacity: 0;
    }
}

@keyframes flow-l-xl {
    0% {
        top: 93%;
        left: 17%;
        opacity: 0;
    }

    25% {
        top: 69%;
        left: 17.5%;
        opacity: 1;
    }

    50% {
        left: 13%;
        opacity: 0.9;
    }

    75% {
        left: 16%;
        opacity: 0.7;
    }

    100% {
        top: 3%;
        left: 18%;
        opacity: 0;
    }
}

/* text marker */
.hy-marker {
    position: relative;
    display: inline-block;
    z-index: 5;
}

.hy-marker::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -0.25rem;
    width: 100%;
    height: 0.5rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 8' preserveAspectRatio='none'%3E%3Cpath d='M0,4 C38,3.5 114,4.5 174,4 C176,3.9 177,3.8 200,4' stroke='%23f3b7c9' stroke-width='2.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    /* clip-path: inset(0 100% 0 0); */
    clip-path: inset(0 0% 0 0);
    transition: clip-path 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: -1;
}

.hy-marker-fat::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'%3E%3Cpath d='M6.7,3.5s135.7-2.9,186,0c0,0-73-2.7-150.6,2.5' stroke='%23f3b7c9' stroke-width='8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    width: 105%;
}

.hy-marker-slim::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 8' preserveAspectRatio='none'%3E%3Cpath d='M3.3,4.8s136.4-2.9,193.4-1.9c0,0-12.6.5-15.6.8' stroke='%23f3b7c9' stroke-width='5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E")
}

.hy-marker-double::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 30' preserveAspectRatio='none'%3E%3Cpath d='M15.9%2C10.9s-4.4.7%2C5.8.2S165.1%2C3.9%2C187.5%2C6.2c0%2C0-10.9.3-14.7%2C1.2' stroke='%23f3b7c9' stroke-width='8' fill='none' stroke-linecap='round'/%3E%3Cpath d='M6.9%2C23.5s87.9-8.1%2C184.7-6.3c0%2C0%2C3%2C.4-2.3%2C.4' stroke='%23f3b7c9' stroke-width='8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    left: -5%;
    width: 115%;
    height: 0.75rem;
}

/* .hy-marker.active::after {
    clip-path: inset(0 0% 0 0);
} */

/* text marker link */
.pxl-item--inner a,
.hy-marker-slim-link {
    position: relative;
    display: inline-block;
    color: var(--fifth-color);
}

.pxl-item--inner a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0.25rem;
    width: 100%;
    height: 0.5rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 8' preserveAspectRatio='none'%3E%3Cpath d='M0,4 C38,3.5 114,4.5 174,4 C176,3.9 177,3.8 200,4' stroke='%23f3b7c9' stroke-width='2.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    clip-path: inset(0 100% 0 0);
    transition: clip-path 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: -1;
}

.pxl-item--inner a:hover {
    color: var(--fifth-color);
}

.pxl-item--inner a:hover::after {
    clip-path: inset(0 0% 0 0);
}

.hy-marker-slim-link::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -0.1rem;
    width: 100%;
    height: 0.5rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 8' preserveAspectRatio='none'%3E%3Cpath d='M3.3,4.8s136.4-2.9,193.4-1.9c0,0-12.6.5-15.6.8' stroke='%23f3b7c9' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    clip-path: inset(0 100% 0 0);
    transition: clip-path 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: -1;
}

.hy-marker-slim-link:hover::after {
    clip-path: inset(0 0% 0 0);
}


/* mainnav */
.pxl-header-elementor-sticky .container:has(.hy-mainnav) {
    max-width: unset !important;
}

.pxl-header-elementor-sticky .container:has(.hy-mainnav) .col-12 {
    padding: 0;
}

.elementor-element-ec5f481 {
    padding: 0;
}

#pxl-header-elementor.is-sticky {
    position: sticky;
    top: 0;
    z-index: 1000;
}

.e-con-inner:has(.hy-mainnav) {
    width: 100%;
    max-width: none;
    padding: 0.5rem 5rem;
    background-color: var(--secondary-color);
    align-items: center;
    position: sticky;
    top: 0;
}

.e-con-inner:has(.hy-mainnav)>.e-con {
    width: auto;
    max-width: none;
    flex-basis: 0;
    min-width: 0;
    align-items: center;
    max-height: 4rem;
}

.e-con-inner:has(.hy-mainnav)>.e-con:first-child {
    flex-grow: 1;
    justify-content: flex-start;
}

.e-con-inner:has(.hy-mainnav)>.hy-mainnav {
    flex-grow: 4;
    justify-content: center;
}

.e-con-inner:has(.hy-mainnav)>.e-con:last-child {
    flex-grow: 1;
    justify-content: flex-end;
}

.e-con-inner:has(.hy-mainnav) .pxl-logo img {
    max-height: 40px;
    height: 40px;
}

.hy-mainnav .pxl-menu-primary {
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 100%;
    gap: 5rem;
}

.hy-mainnav .pxl-menu-primary>li {
    height: auto;
    white-space: nowrap;
}

.hy-mainnav .pxl-menu-primary>li>a {
    display: inline-flex;
    align-items: center;
    height: auto;
    padding-top: 0;
    padding-bottom: 0;
    line-height: normal !important;
    font-size: 1rem !important;
    white-space: nowrap;
}

.hy-mainnav .pxl-menu-primary>li>a span {
    white-space: nowrap;
}

.hy-mainnav li.current-menu-item,
.hy-mainnav li.current-menu-item>a,
.hy-mainnav li.current-menu-item>a span {
    color: var(--fifth-color) !important;
    position: relative;
    display: inline-block;
    z-index: 5;
}

.hy-mainnav .pxl-menu-primary>li>a:hover,
.hy-mainnav .pxl-menu-primary>li>a:hover span {
    color: var(--primary-color) !important;
    position: relative;
    display: inline-block;
    z-index: 5;
}

.hy-mainnav li.current-menu-item>a span::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -0.25rem;
    width: 100%;
    height: 0.5rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 8' preserveAspectRatio='none'%3E%3Cpath d='M3.3,4.8s136.4-2.9,193.4-1.9c0,0-12.6.5-15.6.8' stroke='%23001a4b' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    clip-path: inset(0 0% 0 0);
    transition: clip-path 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: -1;
}

.hy-mainnav .pxl-menu-primary>li>a:hover span::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -0.25rem;
    width: 100%;
    height: 0.5rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 8' preserveAspectRatio='none'%3E%3Cpath d='M3.3,4.8s136.4-2.9,193.4-1.9c0,0-12.6.5-15.6.8' stroke='%23B86D83' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    clip-path: inset(0 0% 0 0);
    transition: clip-path 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: -1;
}

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

    .e-con-inner:has(.hy-mainnav) {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .hy-mainnav .pxl-menu-primary li a {
        font-size: inherit !important;
        font-weight: 500 !important;
        font-style: inherit !important;
        border: none !important;
        padding: 0 !important;
    }
}

@media screen and (max-width: 1025px) {
    .e-con-inner:has(.hy-mainnav)>.e-con:last-child {
        display: none;
    }

    .e-con-inner:has(.hy-mainnav)>.hy-mainnav {
        flex-grow: 1;
        justify-content: flex-end;
        min-width: 0;
    }

    .hy-mainnav .pxl-menu-primary {
        display: none;
    }
}

/*mobile nav */
.hy-mainnav-mob {
    visibility: hidden;
    transform: translateY(-100%);
    transition: transform 0.4s ease, visibility 0s linear 0.4s;
}

@media screen and (max-width: 1025px) {
    .hy-mainnav-mob {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw !important;
        height: auto;
        padding: 5rem 1rem 2rem 1rem;
        box-sizing: border-box;
        background-color: var(--secondary-color);
        z-index: 1;
        visibility: hidden;
        transform: translateY(-100%);
        transition: transform 0.4s ease, visibility 0s linear 0.4s;
    }

    .hy-mainnav-mob.is-open {
        visibility: visible;
        transform: translateY(0);
        transition: transform 0.4s ease;
    }

    .e-con-inner:has(.hy-mainnav)>.e-con:not(.hy-mainnav-mob) {
        position: relative;
        z-index: 2;
    }

    .hy-mainnav-mob .pxl-nav-menu,
    .hy-mainnav-mob .menu-hauptmenue-container {
        width: 100%;
    }

    .hy-mainnav-mob .pxl-menu-primary {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: auto;
        gap: 0;
    }

    .hy-mainnav-mob .pxl-menu-primary>li {
        height: auto;
        width: 100%;
        padding: 1rem 0;
        white-space: nowrap;
        text-align: center;
    }

    .hy-mainnav-mob .pxl-menu-primary>li>a {
        display: inline-flex;
        align-items: center !important;
        justify-content: center !important;
        height: auto;
        padding: 0 !important;
        margin: 0;
        line-height: normal !important;
        font-size: inherit !important;
        font-weight: 500 !important;
        font-style: inherit !important;
        border: none !important;
        white-space: nowrap;
        text-align: center;
        text-transform: none !important;
    }

    .hy-mainnav-mob .pxl-menu-primary>li>a span {
        white-space: nowrap;
    }

    .hy-mainnav-mob li.current-menu-item,
    .hy-mainnav-mob li.current-menu-item>a,
    .hy-mainnav-mob li.current-menu-item>a span {
        color: var(--fifth-color) !important;
        position: relative;
        z-index: 5;
    }

    .hy-mainnav-mob .pxl-menu-primary>li>a:hover,
    .hy-mainnav-mob .pxl-menu-primary>li>a:hover span {
        color: var(--primary-color) !important;
        position: relative;
        z-index: 5;
    }

    .hy-mainnav-mob li.current-menu-item>a span::after {
        content: '';
        position: absolute;
        left: 0;
        bottom: -0.25rem;
        width: 100%;
        height: 0.5rem;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 8' preserveAspectRatio='none'%3E%3Cpath d='M3.3,4.8s136.4-2.9,193.4-1.9c0,0-12.6.5-15.6.8' stroke='%23001a4b' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-size: 100% 100%;
        clip-path: inset(0 0% 0 0);
        transition: clip-path 0.6s cubic-bezier(0.4, 0, 0.2, 1);
        z-index: -1;
    }

    .hy-mainnav-mob .pxl-menu-primary>li>a:hover span::after {
        content: '';
        position: absolute;
        left: 0;
        bottom: -0.25rem;
        width: 100%;
        height: 0.5rem;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 8' preserveAspectRatio='none'%3E%3Cpath d='M3.3,4.8s136.4-2.9,193.4-1.9c0,0-12.6.5-15.6.8' stroke='%23B86D83' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-size: 100% 100%;
        clip-path: inset(0 0% 0 0);
        transition: clip-path 0.6s cubic-bezier(0.4, 0, 0.2, 1);
        z-index: -1;
    }
}

/* always display nav */
#pxl-header-elementor .pxl-header-elementor-main,
#pxl-header-elementor .pxl-header-elementor-sticky {
    display: block;
}

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

    #pxl-header-elementor .pxl-header-elementor-main,
    #pxl-header-elementor .pxl-header-elementor-sticky {
        display: block;
    }
}

/* hidden panel */
#hy-hidden a {
    color: var(--third-color);
}

#hy-hidden .e-con-inner {
    gap: 5rem;
}

#hy-hidden .pxl-logo {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#hy-hidden .pxl-logo img {
    min-height: 5rem;
}

#hy-hidden .e-con:has(.hy-hidden-company) {
    gap: 0.75rem;
}

#hy-hidden .hy-hidden-company .pxl-item--inner p {
    margin: 0;
}

#hy-hidden .hy-hidden-company strong {
    color: var(--secondary-color);
    font-size: 2rem;
}

#hy-hidden .hy-hidden-sitemap a {
    font-size: 0.75rem;
}

#hy-hidden .hy-hidden-sitemap a:after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 8' preserveAspectRatio='none'%3E%3Cpath d='M3.3,4.8s136.4-2.9,193.4-1.9c0,0-12.6.5-15.6.8' stroke='%23f3b7c9' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
}




/* buttons */
.elementor-widget-button a,
.elementor-widget-button a:visited {
    padding: 1rem 2rem;
    background-color: unset;
    color: var(--fifth-color);
    border: 2px solid var(--fifth-color);
    border-radius: 0.5rem;
    font-size: 1rem;
    font-weight: 500;
}

.hy-button-header.elementor-widget-button a,
.hy-button-header.elementor-widget-button a:visited {
    color: var(--fourth-color);
    border: 2px solid var(--fourth-color);
}

.elementor-widget-button a:hover,
.elementor-widget-button a:active,
.hy-button-header.elementor-widget-button a:hover,
.hy-button-header.elementor-widget-button a:active {
    background-color: var(--secondary-color);
    color: var(--primary-color);
    border: 2px solid var(--secondary-color);
    filter: drop-shadow(0.2em 0.2em 0 var(--primary-color));
    transform: translate(-0.2em, -0.2em);
}

.elementor-button-content-wrapper {
    gap: 1rem;
}



/* txt+img */
.pxl-heading .pxl-item--subtitle span {
    font-family: 'Caveat', sans-serif;
    font-size: 2rem;
}

.elementor-widget:not(.hy-no-subline) .pxl-heading .pxl-item--subtitle span::before {
    content: "";
    position: absolute;
    height: 2px;
    width: 6rem;
    top: 0.75em;
    left: -8rem;
    background-color: var(--secondary-color);
}

.hy-img-ellipse .pxl-item--inner {
    border-radius: 25rem;
}

@media (max-width:1024px) {
    .hy-img-ellipse {
        width: 100%;
    }

    .hy-img-ellipse .pxl-item--inner {
        border-radius: 0;
        max-height: 20rem;
        overflow: hidden;
        width: 100%;
    }

    .hy-img-ellipse.hy-img-c-25 .pxl-item--inner img {
        object-position: center 25%;
    }

    .hy-img-ellipse .pxl-item--inner img {
        object-fit: cover;
        width: 100%;
        max-height: 20rem;
    }

    .elementor-widget:not(.hy-no-subline) .pxl-heading .pxl-item--subtitle span::before {
        left: -7rem;
    }
}

/* header video */
.hy-header-video h2,
.hy-header-video h4 {
    white-space: nowrap;
    color: var(--fourth-color);
}

/* header img */
.hy-header-img h2,
.hy-header-img h2 span,
.hy-header-img .pxl-text-editor .pxl-item--inner p {
    color: var(--fourth-color);
}

@media (max-width:1024px) {

    .hy-header-video h2,
    .hy-header-video h4 {
        white-space: wrap;
    }
}


/* landing masonry */
.hy-masonry {
    display: grid;
    grid-template-columns: 60% 1fr;
    grid-template-rows: 1fr 1fr auto;
    margin: -20% -10% -20% 0;
    width: 60%;
    z-index: 6;
}

.hy-masonry>div,
.hy-masonry .elementor-widget-container,
.hy-masonry .pxl-image-single,
.hy-masonry .pxl-item--inner {
    height: 100%;
}

.hy-masonry>div:nth-child(1) {
    grid-row: span 2;
}

.hy-masonry>div:nth-child(4) {
    grid-column: span 2;
    aspect-ratio: 2 / 1;
    max-height: unset;
}

.hy-masonry img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

@media (max-width: 1360px) {
    .hy-masonry {
        margin: 0;
        width: 100%;
    }
}

@media (max-width:1024px) {
    .hy-masonry {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr;
        margin: 2.5rem 0 0 0;
        width: 100%;
    }

    .hy-masonry>div:nth-child(1) {
        grid-row: span 1;
        max-height: 20rem;
    }

    .hy-masonry>div:nth-child(4) {
        grid-column: span 1;
        aspect-ratio: unset;
        max-height: 20rem;
    }
}

/* landing sustainability */
.hy-sustain>.e-con-inner,
.hy-sustain .elementor-element:has(.hy-sustain-img) {
    padding: 0;
}

.hy-sustain .hy-sustain-img {
    position: relative;
}

/* .hy-sustain .hy-sustain-img .pxl-item--inner {
    position: absolute;
    bottom: 0;
    left: -70%;
    height: 130%;
    width: 140%;
    z-index: 6;
} */

/* .hy-sustain-img img {
    position: absolute;
    height: 100%;
    width: auto;
    object-position: bottom;
}
*/
.hy-sustain-img,
.hy-sustain-img .elementor-widget-container,
.hy-sustain-img .pxl-image-single,
.hy-sustain-img .pxl-item--inner {
    height: 100%;
}

.hy-sustain-img .pxl-item--inner {
    width: 40rem;
    left: -10rem;
}

.hy-sustain-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.made-in-badge p {
    border: 2px solid #1a1a1a;
    border-radius: 99px 30px 30px 99px;
    padding: 0.25rem 1rem 0.25rem 4rem;
    line-height: 1.25rem;
    font-weight: 600;
}

.made-in-badge p::before {
    content: "";
    position: absolute;
    left: 0.5rem;
    top: 0.5rem;
    bottom: 0.5rem;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    border: 2px solid #1a1a1a;
    background: linear-gradient(to bottom, #c8102e 0%, #c8102e 33.33%, #fff 33.33%, #fff 66.66%, #c8102e 66.66%, #c8102e 100%);
}

@media (max-width:1024px) {
    .hy-sustain {
        padding: 0 0 5rem 0
    }

    .hy-sustain .e-con-inner {
        flex-direction: column !important;
    }

    .hy-sustain .elementor-element {
        order: 1;
        width: 100%;
    }

    .hy-sustain .elementor-element:has(.hy-sustain-img) {
        order: 2;
    }

    .hy-sustain-img .pxl-item--inner {
        width: 100%;
        left: 0;
    }

    .hy-sustain-img-col {
        order: -1;
    }

    .hy-sustain-impact-fact {
        order: 1;
    }

    .hy-sustain .hy-sustain-img .pxl-item--inner {
        align-items: center;
        justify-content: center;
        display: flex;
    }
}

/* iconbox */
.hy-iconbox-box .elementor-icon-box-icon {
    text-align: center;
}

.hy-iconbox-box span.elementor-icon {
    background-color: var(--secondary-color);
    padding: 1rem;
    border-radius: 5rem;
}

.hy-iconbox-box span.elementor-icon:hover {
    background-color: var(--fifth-color);
}

.hy-iconbox-box:not(.hy-iconbox-nocenter) .elementor-icon-box-title {
    text-align: center;
}

.hy-iconbox-box.hy-iconbox-nocenter h3 {
    margin: 2rem 0 0 0;
}

.hy-iconbox-noicon .elementor-icon-box-description,
.hy-iconbox-box .elementor-icon-box-description {
    text-align: justify;
}

/* servicebox */
.hy-service .hy-service-wrap {
    justify-content: flex-start !important;
    margin: 2.5rem 0 0 0;
}

.hy-service .hy-service-wrap .hy-iconbox-noicon,
.hy-service .hy-service-wrap .hy-iconbox-box {
    width: 50%;
    max-width: 50%;
}

@media (max-width:1024px) {

    .hy-service .hy-service-wrap .hy-iconbox-noicon,
    .hy-service .hy-service-wrap .hy-iconbox-box {
        width: 100%;
        max-width: 100%;
    }

    .hy-iconbox-box.hy-iconbox-nocenter h3 {
        line-height: 1.15
    }
}

/* kundenlogos */
.hy-service-customers-logos {
    height: 10rem;
    min-height: 10rem;
}

.hy-service-customers-logos .hy-service-customers-box {
    flex: 1 1 0;
    min-width: 0;
    height: 100%;
}

.hy-service-customers-logos .hy-service-customers-box .elementor-image-box-wrapper {
    width: 100%;
    height: 100%
}

.hy-service-customers-logos .hy-service-customers-box .elementor-image-box-wrapper .elementor-image-box-img {
    width: 100% !important;
    height: 10rem;
    max-height: 10rem;
    display: block;
}

.hy-service-customers-logos .hy-service-customers-box .elementor-image-box-wrapper .elementor-image-box-img img {
    mix-blend-mode: multiply;
    object-fit: contain;
    max-height: 100%;
    filter: grayscale(1);
}

.hy-service-customers-logos .hy-service-customers-box .elementor-image-box-wrapper .elementor-image-box-img img:hover {
    filter: grayscale(0);
}

/* calculator */
.hy-calc-left {
    background-color: var(--bglight-color);
    padding: 6rem 3rem;
    border-radius: 3rem 0 0 3rem;
    max-height: fit-content;
    align-self: center;
}

.hy-calc-right {
    background-color: var(--primary-color);
    padding: 3rem;
    border-radius: 0 3rem 3rem 0;
}

.hy-calc-right h3,
.hy-calc-right p,
.hy-calc-right .pxl-item--inner {
    color: var(--fourth-color) !important;
}

.hy-calc-right .pxl-item--inner strong {
    color: var(--secondary-color) !important;
}

.hy-calc-right h2 {
    color: var(--secondary-color) !important;
}

.hy-calc-footnote p em {
    font-size: 0.75rem
}

/* calculator slider */
.hy-slider {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(to right,
            var(--secondary-color) 0%,
            var(--secondary-color) calc(var(--val) * 1%),
            #E5E5E5 calc(var(--val) * 1%),
            #E5E5E5 100%);
    outline: none;
    cursor: pointer;
}

.hy-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--fifth-color);
    cursor: pointer;
    border: none;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

.hy-slider::-moz-range-thumb {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--fifth-color);
    cursor: pointer;
    border: none;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

.hy-slider::-moz-range-track {
    height: 8px;
    border-radius: 999px;
    background: #E5E5E5;
}

.hy-slider::-moz-range-progress {
    height: 8px;
    border-radius: 999px;
    background: var(--secondary-color);
}

/* testimonials */
.hy-testimonials-slider {
    display: grid !important;
    grid-template-columns: 1fr !important;
    min-height: 10rem;
    max-height: 20rem;
    overflow: hidden;
}

.hy-testimonials-slider .elementor-widget-testimonial {
    grid-row: 1;
    grid-column: 1;
    opacity: 0;
    transition: opacity 0.6s ease;
    pointer-events: none;
    height: 100%;
}

.hy-testimonials-slider .elementor-widget-testimonial .elementor-testimonial-wrapper {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.hy-testimonials-slider .elementor-widget-testimonial.hy-active {
    opacity: 1;
    pointer-events: auto;
}

.hy-testimonials-slider .elementor-testimonial-meta {
    color: var(--fifth-color)
}

.hy-slider-dots {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 1rem;
}

.hy-slider-dots span {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: var(--fifth-color);
    opacity: 0.3;
    transition: opacity 0.3s ease;
    cursor: pointer;
}

.hy-slider-dots span.hy-active {
    opacity: 1;
}

/* prod advantages */
.hy-prod-adv .hy-prod-adv-list strong {
    color: var(--primary-color);
    font-size: 1.25rem;
}

/* prod listings */
.hy-prod-item .pxl-list.style1 .pxl-list--content:before {
    content: '+';
    top: -0.25rem;
    font-size: 18px;
    font-weight: bold;
    transform: rotate(0deg);
    transition: all 0.3s ease-in-out;
}

/* prod gallery */
.hy-prod-gallery {
    flex-direction: column;
    justify-content: center;
}

.hy-prod-gallery .hy-prod-gallery-slide {
    display: none;
    max-height: 100%;
}

.hy-prod-gallery .hy-prod-gallery-slide .pxl-item--inner {
    aspect-ratio: 3 / 4;
    display: flex;
    justify-content: center;
    align-items: center;
}

.hy-prod-gallery .hy-prod-gallery-slide .pxl-item--inner img {
    max-height: 100%;
}

.hy-prod-gallery .hy-prod-gallery-slide.is-active {
    display: block;
}

.hy-prod-gallery-dots {
    display: flex;
    gap: 8px;
    justify-content: center;
    margin-top: 16px;
}

.hy-prod-gallery-dots .hy-prod-gallery-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: none;
    padding: 0;
    background: var(--third-color);
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.hy-prod-gallery-dots .hy-prod-gallery-dot.is-active {
    background: var(--fifth-color);
}

.hy-prod-gallery-dots .hy-prod-gallery-dot:hover {
    background: var(--secondary-color);
}


@media (max-width:1024px) {
    .hy-prod-gallery .pxl-image-single {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .hy-prod-gallery .hy-prod-gallery-slide .pxl-item--inner {
        max-height: 40vh
    }
}

/* footer contact */
.pxl-contact-form .wpcf7-form p {
    position: relative;
    display: inline-block;
    margin: 2rem 0 0 0;
}

.pxl-contact-form .wpcf7-form p:has(.kc_captcha),
.pxl-contact-form .wpcf7-form p:has(textarea) {
    width: 100%;
}

.pxl-contact-form .wpcf7-form p>label {
    position: absolute;
    left: 1rem;
    top: 1rem;
    pointer-events: none;
    transition: all 0.3s ease;
    z-index: 1;
}

.pxl-contact-form .wpcf7-form p>label+br {
    display: none;
}

.pxl-contact-form .wpcf7-form input.wpcf7-form-control:not([type="radio"]):not([type="submit"]),
.pxl-contact-form .wpcf7-form textarea.wpcf7-form-control {
    appearance: none;
    border: 2px solid var(--bgmid-color);
    border-radius: 0.5rem;
    background-color: var(--fourth-color);
    box-shadow: none;
    outline: none;
    font: inherit;
    color: inherit;
    width: 100%;
    display: block;
}

.pxl-contact-form .wpcf7-form textarea.wpcf7-form-control {
    height: 10rem;
    resize: none;
    overflow-y: auto;
}

.pxl-contact-form .wpcf7-form input.wpcf7-form-control:not([type="radio"]):not([type="submit"]):focus,
.pxl-contact-form .wpcf7-form textarea.wpcf7-form-control:focus {
    border: 2px solid var(--secondary-color) !important;
}

.pxl-contact-form .wpcf7-form p:has(input:not([type="radio"]):not([type="submit"]):focus)>label,
.pxl-contact-form .wpcf7-form p:has(input:not([type="radio"]):not([type="submit"]):not(:placeholder-shown))>label,
.pxl-contact-form .wpcf7-form p:has(textarea:focus)>label,
.pxl-contact-form .wpcf7-form p:has(textarea:not(:placeholder-shown))>label {
    top: 0;
    transform: translate(0, -120%);
    color: var(--fifth-color);
    background-color: var(--fourth-color);
    padding: 0.25em 10rem 0 0;
    border-radius: 0 0.5em 0 0;
    z-index: 6;
}

.hy-form-row {
    display: flex;
    flex-direction: row;
    gap: 1rem;
}

.hy-form-row.hy-form-row-first {
    justify-content: space-between;
}

.hy-form-row.hy-form-row-first div {
    max-width: calc(50% - 0.5rem)
}

.hy-form-row.hy-form-row-first p {
    display: flex;
    align-items: center;
}

.wpcf7-submit {
    padding: 0.75rem 2rem;
    background-color: unset;
    color: var(--primary-color);
    border: 2px solid var(--primary-color);
    border-radius: 0.5rem;
    font-size: 1rem;
    font-weight: 500;
}

.wpcf7-submit:hover {
    background-color: var(--secondary-color);
    color: var(--primary-color);
    border: 2px solid var(--secondary-color);
    filter: drop-shadow(0.2em 0.2em 0 var(--primary-color));
    transform: translate(-0.2em, -0.2em);
}

.kc_captcha span {
    font-size: 0.75rem;
    text-align: center;
    width: 100%;
}


.kc_captcha .captcha-image {
    border: none;
    margin: 0 0 2rem 0;
}

.kc_captcha .captcha-image svg {
    width: 75%;
    transition: all 0.3s ease-in-out;
    border: none !important;
}

.captcha-image label>input:checked+svg path,
.captcha-image label>input:focus+svg path {
    fill: var(--fifth-color);
}

.captcha-image label>input:checked+svg,
.captcha-image label>input:focus+svg {
    border: none !important;
}

.kc_captcha .cf7ic_instructions span {
    color: var(--fifth-color);
}

.kc_captcha .wpcf7-not-valid-tip {
    position: absolute;
    top: 65%;
    max-height: 2.5em;
    max-width: fit-content;
    right: 2% !important;
}

.kc_captcha:has(.wpcf7-not-valid-tip) .captcha-image {
    border: 2px solid var(--fifth-color);
    border-radius: 0.5rem;
}

.pxl-contact-form .wpcf7-form-control-wrap:has(.wpcf7-not-valid-tip) input.wpcf7-form-control:not([type="radio"]):not([type="submit"]) {
    border: 2px solid var(--fifth-color);
}


.hy-form-row-first p:has(.wpcf7-not-valid-tip):not(:has([name="firma"])) {
    border: 2px solid var(--fifth-color);
    border-radius: 0.5rem;
    padding: 1rem;
}

.pxl-contact-form .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
    background-color: var(--fifth-color);
    font-size: 0.5rem;
    font-weight: bold;
    right: 5%;
    border-radius: 0 0 0.5em 0.5em;
}

.pxl-contact-form .wpcf7-form-control-wrap:has(.wpcf7-radio) .wpcf7-form-control:not(.wpcf7-checkbox, .wpcf7-submit)+.wpcf7-not-valid-tip {
    transform: translate(0, 45%);
}

.wpcf7-list-item {
    margin: 0;
}

.wpcf7-list-item.last {
    margin: 0 0 0 1rem;
}

.wpcf7-acceptance .wpcf7-list-item {
    font-size: 0.75em;
    color: var(--third-color);
}

.pxl-contact-form form .wpcf7-response-output {
    border: none;
    border-radius: 0.5rem;
    margin: 40px 0;
    padding: 7px 20px 3px;
    background-color: var(--fifth-color);
    color: var(--fourth-color);
    font-weight: 600;
    text-align: center;
    text-transform: unset;
}

@media (max-width:1024px) {
    .hy-footer-form {
        order: 1;
    }

    .hy-footer-contact {
        order: 2;
    }

    .hy-bubble-wrapper {
        display: none;
    }

    .hy-footer-logo .elementor-widget-container {
        margin: 2.5rem 0rem 2.5rem 0rem !important;
    }

    .hy-footer-logo img {
        max-width: 20rem;
    }
}

/* footer bar */
#pxl-footer-elementor .container {
    width: 100%;
    max-width: none;
}

#pxl-footer-elementor .container .col-12 {
    padding: 0;
    margin: 0;
    width: 100%;
}


#pxl-footer-elementor .elementor-element.hy-footer-bar {
    margin: 0;
    padding: 0.5rem 0 !important;
    background-color: var(--primary-color);
}

#pxl-footer-elementor .elementor-element.hy-footer-bar p {
    color: var(--fourth-color);
    font-size: 0.75rem !important;
    line-height: 0.75rem;
}

footer#pxl-footer-elementor .elementor-element.hy-footer-bar a,
footer#pxl-footer-elementor .elementor-element.hy-footer-bar a span {
    position: relative;
    display: inline-block;
    color: var(--secondary-color);
    z-index: 5;
}

footer#pxl-footer-elementor .elementor-element.hy-footer-bar a:hover,
footer#pxl-footer-elementor .elementor-element.hy-footer-bar a:hover span {
    color: var(--secondary-color);
}

footer#pxl-footer-elementor .elementor-element.hy-footer-bar a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -0.5rem;
    width: 100%;
    height: 0.5rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 8' preserveAspectRatio='none'%3E%3Cpath d='M3.3,4.8s136.4-2.9,193.4-1.9c0,0-12.6.5-15.6.8' stroke='%23f3b7c9' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    clip-path: inset(0 100% 0 0);
    transition: clip-path 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: -1;
}

footer#pxl-footer-elementor .elementor-element.hy-footer-bar a:hover::after {
    clip-path: inset(0 0% 0 0);
}

.hy-footer-nav {
    min-width: fit-content;
}

footer#pxl-footer-elementor .elementor-element.hy-footer-bar ul#menu-footer-legal {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 1rem;
}

footer#pxl-footer-elementor .elementor-element.hy-footer-bar ul#menu-footer-legal,
.pxl-menu-primary {
    border: 0 !important;
}

footer#pxl-footer-elementor .elementor-element.hy-footer-bar ul#menu-footer-legal li {
    display: flex;
}

footer#pxl-footer-elementor .elementor-element.hy-footer-bar ul#menu-footer-legal li a {
    line-height: normal;
}

footer#pxl-footer-elementor .elementor-element.hy-footer-bar ul#menu-footer-legal li a,
footer .pxl-menu-primary li a {
    border: 0 !important;
    font-size: 0.75rem !important;
    padding: 0 !important;
}

footer#pxl-footer-elementor .elementor-element.hy-footer-bar ul#menu-footer-legal li a span {
    color: #fff;
}

.hy-footer-spacer {
    min-height: 10rem;
}

@media (max-width:1265px) {
    .hy-legal-hidemob {
        display: none;
    }
}

@media (max-width:1024px) {
    .hy-footer-bar .e-child .e-con-inner {
        align-items: center;
        justify-content: center;
    }

    .hy-footer-bar {
        flex-wrap: nowrap;
    }

    .hy-footer-nav {
        display: none;
    }
}