@font-face {
    font-family: 'Trenda';
    src: url('/wp-content/uploads/fonts/Trenda-Light.woff2') format('woff2'),
        url('/wp-content/uploads/fonts/Trenda-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Trenda';
    src: url('/wp-content/uploads/fonts/Trenda-Regular.woff2') format('woff2'),
        url('/wp-content/uploads/fonts/Trenda-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Trenda';
    src: url('/wp-content/uploads/fonts/Trenda-Semibold.woff2') format('woff2'),
        url('/wp-content/uploads/fonts/Trenda-Semibold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Trenda';
    src: url('/wp-content/uploads/fonts/Trenda-Bold.woff2') format('woff2'),
        url('/wp-content/uploads/fonts/Trenda-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Trenda';
    src: url('/wp-content/uploads/fonts/Trenda-Heavy.woff2') format('woff2'),
        url('/wp-content/uploads/fonts/Trenda-Heavy.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

:root {
    --cl-schwarz: #000;
    --cl-primary: #E5262B;
    --cl-grau: #878787;
    --cl-bg: #f7f5f7;
    --cl-hellgrau: #F0F0F0;
    --cl-weiss: #fff;
    --primary-font: 'Trenda', sansserif;
    --line-height: 1.5 !important
}

/* Firefox */
* {
    scrollbar-width: thin;
    scrollbar-color: var(--cl-primary) var(--cl-grau);
    /* outline: 1px solid red; */
}

/* Chrome, Edge, and Safari */
*::-webkit-scrollbar {
    width: 6px;
}

*::-webkit-scrollbar-track {
    background: var(--cl-weiss);
}

*::-webkit-scrollbar-thumb {
    background-color: var(--cl-hellgrau);
    border-radius: 20px;
    border: 0px solid transparent;
}

body {
    color: var(--cl-schwarz);
    font-family: var(--primary-font);
}

#logo {
    position: fixed;
    top: 50px;
    left: 50px;
    z-index: 50;
    height: 100px;
    width: 100px;
    padding: 0;
}

#logo-white,
#logo-black {
    height: clamp(60px, 4vw, 100px);
    width: 100px;
}

#logo-white {
    display: none;
}

/* Elternelement der beiden Logos */
#logo .wpb_wrapper {
    position: relative;
}

#logo-white,
#logo-black {
    display: block;
    opacity: 0;
    transition: opacity 0.35s ease;
    pointer-events: none;
}

#logo-black {
    position: relative;
}

#logo-white {
    position: absolute;
    top: 0;
    left: 0;
}

#logo-white.is-visible,
#logo-black.is-visible {
    opacity: 1;
    pointer-events: auto;
}

@media (min-width: 1921px) {
    :root {
        --font-size: 20px !important;
    }
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-wrap: balance;
}

h1,
.h1 {
    font-size: clamp(33px, 4.25vw, 120px) !important;
    font-weight: 900 !important;
    line-height: 0.9 !important;
    text-transform: uppercase !important;
}

h2,
.h2 {
    font-size: clamp(30px, 4vw, 97px) !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

h3,
.h3 {
    font-size: clamp(18px, 1.15vw, 30px) !important;
    font-style: normal !important;
    font-weight: 600 !important;
    line-height: normal !important;
    text-transform: uppercase !important;
}

h4,
.h4 {
    font-size: clamp(18px, 1.15vw, 24px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal !important;
    text-transform: uppercase !important;
}

.w-toplink {
    border-radius: 0 !important;
}

table tr td:first-child {
    min-width: 60px;
}

td {
    padding: 0;
    border-bottom: none;
}

.g-cols.via_flex>.wpb_column.stretched:first-child>.vc_column-inner {
    padding-left: 0;
}

.g-cols.via_flex>.wpb_column.stretched:last-child:not(:first-child)>.vc_column-inner {
    padding-right: 0;
}

.header-artist {
    font-size: clamp(22px, 1.75vw, 50px);
    font-weight: 300;
    line-height: 0.9;
    text-transform: uppercase;
}

p,
li {
    text-wrap: pretty;
}

.cl-schwarz,
.cl-schwarz * {
    color: var(--cl-schwarz);
}

.cl-primary,
.cl-primary * {
    color: var(--cl-primary)
}

.fw-300 {
    font-weight: 300 !important;
}

.fw-700 {
    font-weight: 700 !important;
}

.w-btn {
    letter-spacing: 5.625px !important
}


.w-separator.size_medium:empty {
    height: clamp(2rem, 2.8vw, 60px);
}

.w-separator.size_large:empty {
    height: 5vw;
}

.w-separator.size_huge:empty {
    height: 10vw;
}

#fiandes-parallax {
    min-height: 67vh;
}

#sonderausstellung .h1 {
    text-wrap: balance;
}

