/*
 Theme Name: Frei und Zeit
 Theme URI: https://freiundzeit.it
 Description: Custom Theme für Frei und Zeit
 Author: Markus Denicolo, Freiundzeit
 Author URI: https://freiundzeit.it
 Version: 3.0
 Text Domain: freiundzeit
*/

@font-face {
    font-family: 'TeX Gyre Heros';
    src: url('assets/fonts/texgyreheros-regular-webfont.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    ascent-override: 94%;
    descent-override: 24%;
    line-gap-override: 0%;
}

@font-face {
    font-family: 'TeX Gyre Heros';
    src: url('assets/fonts/texgyreheros-bold-webfont.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    ascent-override: 94%;
    descent-override: 24%;
    line-gap-override: 0%;
}

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

:root {
    /*font-size: 90%;*/
    --heading-wrap: break-word;
    --fuz-padding-side: 80px;
    --fuz-padding-top-full: 200px;
    --fuz-padding-top-medium: 80px;
    --fuz-padding-top-small: 0;
    --fuz-padding-bottom-full: 200px;
    --fuz-padding-bottom-medium: 80px;
    --fuz-padding-bottom-small: 0;
    --fuz-content-max-width: 1356px;
    --fuz-global-color-blue: #B6DDFF;
    --fuz-global-color-pink: #FFA8D2;
    --fuz-global-color-yellow: #F4FFBB;
    --fuz-global-color-green: #AEF3CF;
    --fuz-global-color-orange: #FFB396;
    --fuz-global-color-viola: #EAC9FF;
	--fuz-global-color-dark-blue: #98ADFF;
    --fuz-global-border-radius: 0;
    --fuz-page-accent: var(--fuz-global-color-viola);
}

body.fuz-accent-orange {
    --fuz-page-accent: var(--fuz-global-color-orange);
}

body.fuz-accent-pink {
    --fuz-page-accent: var(--fuz-global-color-pink);
}

body.fuz-accent-blue {
    --fuz-page-accent: var(--fuz-global-color-blue);
}

body.fuz-accent-green {
    --fuz-page-accent: var(--fuz-global-color-green);
}

body.fuz-accent-yellow {
    --fuz-page-accent: var(--fuz-global-color-yellow);
}

body.fuz-accent-viola {
    --fuz-page-accent: var(--fuz-global-color-viola);
}

body.fuz-accent-dar-blue {
	--fuz-page-accent: var(--fuz-global-color-dark-blue);
}

/* Lightbox Settings */
.gslide-description {
    display: none !important;
}

.wp-menu li {
    list-style: none;
}

.wp-menu li a {
    text-decoration: none;
}

a {
    color: inherit;
    text-decoration: none;
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.screen-reader-text:focus {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    clip: auto;
    white-space: normal;
}

@media screen and (min-width: 1441px) {
    :root {
        --fuz-padding-side: 80px;
        font-size: 100%;
    }
}


@media screen and (max-width: 1024px) {
    :root {
        --fuz-padding-side: 40px;
        --fuz-padding-top-full: 70px;
        --fuz-padding-top-half: 40px;
        --fuz-padding-top-none: 0;
        --fuz-padding-bottom-full: 70px;
        --fuz-padding-bottom-half: 40px;
        --fuz-padding-bottom-none: 0;
    }

    body:not(.home) .fuz-main {
        padding-top: 80px;
    }
}

@media screen and (max-width: 767px) {
    :root {
        --fuz-padding-side: 24px;
        --fuz-padding-top-full: 80px;
        --fuz-padding-top-half: 40px;
        --fuz-padding-top-none: 0;
        --fuz-padding-bottom-full: 80px;
        --fuz-padding-bottom-half: 40px;
        --fuz-padding-bottom-none: 0;
        /*font-size: 90%;*/
    }

    body:not(.home) .fuz-main {
        padding-top: 40px;
    }
}

::selection {
    background-color: var(--fuz-global-color-viola);
}

.fuz-footer ::selection,
.fuz-section-viola ::selection {
    background-color: var(--fuz-global-color-yellow);
}

body,
html {
    font-family: 'TeX Gyre Heros', Helvetica, Arial, sans-serif;
    color: #111;
}

/*Scrollbar Compensation*/

html {
    scrollbar-gutter: stable;
}

.fuz-site-header,
#menu-hauptmenue li:not(.fuz-submenu-item-main) {
     right: var(--fuz-scrollbar-compensation, 0px);
}

body.gscrollbar-fixer {
    padding-right: 0 !important;
    margin-right: 0 !important;
}

/* =========================
   Custom Cursor
========================= */

/*

@media (min-width: 1025px) {

    html.has-fuz-cursor,
    html.has-fuz-cursor body,
    html.has-fuz-cursor a,
    html.has-fuz-cursor button,
    html.has-fuz-cursor [role="button"],
    html.has-fuz-cursor input[type="submit"] {
        cursor: none !important;
    }
}

.fuz-cursor {
    --fuz-cursor-circle-size: 32px;
    --fuz-cursor-dot-size: 8px;
    --fuz-cursor-border: #000;
    --fuz-cursor-bg: transparent;
    --fuz-cursor-text: #000;
    --fuz-cursor-circle-scale: 1;

    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 99999999999999;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.fuz-cursor.is-visible {
    opacity: 1;
}

.fuz-cursor__dot,
.fuz-cursor__circle,
.fuz-cursor__label {
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
}

.fuz-cursor__dot {
    width: var(--fuz-cursor-dot-size);
    height: var(--fuz-cursor-dot-size);
    border-radius: 50%;
    background: var(--fuz-cursor-border);
    transform: translate(-50%, -50%);
    transition:
        opacity 0.2s ease,
        background-color 0.2s ease;
}

.fuz-cursor__circle {
    width: var(--fuz-cursor-circle-size);
    height: var(--fuz-cursor-circle-size);
    border-radius: 50%;
    border: 2px solid white;
    background: var(--fuz-cursor-bg);
    transform: translate(-50%, -50%) scale(var(--fuz-cursor-circle-scale));
    transform-origin: center;
    transition:
        opacity 0.2s ease,
        border-color 0.2s ease,
        background-color 0.2s ease;
    box-shadow: inset 0 0 8px 8px var(--fuz-global-color-viola);
}

.fuz-cursor__label {
    transform: translate(-50%, -50%);
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
    color: var(--fuz-cursor-text);
    opacity: 0;
    transition: opacity 0.2s ease;
}

*/

/* States */

/*
.fuz-cursor.is-hover {
    --fuz-cursor-circle-scale: 1.45;
}

.fuz-cursor.is-click {
    --fuz-cursor-circle-scale: 0.9;
}

.fuz-cursor.is-view {
    --fuz-cursor-circle-size: 72px;
    --fuz-cursor-bg: rgba(255, 255, 255, 0.92);
}

.fuz-cursor.is-open {
    --fuz-cursor-circle-size: 64px;
    --fuz-cursor-bg: rgba(255, 255, 255, 0.92);
}

.fuz-cursor.is-drag {
    --fuz-cursor-circle-size: 88px;
    --fuz-cursor-bg: rgba(255, 255, 255, 0.92);
}

.fuz-cursor.is-view .fuz-cursor__label,
.fuz-cursor.is-open .fuz-cursor__label,
.fuz-cursor.is-drag .fuz-cursor__label {
    opacity: 1;
}

.fuz-cursor.is-view .fuz-cursor__dot,
.fuz-cursor.is-open .fuz-cursor__dot,
.fuz-cursor.is-drag .fuz-cursor__dot {
    opacity: 0;
}

.fuz-cursor.is-invert {
    --fuz-cursor-border: #fff;
    --fuz-cursor-text: #fff;
}

@media (prefers-reduced-motion: reduce),
(max-width: 1024px) {
    .fuz-cursor {
        display: none !important;
    }
}
    */

/*Skip to content Link*/

.skip-to-content-link {
    background: #eee;
    left: 0;
    top: 0;
    padding: 12px 24px;
    position: absolute;
    transform: translateY(-100%);
    transition: transform 0.3s;
    z-index: 9999999999;
    color: #333;
    opacity: 0;
}

.skip-to-content-link:focus {
    transform: translateY(0%);
    opacity: 1;
}

/* Global Layouts*/

.fuz-section {
    padding-left: var(--fuz-padding-side);
    padding-right: var(--fuz-padding-side);
}

.fuz-section-full-width {
    padding-left: 0;
    padding-right: 0;
}

.fuz-section-viola {
    background-color: var(--fuz-global-color-viola);
}

.fuz-section-viola .fuz-button {
    background-color: black;
}

.fuz-section-viola .fuz-button .fuz-button-text {
    color: white;
}

.fuz-section-viola .fuz-button .fuz-button-icon svg path {
    stroke: white;
}

.fuz-section__inner {
    width: 100%;
    max-width: var(--fuz-content-max-width);
    margin: auto;
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: flex-start;
}

.fuz-section-full-width .fuz-section__inner {
    width: 100%;
    max-width: 100%;
}

.fuz-padding-top-full {
    padding-top: var(--fuz-padding-top-full);
}

.fuz-padding-top-medium {
    padding-top: var(--fuz-padding-top-medium);
}

.fuz-padding-top-small {
    padding-top: var(--fuz-padding-top-small);
}

.fuz-padding-bottom-full {
    padding-bottom: var(--fuz-padding-bottom-full);
}

.fuz-padding-bottom-medium {
    padding-bottom: var(--fuz-padding-bottom-medium);
}

.fuz-padding-bottom-small {
    padding-bottom: var(--fuz-padding-bottom-small);
}

p {
    margin-bottom: 20px;
}

.fuz-border-top {
    border-top: 2px solid black;
}

.fuz-border-bottom {
    border-bottom: 2px solid black;
}

.fuz-section-accent {
    background-color: var(--fuz-page-accent);
}

/* Buttons */

.fuz-button {
    display: flex;
    background-color: transparent;
    color: black;
    gap: 16px;
    border: 2px solid black;
    border-radius: 500px;
    padding: 8px 16px;
    align-items: center;
    transition: 0.3s ease-in-out;
}

.fuz-button-text {
    color: inherit;
    transition: 0.3s ease-in-out;
}

.fuz-button-icon {
    line-height: 0;
    height: 18px;
    width: auto;
}

.fuz-button svg path {
    transition: 0.3s ease-in-out;
}

.fuz-button-minimal {
    padding: 0;
    border: none;
    border-radius: 0;
    display: flex;
    align-items: center;
}

.fuz-button-minimal .fuz-button-icon {
    height: auto;
}

.fuz-button-minimal .fuz-button-icon svg {
    height: 12px;
    width: auto;
}

.fuz-button:hover,
.fuz-button:focus-visible {
    background-color: black;
    color: white;
}

.fuz-button:hover svg path,
.fuz-button:focus-visible svg path {
    stroke: white;
}

.fuz-button-minimal:hover,
.fuz-button-minimal:focus-visible {
    background-color: transparent;
}

.fuz-button:hover .fuz-button-text,
.fuz-button:focus-visible .fuz-button-text {
    color: white;
}

.fuz-button-minimal:hover svg path,
.fuz-button-minimal:focus-visible svg path {
    stroke: black;
}


/* Global Typography */
.fuz-heading-lg,
.fuz-hero_subheading,
.fuz-copy-text-lg,
.fuz-copy-text-lg-bold {
    overflow-wrap: var(--heading-wrap);
    word-wrap: break-word;
    hyphens: auto;
    text-wrap: balance;
    hyphenate-limit-chars: 10 4 4;
}

h1, h2, h3, h4, h5, h6 {
  min-width: 0;
}

.fuz-heading-lg,
.fuz-hero_heading {
    font-size: 3.5rem;
    line-height: 1.2;
    font-weight: 700;
    width: 100%;
    max-width: 1117px;
}

.fuz-subheading {
    font-size: 1.875rem;
    line-height: 1.2em;
    font-weight: 700;
    max-width: 1117px;
}

.fuz-copy-text-lg {
    font-size: 1.875rem;
    font-weight: 400;
    line-height: 1.2em;
    letter-spacing: 0.64px;
    max-width: 1117px;
}

.fuz-copy-text-lg-bold {
    font-size: 1.875rem;
    font-weight: 700;
    line-height: 1.2em;
    letter-spacing: 0.64px;
    max-width: 1117px;
}

.fuz-copy-text-nrm {
    font-size: 1.125rem;
    font-weight: 400;
    letter-spacing: 0.36px;
    line-height: 1.4em;
}

.fuz-breadcrumbs span,
.fuz-breadcrumbs a {
    font-size: 0.75rem;
    margin-bottom: 0;
    text-transform: uppercase;
}

.fuz-button-text {
    line-height: 1em;
    font-size: 1.5rem;
}

.fuz-button-minimal .fuz-button-text {
    font-size: 1.125rem;
}

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

    .fuz-heading-lg,
    .fuz-hero_heading {
        font-size: 3rem;
        line-height: 1.2;
        font-weight: 700;
    }

    .fuz-copy-text-lg {
        font-size: 1.75rem;
        font-weight: 400;
        line-height: 1.2em;
        letter-spacing: 0.64px;
    }

    .fuz-copy-text-lg-bold {
        font-size: 1.75rem;
        font-weight: 400;
        line-height: 1.2em;
        letter-spacing: 0.64px;
    }

    .fuz-button-text {
        line-height: 1em;
        font-size: 1.25rem;
    }

}


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

    .fuz-heading-lg,
    .fuz-hero_heading {
        font-size: 2.25rem;
        line-height: 1.2;
        font-weight: 700;
    }

    .fuz-copy-text-lg {
        font-size: 1.375rem;
        font-weight: 400;
        line-height: 1.2em;
        letter-spacing: 0.64px;
    }

    .fuz-copy-text-lg-bold {
        font-size: 1.375rem;
        font-weight: 700;
        line-height: 1.2em;
        letter-spacing: 0.64px;
    }

    .fuz-subheading {
        font-size: 1.375rem;
        font-weight: 700;
        line-height: 1.2em;
        letter-spacing: 0.64px;
    }

    .fuz-button-text {
        line-height: 1em;
        font-size: 1.25rem;
    }

    .fuz-copy-text-nrm {
        font-size: 1rem;
        font-weight: 400;
        letter-spacing: 0.36px;
        line-height: 1.4em;
    }

}

/* =========================
   Header Styling
========================= */

.fuz-site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    background-color: transparent;
    box-shadow: inset 0 -2px 0 black;
    transition: 0.5s ease-in-out;
	padding: 0 20px;
}

.fuz-body-scrolled .fuz-site-header,
.fuz-menu-open .fuz-site-header {
    background-color: white;
}

.fuz-site-header__inner {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    height: 60px;
}

.fuz-site-logo {
    line-height: 0;
}

.fuz-site-logo img {
    height: 20px;
    width: auto;
}

.fuz-site-header__col {
    width: 50%;
    display: flex;
    align-items: center;
}

.fuz-site-header__col-2 {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: 16px;
}

.fuz-nav-ls {
	height: 100%;
}

.fuz-nav-ls .wpml-ls {
    width: auto;
	height: 100%;
}

.fuz-nav-ls .wpml-ls-item-toggle {
	border-left: 2px solid black;
	border-right: 2px solid black;
	border-bottom: 2px solid black;
	border-top: none;
}

.wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover > a,
.wpml-ls-legacy-dropdown-click .wpml-ls-current-language:focus > a,
.wpml-ls-legacy-dropdown-click a:hover,
.wpml-ls-legacy-dropdown-click a:focus {
	background: transparent;
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle::after {
	border: none;
	width: 16px;
	height: 16px;
	background-image: url('assets/img/fuz-ls-arrow.png');
	background-size: contain;
	top: unset;
	background-repeat: no-repeat;
	background-position: center;
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle[aria-expanded='true']::after {
	transform: rotate(180deg);
	transform-origin: center center;
}

.fuz-nav-ls .wpml-ls ul,
.fuz-nav-ls .wpml-ls li {
	height: 100%;
}

.fuz-nav-ls a {
    background: transparent;
    color: black;
	height: 100%;
	padding: 5px 14px;
	display: flex;
	align-items: center;
}

.fuz-body-scrolled .fuz-nav-ls a,
.fuz-menu-open .fuz-nav-ls a {
	background: white;
}

.fuz-nav-ls .wpml-ls a span {
    font-size: 1.25rem;
    text-transform: uppercase;
}

.fuz-nav-ls .wpml-ls-legacy-dropdown-click a,
.fuz-nav-ls .wpml-ls-sub-menu a {
	position: relative;
	transition: background 0.5s ease-in-out;
}

.fuz-nav-ls .wpml-ls-legacy-dropdown-click a:before,
.fuz-nav-ls .wpml-ls-sub-menu a:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	opacity: 0;
	transition: 0.5s ease-in-out;
}

.fuz-nav-ls .wpml-ls-legacy-dropdown-click a:hover:before,
.fuz-nav-ls .wpml-ls-legacy-dropdown-click a:focus:before,
.fuz-nav-ls .wpml-ls-sub-menu a:hover:before,
.fuz-nav-ls .wpml-ls-sub-menu a:focus:before {
	opacity: 0.1;
}

.fuz-nav-ls #wpml-ls-submenu-click-default {
	background-color: inherit;
}

.fuz-nav-ls .wpml-ls ul.wpml-ls-sub-menu {
	border-bottom: 2px solid black;
	border-left: 2px solid black;
	border-right: 2px solid black;
	height: auto;
	border-top: none;
}

.fuz-nav-ls .wpml-ls ul.wpml-ls-sub-menu li {
	height: 60px;
}

.fuz-nav-ls .wpml-ls ul.wpml-ls-sub-menu li:last-child {
	border-top: 2px solid black;
}

.fuz-nav-ls .wpml-ls ul.wpml-ls-sub-menu a {
	border: none;
	transition: background 0.5s ease-in-out;
}

.fuz-menu-toggle-container {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

/* =========================
   Menu Toggle
========================= */

button.fuz-menu-toggle {
    border: none;
    background-color: transparent;
    height: 32px;
    width: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    position: relative;
    z-index: 11;
}

.fuz-menu-toggle-bar,
.fuz-menu-toggle-bar:before,
.fuz-menu-toggle-bar:after {
    height: 2px;
    width: 40px;
    background-color: #000;
    border-radius: 1px;
    display: block;
    transition: transform 0.25s ease, opacity 0.25s ease;
}

.fuz-menu-toggle-bar {
    position: relative;
}

.fuz-menu-toggle-bar:before,
.fuz-menu-toggle-bar:after {
    position: absolute;
    content: "";
    left: 0;
    width: 100%;
}

.fuz-menu-toggle-bar:before {
    top: -8px;
}

.fuz-menu-toggle-bar:after {
    top: 8px;
}

.fuz-menu-toggle.is-active .fuz-menu-toggle-bar {
    background-color: transparent;
}

.fuz-menu-toggle.is-active .fuz-menu-toggle-bar:before {
    transform: translateY(8px) rotate(45deg);
}

.fuz-menu-toggle.is-active .fuz-menu-toggle-bar:after {
    transform: translateY(-8px) rotate(-45deg);
}


/* =========================
   Off Canvas Menu
========================= */

.fuz-off-canvas-menu {
    position: fixed;
    inset: 0;
    z-index: 8;
    overflow: hidden;
    height: 100vh;
    background: transparent;
}

/* Violetter Layer */
.fuz-off-canvas-menu__bg {
    position: absolute;
    inset: 0;
    background-color: var(--fuz-global-color-viola);
    transform: translateY(100%);
    transition: transform 0.9s cubic-bezier(.65, 0, .35, 1);
    will-change: transform;
    z-index: 0;
    pointer-events: none;
    display: none;
}

/* Weißes Menü */
.fuz-off-canvas-menu__inner {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(15px);
    padding-top: 60px;
    padding-bottom: var(--fuz-padding-bottom-full);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;

    transform: translateY(-100%);
    transition: transform 0.8s cubic-bezier(.65, 0, .35, 1);
    will-change: transform;
}

/* Open state */
.fuz-off-canvas-menu.is-open .fuz-off-canvas-menu__bg {
    transform: translateY(0);
}

.fuz-off-canvas-menu.is-open .fuz-off-canvas-menu__inner {
    transform: translateY(0);
}

body.fuz-menu-open {
    overflow: hidden;
}


/* Primary menu styling */

.fuz-off-canvas-primary-menu li {
    border-bottom: 2px solid #000;
}

.fuz-main-menu-orange:hover,
.fuz-main-menu-orange.is-open,
.fuz-main-menu-orange a:focus-visible {
    transition: 0.5s ease-in-out;
    background-color: var(--fuz-global-color-orange);
}

.fuz-main-menu-blue:hover,
.fuz-main-menu-blue.is-open,
.fuz-main-menu-blue button:focus-visible {
    transition: 0.5s ease-in-out;
    background-color: var(--fuz-global-color-blue);
}

.fuz-main-menu-pink:hover,
.fuz-main-menu-pink.is-open,
.fuz-main-menu-pink button:focus-visible {
    transition: 0.5s ease-in-out;
    background-color: var(--fuz-global-color-pink);
}

.fuz-main-menu-yellow:hover,
.fuz-main-menu-yellow.is-open,
.fuz-main-menu-yellow a:focus-visible {
    transition: 0.5s ease-in-out;
    background-color: var(--fuz-global-color-yellow);
}

.fuz-main-menu-green:hover,
.fuz-main-menu-green.is-open,
.fuz-main-menu-green button:focus-visible {
    transition: 0.5s ease-in-out;
    background-color: var(--fuz-global-color-green);
}

.fuz-main-menu-viola:hover,
.fuz-main-menu-viola.is-open,
.fuz-main-menu-viola a:focus-visible {
    transition: 0.5s ease-in-out;
    background-color: var(--fuz-global-color-viola);
}

.fuz-main-menu-dark-blue:hover,
.fuz-main-menu-dark-blue.is-open,
.fuz-main-menu-dark-blue a:focus-visible {
    transition: 0.5s ease-in-out;
    background-color: var(--fuz-global-color-dark-blue);
}

.fuz-off-canvas-primary-menu a {
    width: 100%;
    display: flex;
}

button.fuz-menu-item-toggle {
    border: none;
    background-color: transparent;
    width: 100%;
    text-align: left;
    cursor: pointer;
}

.fuz-off-canvas-primary-menu a,
button.fuz-menu-item-toggle {
    padding: 40px var(--fuz-padding-side);
}

.fuz-off-canvas-primary-menu .sub-menu {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-height: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    padding: 0 var(--fuz-padding-side);
    transition:
        max-height 0.5s ease-in-out,
        opacity 0.3s ease-in-out,
        visibility 0.3s ease-in-out;
}

.fuz-off-canvas-primary-menu li.is-open>.sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.fuz-off-canvas-primary-menu .sub-menu li {
    border: none;
    width: 100%;
    max-width: var(--fuz-content-max-width);
    margin: auto;
}

.fuz-off-canvas-primary-menu .sub-menu li:last-child {
    margin-bottom: 40px;
}

.fuz-menu-item-text {
    display: flex;
    width: 100%;
    font-size: 1.875rem;
    max-width: var(--fuz-content-max-width);
    margin: auto;
    position: relative;
    color: black;
}

.fuz-menu-item-toggle .fuz-menu-item-text::after {
    content: "+";
    margin-left: 24px;
    flex: 0 0 auto;
    right: 0;
    position: absolute;
}

.menu-item-has-children.is-open>.fuz-menu-item-toggle .fuz-menu-item-text::after {
    content: "−";
    right: 0;
    position: absolute;
}

.fuz-off-canvas-primary-menu .sub-menu a {
    padding: 0;
    width: auto;
    border: none
}

.fuz-off-canvas-primary-menu .sub-menu a .fuz-menu-item-text {
    font-size: 1.125rem;
    width: auto;
    margin: 0;
}

.fuz-off-canvas-primary-menu .sub-menu .fuz-submenu-item-main .fuz-menu-item-text {
    font-weight: bold;
    position: relative;
    padding-right: 16px;
}

.fuz-off-canvas-primary-menu .sub-menu .fuz-submenu-item-main .fuz-menu-item-text::after {
    content: "";
    position: absolute;
    height: 100%;
    width: 16px;
    right: -16px;
    background: url('assets/img/fuz-arrow-right.png');
    background-size: 85%;
    background-repeat: no-repeat;
    background-position: center;
}

/* FUZ Text Section */

.fuz-text-section__inner {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.fuz-text-section__inner--two_column_media {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.fuz-text-section__content,
.fuz-text-section__media {
    min-width: 0;
    min-height: 0;
}

.fuz-text-section__content {
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
}

.fuz-text-section__text ul {
	padding-left: 40px;
	margin-bottom: 20px;
}

.fuz-text-section__text.fuz-copy-text-lg {
    width: 100%;
    max-width: 1117px;
}

.fuz-text-section__text.fuz-copy-text-nrm {
    width: 100%;
    max-width: 800px;
}

.fuz-text-section__shortcode {
    width: 100%;
    max-width: none;
}

.fuz-text-section__inner .fuz-button {
    margin-top: 20px;
}

.fuz-text-section__media {
    width: 100%;
    min-width: 0;
    position: relative;
    align-self: stretch;
}

.fuz-text-section__media-inner {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 100%;
}

.fuz-text-section__media-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}



@media screen and (min-width: 768px) {
    .fuz-text-section__inner--two_column_media .fuz-text-section__content {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .fuz-text-section__inner--media-left .fuz-text-section__media {
        order: 1;
    }

    .fuz-text-section__inner--media-left .fuz-text-section__content {
        order: 2;
    }
}

/* Tablet */
@media (max-width: 1024px) {
    .fuz-text-section__inner--two_column_media {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .fuz-text-section__inner--two_column_media {
        grid-template-columns: 1fr;
    }

    .fuz-text-section__media {
        min-height: 320px;
    }

    .fuz-text-section__media-inner {
        min-height: 320px;
        display: flex;
        justify-content: center;
    }

    .fuz-text-section__media-image {
        position: relative;
        inset: auto;
        max-width: 250px;
    }
}


/* Fuz Hero Section */

.fuz-hero {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.fuz-pb-hero-height-full {
    min-height: 100vh;
}

.fuz-pb-hero-height-auto {
    min-height: auto;
}

.fuz-hero__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 1;
}

.fuz-hero__inner {
    position: relative;
    z-index: 3;
    height: 100%;
    max-width: var(--fuz-content-max-width);
    margin: 0 auto;
    gap: 56px;
}

.fuz-hero__content-wrapper {
	display: flex;
	flex-direction: column;
	gap: 56px;
}

.fuz-hero_subheading {
    max-width: 800px;
}

.fuz-hero-has-bg::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 2;
}

.fuz-hero_buttons {
    display: flex;
    flex-direction: row;
    gap: 20px;
    flex-wrap: wrap;
}

/* H1 Icons Basic */

.hero-icon {
  display: inline-block;
  width: 1.15em;
  height: 1em;
  line-height: 0;
  vertical-align: -0.12em;
}

.hero-icon svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

/* H1 Icons Ente*/
#tasse-anim {
  overflow: visible;
}

#ente,
#wellen {
  transform-origin: center;
  transform-box: fill-box;
}

#ente {
  animation-name: ente;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

@keyframes ente {
  0% {
    transform: rotate(-15deg);
  }
  100% {
    transform: rotate(15deg);
  }
}

#wellen {
  animation-name: wellen;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-direction: normal;
  animation-delay: 1s;
}

@keyframes wellen {
  0% {
    transform: scale(0.5);
    opacity: 100%;
  }
  75% {
   opacity: 100%;
  }
  90% {
    transform: scale(1.05);
    opacity: 0;
  }
  100% {
    transform: scale(1.05);
    opacity: 0;
  }
}

/* H1 Icons Folder */

#folder-anim {
  	overflow: visible;
}

/* Start Left */

#star-left-wrapper {
  animation: star-left 3s normal infinite linear;
  transform-origin: center;
  transform-box: fill-box;
}

@keyframes star-left {
  0% {
    transform: translateY(80px) rotate(0) scale(1);
  }
  80% {
    transform: translateY(-160px) rotate(-144deg) scale(1);
  }
  100% {
    transform: translateY(-180px) rotate(-180deg) scale(0);
  }
}


/* Start Mid Left */

#star-mid-left-wrapper {
  animation: star-mid-left 2s normal infinite linear;
  transform-origin: center;
  transform-box: fill-box;
}

@keyframes star-mid-left {
  0% {
    transform: translateY(120px) rotate(0) scale(1);
  }
  80% {
    transform: translateY(-100px) rotate(-144deg) scale(1);
  }
  100% {
    transform: translateY(-120px) rotate(-180deg) scale(0);
  }
}


/* Star Mid Right */

#star-mid-right-wrapper {
  animation: star-mid-right 2.4s normal infinite linear;
  transform-origin: center;
  transform-box: fill-box;
}

@keyframes star-mid-right {
  0% {
    transform: translateY(120px) rotate(0) scale(1);
  }
  80% {
    transform: translateY(-100px) rotate(144deg) scale(1);
  }
  100% {
    transform: translateY(-120px) rotate(180deg) scale(0);
  }
}


/* Star Right */

#star-right-wrapper {
  animation: star-right 1.6s normal infinite linear;
  transform-origin: center;
  transform-box: fill-box;
}

@keyframes star-right {
  0% {
    transform: translateY(200px) rotate(0) scale(1);
  }
  80% {
    transform: translateY(100px) rotate(144deg) scale(1);
  }
  100% {
    transform: translateY(80px) rotate(180deg) scale(0);
  }
}




/*Plant 1*/

#plant-1 {
  animation: plant-1 4s normal infinite ease;
}

@keyframes plant-1 {
  0% {
    transform: translateY(180px);
  }
  15% {
    transform: translateY(180px);
  }
  35% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(5px);
  }
  57% {
    transform: translateY(5px);
  }
  66% {
    transform: translateY(0);
  }
  75% {
    transform: translateY(180px);
  }
  100% {
    transform: translateY(180px);
  }
}


/*Plant 2*/

#plant-2 {
  animation: plant-2 4s normal infinite ease;
}

@keyframes plant-2 {
  0% {
    transform: translateY(180px);
  }
  2% {
    transform: translateY(180px);
  }
  29% {
    transform: translateY(0);
  }
  34% {
    transform: translateY(3px);
  }
  60% {
    transform: translateY(3px);
  }
  66% {
    transform: translateY(0);
  }
  75% {
    transform: translateY(180px);
  }
  100% {
    transform: translateY(180px);
  }
}

/* Plant 3*/

#plant-3 {
  animation: plant-3 4s normal infinite ease;
}

@keyframes plant-3 {
  0% {
    transform: translateY(180px);
  }
  18% {
    transform: translateY(0);
  }
  28% {
    transform: translateY(8px);
  }
  60% {
    transform: translateY(8px);
  }
  66% {
    transform: translateY(0);
  }
  75% {
    transform: translateY(180px);
  }
  100% {
    transform: translateY(180px);
  }
}

