/* be-vietnam-pro-300 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: "Be Vietnam Pro";
    font-style: normal;
    font-weight: 300;
    src: url("../fonts/be-vietnam-pro-v12-latin-300.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* be-vietnam-pro-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: "Be Vietnam Pro";
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/be-vietnam-pro-v12-latin-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* be-vietnam-pro-500 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: "Be Vietnam Pro";
    font-style: normal;
    font-weight: 500;
    src: url("../fonts/be-vietnam-pro-v12-latin-500.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* be-vietnam-pro-700 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: "Be Vietnam Pro";
    font-style: normal;
    font-weight: 700;
    src: url("../fonts/be-vietnam-pro-v12-latin-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* color reference
    :root {
        --global-palette1: #1cb1c9;
      --global-palette2: #1cb1c9;
      --global-palette3: #ffffff;
      --global-palette4: #ffffff;
      --global-palette5: #1c1d29;
      --global-palette6: rgba(255,255,255,0.3);
      --global-palette7: #000028;
      --global-palette8: #1f1f3d;
      --global-palette9: #ffffff;
    } */
:root {
    --global-body-font-family: "Be Vietnam Pro";
    --global-heading-font-family: "Be Vietnam Pro";
    --border-radius-md: 1.5rem;
    --global-kb-font-size-lg: clamp(1.25rem, 1.375rem + 0.543vw, 1.5rem) !important;
    --fw-light: 300;
    --fw-regular: 400;
    --fw-medium: 500;
    --fw-bold: 700;
    --light-accent: rgba(28 177 201 / 0.5);
    --footer-content-width: 1800px;
    /* TODO: override */
    /* --global-kb-font-size-sm: clamp(0.8rem, 0.73rem + 0.217vw, 0.9rem);
    --global-kb-font-size-md: clamp(1.1rem, 0.995rem + 0.326vw, 1.25rem); */
    --global-kb-font-size-xl: clamp(1.75rem, calc(1.728rem + 1.63vw), 3rem) !important;
    --global-kb-font-size-xxl: clamp(2rem, calc(1.456rem + 3.26vw), 3rem) !important;
    --global-kb-font-size-xxxl: clamp(2.25rem, calc(0.489rem + 7.065vw), 6rem) !important;
}
::selection {
    background-color: var(--light-accent);
}
body .wp-block-kadence-advancedheading mark.kt-highlight {
    color: var(--global-palette9);
}
/*generic text*/
body p.wp-block-kadence-advancedheading mark.kt-highlight {
    color: var(--global-palette1);
    /* font-weight: var(--fw-bold); */
}
p strong,
li strong {
    color: var(--global-palette1);
}

h1 .kt-highlight {
    font-size: var(--global-kb-font-size-xxxl);
    font-weight: var(--fw-light);
    line-height: 1;
}
h2 .kt-highlight {
    font-size: var(--global-kb-font-size-xxl);
    font-weight: var(--fw-light);
    line-height: 1;
}

@media (max-width: 1900px) {
    h2 .kt-highlight {
        font-size: var(--global-kb-font-size-xl);
    }
}

@media (max-width: 1400px) {
    h2 .kt-highlight {
        font-size: clamp(1.75rem, calc(1.95rem + 0.575vw), 2.5rem);
    }
}

.kb-button,
.kadence-scroll-to-top {
    backdrop-filter: blur(10px);
}

.kb-button.arrow-btn,
.kadence-scroll-to-top {
    line-height: 0;
    font-size: 0 !important;
    background-image: url("/wp-content/themes/kadence-child/assets/images/long-arrow-sprite.svg") !important;
    background-repeat: repeat-y !important;
    width: 50px;
    height: 100px;
    background-position: 50% 0% !important;
    transition: all 0.2s ease-out !important;
}
.kadence-scroll-to-top {
    transform: rotate(180deg) !important;
}
.kadence-scroll-to-top .kadence-svg-iconset {
    display: none;
}

.arrow-btn:hover,
.arrow-btn:focus {
    background-position: 50% 100% !important;
}
.kadence-scroll-to-top:hover,
.kadence-scroll-to-top:focus {
    background-position: 50% 100% !important;
    background-color: var(--global-palette-btn-bg-hover);
}