/* HOVER VIDEO START */

.img-video-hover .vc_col-sm-3:nth-child(1):hover img,
.img-video-hover .vc_col-sm-3:nth-child(2):hover img,
.img-video-hover .vc_col-sm-3:nth-child(3):hover img,
.img-video-hover .vc_col-sm-3:nth-child(4):hover img {
    opacity: 0;
}

.img-video-hover:hover video {
    opacity: 1 !important;
}

.mask-container {
    position: relative;
    height: 600px;
    width: 600px;
    margin: 0 auto;
}

.mask-container img {
    position: absolute;
    top: 50%;
    left: 50%;
}

.mask-container video {
    position: absolute;
    top: 0%;
    left: 0%;
}

.mask-container img {
    transform: translate(-50%, -50%);
    opacity: 1;
    -webkit-transition: opacity 0.9s ease;
    transition: opacity 0.9s ease;
}

/* HOVER VIDEO ENDE */

.zitat {
    position: relative;
}

.h3.zitat {
    font-size: clamp(16px, 1.15vw, 20px) !important;
    line-height: 1.5 !important;
    text-wrap: balance;
}

.zitat::before,
.zitat::after {
    content: URL('/wp-content/uploads/2026/08/icon-quotation.svg');
    position: absolute;
    left: 0;
    top: 0;
    transform: translate(-110%, -50%) scale(0.7);
}

.zitat::after {
    left: 100%;
    top: 100%;
    transform: translate(-50%, -50%) rotate(180deg) scale(0.7);
}

#remy,
#heinze,
#wallberg,
#muehle,
#galeria-mond {
    position: relative;
}

#remy::before,
#heinze::before,
#wallberg::before,
#muehle::before {
    content: '';
    position: absolute;
    background-image: URL('/wp-content/uploads/2026/08/hans-heinze-portrait.jpg');
    width: 50%;
    aspect-ratio: 2;
    top: 0;
    left: 0;
    background-size: cover;
    z-index: 5;
}

#remy::before {
    left: 50%;
    background-image: URL('/wp-content/uploads/2026/08/jean-remy-von-matt-art.jpg');
}

#wallberg::before {
    left: 50%;

    background-image: URL('/wp-content/uploads/2026/08/marco-wallberg-portrait.jpg');
}

#muehle::before {
    background-image: URL('/wp-content/uploads/2026/08/heiko-muehle-portrait.jpg');
}

#heinze .img-artist-gallerie {
    padding: 0 4vw;
}

#muehle .img-artist-gallerie .w-image:nth-child(2) {
    padding-left: 20%;
}

#remy::after,
#heinze::after,
#wallberg::after,
#muehle::after,
#galeria-mond::after {
    content: '';
    position: absolute;
    width: 50%;
    height: 100%;
    /* background-color: var(--cl-hellgrau); */
    background-color: #DCDCDC;
    top: 0;
    left: 0;
    z-index: 0;
}

#remy::after,
#wallberg::after,
#galeria-mond::after {
    left: 50%;
}

.txt-artist {
    padding-top: calc(50vw * 0.5 + 6vh);
    padding-bottom: 6vh;
}

footer .w-gallery-item-img img {
    background: none;
}

#footer-top {
    min-height: 23vh;
}

#footer-mid p {
    color: var(--cl-primary);
    font-size: clamp(22px, 3vw, 38px);
    font-weight: 900;
    text-transform: uppercase;
}

#footer-mid .w-gallery-list {
    align-items: center;
}

#footer-mid .w-gallery-list .w-gallery-item {
    z-index: 10;
    height: 50px;
    max-width: 200px;
    position: relative;
}

#footer-mid .w-gallery-list .w-gallery-item:nth-child(4) {
    height: 80px;
}

/* 
#footer-mid .w-gallery-list .w-gallery-item::after {
    content: '+';
    color: var(--cl-primary);
    font-family: var(--primary-font);
    font-weight: 300;
    font-size: 30px;
    position: absolute;
    top: 50%;
    right: -3vw;
    transform: translateY(-50%);
} */

#footer-mid .l-section-img {
    z-index: 1;
}

#footer-bot p,
#footer-bot a {
    color: var(--cl-weiss);
    font-size: 10px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 1px;
}

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



/* HOME FIANDES */