/* Plant 4*/

#plant-4 {
  animation: plant-4 4s normal infinite ease;
}

@keyframes plant-4 {
  0% {
    transform: translateY(180px);
  }
  5% {
    transform: translateY(180px);
  }
  36% {
    transform: translateY(0);
  }
  42% {
    transform: translateY(2px);
  }
  60% {
    transform: translateY(2px);
  }
  66% {
    transform: translateY(0);
  }
  75% {
    transform: translateY(180px);
  }
  100% {
    transform: translateY(180px);
  }
}

/* Plant 5*/

#plant-5 {
  animation: plant-5 4s normal infinite ease;
}

@keyframes plant-5 {
  0% {
    transform: translateY(180px);
  }
  26% {
    transform: translateY(0);
  }
  31% {
    transform: translateY(3px);
  }
  60% {
    transform: translateY(3px);
  }
  66% {
    transform: translateY(0);
  }
  75% {
    transform: translateY(180px);
  }
  100% {
    transform: translateY(180px);
  }
}


@media screen and (max-width: 767px) {
    .fuz-hero__inner {
        gap: 32px;
    }
}


/* FUZ Subpage Hero */

.fuz-hero-subpage__inner {
    gap: 0;
}

.fuz-hero-subpage__heading {
    margin-bottom: 80px;
}

.fuz-hero-subpage__subheading {
    margin-bottom: 40px;
}

.fuz-hero-subpage__subheading.fuz-copy-text-lg {
    width: 100%;
    max-width: 1117px;
}

.fuz-hero-subpage__subheading.fuz-copy-text-nrm {
    width: 100%;
    max-width: 1117px;
}

.fuz-hero-subpage__text.fuz-copy-text-lg {
    width: 100%;
    max-width: 1117px;
}

.fuz-hero-subpage__text.fuz-copy-text-nrm {
    width: 100%;
    max-width: 800px;
}

.fuz-hero-subpage .fuz-button {
    margin-top: 40px;
}

@media screen and (max-width: 767px) {
    .fuz-hero-subpage__heading {
        margin-bottom: 40px;
    }

    .fuz-hero-subpage__subheading {
        margin-bottom: 24px;
}
}

/* Fuz List Section */

.fuz-list__inner {
    width: 100%;
}

.fuz-list__header {
    padding-left: var(--fuz-padding-side);
    padding-right: var(--fuz-padding-side);
}

.fuz-list__header-inner {
    margin: 0 auto 80px auto;
    max-width: var(--fuz-content-max-width);
}

.fuz-list__heading {
    margin-bottom: 80px;
}

.fuz-list__text.fuz-copy-text-lg {
    width: 100%;
    max-width: 1117px;
}

.fuz-list__items {
    margin: 0;
    padding: 0;
}

.fuz-list li {
    list-style: none;
    border-bottom: 2px solid #000;
}

.fuz-list li.fuz-list__item--clickable .fuz-list__item-link,
.fuz-list li:not(.fuz-list__item--clickable) .fuz-list__item-inner {
    padding: 0 var(--fuz-padding-side);
    transition: 0.5s ease-in-out;
    background-color: transparent;
}

.fuz-list:not(.fuz-list--irregular) li.fuz-list__item--clickable .fuz-list__item-link:hover,
.fuz-list:not(.fuz-list--irregular) li.fuz-list__item--clickable .fuz-list__item-link:focus-visible,
.fuz-list:not(.fuz-list--irregular) li:not(.fuz-list__item--clickable) .fuz-list__item-inner:hover,
.fuz-list:not(.fuz-list--irregular) li:not(.fuz-list__item--clickable) .fuz-list__item-inner:focus-visible {
    background-color: var(--fuz-page-accent);
}

.fuz-list li:first-child {
    border-top: 2px solid #000;
}

.fuz-list__item-row {
    max-width: var(--fuz-content-max-width);
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: center;
    padding: 40px 0;
    position: relative;
}

.fuz-list__item-left,
.fuz-list__item-right {
    flex: 1 1 0;
    min-width: 0;
}

.fuz-list__item-left {
    display: flex;
    align-items: center;
    gap: 16px;
}

.fuz-list__item-right {
    display: flex;
    justify-content: flex-start;
}

.fuz-list__item--clickable:hover {
    cursor: pointer;
}

.fuz-list__item-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.fuz-list__item--clickable .fuz-list__item-arrow {
    transition: padding-left 0.5s ease;
}

.fuz-list__item--clickable:hover .fuz-list__item-arrow {
    padding-left: 10px;
}

/* =========================
   Irregular List
========================= */

.fuz-list--irregular {
    overflow: hidden;
}

.fuz-list--irregular .fuz-list__items {
    list-style: none;
    margin: 0;
    padding: 0;
}

.fuz-list--irregular .fuz-list__item {
    margin: 0;
    padding: 0;
    border-bottom: 2px solid currentColor;
    overflow: visible;
}

.fuz-list--irregular .fuz-list__item-inner {
    position: relative;
    overflow: visible;
}

.fuz-list--irregular .fuz-list__item-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.fuz-list--irregular .fuz-list__item-row {
    position: relative;
    /*min-height: 8rem;
    padding: 2.5rem 0;*/
    overflow: visible;
}

/* Index */

.fuz-list--irregular .fuz-list__item-index {
    position: absolute;
    left: 4rem;
    top: 50%;
    transform: translateY(-50%);
}

/* Heading + Content */

.fuz-list--irregular .fuz-list__item-heading-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    max-width: 1000px;
    vertical-align: middle;
}

.fuz-list--irregular .fuz-list__item-heading {
    display: inline-block;
}

.fuz-list--irregular .fuz-list__item-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.fuz-list--irregular .fuz-list__item-text-wrap {
    margin-top: 0.75rem;
    max-width: 32rem;
}

/* Media (jetzt relativ zum Heading) */

.fuz-list--irregular .fuz-list__item-media {
    position: absolute;
    pointer-events: none;
    width: auto;
    height: auto;
    overflow: visible;
}

/* Bild: echte Größe + visuelles Scaling */

.fuz-list--irregular .fuz-list__item-image {
    display: block;
    width: auto;
    max-width: none;
    height: auto;
    object-fit: contain;

    transform-origin: center center;

    will-change: transform;
}

/* =========================
   Horizontaler Versatz (Text)
========================= */

/*.fuz-list--irregular .fuz-list__item:nth-child(1) .fuz-list__item-row {
    padding-left: 12%;
}*/

.fuz-list--irregular .fuz-list__item:nth-child(1) .fuz-list__item-row {
    justify-content: flex-end;
}

.fuz-list--irregular .fuz-list__item:nth-child(2) .fuz-list__item-row {
    justify-content: center;
}

.fuz-list--irregular .fuz-list__item:nth-child(2) .fuz-list__item-row .fuz-list__item-heading-wrap {
    padding-right: 20%;
}

.fuz-list--irregular .fuz-list__item:nth-child(3) .fuz-list__item-row {
    justify-content: center;
}

.fuz-list--irregular .fuz-list__item:nth-child(3) .fuz-list__item-row .fuz-list__item-heading-wrap {
    padding-left: 20%;
}

.fuz-list--irregular .fuz-list__item:nth-child(4) .fuz-list__item-row {
    justify-content: flex-start;
}

.fuz-list--irregular .fuz-list__item:nth-child(4) .fuz-list__item-row .fuz-list__item-heading-wrap {
    padding-left: 5%;
}

.fuz-list--irregular .fuz-list__item:nth-child(5) .fuz-list__item-row {
    justify-content: flex-end;
}

.fuz-list--irregular .fuz-list__item:nth-child(5) .fuz-list__item-row .fuz-list__item-heading-wrap {
    padding-right: 10%;
}

.fuz-list--irregular .fuz-list__item:nth-child(6) .fuz-list__item-row {
    justify-content: flex-start;
}

/* =========================
   Irreguläre Bildpositionen
   (relativ zum Heading)
========================= */
/*
.fuz-list--irregular .fuz-list__item:nth-child(1) .fuz-list__item-media {
    left: 115%;
    top: 50%;
    transform: translate(-50%, -50%);
}*/

.fuz-list--irregular .fuz-list__item:nth-child(1) .fuz-list__item-media {
    left: -18%;
    top: 10%;
    transform: translate(-50%, -50%) rotate(-8deg);
}

.fuz-list--irregular .fuz-list__item:nth-child(2) .fuz-list__item-media {
    left: -15%;
    top: 180px;
    transform: translate(-50%, -50%);
}

.fuz-list--irregular .fuz-list__item:nth-child(3) .fuz-list__item-media {
    left: 110%;
    top: 0;
    transform: translate(-50%, -50%);
}

.fuz-list--irregular .fuz-list__item:nth-child(4) .fuz-list__item-media {
    left: 120%;
    top: 60%;
    transform: translate(-50%, -50%);
}

.fuz-list--irregular .fuz-list__item:nth-child(5) .fuz-list__item-media {
    left: -22%;
    top: 15px;
    transform: translate(-50%, -50%) rotate(-10deg);
}

.fuz-list--irregular .fuz-list__item:nth-child(6) .fuz-list__item-media {
    left: 220%;
    top: 70%;
    transform: translate(-50%, -50%);
}

/*----------- 
Tablet--------
------------*/

@media screen and (max-width: 1024px) {
    .fuz-list--irregular .fuz-list__item-image {
        display: block;
        width: auto;
        max-width: none;
        height: auto;
        object-fit: contain;
        transform: scale(0.9);
        transform-origin: center center;
    }

    /* Heading Wrap */

    .fuz-list--irregular .fuz-list__item:nth-child(1) .fuz-list__item-row .fuz-list__item-heading-wrap {
        padding-right: 10%;
    }

    .fuz-list--irregular .fuz-list__item:nth-child(3) .fuz-list__item-row .fuz-list__item-heading-wrap {
        padding-left: 10%;
    }

    .fuz-list--irregular .fuz-list__item:nth-child(5) .fuz-list__item-row .fuz-list__item-heading-wrap {
        padding-right: 0;
    }

    /* Bilder */

    .fuz-list--irregular .fuz-list__item:nth-child(3) .fuz-list__item-media {
        left: unset;
        right: -25%;
        top: 45%;
        transform: translate(-50%, -50%);
    }
    

    .fuz-list--irregular .fuz-list__item:nth-child(6) .fuz-list__item-media {
        left: 150%;
        top: 70%;
        transform: translate(-50%, -50%);
    }
}



/* =========================
   Mobile
========================= */

@media screen and (max-width: 767px) {
    .fuz-list--irregular .fuz-list__item .fuz-list__item-row {
        justify-content: flex-start!important;
    }

    .fuz-list--irregular .fuz-list__item .fuz-list__item-row .fuz-list__item-heading-wrap {
         padding-left: 0!important;
         padding-right: 0!important;
         width: 100%;
    }

    .fuz-list--irregular .fuz-list__item:nth-child(1) .fuz-list__item-media {
        left: unset;
        right: -60px;
        top: 70px;
        transform: translate(-50%, -50%) rotate(-8deg);
    }

    .fuz-list--irregular .fuz-list__item:nth-child(2) .fuz-list__item-media {
        left: 40px;
        top: unset;
        bottom: -150px;
        transform: translate(-50%, -50%) rotate(-8deg);
    }

    .fuz-list--irregular .fuz-list__item:nth-child(3) .fuz-list__item-media {
        left: unset;
        right: 0;
        top: 80px;
        transform: translate(-50%, -50%);
    }

    .fuz-list--irregular .fuz-list__item:nth-child(5) .fuz-list__item-media {
        left: 40px;
        top: -40px;
        transform: translate(-50%, -50%);
    }

    .fuz-list--irregular .fuz-list__item:nth-child(6) .fuz-list__item-media {
        left: unset;
        right: -80px;
        top: 10px;
        transform: translate(-50%, -50%);
    }

    .fuz-list--irregular .fuz-list__item-image {
        transform: scale(0.7);
    }
}


/* =========================
   Irregular List
========================= */

.fuz-list--irregular {
    overflow: hidden;
}

.fuz-list--irregular .fuz-list__items {
    list-style: none;
    margin: 0;
    padding: 0;
}

.fuz-list--irregular .fuz-list__item {
    margin: 0;
    padding: 0;
    border-bottom: 2px solid currentColor;
    overflow: visible;
}

.fuz-list--irregular .fuz-list__item-inner {
    position: relative;
    overflow: visible;
}

.fuz-list--irregular .fuz-list__item-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.fuz-list--irregular .fuz-list__item-row {
    position: relative;
    display: flex;
    overflow: visible;
}

/* Index */

.fuz-list--irregular .fuz-list__item-index {
    position: absolute;
    left: 4rem;
    top: 50%;
    transform: translateY(-50%);
}

/* Heading + Content */

.fuz-list--irregular .fuz-list__item-heading-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    max-width: 1000px;
    vertical-align: middle;
}

.fuz-list--irregular .fuz-list__item-heading {
    display: inline-block;
}

.fuz-list--irregular .fuz-list__item-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.fuz-list--irregular .fuz-list__item-text-wrap {
    margin-top: 0.75rem;
    max-width: 32rem;
}

/* Media */

.fuz-list--irregular .fuz-list__item-media {
    position: absolute;
    pointer-events: none;
    width: auto;
    height: auto;
    overflow: visible;
}

/* =========================
   Icon Animation Base
   - hidden by default
   - flies in on .is-inview
   - supports JS parallax vars
========================= */

/* Media */

.fuz-list--irregular .fuz-list__item-media {
    position: absolute;
    pointer-events: none;
    width: auto;
    height: auto;
    overflow: visible;
}

.fuz-list--irregular .fuz-list__item-media-float {
    width: auto;
    height: auto;
    will-change: transform;
}

/* Image: Reveal + Parallax + Scale */

.fuz-list--irregular .fuz-list__item-image {
    display: block;
    width: auto;
    max-width: none;
    height: auto;
    object-fit: contain;
    transform-origin: center center;
    will-change: transform, opacity;

    --fuz-icon-scale: 1.1;
    --fuz-start-x: 0px;
    --fuz-start-y: 0px;
    --fuz-reveal-progress: 1;
    --fuz-parallax-x: 0px;
    --fuz-parallax-y: 0px;

    opacity: 0;
    transform:
        translate3d(
            calc((var(--fuz-start-x) * var(--fuz-reveal-progress)) + var(--fuz-parallax-x)),
            calc((var(--fuz-start-y) * var(--fuz-reveal-progress)) + var(--fuz-parallax-y)),
            0
        )
        scale(var(--fuz-icon-scale));
    transition:
        transform 1.2s cubic-bezier(.22, 1, .36, 1),
        opacity 0.8s cubic-bezier(.22, 1, .36, 1);
}

.fuz-list--irregular.is-inview .fuz-list__item-image {
    --fuz-reveal-progress: 0;
    opacity: 1;
}

/* Section active in viewport */

.fuz-list--irregular.is-inview .fuz-list__item:nth-child(1) .fuz-list__item-media-float {
    animation: fuzFloatA 6.2s ease-in-out infinite;
}

.fuz-list--irregular.is-inview .fuz-list__item:nth-child(2) .fuz-list__item-media-float {
    animation: fuzFloatB 5.4s ease-in-out infinite;
}

.fuz-list--irregular.is-inview .fuz-list__item:nth-child(3) .fuz-list__item-media-float {
    animation: fuzFloatC 6.8s ease-in-out infinite;
}

.fuz-list--irregular.is-inview .fuz-list__item:nth-child(4) .fuz-list__item-media-float {
    animation: fuzFloatD 5.9s ease-in-out infinite;
}