a:not([class]) {
    background-image: linear-gradient(var(--global-palette1), var(--global-palette1));
    background-size: 200% 2px;
    background-repeat: no-repeat;
    background-position: 200% 100%;
    padding-inline: 0 !important;
    padding-block: 0.1em;
}
.menu {
    gap: 2rem;
}
a:not([class]):hover,
a:not([class]):focus {
    background-position: 100% 100%;
}

.header-navigation li.menu-item > a:focus {
    color: var(--global-palette1) !important;
}
@media (min-width: 1024px) {
    .main-navigation .hide-on-desktop {
        display: none;
    }
}
/*--Mobile menu toggle--*/
.mobile-toggle-open-container .menu-toggle-open,
.mobile-toggle-open-container .menu-toggle-open:focus {
    padding: 0.75em;
}

#mobile-drawer .drawer-header .drawer-toggle {
    border: 1px solid currentColor;
    border-radius: 100vmax;
}
#mobile-drawer.popup-drawer .drawer-header {
    padding: 0.625em 1.5em;
}
@media (max-width: 767px) {
    #mobile-drawer.popup-drawer .drawer-header {
        padding: 0.625em;
    }
    #mobile-drawer.popup-drawer .drawer-content {
        padding: 0 0.625em 0.625em;
    }
}
/* individuelle beratung mobile order */
@media (max-width: 1024px) {
    #beratung-columns .kt-row-column-wrap {
        grid-template-rows: 1fr max-content;
    }
    #beratung-columns .wp-block-kadence-column:nth-of-type(2) {
        grid-column: 1 / -1;
    }
    #beratung-columns .wp-block-kadence-column:nth-of-type(3) {
        grid-column: 2 / 3;
        grid-row: 1;
    }
}

/*----Leistungen Teaser----*/
.leistungen-item-text {
    max-width: min(25rem, 85%);
}
@media (min-width: 1024px) {
    .leistungen-item-text {
        border-radius: var(--border-radius-md);
        clip-path: rect(0px 100% 4.4em 0px round var(--border-radius-md));
        overflow: clip;
        position: absolute;
        bottom: -100px;
        transition: all 0.2s ease-out;
    }
}
.leistungen-item {
    transition: all 0.5s ease-in-out;
}
.leistungen-item > .kt-inside-inner-col {
    height: auto !important;
    transition: all 0.5s ease-in-out;
}
.leistungen-item.hoverItem > .kt-inside-inner-col {
    height: 100% !important;
}
.leistungen-item.hoverItem .leistungen-item-text {
    clip-path: rect(0px 100% 100% 0px round var(--border-radius-md));
    bottom: 2rem;
}
.leistungen-item.hoverItem {
    flex-basis: 40% !important;
}
.leistungen-item.notHoverItem {
    opacity: 0.2;
    flex-basis: 30% !important;
}

@media (min-width: 1024px) AND (max-width: 1200px) {
    .leistungen-item-text {
        clip-path: rect(0px 100% 3.9em 0px round var(--border-radius-md));
    }
    .leistungen-item-text h3 {
        font-size: 1rem !important;
    }
    .leistungen-item-text p {
        font-size: 0.875rem !important;
    }
}
/* -----------Dropdown Menu-------- */
#primary-menu .sub-menu {
    padding: 0.5rem;
    border-radius: 0.5rem;
    border: 1px solid var(--global-palette7);
}
#primary-menu .sub-menu li a {
    padding-block: 0.5rem;
    background-image: none !important;
    font-size: 1rem;
}
#primary-menu .dropdown-nav-special-toggle {
    right: 0 !important;
}

/* -----------SCROLLER-------- */
.js-hero-scroller {
    height: 60vh;
}
.js-hero-scroller::before,
.js-hero-scroller::after {
    content: "";
    display: block;
    width: 100%;
    left: 0;
    height: 100px;
    position: absolute;
    z-index: 2;
}
.js-hero-scroller::before {
    background-image: linear-gradient(var(--global-palette7), transparent);
    top: 0;
}
.js-hero-scroller::after {
    background-image: linear-gradient(transparent, var(--global-palette7));
    bottom: 0;
}
.js-logo-scroller::before,
.js-logo-scroller::after {
    height: 100%;
    content: "";
    display: block;
    width: 100px;
    top: 0;
    position: absolute;
    z-index: 2;
}
.js-logo-scroller::before {
    background-image: linear-gradient(90deg, var(--global-palette7), transparent);
    left: 0;
}
.js-logo-scroller::after {
    background-image: linear-gradient(90deg, transparent, var(--global-palette7));
    right: 0;
}