section#fiandes h2,
section#mond h2 {
    font-size: 26px !important;
    line-height: 2.02 !important;
    letter-spacing: 8.58px;
    font-weight: 600 !important;
}

section#fiandes h3 {
    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 2.5 !important;
    letter-spacing: 6px !important;
}

section#fiandes {
    --scale: 0.5;
}

section#fiandes p {
    max-width: 80ch;
    margin: 0 auto;
}

/* 1. WRAPPER: Reserviert exakt den quadratischen Platz im Layout */
section#fiandes .mask-wrapper {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    position: relative !important;
    overflow: hidden !important;
    display: block !important;
}

/* 2. CONTAINER: Wird basierend auf --scale vergrößert & herunterskaliert */
section#fiandes .mask-container {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    margin: 0 !important;
    padding: 0 !important;

    /* Exakte unskalierte Maße */
    width: calc(100% / var(--scale)) !important;
    height: calc(100% / var(--scale)) !important;
    max-width: none !important;
    max-height: none !important;

    /* Skalierung oben links verankern */
    transform: scale(var(--scale)) !important;
    transform-origin: top left !important;

    /* DER TRICK: Schaltet auf Grid um, damit sich SVG & IMG nicht untereinander stapeln */
    display: grid !important;
    grid-template-areas: "stack" !important;
}

/* 3. KINDER (SVG & IMG): Werden exakt deckungsgleich übereinandergelegt */
section#fiandes .mask-container>* {
    grid-area: stack !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    margin: 0 !important;
}

section#fiandes .mask-container img {
    background-color: var(--cl-weiss);
}




@media (max-width: 1200px) {

    #logo {
        top: 2.5rem;
        left: 2.5rem;
    }

    .zitat::before {
        transform: translate(-85%, -50%) scale(0.5);
    }

    .zitat::after {
        transform: translate(-60%, -50%) scale(0.5) rotate(180deg);
    }

    #remy::before,
    #heinze::before,
    #wallberg::before,
    #muehle::before {
        width: 100%;
    }

    #remy::before,
    #wallberg::before {
        left: 0;
    }

    .txt-artist {
        padding-top: calc(100vw * 0.5 + 6vh);
    }

    #heinze .txt-artist {
        padding-top: calc(100vw * 0.6 + 6vh);
    }

    #remy::after,
    #heinze::after,
    #wallberg::after,
    #muehle::after,
    #galeria-mond::after {
        content: '';
        position: absolute;
        width: 0%;
        height: 0%;
        background-color: transparent;
    }

    #remy .vc_col-sm-10:first-child,
    #wallberg .vc_col-sm-10:first-child {
        order: 2;
    }
}


@media (max-width: 900px) {
    section#fiandes {
        --scale: 0.4;
    }
}

@media (max-width: 767px) {

    #logo {
        display: none;
    }

    .w-btn.us-btn-style_1,
    .w-btn.us-btn-style_2 {
        line-height: 1.2 !important;
        padding: 0.5em 1.5em !important;
    }

    #fiandes-parallax {
        min-height: 30vh;
    }

    #footer-top {
        min-height: 10vh;
    }

    .zitat::before {
        transform: translate(-70%, -50%) scale(0.3);
    }

    .zitat::after {
        transform: translate(-85%, -50%) scale(0.3) rotate(180deg);
    }

    #heinze .img-artist-gallerie {
        padding: 0;
    }

    #galeria-mond .w-gallery-list {
        grid-template-columns: repeat(1, 1fr);
    }

    #sonderausstellung .l-section-img {
        background-image: none !important;
    }

    .cf7form>div.notice p {
        width: 100%;
    }

    #footer-bot .w-hwrapper.stack_on_mobiles> :not(script) {
        margin-bottom: 1rem !important;
    }

    .w-toplink {
        right: 10px;
        bottom: 10px;
    }
}

@media (max-width: 600px) {

    #fiandes .w-gallery.type_grid:not([style*="--columns:1;"]) .w-gallery-list {
        grid-template-columns: repeat(1, 1fr);
    }

    .cf7form>div.submit input.w-btn {
        text-wrap: auto;
        margin: 0 auto;
    }

    #footer-mid .l-section-img {
        background-image: none !important;
    }

    #footer-mid .w-gallery.type_grid:not([style*="--columns:1;"]) .w-gallery-list {
        grid-template-columns: repeat(1, 1fr);
    }

    #footer-mid .w-gallery-list .w-gallery-item {
        margin: 1rem auto;
    }
}

@media (max-width: 500px) {
    section#fiandes {
        --scale: 0.3;
    }
}