.fuz-list--irregular.is-inview .fuz-list__item:nth-child(5) .fuz-list__item-media-float {
    animation: fuzFloatE 6.4s ease-in-out infinite;
}

.fuz-list--irregular.is-inview .fuz-list__item:nth-child(6) .fuz-list__item-media-float {
    animation: fuzFloatF 5.6s ease-in-out infinite;
}

@keyframes fuzFloatA {
    0%   { transform: translate(0px, 0px) rotate(0deg); }
    50%  { transform: translate(6px, -8px) rotate(-2deg); }
    100% { transform: translate(0px, 0px) rotate(0deg); }
}

@keyframes fuzFloatB {
    0%   { transform: translate(0px, 0px) rotate(0deg); }
    50%  { transform: translate(-7px, -5px) rotate(3deg); }
    100% { transform: translate(0px, 0px) rotate(0deg); }
}

@keyframes fuzFloatC {
    0%   { transform: translate(0px, 0px) rotate(0deg); }
    50%  { transform: translate(8px, -10px) rotate(2deg); }
    100% { transform: translate(0px, 0px) rotate(0deg); }
}

@keyframes fuzFloatD {
    0%   { transform: translate(0px, 0px) rotate(0deg); }
    50%  { transform: translate(-5px, -7px) rotate(-2deg); }
    100% { transform: translate(0px, 0px) rotate(0deg); }
}

@keyframes fuzFloatE {
    0%   { transform: translate(0px, 0px) rotate(0deg); }
    50%  { transform: translate(5px, -6px) rotate(2deg); }
    100% { transform: translate(0px, 0px) rotate(0deg); }
}

@keyframes fuzFloatF {
    0%   { transform: translate(0px, 0px) rotate(0deg); }
    50%  { transform: translate(-8px, -9px) rotate(3deg); }
    100% { transform: translate(0px, 0px) rotate(0deg); }
}

/* Slight stagger */
.fuz-list--irregular .fuz-list__item:nth-child(1) .fuz-list__item-image {
    animation-delay: 0.05s;
}

.fuz-list--irregular .fuz-list__item:nth-child(2) .fuz-list__item-image {
    animation-delay: 0.14s;
}

.fuz-list--irregular .fuz-list__item:nth-child(3) .fuz-list__item-image {
    animation-delay: 0.22s;
}

.fuz-list--irregular .fuz-list__item:nth-child(4) .fuz-list__item-image {
    animation-delay: 0.1s;
}

.fuz-list--irregular .fuz-list__item:nth-child(5) .fuz-list__item-image {
    animation-delay: 0.18s;
}

.fuz-list--irregular .fuz-list__item:nth-child(6) .fuz-list__item-image {
    animation-delay: 0.26s;
}

/* =========================
   Horizontaler Versatz (Text)
========================= */

.fuz-list--irregular .fuz-list__item:nth-child(1) .fuz-list__item-row {
    justify-content: flex-end;
}

.fuz-list--irregular .fuz-list__item:nth-child(2) .fuz-list__item-row {
    justify-content: center;
}

.fuz-list--irregular .fuz-list__item:nth-child(2) .fuz-list__item-row .fuz-list__item-heading-wrap {
    padding-right: 20%;
}

.fuz-list--irregular .fuz-list__item:nth-child(3) .fuz-list__item-row {
    justify-content: center;
}

.fuz-list--irregular .fuz-list__item:nth-child(3) .fuz-list__item-row .fuz-list__item-heading-wrap {
    padding-left: 20%;
}

.fuz-list--irregular .fuz-list__item:nth-child(4) .fuz-list__item-row {
    justify-content: flex-start;
}

.fuz-list--irregular .fuz-list__item:nth-child(4) .fuz-list__item-row .fuz-list__item-heading-wrap {
    padding-left: 5%;
}

.fuz-list--irregular .fuz-list__item:nth-child(5) .fuz-list__item-row {
    justify-content: flex-end;
}

.fuz-list--irregular .fuz-list__item:nth-child(5) .fuz-list__item-row .fuz-list__item-heading-wrap {
    padding-right: 10%;
}

.fuz-list--irregular .fuz-list__item:nth-child(6) .fuz-list__item-row {
    justify-content: flex-start;
}

/* =========================
   Irreguläre Bildpositionen
   (relativ zum Heading)
========================= */

.fuz-list--irregular .fuz-list__item:nth-child(1) .fuz-list__item-media {
    left: -18%;
    top: 10%;
    transform: translate(-50%, -50%) rotate(-8deg);
}

.fuz-list--irregular .fuz-list__item:nth-child(1) .fuz-list__item-image {
    --fuz-start-x: -180px;
    --fuz-start-y: -60px;
}

.fuz-list--irregular .fuz-list__item:nth-child(2) .fuz-list__item-media {
    left: -15%;
    top: 180px;
    transform: translate(-50%, -50%);
}

.fuz-list--irregular .fuz-list__item:nth-child(2) .fuz-list__item-image {
    --fuz-start-x: -220px;
    --fuz-start-y: 90px;
}

.fuz-list--irregular .fuz-list__item:nth-child(3) .fuz-list__item-media {
    left: 110%;
    top: 0;
    transform: translate(-50%, -50%);
}

.fuz-list--irregular .fuz-list__item:nth-child(3) .fuz-list__item-image {
    --fuz-start-x: 220px;
    --fuz-start-y: -80px;
}

.fuz-list--irregular .fuz-list__item:nth-child(4) .fuz-list__item-media {
    left: 120%;
    top: 60%;
    transform: translate(-50%, -50%);
}

.fuz-list--irregular .fuz-list__item:nth-child(4) .fuz-list__item-image {
    --fuz-start-x: 180px;
    --fuz-start-y: 40px;
}

.fuz-list--irregular .fuz-list__item:nth-child(5) .fuz-list__item-media {
    left: -22%;
    top: 15px;
    transform: translate(-50%, -50%) rotate(-10deg);
}

.fuz-list--irregular .fuz-list__item:nth-child(5) .fuz-list__item-image {
    --fuz-start-x: -180px;
    --fuz-start-y: -90px;
}

.fuz-list--irregular .fuz-list__item:nth-child(6) .fuz-list__item-media {
    left: 220%;
    top: 70%;
    transform: translate(-50%, -50%);
}

.fuz-list--irregular .fuz-list__item:nth-child(6) .fuz-list__item-image {
    --fuz-start-x: 260px;
    --fuz-start-y: 50px;
}

/*----------- 
Tablet
------------*/

@media screen and (max-width: 1024px) {
    .fuz-list--irregular .fuz-list__item-image {
        --fuz-icon-scale: 0.9;
    }

    /* Heading Wrap */

    .fuz-list--irregular .fuz-list__item:nth-child(1) .fuz-list__item-row .fuz-list__item-heading-wrap {
        padding-right: 10%;
    }

    .fuz-list--irregular .fuz-list__item:nth-child(3) .fuz-list__item-row .fuz-list__item-heading-wrap {
        padding-left: 10%;
    }

    .fuz-list--irregular .fuz-list__item:nth-child(5) .fuz-list__item-row .fuz-list__item-heading-wrap {
        padding-right: 0;
    }

    /* Bilder */

    .fuz-list--irregular .fuz-list__item:nth-child(3) .fuz-list__item-media {
        left: unset;
        right: -25%;
        top: 45%;
        transform: translate(-50%, -50%);
    }

    .fuz-list--irregular .fuz-list__item:nth-child(6) .fuz-list__item-media {
        left: 150%;
        top: 70%;
        transform: translate(-50%, -50%);
    }
}

/* =========================
   Mobile
========================= */

@media screen and (max-width: 767px) {
    .fuz-list--irregular .fuz-list__item .fuz-list__item-row {
        justify-content: flex-start !important;
    }

    .fuz-list--irregular .fuz-list__item .fuz-list__item-row .fuz-list__item-heading-wrap {
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100%;
    }

    .fuz-list--irregular .fuz-list__item:nth-child(1) .fuz-list__item-media {
        left: unset;
        right: -60px;
        top: 70px;
        transform: translate(-50%, -50%) rotate(-8deg);
    }

    .fuz-list--irregular .fuz-list__item:nth-child(2) .fuz-list__item-media {
        left: 40px;
        top: unset;
        bottom: -150px;
        transform: translate(-50%, -50%) rotate(-8deg);
    }

    .fuz-list--irregular .fuz-list__item:nth-child(3) .fuz-list__item-media {
        left: unset;
        right: 80px;
        top: 80px;
        transform: translate(-50%, -50%);
    }

    .fuz-list--irregular .fuz-list__item:nth-child(5) .fuz-list__item-media {
        left: 40px;
        top: -40px;
        transform: translate(-50%, -50%);
    }

    .fuz-list--irregular .fuz-list__item:nth-child(6) .fuz-list__item-media {
        left: unset;
        right: -80px;
        top: 10px;
        transform: translate(-50%, -50%);
    }

    .fuz-list--irregular .fuz-list__item-image {
        --fuz-icon-scale: 0.7;
    }
}


/* Fuz Akkordeon Section */

.fuz-pb-akkordeon__inner {
    width: 100%;
}

.fuz-pb-akkordeon__header {
    padding-left: var(--fuz-padding-side);
    padding-right: var(--fuz-padding-side);
}

.fuz-pb-akkordeon__header-inner {
    margin: 0 auto 80px auto;
    max-width: var(--fuz-content-max-width);
}

.fuz-pb-akkordeon__heading {
    margin-bottom: 80px;
}


.fuz-pb-akkordeon__items {
    margin: 0;
    padding: 0;
}

.fuz-pb-akkordeon li {
    list-style: none;
    border-bottom: 2px solid #000;
}

.fuz-pb-akkordeon li:not(.fuz-pb-akkordeon__item--has-hidden) {
    padding: 0 var(--fuz-padding-side);
    transition: background-color 0.5s ease-in-out;
}

.fuz-pb-akkordeon li.fuz-pb-akkordeon__item--has-hidden .fuz-pb-akkordeon__trigger {
    padding: 0 var(--fuz-padding-side);
}

.fuz-pb-akkordeon li:first-child {
    border-top: 2px solid #000;
}

.fuz-pb-akkordeon__trigger {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    text-align: left;
    color: inherit;
    font: inherit;
    cursor: pointer;
    padding: 0 var(--fuz-padding-side);
    transition: background-color 0.5s ease-in-out;
}

.fuz-pb-akkordeon li:not(.fuz-pb-akkordeon__item--has-hidden):hover,
.fuz-pb-akkordeon li:not(.fuz-pb-akkordeon__item--has-hidden):focus-visible,
.fuz-pb-akkordeon__trigger:hover,
.fuz-pb-akkordeon__trigger:focus-visible {
    background-color: var(--fuz-page-accent);
}

.fuz-pb-akkordeon li.fuz-pb-akkordeon__item--has-hidden:has(.fuz-pb-akkordeon__trigger[aria-expanded="true"]) {
    background-color: var(--fuz-page-accent);
}

.fuz-pb-akkordeon li.fuz-pb-akkordeon__item--has-hidden:has(.fuz-pb-akkordeon__trigger[aria-expanded="false"]) {
    background-color: white;
}

.fuz-pb-akkordeon__item-row {
    max-width: var(--fuz-content-max-width);
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: center;
    padding: 40px 0;
}

.fuz-pb-akkordeon__item-left,
.fuz-pb-akkordeon__item-right {
    flex: 1 1 0;
    min-width: 0;
}

.fuz-pb-akkordeon__item-left {
    display: flex;
    align-items: center;
    gap: 16px;
}

.fuz-pb-akkordeon__item-right {
    display: flex;
    justify-content: flex-start;
}

.fuz-pb-akkordeon__item-icon {
    position: relative;
    width: 12px;
    height: 14px;
    flex: 0 0 12px;
    margin-left: auto;
}

.fuz-pb-akkordeon__icon {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.25s ease;
}

.fuz-pb-akkordeon__icon--open {
    opacity: 0;
}

.fuz-pb-akkordeon__trigger[aria-expanded="true"] .fuz-pb-akkordeon__icon--closed {
    opacity: 0;
}

.fuz-pb-akkordeon__trigger[aria-expanded="true"] .fuz-pb-akkordeon__icon--open {
    opacity: 1;
}

.fuz-pb-akkordeon__panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.7s cubic-bezier(.65, 0, .35, 1);
    padding: 0 var(--fuz-padding-side);
    background-color: var(--fuz-page-accent);
}

.fuz-pb-akkordeon__panel.is-open {
    opacity: 1;
    background-color: var(--fuz-page-accent);
}

.fuz-pb-akkordeon__panel-inner {
    width: 100%;
    display: flex;
    margin: 0 auto;
    max-width: var(--fuz-content-max-width);
    gap: 24px;
    padding-bottom: 40px;
    padding-top: 0;
    opacity: 0;
    transition: opacity 0.35s ease;
}

.fuz-pb-akkordeon__panel.is-open .fuz-pb-akkordeon__panel-inner {
    opacity: 1;
}