/* .scroller {
  max-width: 100%;
} */
/* TODO: Custom Prop for gap. also in animation */
.hero-scroller.scroller__inner {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    /* gap: 1rem; */
    padding-top: 1rem;
}
.logo-scroller.scroller__inner {
    display: flex;
    flex-wrap: wrap;
    /* gap: 1rem; */
    padding-top: 1rem;
}

.logo-scroller {
    gap: 3rem;
    padding-block: 1rem;
}

.logo-scroller > * {
    background-color: var(--global-palette8);
    border-radius: var(--border-radius-md);
    border: 1px solid rgba(255 255 255 / 0.1);
    flex-shrink: 0;
    flex-grow: 1;
    flex-basis: 350px;
    aspect-ratio: 16 / 9;
    display: flex;
    place-items: center;
    justify-content: center;
    padding: 2rem;
}
.logo-scroller img {
    max-height: 120px;
}
@media (max-width: 767px) {
    .logo-scroller {
        gap: 1rem;
        padding-block: 0.5rem;
    }
    .logo-scroller > * {
        flex-basis: 250px;
        flex-shrink: 0;
        flex-grow: 0;
    }
    .logo-scroller img {
        max-height: 80px;
    }
}
.hero-scroller img {
    border-radius: var(--border-radius-md);
    margin-bottom: 1rem;
}

.scroller[data-animated="true"] {
    overflow: hidden;
    -webkit-mask: linear-gradient(90deg, transparent, white 0%, white 100%, transparent);
    mask: linear-gradient(90deg, transparent, white 0%, white 100%, transparent);
}

.scroller[data-animated="true"] .hero-scroller {
    height: max-content;
    flex-wrap: nowrap;
    animation: heroScroll var(--_animation-duration, 40s) var(--_animation-direction, forwards) linear infinite;
}

.scroller[data-animated="true"] .logo-scroller {
    width: max-content;
    flex-wrap: nowrap;
    animation: logoScroll var(--_animation-duration, 40s) var(--_animation-direction, forwards) linear infinite;
}

.scroller[data-direction="right"] {
    --_animation-direction: reverse;
}

.scroller[data-direction="left"] {
    --_animation-direction: forwards;
}

.scroller[data-speed="fast"] {
    --_animation-duration: 20s;
}

.scroller[data-speed="slow"] {
    --_animation-duration: 60s;
}

@keyframes heroScroll {
    to {
        transform: translateY(-50%);
    }
}

@keyframes logoScroll {
    to {
        transform: translate(calc(-50% - 1.5rem));
    }
}

/*Accordion*/
.tech-facts-acc-wrap .wp-block-kadence-column:nth-child(2) .kt-inside-inner-col {
    position: relative;
}
.tech-facts-acc-wrap .wp-block-kadence-column:nth-child(2) .kt-inside-inner-col figure {
    position: absolute;
}

.tech-facts-acc figure {
    display: none;
}
@media (max-width: 767px) {
    .tech-facts-acc figure {
        display: block;
    }
}

figure[data-panel] {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.8s ease-out;
}
@media (min-width: 768px) {
    figure[data-panel].show {
        opacity: 1;
        visibility: visible;
    }
}

.kt-blocks-accordion-icon-trigger {
    border: 1px solid var(--global-palette9);
    border-radius: 100vmax;
    padding: 0.5rem;
}

.kt-accodion-icon-style-basic .kt-blocks-accordion-icon-trigger::before,
.kt-accodion-icon-style-basic .kt-blocks-accordion-icon-trigger::after {
    height: 1px;
    position: absolute;
    transition: all ease-in-out 0.1333333333s;
    width: 1.5rem;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(0deg);
}