.fuz-pb-akkordeon__panel-content {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.fuz-pb-akkordeon__panel-text {
    width: 100%;
    max-width: 650px;
}

.fuz-pb-akkordeon__panel.is-open {
    opacity: 1;
}

@media screen and (max-width: 767px) {
    .fuz-pb-akkordeon__item-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .fuz-pb-akkordeon__item-left,
    .fuz-pb-akkordeon__item-right {
        width: 100%;
        flex: 1 1 auto;
    }

    .fuz-pb-akkordeon__item-right {
        justify-content: flex-start;
    }

    .fuz-pb-akkordeon__panel-inner {
        flex-direction: column;
        gap: 16px;
    }

    .fuz-pb-akkordeon__heading {
        margin-bottom: 40px;
    }

    .fuz-pb-akkordeon__panel-spacer {
        display: none;
    }
}

/* FUZ Team Section*/

/* =========================
   Team Section Grid
========================= */

.fuz-team-section__grid {
    display: grid;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;

    /* Desktop Standard */
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.fuz-team-card {
    min-width: 0;
    width: 100%;
}

.fuz-team-card img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
    border-radius: var(--fuz-global-border-radius);
}

.fuz-team-loop-join-visual {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    background-color: var(--fuz-page-accent);
    border-radius: var(--fuz-global-border-radius);
}

.fuz-team-card__content {
    padding: 16px;
}

.fuz-team-card__role {
    margin-top: 8px;
}

.fuz-team-card__permalink {
    display: flex;
    gap: 14px;
    align-items: center;
    margin-top: 24px;
}

.fuz-team-card__permalink-text {
    font-size: 1.125rem;
}

@media screen and (max-width: 1024px) {
    .fuz-team-section__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 767px) {
    .fuz-team-section__grid {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* Media Block */

.fuz-media-block__inner {
    max-width: 1500px;
    margin: auto;
}

.fuz-lightbox-link {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: inherit;
}

.fuz-lightbox-link img {
    display: block;
}

.fuz-lightbox-link .fuz-media-block__media {
    width: 100%;
    height: 100%;
}

.fuz-media-block__text.fuz-copy-text-nrm p {
    max-width: 800px;
}

/* =========================================================
   MEDIA BLOCK – 2x2 GRID BASIS
   Gesamtverhältnis jetzt: 3:2
   ========================================================= */

.fuz-media-block__media-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 0;
    aspect-ratio: 3 / 2;
    width: 100%;
}

.fuz-media-block__items {
    display: flex;
    flex-direction: column;
    gap: 80px;
}

.fuz-media-block__media-cell {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
}

.fuz-media-block__media {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* Border radius / clipping */

.fuz-media-block__media-grid {
    border-radius: var(--fuz-global-border-radius);
    overflow: hidden;
}

.fuz-media-block__content {
    max-width: var(--fuz-content-max-width);
    margin: 40px auto 0 auto;
    padding: 40px 0 0 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
}

.fuz-media-block__heading,
.fuz-media-block__text {
    width: 100%;
    max-width: 1117px;
}


/* =========================================================
   Layout-Spans
   ========================================================= */

/* SINGLE: nimmt alle 4 Grid-Zellen ein */
.fuz-media-block__media-grid--single .fuz-media-block__media-cell {
    grid-column: 1 / -1;
    grid-row: 1 / -1;
}

/* DOUBLE: jedes Medium = 1 Spalte, 2 Zeilen */
.fuz-media-block__media-grid--double .fuz-media-block__media-cell:nth-child(1) {
    grid-column: 1 / 2;
    grid-row: 1 / -1;
}

.fuz-media-block__media-grid--double .fuz-media-block__media-cell:nth-child(2) {
    grid-column: 2 / 3;
    grid-row: 1 / -1;
}

/* TRIPLE_12:
   1. Medium = links 1 Spalte, 2 Zeilen
   2. Medium = rechts oben
   3. Medium = rechts unten
*/
.fuz-media-block__media-grid--triple-12 .fuz-media-block__media-cell--a {
    grid-column: 1 / 2;
    grid-row: 1 / -1;
}

.fuz-media-block__media-grid--triple-12 .fuz-media-block__media-cell--b {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
}

.fuz-media-block__media-grid--triple-12 .fuz-media-block__media-cell--c {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
}

/* TRIPLE_21:
   1. Medium = links oben
   2. Medium = links unten
   3. Medium = rechts 1 Spalte, 2 Zeilen
*/
.fuz-media-block__media-grid--triple-21 .fuz-media-block__media-cell--a {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}

.fuz-media-block__media-grid--triple-21 .fuz-media-block__media-cell--b {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
}

.fuz-media-block__media-grid--triple-21 .fuz-media-block__media-cell--c {
    grid-column: 2 / 3;
    grid-row: 1 / -1;
}

/* FOUR: jedes Medium = genau 1 Grid-Zelle */
.fuz-media-block__media-grid--four .fuz-media-block__media-cell:nth-child(1) {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}

.fuz-media-block__media-grid--four .fuz-media-block__media-cell:nth-child(2) {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
}

.fuz-media-block__media-grid--four .fuz-media-block__media-cell:nth-child(3) {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
}

.fuz-media-block__media-grid--four .fuz-media-block__media-cell:nth-child(4) {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
}

.fuz-media-block__actions {
    display: flex;
    justify-content: center;
    margin-top: 80px;
}

.fuz-media-block__load-more {
    cursor: pointer;
}

/* =========================================================
   Responsive
   ========================================================= */

   /*

@media (max-width: 900px) {
    .fuz-media-block__media-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        aspect-ratio: auto;
    }

    .fuz-media-block__media-cell {
        aspect-ratio: 3 / 2;
    }

    .fuz-media-block__media-grid--single .fuz-media-block__media-cell,
    .fuz-media-block__media-grid--double .fuz-media-block__media-cell,
    .fuz-media-block__media-grid--triple-12 .fuz-media-block__media-cell,
    .fuz-media-block__media-grid--triple-21 .fuz-media-block__media-cell,
    .fuz-media-block__media-grid--four .fuz-media-block__media-cell {
        grid-column: auto;
        grid-row: auto;
    }
}

.fuz-media-block__item--hidden {
    display: none;
}
*/

/* FUZ Media Block Video*/

.fuz-media-block__media-grid--video {
    display: block;
    aspect-ratio: auto;
    width: 100%;
}

.fuz-media-block__media-grid--video .fuz-media-block__media-cell {
    width: 100%;
}

/* FUZ Counter Section */

/* =========================
   Counter Grid
========================= */

.fuz-section-counter .fuz-section__inner {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: repeat(2, 1fr);
    align-items: stretch;
    gap: 0;
    padding: 0;
    border-left: 2px solid black;
    border-right: 2px solid black;
}

/* Element base */
.fuz-section-counter__element {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-decoration: none;
    color: inherit;
    align-items: center;
    /* falls ihr Linien wie im Screenshot wollt */
    padding: 80px 60px;
    height: 100%;
    text-align: center;
    transition: 1s ease-in-out;
    background-color: #fff;
}

/* Typography (nur Grundwerte, feinjustieren kannst du später) */
.fuz-section-counter__element-number {
    font-size: 6rem;
    line-height: 1em;
    font-weight: 400;
}

.fuz-section-counter__element-headline {
    margin-top: 20px;
    font-size: 2rem;
    line-height: 1em;
}

.fuz-section-counter__element-text {
    margin-top: 16px;
    font-size: 1.125rem;
    white-space: pre-line;
    /* \n aus PHP wird Zeilenumbruch */
    max-width: 22ch;
}

/* =========================
   Grid placement (6x2)
========================= */

/* YEARS: col 1-2, rows 1-2 */
.fuz-section-counter__element-years {
    grid-column: 1 / span 2;
    grid-row: 1 / span 2;
    border-right: 2px solid black;
}

.fuz-section__inner .fuz-section-counter__element-years:hover {
    background-color: var(--fuz-global-color-blue);
}

.fuz-section-counter__element-years .fuz-section-counter__element-number {
    font-size: 9rem;
}

/* CLIENTS: col 3-4, row 1 */
.fuz-section-counter__element-clients {
    grid-column: 3 / span 2;
    grid-row: 1 / span 1;
    border-right: 2px solid black;
    border-bottom: 2px solid black;
}

.fuz-section-counter__element-clients:hover {
    background-color: var(--fuz-global-color-pink);
}

/* PROJECTS: col 5-6, row 1 */
.fuz-section-counter__element-projects {
    grid-column: 5 / span 2;
    grid-row: 1 / span 1;
    border-bottom: 2px solid black;
}

.fuz-section-counter__element-projects:hover {
    background-color: var(--fuz-global-color-yellow);
}

/* WEBSITES: col 3-4, row 2 */
.fuz-section-counter__element-websites {
    grid-column: 3 / span 2;
    grid-row: 2 / span 1;
    border-right: 2px solid black;
}

.fuz-section-counter__element-websites:hover {
    background-color: var(--fuz-global-color-green);
}

/* EMPLOYEES: col 5-6, row 2 */
.fuz-section-counter__element-employees {
    grid-column: 5 / span 2;
    grid-row: 2 / span 1;
}

.fuz-section-counter__element-employees:hover {
    background-color: var(--fuz-global-color-orange);
}

@media (max-width:1024px) {

    .fuz-section-counter {
        padding: 0;
    }

    .fuz-section-counter .fuz-section__inner {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(3, auto);
        border-left: 0;
        border-right: 0;
    }

    .fuz-section-counter__element-number {
        font-size: 4.5rem;
    }

    .fuz-section-counter__element-years .fuz-section-counter__element-number {
        font-size: 6rem;
    }

    .fuz-section-counter__element-text {
        margin-top: 8px;
    }

    /* YEARS */
    .fuz-section-counter__element-years {
        grid-column: 1 / span 2;
        grid-row: 1;
        border-bottom: 2px solid black;
        border-right: 0;
    }

    /* CLIENTS */
    .fuz-section-counter__element-clients {
        grid-column: 1;
        grid-row: 2;
    }

    /* PROJECTS */
    .fuz-section-counter__element-projects {
        grid-column: 2;
        grid-row: 2;
    }

    /* WEBSITES */
    .fuz-section-counter__element-websites {
        grid-column: 1;
        grid-row: 3;
    }

    /* EMPLOYEES */
    .fuz-section-counter__element-employees {
        grid-column: 2;
        grid-row: 3;
    }

}

@media (max-width: 767px) {

    .fuz-section-counter .fuz-section__inner {
        grid-template-columns: repeat(1, 1fr);
        grid-template-rows: repeat(5, auto);
        border-left: 0;
        border-right: 0;
    }

    .fuz-section-counter__element {
        padding: 32px 16px;
    }

    .fuz-section-counter__element-number {
        font-size: 4rem;
    }

    .fuz-section-counter__element-years .fuz-section-counter__element-number {
        font-size: 4rem;
    }

    /* CLIENTS */
    .fuz-section-counter__element-clients {
        grid-column: 1;
        grid-row: 2;
        border-right: 0;
    }

    /* PROJECTS */
    .fuz-section-counter__element-projects {
        grid-column: 1;
        grid-row: 3;
    }

    /* WEBSITES */
    .fuz-section-counter__element-websites {
        grid-column: 1;
        grid-row: 4;
        border-right: 0;
        border-bottom: 2px solid black;
    }

    /* EMPLOYEES */
    .fuz-section-counter__element-employees {
        grid-column: 1;
        grid-row: 5;
    }
}


/* Video Block Layout - iframe Aspect Ration etc. */

.fuz-video-player,
.fuz-video-player__embed,
.fuz-video-player__iframe {
    width: 100%;
}

.fuz-video-player__embed {
    position: relative;
    overflow: hidden;
    background: #000;
}

.fuz-video-player--ratio-16-9 .fuz-video-player__embed {
    aspect-ratio: 16 / 9;
}

.fuz-video-player--ratio-4-3 .fuz-video-player__embed {
    aspect-ratio: 4 / 3;
}

.fuz-video-player--ratio-1-1 .fuz-video-player__embed {
    aspect-ratio: 1 / 1;
}

.fuz-video-player--ratio-9-16 .fuz-video-player__embed {
    aspect-ratio: 9 / 16;
}

.fuz-video-player__iframe {
    position: absolute;
    inset: 0;
    height: 100%;
    border: 0;
}


/* Full width gallery slider */

.fuz-slide-gallery-full-width {
    overflow: hidden;
}

.fuz-slide-gallery-full-width__viewport {
    width: 100%;
    overflow: hidden;
    cursor: grab;
    touch-action: pan-y;
}

.fuz-slide-gallery-full-width.is-dragging .fuz-slide-gallery-full-width__viewport {
    cursor: grabbing;
}

.fuz-slide-gallery-full-width__track {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    width: max-content;
    will-change: transform;
    transform: translate3d(0, 0, 0);
    user-select: none;
}

.fuz-slide-gallery-full-width__set {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    flex: 0 0 auto;
}

.fuz-slide-gallery-full-width__item {
    flex: 0 0 auto;
    width: 13rem;
}

.fuz-slide-gallery-full-width__item img {
    object-fit: cover;
    object-position: center;
    pointer-events: none;
    -webkit-user-drag: none;
    user-select: none;
}

.fuz-slide-gallery-full-width__item:nth-child(3n+1) img {
    aspect-ratio: 20 / 32;
}

.fuz-slide-gallery-full-width__item:nth-child(3n+2) img {
    aspect-ratio: 20 / 29;
}

.fuz-slide-gallery-full-width__item:nth-child(3n+3) img {
    aspect-ratio: 20 / 25;
}

.fuz-slide-gallery-full-width__link {
    display: block;
    text-decoration: none;
    -webkit-user-drag: none;
    user-select: none;
}

.fuz-slide-gallery-full-width__image {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: var(--fuz-global-border-radius);
}

.fuz-slide-gallery-full-width__link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
    border-radius: var(--fuz-global-border-radius);
}

/* Projects compact*/

.fuz_pb_projects_compact {
    padding-left: var(--fuz-padding-side);
    padding-right: var(--fuz-padding-side);
}

.fuz-projects-compact__inner {
    gap: 80px;
}

.fuz-projects-compact__heading-container {
    width: 100%;
}

.fuz-projects-compact__heading-container-inner {
    max-width: var(--fuz-content-max-width);
    flex-direction: row;
    margin: auto;
    display: flex;
    gap: 40px;
    align-items: center;
    flex-wrap: wrap;
}

.fuz-projects-compact__heading-container-inner h2 {
    width: auto;
}

.fuz-projects-compact__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    max-width: var(--fuz-content-max-width);
    margin: auto;
}

.fuz-projects-compact__item {
    width: 100%;
}

.fuz-projects-compact__link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.fuz-projects-compact__media {
    margin-bottom: 16px;
    overflow: hidden;
    border-radius: var(--fuz-global-border-radius);
    aspect-ratio: 3 / 4;
}

.fuz-projects-compact__media img {
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    width: 100%;
    transition: 1.5s ease-in-out;
}

.fuz-projects-compact__media img:hover {
    transform: scale(1.1);
}

.fuz-projects-compact__title {
    margin: 0;
    text-align: left;
}

@media screen and (min-width: 1025px) {
    .fuz-projects-compact__title {
        padding: 0 16px;
    }
}

@media (min-width: 768px) {
    .fuz-projects-compact__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media screen and (max-width: 767px) {
    .fuz-projects-compact__grid {
        grid-template-columns: 1fr;
    }
}


/*Branchen / Industries Template Part*/

.fuz-industries__inner {
    display: grid;
    gap: 32px;
}

.fuz-industries__intro {
    max-width: 800px;
}

.fuz-industries__heading {
    margin: 0 0 16px 0;
}

.fuz-industries__subheading {
    margin: 80px 0 16px 0;
}

.fuz-industries__text>*:first-child {
    margin-top: 0;
}

.fuz-industries__text>*:last-child {
    margin-bottom: 0;
}

.fuz-industries__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.fuz-industries__item {
    margin: 0;
}

.fuz-industries__link {
    text-decoration: none;
}

.fuz-industries__item--all a {
    background-color: black;
    color: white;
}

.fuz-industries__item--all a .fuz-button-icon svg path {
    stroke: white;
}


/* Contact CTA Template Part*/

.fuz-footer-cta__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 48px;
    align-items: stretch;
    max-width: var(--fuz-content-max-width);
    margin: auto;
}

.fuz-footer-cta__inner {
    grid-template-columns: 1fr 1fr;
}

.fuz-footer-cta__content,
.fuz-footer-cta__media {
    min-width: 0;
    min-height: 0;
}

.fuz-footer-cta__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
    padding: 40px 0;
}

/* Die Spalte selbst wird auf die Grid-Höhe gestreckt */
.fuz-footer-cta__media {
    position: relative;
    align-self: stretch;
}

/* Wrapper füllt exakt die Höhe der Spalte */
.fuz-footer-cta__media-inner {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 100%;
}

/* Bild aus dem normalen Layout nehmen */
.fuz-footer-cta__image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