.kt-accodion-icon-style-basic .kt-blocks-accordion-icon-trigger::after {
    transform: translate(-50%, -50%) rotate(90deg);
}
.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger {
    border: 1px solid var(--global-palette-btn-hover);
    background-color: var(--global-palette-btn-bg-hover);
}
.kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger,
.kt-blocks-accordion-header:focus .kt-blocks-accordion-icon-trigger {
    border: 1px solid var(--global-palette-btn-hover);
    background-color: var(--global-palette-btn-bg-hover);
}
.kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger::after,
.kt-blocks-accordion-header:focus .kt-blocks-accordion-icon-trigger::after {
    background: var(--global-palette-btn-hover) !important;
}
.kt-accodion-icon-style-basic .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger::before,
.kt-accodion-icon-style-basic .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger::after {
    transform: translate(-50%, -50%) rotate(0deg);
}

.kt-accordion-inner-wrap > .kt-accordion-pane:last-child {
    border-bottom: 1px solid var(--global-palette6);
}
/*--Tabs Section--*/
.tab-inner-cols > * > .wp-block-kadence-column {
    position: relative;
}
.tab-inner-cols .kt-row-column-wrap {
    grid-template-rows: 1fr auto;
}
.tab-inner-cols > * > .wp-block-kadence-column:not(:last-child)::after {
    content: "";
    display: block;
    width: 20%;
    right: 1px;
    height: 100%;
    position: absolute;
    z-index: 2;
    background-image: linear-gradient(270deg, var(--global-palette7), transparent);
    top: 0;
    pointer-events: none;
}

.tab-inner-cols > * > .wp-block-kadence-column .wp-block-kadence-image,
.steps-2col > * > .wp-block-kadence-column .wp-block-kadence-image {
    max-width: max(400px, 60vw);
}

.zoom-on-hover {
    transition: transform 0.3s ease-out;
}
.zoom-on-hover:hover {
    transform: scale(1.1);
}

.kt-tab-alignment-center ul.kt-tabs-title-list.kb-tabs-list-columns .kb-tab-titles-wrap {
    align-items: flex-start;
    text-align: left;
}
ul.kt-tabs-title-list.kb-tabs-list-columns .kt-tab-title {
    align-items: flex-start !important;
    justify-content: flex-start;
}
@media (max-width: 767px) {
    .wp-block-kadence-tabs .kt-tabs-title-list.kb-tabs-list-columns > li {
        flex: 0 1 100% !important;
    }
}

/*--individuelle beratung--*/
.turbine-img {
    transform: scale(2) translateX(-20%);
}
.tennis-testing-img {
    transform: translate(15%, 15%);
}

/*Footer*/
.site-footer-row-layout-contained {
    max-width: var(--footer-content-width);
}
.site-footer-row-layout-contained .site-container,
.site-footer-row-layout-fullwidth .site-container {
    max-width: var(--footer-content-width) !important;
}

.site-bottom-footer-wrap .site-container {
    padding: 0;
}

.site-footer-section .widget_nav_menu .menu {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    max-block-size: 12rem;
    row-gap: 0.75rem;
    column-gap: 2rem;
}
@media (max-width: 767px) {
    .site-footer-section .widget_nav_menu .menu {
        max-block-size: unset;
    }
}
.site-footer-section .widget_nav_menu a {
    display: inline-block;
}
@media (max-width: 1024px) {
    #footer-navigation ul {
        flex-direction: column;
        row-gap: 0.75rem;
        column-gap: 2rem;
    }
}
/*---Leistungen Cards----*/
.leistungen-card .kt-blocks-post-grid-item .entry-title a {
    display: inline-block !important;
}
.leistungen-card .kt-blocks-post-grid-item {
    height: 100%;
}
/*---Slider Controls---*/
.kb-splide .splide__arrows .splide__arrow {
    background: var(--global-palette7);
    border: 1px solid var(--global-palette9);
    border-radius: 0.75rem;
}
.kb-splide .splide__arrows .splide__arrow:hover,
.kb-splide .splide__arrows .splide__arrow:focus {
    color: var(--global-palette1);
    border: 1px solid var(--global-palette1);
}
.kb-splide .splide__arrows .splide__arrow--prev {
    left: -1rem;
}
.kb-splide .splide__arrows .splide__arrow--next {
    right: -1rem;
}