/* Tablet */
@media (max-width: 1024px) {
    .fuz-footer-cta__inner.has-media {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .fuz-footer-cta__inner.has-media {
        grid-template-columns: 1fr;
    }

    .fuz-footer-cta__content {
        gap: 24px;
    }

    .fuz-footer-cta__media {
        min-height: 320px;
    }

    .fuz-footer-cta__media-inner {
        min-height: 320px;
        display: flex;
        justify-content: center;
    }

    .fuz-footer-cta__image {
        position: relative;
        inset: auto;
        max-width: 250px;
    }
}

.fuz-footer-cta__illustration {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fuz-footer-cta__illustration svg {
    display: block;
    width: 100%;
    height: auto;
    max-width: 432px;
    overflow: visible;
}

/* Initial State */
.fuz-illustration-star-small {
    opacity: 0;
    transition:
        opacity 0.7s cubic-bezier(.56, 0, .24, 1),
        transform 0.7s cubic-bezier(.56, 0, .24, 1);
    transform-box: fill-box;
    transform-origin: center;
    transform: scale(0.7);
    transition-delay: 1s;
}

.fuz-illustration-star-large {
    transition:
        transform 1.4s cubic-bezier(.56, 0, .24, 1),
        fill 1.4s cubic-bezier(.56, 0, .24, 1);
    transform-box: fill-box;
    transform-origin: center;
    transform: rotate(0deg);
    fill: white;
}

/* Sichtbar State */
.js-fuz-illustration.is-inview .fuz-illustration-star-small {
    opacity: 1;
    transform: scale(1);
}

.js-fuz-illustration.is-inview .fuz-illustration-star-small:nth-of-type(1) {
    transition-delay: 0.1s;
}

.js-fuz-illustration.is-inview .fuz-illustration-star-small:nth-of-type(2) {
    transition-delay: 0.2s;
}

.js-fuz-illustration.is-inview .fuz-illustration-star-small:nth-of-type(3) {
    transition-delay: 0.3s;
}

.js-fuz-illustration.is-inview .fuz-illustration-star-small:nth-of-type(4) {
    transition-delay: 0.4s;
}

.js-fuz-illustration.is-inview .fuz-illustration-star-large {
    transform: rotate(-165deg);
    fill: #F2FFB4;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {

    .fuz-illustration-star-small,
    .fuz-illustration-star-large {
        transition: none;
    }

    .fuz-illustration-star-small {
        opacity: 1;
        transform: none;
    }

    .js-fuz-illustration.is-inview .fuz-illustration-star-large {
        transform: none;
    }
}

/* Testimonials template part*/

/* Testimonials */

section.fuz-testimonials {
    background-color: var(--fuz-global-color-viola);
}

.fuz-testimonials__inner {
    max-width: var(--fuz-content-max-width);
    margin: 0 auto;
}

.fuz-testimonials__header {
    margin-bottom: 48px;
}

.fuz-testimonials__heading+.fuz-testimonials__subheading {
    margin-top: 16px;
}

.fuz-testimonials__subheading {
    margin-bottom: 80px;
}

.fuz-testimonials__slider-wrap {
    position: relative;
}

.fuz-testimonials__slider {
    overflow: hidden;
}

.fuz-testimonials__track {
    display: flex;
    gap: 32px;
    transition: transform 0.45s ease;
    will-change: transform;
}

.fuz-testimonials__slide {
    flex: 0 0 calc((100% - 64px) / 3);
    min-width: calc((100% - 64px) / 3);
}

.fuz-testimonials__card {
    display: grid;
    gap: 24px;
    align-items: start;
    height: 100%;
    overflow: hidden;
    border-radius: var(--fuz-global-border-radius);
    background-color: white;
}

.fuz-testimonials__text {
    padding: 24px 24px 0 24px;
}

.fuz-testimonials__client {
    padding: 0 24px;
    font-weight: 700;
}

.fuz-testimonials__image {
    width: 100%;
    margin-top: auto;
}

.fuz-testimonials__img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.fuz-testimonials__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 48px;
    height: 48px;
    border: 0;
    background: transparent;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.fuz-testimonials__arrow--prev {
    left: -72px;
}

.fuz-testimonials__arrow--next {
    right: -72px;
}

.fuz-testimonials__arrow[disabled] {
    opacity: 0.4;
    cursor: default;
}

.fuz-testimonials__pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin-top: 32px;
}

.fuz-testimonials__dot {
    width: 12px;
    height: 12px;
    padding: 0;
    border-radius: 999px;
    border: 1px solid black;
    background: transparent;
    cursor: pointer;
    opacity: 1;
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.fuz-testimonials__dot.is-active {
    background: #000;
    transform: scale(1.05);
}

.fuz-testimonials__arrow:focus-visible,
.fuz-testimonials__dot:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

@media (max-width: 991px) {
    .fuz-testimonials__track {
        gap: 24px;
    }

    .fuz-testimonials__slide {
        flex: 0 0 calc((100% - 24px) / 2);
        min-width: calc((100% - 24px) / 2);
    }

    .fuz-testimonials__arrow--prev {
        left: -32px;
    }

    .fuz-testimonials__arrow--next {
        right: -32px;
    }
}

@media (max-width: 767px) {
    .fuz-testimonials__header {
        margin-bottom: 32px;
    }

    .fuz-testimonials__track {
        gap: 16px;
    }

    .fuz-testimonials__slide {
        flex: 0 0 100%;
        min-width: 100%;
    }

    .fuz-testimonials__arrow {
        display: none;
    }
}

/* Projects Archive*/

.fuz-projects-archive__inner {
    margin: 0 auto;
}

.fuz-projects-archive__header {
    margin-bottom: 32px;
}

.fuz-projects-archive__filters {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 24px;
    position: relative;
    width: 100%;
}

.fuz-projects-archive__filters-inner {
    max-width: var(--fuz-content-max-width);
    margin: auto;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 80px;
}

.fuz-projects-archive__filters-wrapper {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    position: relative;
    transition: margin-bottom 0.25s ease;
}

.fuz-projects-archive__filter-group {
    transition: margin-bottom 0.25s ease;
}

.fuz-projects-archive__filter-toggle,
.fuz-projects-archive__reset {
    color: white;
    background-color: black;
    border: none;
    border-radius: 500px;
    padding: 8px 16px;
    font-size: 1.5rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 16px;
    transition: 0.3s ease-in-out;
}

.fuz-filter-button-text {
    transition: 0.3s ease-in-out;
}

.fuz-filter-button-icon {
    width: 25px;
    height: 30px;
    display: flex;
    align-items: center;
}

.fuz-filter-button-icon-bar {
    position: relative;
}

.fuz-filter-button-icon-bar,
.fuz-filter-button-icon-bar:before,
.fuz-filter-button-icon-bar:after {
    width: 25px;
    height: 2px;
    background-color: white;
    transition: 0.3s ease-in-out;
}

.fuz-filter-button-icon-bar:before,
.fuz-filter-button-icon-bar:after {
    position: absolute;
    content: "";
    left: 0;
}

.fuz-filter-button-icon-bar:before {
    top: 8px;
}

.fuz-filter-button-icon-bar:after {
    bottom: 8px;
}

.fuz-projects-archive__filter-toggle:hover .fuz-filter-button-icon-bar:before {
    top: 6px;
}

.fuz-projects-archive__filter-toggle:hover .fuz-filter-button-icon-bar:after {
    bottom: 6px;
}

/* Active State*/

.fuz-projects-archive__filter-toggle[aria-expanded='true'] .fuz-filter-button-icon-bar {
    background-color: black;
}

.fuz-projects-archive__filter-toggle[aria-expanded='true'] .fuz-filter-button-icon-bar:before {
    top: 0;
    background-color: black;
}

.fuz-projects-archive__filter-toggle[aria-expanded='true'] .fuz-filter-button-icon-bar:after {
    bottom: 0;
    background-color: black;
}

.fuz-projects-archive__filter-toggle[aria-expanded='true'] .fuz-filter-button-text {
    color: black;
}

.fuz-projects-archive__filter-toggle[aria-expanded='true'][data-fuz-filter-toggle="leistungen"] {
    background-color: var(--fuz-global-color-viola);
}

.fuz-projects-archive__filter-toggle[aria-expanded='true'][data-fuz-filter-toggle="branchen"] {
    background-color: var(--fuz-global-color-green);
}

.fuz-projects-archive__filter-panel {
    position: absolute;
    top: calc(100% + 32px);
    left: 0;
    min-width: 240px;
    width: 1117px;
    z-index: 10;
    border-radius: var(--fuz-global-border-radius);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    pointer-events: none;
    transition:
        opacity 0.25s ease,
        transform 0.25s ease,
        visibility 0.25s ease;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16px;
    max-width: 100%;
}

.fuz-projects-archive__filter-panel.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

@media (max-width: 767px) {

    .fuz-projects-archive__filter-group{
        position: relative;
        width: 100%;
    }
    
    .fuz-projects-archive__filter-panel {
        position: absolute;
        width: 100%;
        margin-top: 8px;
        min-width: 0;
        top: calc(100% + 32px);
    }
}

.fuz-projects-archive__filter-option {
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    color: black;
    padding: 8px 16px;
    border-radius: 500px;
    border: 2px solid black;
    background-color: white;
    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        opacity 0.25s ease;
}

.fuz-projects-archive__filter-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.fuz-projects-archive__filter-option .fuz-button-text {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding-left: 26px;
    line-height: 1;
}

.fuz-projects-archive label.is-disabled {
    opacity: 0.4;
}

.fuz-projects-archive label.is-disabled input {
    pointer-events: none;
}

.fuz-projects-archive__filter-option .fuz-button-text::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 16px;
    height: 16px;
    border: 2px solid black;
    border-radius: 50%;
    background-color: white;
    transform: translateY(-50%);
    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.fuz-projects-archive__filter-option input[data-fuz-filter-input="leistungen"]:checked + .fuz-button-text::before {
    background-color: var(--fuz-global-color-viola);
    border-color: black;
}

.fuz-projects-archive__filter-option input[data-fuz-filter-input="branchen"]:checked + .fuz-button-text::before {
    background-color: var(--fuz-global-color-green);
    border-color: black;
}

.fuz-projects-archive__filter-option:hover .fuz-button-text::before {
    transform: translateY(-50%) scale(1.08);
}

.fuz-projects-archive__filter-option input:focus-visible + .fuz-button-text::before {
    outline: 2px solid black;
    outline-offset: 3px;
}

.fuz-projects-archive__filter-option input:disabled + .fuz-button-text {
    color: #bdbdbd;
}

.fuz-projects-archive__filter-option input:disabled + .fuz-button-text::before {
    border-color: #bdbdbd;
    background-color: white;
}

.fuz-projects-archive__filter-option:has(input:disabled) {
    border-color: #bdbdbd;
    cursor: not-allowed;
    opacity: 0.8;
}

.fuz-projects-archive__reset:hover .fuz-filter-button-icon svg {
    transition: 0.5s ease-in-out;
    transform: rotate(-360deg);
}

.fuz-projects-archive__results-info {
    margin-bottom: 24px;
}

.fuz-projects-archive__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 56px 40px;
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity 0.35s cubic-bezier(.56, 0, .24, 1),
        transform 0.35s cubic-bezier(.56, 0, .24, 1);
}

.fuz-projects-archive__grid.is-loading {
    opacity: 0.25;
    transform: translateY(8px);
    pointer-events: none;
}

.fuz-projects-archive__grid.is-loaded {
    opacity: 1;
    transform: translateY(0);
}

.fuz-project-card__link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.fuz-project-card__media {
    position: relative;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    border-radius: var(--fuz-global-border-radius);
}

.fuz-project-card__image {
    display: block;
    width: 100%;
    height: 100%;
    width: 100%;
    object-fit: cover;
    transition: 1.5s ease-in-out;
}

.fuz-project-card__media:hover .fuz-project-card__image {
    transform: scale(1.1);
}

.fuz-project-card-terms {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 16px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 16px;
}

.fuz-project-card__branchen,
.fuz-project-card__leistungen {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.fuz-project-card__branchen {
    top: 16px;
}

.fuz-project-card__leistungen {
    bottom: 16px;
}

.fuz-project-card__badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
}

.fuz-project-card__badge--black {
    background: #000;
    color: #fff;
}

.fuz-project-card__badge--white {
    background: #fff;
    color: #000;
}

.fuz-projects-archive__actions {
    margin-top: 40px;
    display: flex;
    justify-content: center;
}

.fuz-project-card__content {
    padding: 32px 16px 32px 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

@media screen and (max-width: 767px) {
    .fuz-project-card__content {
        padding: 24px 0 16px 0;
    }
}

/*Aktive Filter*/

.fuz-projects-archive__results-info {
    margin-bottom: 16px;
}

.fuz-projects-archive__active-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.fuz-projects-archive__active-filters.is-hidden {
    display: none;
}


.fuz-projects-archive__active-filters-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.fuz-projects-archive__active-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 999px;
    color: #000;
}

.fuz-projects-archive__active-filter-chip:has(.is-taxonomy-leistungen) {
    background-color: var(--fuz-global-color-pink);
}

.fuz-projects-archive__active-filter-chip:has(.is-taxonomy-branchen) {
    background-color: var(--fuz-global-color-green);
}

.fuz-projects-archive__active-filter-remove {
    border: 0;
    background: transparent;
    padding: 0;
    cursor: pointer;
    font: inherit;
    line-height: 1;
    display: flex;
    align-items: center;
}

.fuz-projects-archive__active-filter-remove svg {
    height: 1.25rem;
    width: auto;
}

@media (max-width: 1024px) {
    .fuz-projects-archive__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fuz-projects-archive__filters-inner {
        gap: 40px;
    }
}

@media (max-width: 767px) {
    .fuz-projects-archive__grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

/* Single Projekte */

.fuz-project-fotoportfolio__links {
	display: flex;
	flex-direction: column;
	gap: 32px;
	align-items: flex-start;
}

/* Fotoportfolio Archive */

.fuz-fotoportfolio-archive__filters-wrapper {
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: flex-start;
	margin-bottom: 160px;
}

.fuz-fotoportfolio-archive__filter-panel {
	display: flex;
	flex-direction: row;
  	flex-wrap: wrap;
  	gap: 16px;
  	max-width: 1117px;
	width: 100%;
}

.fuz-fotoportfolio-archive__filter-option {
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    color: black;
    padding: 8px 16px;
    border-radius: 500px;
    border: 2px solid black;
    background-color: white;
    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        opacity 0.25s ease;
}

.fuz-fotoportfolio-archive__filter-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.fuz-fotoportfolio-archive__filter-option .fuz-button-text {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding-left: 26px;
    line-height: 1;
}

.fuz-fotoportfolio-archive label.is-disabled {
    opacity: 0.4;
}

.fuz-fotoportfolio-archive label.is-disabled input {
    pointer-events: none;
}

.fuz-fotoportfolio-archive__filter-option .fuz-button-text::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 16px;
    height: 16px;
    border: 2px solid black;
    border-radius: 50%;
    background-color: white;
    transform: translateY(-50%);
    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.fuz-fotoportfolio-archive__filter-option input:checked + .fuz-button-text::before {
    background-color: var(--fuz-global-color-dark-blue);
    border-color: black;
}

.fuz-fotoportfolio-archive__filter-option:hover .fuz-button-text::before {
    transform: translateY(-50%) scale(1.08);
}

.fuz-fotoportfolio-archive__filter-option input:focus-visible + .fuz-button-text::before {
    outline: 2px solid black;
    outline-offset: 3px;
}

.fuz-fotoportfolio-archive__filter-option input:disabled + .fuz-button-text {
    color: #bdbdbd;
}

.fuz-fotoportfolio-archive__filter-option input:disabled + .fuz-button-text::before {
    border-color: #bdbdbd;
    background-color: white;
}

.fuz-fotoportfolio-archive__filter-option:has(input:disabled) {
    border-color: #bdbdbd;
    cursor: not-allowed;
    opacity: 0.8;
}

.fuz-fotoportfolio-archive__reset:hover .fuz-filter-button-icon svg {
    transition: 0.5s ease-in-out;
    transform: rotate(-360deg);
}

.fuz-fotoportfolio-archive__reset {
    color: white;
    background-color: black;
    border: none;
    border-radius: 500px;
    padding: 8px 16px;
    font-size: 1.5rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 16px;
    transition: 0.3s ease-in-out;
}

/* ------------------------------------------------------------
   Fotoportfolio Grid
------------------------------------------------------------ */

.fuz-fotoportfolio-archive__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));

  /* Luftigeres Layout */
  column-gap: clamp(2rem, 6vw, 7rem);
  row-gap: clamp(4rem, 8vw, 10rem);

  align-items: start;

  width: min(100%, 1800px);
  margin-inline: auto;

  /* Verhindert Overflow */
  padding-inline: clamp(1.25rem, 4vw, 5rem);
  box-sizing: border-box;
}


/* ------------------------------------------------------------
   Fotoportfolio Card Base
------------------------------------------------------------ */

.fuz-fotoportfolio-card {
  grid-column: span 4;
  align-self: start;
  min-width: 0;
}

.fuz-fotoportfolio-card__link {
  display: block;
  width: 100%;
  color: inherit;
  text-decoration: none;
}

.fuz-fotoportfolio-card__media {
  width: 100%;
  overflow: hidden;
  line-height: 0;
}

.fuz-fotoportfolio-card__image {
  display: block;
  width: 100%;
  height: auto;
}

.fuz-fotoportfolio-card__content {
  margin-top: 0.5rem;
}

.fuz-fotoportfolio-card__title {
  margin: 0;
}


/* ------------------------------------------------------------
   Große Screens
   Ganze Cards kleiner machen
------------------------------------------------------------ */

@media (min-width: 1200px) {

  .fuz-fotoportfolio-card {
    width: 88%;
  }

  /* Größere Elemente leicht schmaler */
  .fuz-fotoportfolio-card.is-layout-2,
  .fuz-fotoportfolio-card.is-layout-7,
  .fuz-fotoportfolio-card.is-layout-12 {
    width: 82%;
  }

  /* Linksbündig */
  .fuz-fotoportfolio-card.is-layout-1,
  .fuz-fotoportfolio-card.is-layout-3,
  .fuz-fotoportfolio-card.is-layout-6,
  .fuz-fotoportfolio-card.is-layout-8,
  .fuz-fotoportfolio-card.is-layout-11 {
    justify-self: start;
  }

  /* Rechtsbündig */
  .fuz-fotoportfolio-card.is-layout-2,
  .fuz-fotoportfolio-card.is-layout-5,
  .fuz-fotoportfolio-card.is-layout-7,
  .fuz-fotoportfolio-card.is-layout-10,
  .fuz-fotoportfolio-card.is-layout-12 {
    justify-self: end;
  }

  /* Zentriert */
  .fuz-fotoportfolio-card.is-layout-4,
  .fuz-fotoportfolio-card.is-layout-9 {
    justify-self: center;
  }
}


/* ------------------------------------------------------------
   Fotoportfolio Irregular Layout Pattern
------------------------------------------------------------ */

.fuz-fotoportfolio-card.is-layout-1 {
  grid-column: 1 / span 4;
}

.fuz-fotoportfolio-card.is-layout-2 {
  grid-column: 7 / span 5;
  margin-top: clamp(0.5rem, 2vw, 2.5rem);
}

.fuz-fotoportfolio-card.is-layout-3 {
  grid-column: 1 / span 4;
  margin-top: clamp(1.5rem, 8vw, 10rem);
}

.fuz-fotoportfolio-card.is-layout-4 {
  grid-column: 5 / span 4;
}

.fuz-fotoportfolio-card.is-layout-5 {
  grid-column: 9 / span 4;
  margin-top: clamp(1rem, 2vw, 3.5rem);
}

.fuz-fotoportfolio-card.is-layout-6 {
  grid-column: 2 / span 4;
}

.fuz-fotoportfolio-card.is-layout-7 {
  grid-column: 7 / span 5;
  margin-top: clamp(1.5rem, 3vw, 4rem);
}

.fuz-fotoportfolio-card.is-layout-8 {
  grid-column: 1 / span 5;
}

.fuz-fotoportfolio-card.is-layout-9 {
  grid-column: 6 / span 4;
  margin-top: clamp(1rem, 2.5vw, 3.5rem);
}

.fuz-fotoportfolio-card.is-layout-10 {
  grid-column: 10 / span 3;
}

.fuz-fotoportfolio-card.is-layout-11 {
  grid-column: 2 / span 4;
}

.fuz-fotoportfolio-card.is-layout-12 {
  grid-column: 6 / span 6;
  margin-top: clamp(0.5rem, 2vw, 2.5rem);
}


/* ------------------------------------------------------------
   Optional: Subtle Hover
------------------------------------------------------------ */

@media (hover: hover) {

  .fuz-fotoportfolio-card__image {
    transition: transform 0.45s ease;
  }

  .fuz-fotoportfolio-card__link:hover .fuz-fotoportfolio-card__image {
    transform: scale(1.03);
  }
}


/* ------------------------------------------------------------
   Smartphone
------------------------------------------------------------ */

@media (max-width: 767px) {

  .fuz-fotoportfolio-archive__grid {
    grid-template-columns: 1fr;

    column-gap: 0;
    row-gap: clamp(2.5rem, 10vw, 4rem);

    padding-inline: 0;
  }

  .fuz-fotoportfolio-card,
  .fuz-fotoportfolio-card[class*="is-layout-"] {
    grid-column: 1 / -1;
    grid-row: auto;

    width: 100%;
    max-width: none;

    margin-top: 0;
    margin-left: 0;
    margin-right: 0;

    transform: none;
    justify-self: stretch;
  }

  .fuz-fotoportfolio-card__link {
    display: block;
    width: 100%;
  }

  .fuz-fotoportfolio-card__media {
    width: 100%;
    height: auto;

    aspect-ratio: auto;
    overflow: hidden;
  }

  .fuz-fotoportfolio-card__image {
    display: block;
    width: 100%;
    height: auto;

    object-fit: initial;
  }

  .fuz-fotoportfolio-card__content {
    margin-top: 0.5rem;
  }
}

.fuz-fotoportfolio-archive__reset[hidden],
.fuz-fotoportfolio-archive__reset.is-hidden {
  display: none !important;
}
/*--------------------
Single Fotoportfolio
----------------------*/

.fuz-fotoportfolio-facts {
	display: flex; 
	gap: 8px;
}

.fuz-foto-single__project-link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  width: 100%;
  text-decoration: none;
}

.fuz-foto-single__project-link-text {
  min-width: 0;
  text-wrap: balance;
  overflow-wrap: anywhere;
text-decoration: underline;
}

.fuz-foto-single__project-link-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.15em;
}

.fuz-foto-single__project-link-icon svg {
  display: block;
}
	
/* ------------------------------------------------------------
   Fotoportfolio Single Gallery
------------------------------------------------------------ */

.fuz-fotoportfolio-single__gallery {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: clamp(1.25rem, 2.8vw, 4rem);
  row-gap: clamp(2.5rem, 4.5vw, 6rem);
  align-items: start;
  width: 100%;
}


/* ------------------------------------------------------------
   Fotoportfolio Single Gallery Item Base
------------------------------------------------------------ */

.fuz-fotoportfolio-single__gallery-item {
  grid-column: span 4;
  align-self: start;
  min-width: 0;
}

.fuz-fotoportfolio-single__gallery-link {
  display: block;
  width: 80%;
  color: inherit;
  text-decoration: none;
  overflow: hidden;
  line-height: 0;
}

.fuz-fotoportfolio-single__gallery-image {
  display: block;
  width: 100%;
  height: auto;
}


/* ------------------------------------------------------------
   Fotoportfolio Single Irregular Layout Pattern
   Anderes Pattern als im Archiv
------------------------------------------------------------ */

.fuz-fotoportfolio-single__gallery-item.is-layout-1 {
  grid-column: 2 / span 5;
}

.fuz-fotoportfolio-single__gallery-item.is-layout-2 {
  grid-column: 8 / span 4;
  margin-top: clamp(2rem, 4vw, 5rem);
}

.fuz-fotoportfolio-single__gallery-item.is-layout-3 {
  grid-column: 1 / span 3;
  margin-top: clamp(0.5rem, 2vw, 2.5rem);
}

.fuz-fotoportfolio-single__gallery-item.is-layout-4 {
  grid-column: 5 / span 5;
  margin-top: clamp(1.5rem, 3vw, 4rem);
}

.fuz-fotoportfolio-single__gallery-item.is-layout-5 {
  grid-column: 10 / span 3;
}

.fuz-fotoportfolio-single__gallery-item.is-layout-6 {
  grid-column: 3 / span 4;
  margin-top: clamp(1rem, 2.5vw, 3rem);
}

.fuz-fotoportfolio-single__gallery-item.is-layout-7 {
  grid-column: 7 / span 6;
}

.fuz-fotoportfolio-single__gallery-item.is-layout-8 {
  grid-column: 1 / span 4;
  margin-top: clamp(2rem, 5vw, 6rem);
}

.fuz-fotoportfolio-single__gallery-item.is-layout-9 {
  grid-column: 6 / span 3;
  margin-top: clamp(0.5rem, 2vw, 2.5rem);
}

.fuz-fotoportfolio-single__gallery-item.is-layout-10 {
  grid-column: 9 / span 4;
  margin-top: clamp(2rem, 4vw, 5rem);
}

.fuz-fotoportfolio-single__gallery-item.is-layout-11 {
  grid-column: 2 / span 4;
}

.fuz-fotoportfolio-single__gallery-item.is-layout-12 {
  grid-column: 7 / span 5;
  margin-top: clamp(1rem, 3vw, 4rem);
}


/* ------------------------------------------------------------
   Optional: Hover
------------------------------------------------------------ */

@media (hover: hover) {
  .fuz-fotoportfolio-single__gallery-image {
    transition: transform 0.45s ease;
  }

  .fuz-fotoportfolio-single__gallery-link:hover .fuz-fotoportfolio-single__gallery-image {
    transform: scale(1.03);
  }
}


/* ------------------------------------------------------------
   Smartphone
   Alle Bilder full width untereinander.
   Höhe richtet sich nach der nativen Aspect Ratio.
------------------------------------------------------------ */

@media (max-width: 767px) {
  .fuz-fotoportfolio-single__gallery {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: clamp(2.5rem, 10vw, 4rem);
  }

  .fuz-fotoportfolio-single__gallery-item,
  .fuz-fotoportfolio-single__gallery-item[class*="is-layout-"] {
    grid-column: 1 / -1;
    grid-row: auto;
    width: 100%;
    max-width: none;
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
    transform: none;
  }

  .fuz-fotoportfolio-single__gallery-link {
    display: block;
    width: 100%;
  }

  .fuz-fotoportfolio-single__gallery-image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    object-fit: initial;
  }
}


/* Columns Layout */

.fuz-columns-layout__inner {
    max-width: var(--fuz-content-max-width);
    margin: 0 auto;
}

.fuz-columns-layout__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 110px;
    align-items: stretch;
}

.fuz-columns-layout__item {
    min-width: 0;
}

.fuz-columns-layout__card {
    display: flex;
    flex-direction: row;
    gap: 56px;
    height: 100%;
    justify-content: space-between;
}

.fuz-columns-layout__text-img {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    height: 100%;
    gap: 24px;
}

.fuz-columns-layout__media {
    width: auto;
}

.fuz-columns-layout__image {
    display: block;
    width: 110px;
    height: auto;
}

.fuz-columns-layout__content {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: flex-start;
}

.fuz-columns-layout__text {
    width: 100%;
}

.fuz-columns-layout__actions {
    margin-top: 8px;
}

/* Tablet */
@media (max-width: 991px) {
    .fuz-columns-layout__grid {
        grid-template-columns: repeat(1, minmax(0, 1fr));
        gap: 80px;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .fuz-columns-layout__grid {
        grid-template-columns: 1fr;
        gap: 80px;
    }

    .fuz-columns-layout__card {
        flex-direction: column;
        gap: 24px;
    }
}

/* Project Hero Template Part */

.fuz-hero-project__inner {
    gap: 0;
}

.fuz-hero-project__heading,
.fuz-hero-project__subheading,
.fuz-hero-project__text {
    margin-bottom: 80px;
}

.fuz-hero-project__badges {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.fuz-hero-project__badge {
    font-size: 1.5rem;
    padding: 8px 16px;
    border-radius: 500px;
    font-weight: 400;
    border: 2px solid black;
    line-height: 1em;
}

.fuz-hero-project__badge.fuz-badge--dark {
    background-color: black;
    color: white;
}

.fuz-hero-project__badge.fuz-badge--light {
    color: black;
    background-color: white;
}

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

    .fuz-hero-project__heading,
    .fuz-hero-project__subheading,
    .fuz-hero-project__text {
        margin-bottom: 40px;
    }

    .fuz-hero-project__badge {
        font-size: 1.25rem;
        padding: 6px 12px;
    }

}

/* Formular Block Tempalte Part */

/* Anfrageformular */

#fuz-form-section .fuz-request-form-section__inner {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

#fuz-form-section .fuz-request-form-section__heading,
#fuz-form-section .fuz-request-form-section__subheading {
    margin: 0;
}

#fuz-form-section .fuz-request-form-wrap {
    width: 100%;
}

#fuz-form-section .fuz-request-form {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

#fuz-form-section .fuz-request-form__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

#fuz-form-section .fuz-request-form__field {
    min-width: 0;
}

#fuz-form-section .fuz-request-form__field input,
#fuz-form-section .fuz-request-form__field textarea {
    width: 100%;
    display: block;
    appearance: none;
    border: 0;
    outline: 0;
    box-shadow: none;
    background: #f1f1f1;
    color: #000;
    border-radius: var(--fuz-global-border-radius);
    padding: 18px 18px;
    font: inherit;
    line-height: 1.3;
    transition: box-shadow 0.3s ease, background-color 0.3s ease;
}

#fuz-form-section .fuz-request-form__field input::placeholder,
#fuz-form-section .fuz-request-form__field textarea::placeholder {
    color: #000;
    opacity: 1;
}

#fuz-form-section .fuz-request-form__field input:focus,
#fuz-form-section .fuz-request-form__field textarea:focus {
    background: #f1f1f1;
    box-shadow: 0 0 0 2px #000;
}

#fuz-form-section .fuz-request-form__field textarea {
    min-height: 170px;
    resize: vertical;
    border-radius: var(--fuz-global-border-radius);
}

#fuz-form-section .fuz-request-form__consent {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    max-width: 900px;
}

#fuz-form-section .fuz-request-form__consent input[type="checkbox"] {
    appearance: none;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin: 3px 0 0;
    border: 2px solid #000;
    border-radius: 999px;
    background: transparent;
    cursor: pointer;
    position: relative;
}

#fuz-form-section .fuz-request-form__consent input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    inset: 3px;
    border-radius: 999px;
    background: #000;
}

#fuz-form-section .fuz-request-form__consent label {
    font: inherit;
    line-height: 1.45;
    cursor: pointer;
}

#fuz-form-section .fuz-request-form__consent a {
    text-decoration: underline;
}

#fuz-form-section .fuz-request-form__submit {
    align-self: flex-start;
}

#fuz-form-section .fuz-request-form__status {
    margin-bottom: 8px;
    padding: 14px 18px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.5);
}

#fuz-form-section .fuz-request-form__honeypot {
    position: absolute !important;
    left: -9999px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

#fuz-form-section .fuz-request-form__status--success {
    background: rgba(255, 255, 255, 0.65);
}

#fuz-form-section .fuz-request-form__status--error,
#fuz-form-section .fuz-request-form__status--invalid_nonce,
#fuz-form-section .fuz-request-form__status--validation {
    background: rgba(255, 255, 255, 0.65);
}

@media (max-width: 1024px) {
    #fuz-form-section .fuz-request-form__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #fuz-form-section .fuz-request-form__grid .fuz-request-form__field:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767px) {
    #fuz-form-section .fuz-request-form__grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    #fuz-form-section .fuz-request-form__grid .fuz-request-form__field:last-child {
        grid-column: auto;
    }

    #fuz-form-section .fuz-request-form__field input,
    #fuz-form-section .fuz-request-form__field textarea {
        padding: 16px 16px;
    }

    #fuz-form-section .fuz-request-form__consent {
        gap: 12px;
    }
}

/* TEAM SINGLE */

.fuz-section-single-team-content__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 80px;
    align-items: start;
}

.fuz-section-single-team-content__inner .fuz-section__inner-col {
    min-width: 0;
}

.fuz-section-single-team-content__inner .fuz-section__inner-col-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
}

.fuz-section-single-team-content__actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}

.fuz-section-single-team-content__inner .fuz-section__inner-col-content-text {
    width: 100%;
}

.fuz-section-single-team-content__inner .fuz-section__inner-col-content-text>*:first-child {
    margin-top: 0;
}

.fuz-section-single-team-content__inner .fuz-section__inner-col-content-text>*:last-child {
    margin-bottom: 0;
}

.fuz-section-single-team-content__inner .fuz-section__inner-col-content-text ul,
.fuz-section-single-team-content__inner .fuz-section__inner-col-content-text ol {
    padding-left: 1.25em;
}

.fuz-section-single-team-content__inner .fuz-section__inner-media-inner {
    width: 100%;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: var(--fuz-global-border-radius);
}

.fuz-section-single-team-content .fuz-section__inner-col-media-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.fuz-single-team-linkedin-link {
    font-weight: 700;
}

@media screen and (max-width: 1024px) {
    .fuz-section-single-team-content__inner {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .fuz-section-single-team-content__inner .fuz-section__inner-media-inner {
        aspect-ratio: 3 / 2;
    }
}

@media screen and (max-width: 767px) {
    .fuz-section-single-team-content__inner {
        gap: 32px;
    }

    .fuz-section-single-team-content__inner .fuz-section__inner-col-content {
        gap: 32px;
    }

    .fuz-section-single-team-content__inner .fuz-section__inner-media-inner {
        aspect-ratio: 4 / 5;
        border-radius: var(--fuz-global-border-radius);
    }
}

/* FUZ PB Grid Template Part */

.fuz-section-grid__heading-wrap {
    padding-left: var(--fuz-padding-side);
    padding-right: var(--fuz-padding-side);
    margin-bottom: 40px;
}

.fuz-section-grid__heading-wrap h2 {
    width: 100%;
    max-width: var(--fuz-content-max-width);
    margin: auto;
}

.fuz-section-grid__grid {
    box-shadow: inset 0 -2px 0 0 #000;
}

.fuz-section-grid__grid-inner {
    padding-left: var(--fuz-padding-side);
    padding-right: var(--fuz-padding-side);
}

.fuz-section-grid__grid-wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    max-width: var(--fuz-content-max-width);
    margin: auto;
    border-left: 2px solid black;
}

.fuz-section-grid__item-heading {
    hyphens: auto;
    hyphenate-limit-chars: 15 5 5;
}

.fuz-section-grid__item {
    padding: 120px 40px;
    display: flex;
    flex-direction: column;
    gap: 40px;
    align-items: center;
    border-bottom: 2px solid black;
    border-right: 2px solid black;
}

.fuz-section-grid__item-heading,
.fuz-section-grid__item-text {
    text-align: center;
}

.fuz-section-grid__item-icon {
    justify-content: center;
}

.fuz-section-grid__item-icon img {
    max-width: 120px;
    height: auto;
    text-align: center;
}

@media screen and (max-width: 1024px) {
    .fuz-section-grid__grid-wrap {
        grid-template-columns: repeat(2, 1fr);
        border-left: 0;
    }

    .fuz-section-grid__grid-inner {
        padding-left: 0;
        padding-right: 0;
    }

    .fuz-section-grid__item:nth-child(even) {
        border-right: 0;
    }
}

@media screen and (max-width: 767px) {
    .fuz-section-grid__grid-wrap {
        grid-template-columns: repeat(1, 1fr);
    }

    .fuz-section-grid__item {
        border-right: 0;
        gap: 40px;
        padding: 40px var(--fuz-padding-side);
    }

    .fuz-section-grid__item-content {
        align-items: flex-start;
    }

    .fuz-section-grid__item-heading,
    .fuz-section-grid__item-text {
        text-align: left;
    }
}


/* Jobs Section Template Part*/

.fuz-jobs-section__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 80px 40px;
}

.fuz-jobs-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
}

.fuz-jobs-card__header {
    gap: 24px;
    display: flex;
    flex-direction: column;
}

.fuz-jobs-card__header-color {
    width: 100%;
    aspect-ratio: 3 / 1;
    border-radius: var(--fuz-global-border-radius);
}

.fuz-jobs-card__meta {
    display: flex;
    flex-direction: column;
}

.fuz-jobs-card__title,
.fuz-jobs-card__meta,
.fuz-jobs-card__teaser,
.fuz-jobs-card__cta {
    padding: 0 24px;
}

@media screen and (max-width: 1024px) {
    .fuz-jobs-section__list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 767px) {
    .fuz-jobs-section__list {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
    }
}

/* Jobs Single*/

.fuz-jobs-single-color {
    width: 100%;
    border-radius: var(--fuz-global-border-radius);
    aspect-ratio: 3 / 1;
}

.fuz-section-jobs-single-color {
    padding-left: var(--fuz-padding-side);
    padding-right: var(--fuz-padding-side);
}

.fuz-single-jobs__meta {
    display: flex;
    flex-direction: column;
    margin-top: 20px;
}

.fuz-single-jobs-main {
    display: flex;
    flex-direction: column;
    gap: 80px;
    margin-top: 80px;
}

.fuz-single-jobs-main ul {
    padding-left: 40px;
}

/* Post Compact*/

.fuz-blog-compact__inner {
    gap: 80px;
}

.fuz-blog-compact__heading-container-inner {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 40px;
}

.fuz-blog-compact__heading-container-inner h2 {
    width: auto;
}

/*Post Loop*/

.fuz-stories-archive__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.fuz-post-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
}

.fuz-post-card__image-wrapper img {
    max-width: 100%;
    height: auto;
    width: 100%;
    border-radius: var(--fuz-global-border-radius);
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
}

.fuz-post-card__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
}

@media screen and (min-width: 1025px) {
    .fuz-post-card__content {
        padding: 0 16px;
    }

}

@media screen and (max-width: 1024px) {
    .fuz-stories-archive__grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
    }
}

@media screen and (max-width: 767px) {
    .fuz-stories-archive__grid {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 40px;
    }
}


/* Single Posts template */

.fuz-more-posts-header {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 40px;
    flex-wrap: wrap;
}

.fuz-more-posts__heading {
    width: auto;
}

.fuz-more-posts__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.fuz-more-posts .fuz-section__inner {
    gap: 40px;
}

@media screen and (max-width: 1024px) {
    .fuz-more-posts__list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
    }
}

@media screen and (max-width: 767px) {
    .fuz-more-posts__list {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 40px;
    }
}

/*FUZ Clients Section*/

.fuz-clients__items {
    column-count: 4;
    column-gap: 24px;
    width: 100%;
    margin-top: 40px;
}

.fuz-clients__items li {
    break-inside: avoid;
    margin-bottom: 16px;
}


li.fuz-clients__item {
    list-style: none;
}

.fuz-clients__item-link {
    display: flex;
    align-items: center;
    gap: 14px;
}

.fuz-clients__item-link svg {
    height: 12px;
    width: auto;
    transition: 0.3s ease-in-out;
}

.fuz-clients__item-link:hover svg {
    transform: translateX(4px);
}

@media screen and (max-width: 1024px) {
    .fuz-clients__items {
        column-count: 3;
    }
}

@media screen and (max-width: 767px) {
    .fuz-clients__items {
        column-count: 1;
    }
}

/* Selective Project List Template */

.fuz-project-list__grid {
    margin-top: 56px;
}

/* Footer */


/* ========================================
   Footer Marquee
======================================== */

.fuz-footer-marquee {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    overflow: hidden;
    position: relative;
    border-bottom: 2px solid black;
    border-top: 2px solid black;
}

.fuz-footer-marquee__link {
    display: block;
    width: 100%;
    text-decoration: none;
    color: inherit;
}

.fuz-footer-marquee__track {
    display: flex;
    width: max-content;
    align-items: center;
    white-space: nowrap;
    animation: fuz-footer-marquee-scroll 56s linear infinite;
    will-change: transform;
    gap: 40px;
}

.fuz-footer-marquee__link:hover .fuz-footer-marquee__track,
.fuz-footer-marquee__link:focus-visible .fuz-footer-marquee__track {
    animation-play-state: paused;
}

.fuz-footer-marquee__inner {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    gap: 40px;
}

.fuz-footer-marquee__item {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;

    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1em;
    text-transform: uppercase;
    padding: 8px 0;
}

/*
.fuz-footer-marquee__item:not(:last-child)::after {
    content: "•";
    display: inline-block;
    margin: 0 1.5rem;
}*/

@keyframes fuz-footer-marquee-scroll {
    from {
        transform: translate3d(0, 0, 0);
    }
    to {
        transform: translate3d(-50%, 0, 0);
    }
}

/* Footer Main */

.fuz-footer__main {
    padding: var(--fuz-padding-top-full) var(--fuz-padding-side);
    background-color: var(--fuz-global-color-viola);
}

.fuz-footer__main_col_wrapper {
    width: 100%;
    margin: auto;
    display: flex;
    flex-direction: row;
    gap: 80px;
    align-items: flex-start;
}

.fuz-footer__main_col {
    width: 50%;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.fuz-footer__main_col-1 {
    gap: 40px;
}

.fuz-footer__branding img {
    width: 240px;
    max-width: 100%;
    height: auto;
}

.fuz-footer-site-description {
    max-width: 320px;
}

.fuz-footer__meta-menu {
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.fuz-footer__meta-menu a {
    font-size: 1.125rem;
}

button.iubenda-cs-preferences-link {
	background-color: transparent;
	border: none;
	padding: 0;
	cursor: pointer;
	font-size: 1.125rem;
	margin-top: 24px;
	color: black;
}

.fuz-footer__contact {
    display: flex;
    flex-direction: column;
    font-style: normal;
    align-items: flex-end;
    margin-bottom: 20px;
    font-size: 1.125rem;
    text-align: right;
}

.fuz-footer__contact-mail {
	margin-bottom: 8px;
}

.fuz-footer__contact-mail a,
.fuz-footer__contact-phone a {
	padding-top: 8px;
	padding-bottom: 8px;
}

.fuz_footer_social_wrapper {
    margin: 24px 0;
    display: flex;
    gap: 16px;
}

.fuz-footer-legal {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-end;
    gap: 16px;
    font-size: 1.125rem;
    flex-wrap: wrap;
}

.fuz-footer__copy {
    text-align: right;
	font-size: 1.125rem;
}

@media screen and (max-width: 1024px) {
    .fuz-footer__main_col_wrapper {
        flex-direction: column;
    }

    .fuz-footer__main_col {
        width: 100%;
    }

    .fuz-footer__contact {
        align-items: flex-start;
        text-align: left;
    }

    .fuz-footer-legal {
        align-items: flex-start;
    }

    .fuz-footer__copy {
        text-align: left;
    }
}

/* Fixed Contact Button */

.fuz-fixed-contact-button {
    position: fixed;
    right: 60px;
    bottom: 30px;
    z-index: 6;
    transition: 1s cubic-bezier(.56, 0, .24, 1);
    transform: scale(0.75);
    transform-origin: bottom right;
}

.fuz-fixed-contact-button svg {
    display: block;
    overflow: visible;
}

.fuz-fixed-contact-button svg g {
    transition: 1s cubic-bezier(.56, 0, .24, 1);
    transform-origin: center;
    transform-box: fill-box;
}

.fuz-fixed-contact-button #fuz-fixed-contact-button-color {
    transition: 1s cubic-bezier(.56, 0, .24, 1);
}

.fuz-fixed-contact-button:hover svg g {
    transform: rotate(45deg);
}

.fuz-fixed-contact-button:hover #fuz-fixed-contact-button-color {
    fill: var(--fuz-global-color-yellow);
}

.fuz-fixed-contact-button__text {
    fill: #000;
    font-size: 16px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-anchor: middle;
    dominant-baseline: middle;
    font-family: inherit;
    font-weight: 700;
}

@media screen and (max-width: 767px) {
    .fuz-fixed-contact-button {
        transform: scale(0.5);
        right: 10px;
        bottom: 10px;
    }
}

/* Specific section css*/

.fuz-page-section-top .fuz-section__inner {
    padding-top: 100px;
}

.fuz-hero-section-no-overlay::after {
    background-color: transparent;
}

/* For Frontpage Hero*/

.fuz-frontpage-hero {
    justify-content: center;
	background: linear-gradient(180deg, #F2FFB4 67.31%, #EAC9FF 100%);
	padding-left: var(--fuz-padding-side);
	padding-right: var(--fuz-padding-side); 
}

.fuz-frontpage-hero h1 {
	text-transform: uppercase;
	font-size: clamp(3.2rem, 8vw, 11rem);
	max-width: 100%;
}

.fuz-frontpage-hero .fuz-hero__content-wrapper {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	
	padding: 0 32px;
	width: 100%;
}

@media screen and (max-width: 1500px) {
	.fuz-frontpage-hero .fuz-hero__content-wrapper {
		padding: 0;
	}
	.fuz-frontpage-hero h2 {
		width: 50%;
	}
}

@media screen and (max-width: 767px) {
	.fuz-frontpage-hero .fuz-hero__content-wrapper {
		flex-direction: column;
	}
	.fuz-frontpage-hero h2 {
		width: 100%;
	}
	
	.fuz-frontpage-hero .fuz-hero_buttons {
		width: 100%;
	}
}

/* Kommunikationsdesign liste Illustrationen */

.fuz-akkordeon-combined li:first-child {
    border-top: 0;
}

/*-------------------
 * Social Wall *
 * ------------------*/


#fuz-social-wall-container .fuz-eng-insta-wall-consent-box {
	display: flex;
	flex-direction: column;
	gap: 40px;
	align-items: flex-start;
	border-radius: 0;
	background-color: var(--fuz-global-color-viola);
}

.fuz-eng-insta-wall-consent-text {
	font-size: 1.5rem;
	line-height: 1.4em;
}

#fuz-social-wall-container .fuz-eng-insta-wall__grid {
	gap: 80px 40px;
}

.fuz-eng-insta-wall-lightbox__backdrop {
	backdrop-filter: blur(7px);
}

.fuz-eng-insta-wall__link {
	position: relative;
}

.fuz-eng-insta-wall__content--no-caption {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 2;
	padding: 8px 10px;
	background: var(--fuz-global-color-viola);
}

button.fuz-eng-insta-wall-consent-button {
	font-size: 1.5rem;
	background-color: transparent;
	padding: 8px 16px;
	border: 2px solid black;
	line-height: 1em;
	cursor: pointer;
	transition: 0.3s ease-in-out;
}

button.fuz-eng-insta-wall-consent-button: hover {
	background-color: black;
	color: white;
}

@media screen and (max-width: 1024px) {
	button.fuz-eng-insta-wall-consent-button {
		font-size: 1.25rem;
	}
	
	.fuz-eng-insta-wall-consent-text {
	font-size: 1.25rem;
	}
}

/*Hide Elements depending on screensize*/

@media screen and (min-width: 1025px) {
    .fuz-hide-on-desktop {
        display: none;
    }
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
    .fuz-hide-on-tablet {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    .fuz-hide-on-mobile {
        display: none;
    }
}