/* barlow-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Barlow';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/barlow-v12-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
            url('../fonts/barlow-v12-latin-regular.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* barlow-500 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Barlow';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/barlow-v12-latin-500.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
            url('../fonts/barlow-v12-latin-500.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* barlow-600 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Barlow';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/barlow-v12-latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
            url('../fonts/barlow-v12-latin-600.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}


:root {
    --clr-bg: #EDECEC;
    --clr-white: #fff;
    --clr-base: black;
    --clr-hov: #AFAFAF;
    --clr-darkgray: #2d2d2d;

    --ff-heading: 'Barlow', sans-serif;
    --ff-txt: var(--ff-heading);

    /* 500px -> 1400px */
    --fs-heading-1: clamp(1.75rem, 0.465rem + 4.111vw, 4.063rem); /* 28px → 65px */
    --fs-heading-2: var(--fs-heading-1); /* 35px → 80px */
    --fs-heading-3: clamp(1.56rem, calc(0.87rem + 2.22vw), 2.81rem); /* 25px → 45px */
    --fs-heading-4: clamp(1.563rem, 1.215rem + 1.111vw, 2.188rem); /* 20px → 35px */
    --fs-heading-5: clamp(1.25rem, calc(1.15rem + 0.33vw), 1.44rem); /* 20px → 23px */
    --fs-txt: clamp(1.00rem, calc(0.93rem + 0.22vw), 1.13rem); /* 16px → 18px */
    --fs-button: 15px;

    --fw-regular: 400;
    --fw-medium: 500;
    --fw-semibold: 600;

    --padding-section-top: 150px;
    --padding-section-bottom: 150px;
}
::selection {
    color: var(--clr-white);
    background: var(--clr-hov);
}

/* General */
html, body {
    overflow-x: hidden;
}
body {
    margin: 0;
    background: var(--clr-bg);
    min-height: 100vh;
    position: relative;
    color: var(--clr-base);
    font-weight: var(--fw-regular);
    font-family: var(--ff-heading);
}
.no-scroll {
    overflow: hidden;
}
main {
    min-height: 200px;
    margin-top: 130px;
}
p {
    font-size: var(--fs-txt);
    font-family: var(--ff-txt);
    color: var(--clr-base);
    line-height: 1.5;
}
strong {
    font-weight: var(--fw-semibold);
}
h1, h2, h3, h4, h5 {
    font-family: var(--ff-heading);
    margin-bottom: 30px;
    line-height: 1.2;
    font-weight: var(--fw-regular);
}
h1 {
    line-height: 1.1;
    font-size: var(--fs-heading-1);
}
h2 {
    font-size: var(--fs-heading-2);
}
h3 {
    font-size: var(--fs-heading-3);
}
h4 {
    font-size: var(--fs-heading-4);
}
h5 {
    font-size: var(--fs-heading-5);
}
img {
    user-select: none;
}
a {
    text-decoration: none;
    font-size: var(--fs-txt);
    font-family: var(--ff-txt);
    color: var(--clr-base);
    display: block;
    cursor: pointer;
}
a.active, a.active:hover, a.active:focus {
    cursor: default;
}
a:hover, a:focus {
    color: var(--clr-hov);
    text-decoration: none;
}
ul {
    list-style-type: square;
    margin: 0;
    padding: 0;
    margin-bottom: 1rem;
}
ul li {
    padding-left: 20px;
    font-size: var(--fs-txt);
    font-family: var(--ff-txt);
    line-height: 1.5;
    list-style: none;
    position: relative;
}
ul li::before {
    --url: url('/media/list-symbol.svg');
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    position: absolute;
    left: 0;
    top: 0.4em;

    background: currentColor;
    mask-position: center;
    mask-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-image: var(--url);
    -webkit-mask-image: var(--url);
}

.anchor {
    position: absolute;
    transform: translateY(-75px);
}
.normal-width {
    max-width: 1230px;
    max-width: 1500px;
    padding: 0 clamp(0.938rem, -0.278rem + 3.889vw, 3.125rem);
    margin: 0 auto;
}
.special-width {
    max-width: 1630px;
    padding: 0 15px;
    margin: 0 auto;
}
.max-width {
    max-width: 3000px;
    margin: 0 auto;
}
.white {
    background: white;
}
.bg-black {
    background: var(--clr-base);
    color: white;
}
.bg-black p, .bg-black a {
    color: var(--clr-white);
}
.bg-black a:hover, .bg-black a:focus {
    color: var(--clr-hov);
}


.txt-container h1, .txt-container h2 {
    max-width: 1300px;
}
.txt-container img {
    max-width: 100%;
    margin: 3em 0;
}
.txt-container a {
    display: inline-block;
}
.txt-container > *:last-child {
    margin-bottom: 0;
}
.txt-container table tr td {
    padding-right: 35px;
}
/* section:first-child {
    --padding-section-top: 0px;
} */
.pad-top {
    padding-top: var(--padding-section-top);
}
.pad-bottom {
    padding-bottom: var(--padding-section-bottom);
}
.pad-block {
    padding-top: var(--padding-section-top);
    padding-bottom: var(--padding-section-bottom);
}
.no-margin {
    margin: 0 !important;
}
.no-margin-top {
    margin-top: 0 !important;
}

.hide {
    display: none !important;
}
.bg-black .special-link {
    --color: var(--clr-white);
}


.special-link span {
    width: 50px;
    height: 50px;
    display: block;
    padding: 18px;
    background: white;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background 0.25s ease;
}
.special-link:hover span, .special-link:hover span {
    background: var(--clr-hov);
}
.special-link span::before {
    --url: url('/media/arrow-diagonal.svg');
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    
    background: black;
    display: inline-block;
    mask-position: center;
    mask-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-image: var(--url);
    -webkit-mask-image: var(--url);
    
}
.special-link.horizontal-right span, .special-link.horizontal-left span, .special-link.vertical-up span, .special-link.vertical-down span {
    padding: 15px;
}
.special-link.horizontal-right span::before {
    --url: url('/media/arrow.svg');
    transform: none;
}
.special-link.horizontal-left span::before {
    --url: url('/media/arrow.svg');
    transform: scaleX(-1);
}
.special-link.vertical-up span::before {
    --url: url('/media/arrow.svg');
    transform: rotate(-90deg);
}
.special-link.vertical-down span::before {
    --url: url('/media/arrow.svg');
    transform: rotate(90deg);
}

a.link-btn, .link-btn {
    font-size: var(--fs-txt);
    padding: 20px 40px;
    background: white;
    color: var(--clr-base);
    border-radius: 50px;
    transition: background 0.25s ease, color 0.25s ease;
    margin-top: 60px;
}
a.link-btn:hover, a.link-btn:focus, .link-btn:hover, .link-btn:focus {
    background: var(--clr-hov);
    color: white;
}
.to-top-btn {
    position: fixed;
    bottom: clamp(0.938rem, -0.278rem + 3.889vw, 3.125rem);
    right: clamp(0.938rem, -0.278rem + 3.889vw, 3.125rem);
    border: 0;
    background: transparent;
    transform: rotate(-45deg);
    z-index: 100;
    opacity: 0;
    transition: opacity 0.25s ease;
}
.to-top-btn.visible {
    opacity: 1;
}

.icon {
    width: 80px;
    height: 80px;
    object-fit: contain;
    object-position: top left;
}
.underline-hov a {
    position: relative;
    display: table;
}
.underline-hov a:hover, .underline-hov a:focus {
    color: var(--clr-white);
}
.underline-hov a::after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    height: 0;
    border: 1px solid transparent;
    width: 100%;
    transform: scaleX(0);
    transition: transform 0.25s ease,
                border-color 0s ease 0.25s;
    transform-origin: left;
}
.underline-hov a:hover::after, .underline-hov a:focus::after {
    border-color: var(--clr-white);
    transform: scaleX(1);
    transition: transform 0.25s ease;
}
.reveal {
    transition: opacity 0.75s ease-out;
}
.reveal.show {
    opacity: 1;
}
.reveal.hidden {
    opacity: 0;
}
.no-link {
    cursor: default;
}
/*General END*/








.nav-links {
    display: flex;
    flex-wrap: wrap;
    height: fit-content;
    justify-content: space-between;
}
.nav-links > a {
    width: 35%;
    padding: 0px 10px;
}
.nav-links > a:first-child {
    width: 65%;
}
.nav-links > a.linked-in {
    width: 100%;
}
.nav-links > a.linked-in img {
    width: 50px
}


@media (max-width: 850px) {
    .nav-links > a {
        width: 100%;
    }
    .nav-links > a:first-child {
        width: 100%;
    }
}










/* Header & Nav */
/*HEADER*/
header {
    padding: 20px 0;
    position: fixed;
    top: 0;
    width: 100%;
    transition: background 0.25s ease;
    z-index: 10;
    background: var(--clr-bg);
}
header.black-header {
    background: var(--clr-base);
}
header .normal-width {
    height: 100%;
    display: flex;
    align-items: center;
    max-width: unset;
    /* padding-left: 50px;
    padding-right: 50px; */
}
header .linked-in {
    width: 35px;
    height: 35px;
}
header .logo-white, header.black-header .logo-blue {
    display: none;
}
header.black-header .logo-white, header .logo-blue {
    display: block;
    animation: fadeIn 0.5s ease 0s;
}
header .burger {
    display: none;
    --color: var(--clr-base);
}
header.black-header .burger {
    --color: var(--clr-white);
}
header .nav-link {
    font-size: 18px;
    margin-left: clamp(0.938rem, -6.172rem + 8.75vw, 3.125rem);
    padding: 0;
    transition: color 0.25s ease;
    color: var(--clr-hov);
}
header.white .nav-link {
    color: var(--clr-darkgray);
}
header .nav-link.active, header .nav-link:hover, header .nav-link:focus {
    color: var(--clr-base);
}
header.black-header .nav-link:hover, header.black-header  .nav-link:focus, header.black-header  .nav-link.active {
    color: white;
}

/*BEIDES*/
header, nav {
    font-weight: var(--fw-medium);
}
header .logo, nav .logo {
    margin-right: auto;
}
header .logo img, nav .logo img {
    height: 90px;
}
nav a:hover, nav a:focus, nav a.active {
    color: var(--clr-hov);
}
nav .normal-width {
    height: 100%;
}
nav .links {
    height: calc(100% - 75px);
    display: flex;
    /* align-items: center; */
    margin-top: 70px;
}
nav .links .row {
    width: 100%;
}
nav a {
    color: var(--clr-white);
}
nav .links a {
    font-size: var(--fs-heading-3);
    font-family: var(--ff-heading);
    margin-bottom: 15px;
    
}
nav .links .nav-links a {
    font-size: var(--fs-heading-3);
    margin-bottom: 40px;
}
.logo img {
    height: 25px;
}
.burger {
    --color: var(--clr-base);
    z-index: 3;
    font-family: var(--ff-heading);
    font-size: var(--fs-txt);
    position: relative;
    cursor: pointer;
    height: 33px;
    color: transparent;
    line-height: 1.3;
    display: flex;
    justify-content: center;
    transition: color 0.25s ease;
    user-select: none;
    align-items: center;
}
.burger::before, .burger::after {
    content: ''; 
    position: absolute;
    width: 80%;
    height: 0;
    border: 1px solid var(--color);
    transition: transform 0.25s ease,
                border-color 0.25s ease;
}
.burger::before, nav .burger:hover::before, nav .burger:focus::before {
    top: 0;
    transform: translateY(10px);
}
.burger::after, nav .burger:hover::after, nav .burger:focus::after {
    bottom: 0;
    transform: translateY(-10px);
}

.burger:hover, .burger:focus {
    color: var(--color);
}
.burger:hover::before, .burger:focus::before, .burger:hover::after, .burger:focus::after, nav .burger::before, nav .burger::after {
    transform: translateY(0);
}
/*NAV*/
nav .linked-in {
    width: 50px;
    height: 50px;
    margin-top: 50px;
}
nav {
    padding-top: 20px;
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: -50px;
    background: var(--clr-base);
    overflow-y: scroll;
    padding-bottom: 150px;
    z-index: 100;
}
footer nav {
    z-index: 99;
}
.slideIn {
    animation: fadeIn 0.5s ease 0s forwards;
}
.slideOut {
    animation: fadeIn 0.5s ease 0s reverse forwards;
}
nav .header {
    display: flex;
    align-items: center;
}
nav .burger {
    --color: var(--clr-white);
    color: var(--color);
}
nav .burger:hover, nav .burger:focus {
    color: transparent;
}
.language-switch .curr-lang {
    position: relative;
    padding-right: 20px;
    cursor: pointer;
}
.language-switch .curr-lang a {
    color: var(--clr-base);
}
.black-header .language-switch .curr-lang a, nav .language-switch .curr-lang a {
    color: var(--clr-white);
}

.language-switch .curr-lang::after {
    content: '';
    width: 10px;
    height: 10px;
    border: 2px solid var(--clr-hov);
    border-top: transparent;
    border-left: transparent;
    transform: rotate(45deg);
    position: absolute;
    right: 0;
    top: 30%;
    transition: transform 0.25s ease,
                top 0.25s ease;
}
.language-switch:hover .curr-lang::after, .language-switch:focus .curr-lang::after, .language-switch.open .curr-lang::after {
    transform: rotate(-135deg);
    top: 50%;
}
.language-switch .lang-dropdown a {
    transition: color 0.25s ease;
}
.language-switch .lang-dropdown a:hover, .language-switch .lang-dropdown a:focus {
    color: black;
}
.black-header .language-switch .lang-dropdown a:hover, .black-header .language-switch .lang-dropdown a:focus,
nav .language-switch .lang-dropdown a:hover, nav .language-switch .lang-dropdown a:focus {
    color: white;
}

.language-switch {
    position: relative;
	margin-right: 25px;
    /* margin-right: 50px;
    margin-left: auto; */
    z-index: 10;
}
.language-switch a {
    font-size: 18px;
	font-weight: var(--fw-medium);
    font-family: var(--ff-heading);
    color: var(--clr-hov);
	padding: 3px 1px;
	margin-left: clamp(0.938rem, -6.172rem + 8.75vw, 3.125rem);
}
.language-switch a.active {
   /* color: var(--clr-white); */
    cursor: pointer;
}
.language-switch .lang-dropdown {
    position: absolute;
    height: 0;
    opacity: 0;
    overflow: hidden;
    transition: opacity 0.25s ease;
}
.language-switch.open .lang-dropdown, .language-switch:hover .lang-dropdown, .language-switch:focus .lang-dropdown {
    height: fit-content;
    opacity: 1;
}
nav .links .row > div {
    margin-bottom: 15px;
}
/* Header & Nav END */

/* Footer */
footer {
    width: 100%;
    padding-bottom: var(--padding-section-bottom);
    padding-top: var(--padding-section-top);
    overflow: hidden;
    isolation: isolate;
}
footer a {
    font-size: var(--fs-heading-5);
    font-weight: var(--fw-regular);
    font-family: var(--ff-heading);
    margin-bottom: 15px;
}
footer .normal-width {
    position: relative;
}
footer .footer-img {
    position: absolute;
    left: 0;
    bottom: 0;
    transform: translate(50%, 50%);
    z-index: -1;
}
footer .connect-link {
    font-size: 30px;
    font-weight: var(--fw-semibold);
    position: relative;
    max-width: 380px;
    transition: color 0.25s ease;
    display: flex;
    justify-content: space-between;
}
footer .connect-link::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 0;
    bottom: -30px;
    left: 0;
    border: 1px solid currentColor;
}
footer .underline-hov {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: -15px;
}
footer .underline-hov a {
    color: var(--clr-hov);
    transition: color 0.25s ease;
    margin: 15px;
}
footer .bottom-container {
    margin-top: 150px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
footer .bottom-container .copyright {
    text-transform: uppercase;
    font-family: var(--ff-heading);
    color: var(--clr-hov);
    order: 1;
}
footer .bottom-container .linked-in {
    order: 2;
    margin: 0;
    display: inline-block;
    transition: opacity 0.25s ease;
}
footer .bottom-container .linked-in:hover, footer .bottom-container .linked-in:focus {
    opacity: 0.8;
}
footer .bottom-container .linked-in img {
    width: 50px;
    height: 50px;
    object-fit: contain;
    object-position: center;
}

footer p {
    margin: 0;
}
/* Footer END */

/* Abstand Modul */
.abstands-modul > div{
    height: var(--height);
}

/* Kontakt */
.contact {
    position: fixed;
    border-radius: 50px;
    width: 120px;
    height: 36px;
    background: white;
    bottom: 20px;
    right: 20px;
    transition: height 0.5s ease,
                width 0.5s ease,
                border-radius 0.5s ease,
                bottom 0.5s ease,
                right 0.5s ease,
                background 0.5s ease;
    cursor: pointer;
    z-index: 20;
}
.contact.visible {
    height: 100%;
    width: 100%;
    border-radius: 0;
    bottom: 0;
    right: 0;
    background: #008f8ae6;
}
.contact .contact-txt {
    width: 120px;
    height: 36px;
    font-family: var(--ff-heading);
    font-size: 23px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--clr-accent-orange);
    transition: opacity 0.5s ease;
    position: absolute;
    bottom: 0;
    right: 0;
}
.contact.visible .contact-txt {
    opacity: 0;
}
.contact .contact-cross {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--clr-accent-medium);
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 20px;
    right: 20px;
    opacity: 0;
    transition: opacity 0.5s ease,
                transform 0.25s ease;
}
.contact.visible .contact-cross {
    opacity: 1;
}
.contact a {
    display: block;
}
.contact .contact-cross::before, .contact .contact-cross::after {
    content: '';
    position: absolute;
    width: 20px;
    height: 0;
    border: 1px solid white;
}
.contact .contact-cross::before {
    transform: rotate(45deg);
}
.contact .contact-cross::after {
    transform: rotate(-45deg);
}
.contact .contact-cross:hover, .contact .contact-cross:focus {
    transform: scale(1.2);
}
.contact .txt-container {
    cursor: default;
    z-index: 21;
    position: absolute;
    right: 15%;
    bottom: 50%;
    transform: translateY(50%);
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.5s ease;
}
.contact.visible .txt-container {
   visibility: unset;
   opacity: 1;
}
.contact .txt-container, .contact .txt-container p, .contact .txt-container a {
    color: white;
}
.contact .txt-container a:hover, .contact .txt-container a:focus {
    color: var(--clr-accent-dark);
}
.contact .txt-container .social-icons a {
    background: white;
}
.contact .txt-container .social-icons a:hover, .contact .txt-container .social-icons a:focus {
    background: var(--clr-accent-dark);
}
/* Kontakt END */


/* Text Modul */
.txt-module .link-arrow {
    margin-top: 40px;
}
.txt-module .txt-container p:last-child {
    margin-bottom: 0;
}
.txt-module .icon {
    margin-bottom: 15px;
}

.txt-module .special-link {
    margin-top: 30px;
}

.txt-module .txt-container {
    max-width: 1300px;
}
/* Text Modul END */
/* Bild neben Text */
.right {
    order: 1;
}
.img-txt img {
    width: 100%;
    /* height: 650px; */
    object-fit: contain;
    object-position: center;
    /* margin-top: -80px; */
}
.img-txt .row > div > div.simpleParallax {
    margin-top: -80px;
}
.img-txt .icon {
    width: 80px;
    height: 80px;
    object-fit: contain;
    object-position: top left;
    margin-top: 0;
    margin-bottom: 25px;
}

.img-txt .txt-container {
    padding-top: 50px;
}
.img-txt .special-link {
    margin-top: 30px;
}
/* Bild neben Text END */
/* 2 Bild + Text Block */
.img-txt-2 .imgs, .img-txt-2 .txts {
    width: 100%;
    display: flex;
}
.img-txt-2 .imgs {
    align-items: flex-end;
}
.img-txt-2 .txts {
    align-items: flex-start;
    margin-top: 35px;
}
.img-txt-2 .imgs > div, .img-txt-2 .txts > div {
    width: 50%;
}
.img-txt-2 .imgs .img-l, .img-txt-2 .txts > div:first-child {
    padding-right: 5%;
    margin-right: auto;
}
.img-txt-2 .imgs .img-r, .img-txt-2 .txts > div:last-child {
    padding-left: 5%;
    margin-left: auto;
}
.img-txt-2 .imgs img {
    margin-top: auto;
    width: 100%;
    object-fit: cover;
}
.img-txt-2 .txts .img-l, .img-txt-2 .txts .img-r {
    display: none;
}
.img-txt-2 .txts .txt-container .img-l img, .img-txt-2 .txts .txt-container .img-r img {
    margin-top: 0;
}
.img-txt-2 .special-link {
    margin-top: 30px;
}
/* 2 Bild + Text Block ENDE */
/* volle Breite Bild overlay Text */
.img-txt-overlay, .img-txt-overlay img, .img-txt-overlay video {
    height: 980px;
}
.img-txt-overlay img, .img-txt-overlay video {
    width: 100%;
    object-fit: cover;
    object-position: center;
    position: absolute;
}
.img-txt-overlay .normal-width {
    height: 100%;
    position: relative;
}
.img-txt-overlay .txt-container {
    position: absolute;
    width: 700px;
    bottom: 100px;
    right: 0;
    max-width: 600px;
}
.img-txt-overlay .link-arrow {
    margin-top: 60px;
}
.img-txt-overlay .img-center {
    object-position: center;
}
.img-txt-overlay .img-left {
    object-position: left;
}
.img-txt-overlay .img-right {
    object-position: right;
}
.img-txt-overlay .max-width {
    max-width: 2000px;
    position: relative;
}
/* volle Breite Bild overlay Text ENDE */

/* Video neben Text */
.vid-txt-grid .txt-container {
    padding-top: 50px;
}
.vid-txt-grid .special-link {
    margin-top: 30px;
}
.vid-txt-grid .txt-container .icon {
    margin-top: 0;
    margin-bottom: 25px;
}
.vid-txt-grid .txt-container.grid-l {
    padding-right: 50px;
}
.vid-txt-grid .txt-container.grid-r {
    padding-left: 50px;
}
.vid-txt-grid .vid-container {
    margin-top: -80px;
}
.vid-txt-grid {
    display: grid;
    grid-template-columns: minmax(15px, 1fr) repeat(6, minmax(15px, 200px)) minmax(15px, 1fr);
    grid-auto-flow: column;
}
.vid-txt-grid .vid-container video, .vid-txt-grid .vid-container img {
    width: 100%;
}
.vid-txt-grid .bottom-txt {
    margin-top: 20px;
}
.grid-l {
    grid-column: var(--grid-start) / var(--grid-span);
}
.grid-r {
    grid-column: var(--grid-span) / var(--grid-start);
}
.col-st-1 {
    --grid-start: 1;
}
.col-st-2 {
    --grid-start: 2;
}
.col-st-8 {
    --grid-start: 8;
}
.col-st-9 {
    --grid-start: 9;
}
.col-sp-2 {
    --grid-span: span 2;
}
.col-sp-3 {
    --grid-span: span 3;
}
.col-sp-4 {
    --grid-span: span 4;
}
.col-sp-5 {
    --grid-span: span 5;
}
/* Video neben Text ENDE */

/* Video Fullscreen */
.vid-fullscreen {
    height: 500px;
    position: relative;
}
.vid-fullscreen video, .vid-fullscreen img {
    height: 100%;
    height: 500px;
    width: 100%;
    object-fit: cover;
    object-position: center;
}
.vid-fullscreen .normal-width {
    position: absolute;
    top: -0.6em;
    left: 50%;
    width: 100%;
    transform: translateX(-50%);
    z-index: 5;
    font-size: var(--fs-heading-2);
}
.vid-fullscreen .txt-container h1 {
    margin-bottom: 0;
}
.vid-fullscreen .link-btn {
    background: var(--clr-base);
    color: white;
    font-weight: var(--fw-semibold);
}
.vid-fullscreen .link-btn:hover, .vid-fullscreen .link-btn:focus {
    color: var(--clr-base);
}
/* Video Fullscreen ENDE */

/* Filter Text */
/* txt-filter = text, filter-txt = filter */
.filter-txt.visible {
    cursor: default;
}
.filter-txt {
    margin-bottom: 25px;
}
.filter-txt:last-child {
    margin-bottom: 50px;
}

.txt-filter-container .txt-container h2 {
    margin-bottom: 2em;
}
.txt-filter-container > .txt-container {
    margin-bottom: calc(var(--fs-heading-2) * 1.5);
}
.filter-txt {
    display: flex;
    align-items: center;
    font-weight: var(--fw-medium);
    transition: color 0.25s ease;
}
.filter-txt span {
    margin-right: 25px;
    background: transparent;
}
.filter-txt span::before {
    background: var(--clr-base);
}
.bg-black .filter-txt:not(.visible) span::before {
    background: white;
}
.filter-txt:hover span::before, .filter-txt:focus span::before {
    background: var(--clr-base) !important;
}
.filter-txt.visible span {
    background: white;
}
.bg-black .filter-txt.visible {
    color: white;
}
.filter-txt.visible {
    color: var(--clr-base);
}
.txt-filter h5 {
    font-weight: var(--fw-semibold);
}

/* Filter Text ENDE */

/* Scroll-X Module  */
.no-scroll-x {
    display: flex;
    justify-content: center;
    gap: 30px;
}
.scroll-x {
    overflow-x: scroll;
    overflow-y: clip;
    display: flex;
    scrollbar-color: var(--clr-hov) white;
    scrollbar-width: thin;
    scroll-behavior: smooth;
}
.scroll-x::-webkit-scrollbar, .no-scroll-x::-webkit-scrollbar {
    height: 5px;
}
.scroll-x::-webkit-scrollbar-track, .no-scroll-x::-webkit-scrollbar-track {
    background: white;
    cursor: pointer;
}
.scroll-x::-webkit-scrollbar-thumb, .no-scroll-x::-webkit-scrollbar-thumb {
    background: var(--clr-hov);
}
.scroll-x::-webkit-scrollbar-thumb:hover, .no-scroll-x::-webkit-scrollbar-thumb:hover {
    background: #1c6ea1;
}
.scroll-x > * {
    flex-shrink: 0;
    height: 100%;
    margin: 0 15px;
    cursor: pointer;
}
.scroll-x > *:first-child {
    margin-left: 0;
}
.scroll-x > *:last-child {
    margin-right: 0;
}
.scroll-4 > * {
    width: calc(23% - 22.5px);
    min-width: 300px;
}
.scroll-3 > * {
    width: calc(33% - 15px);
}
/* Scroll-X Module ENDE */
/* Bild Link Scroll */
.img-link-scroll {
    margin-bottom: 40px;
}
.img-link-scroll img {
    width: 100%;
    height: 185px;
    object-fit: cover;
    object-position: center;
    margin-bottom: 20px;
}
/* Bild Link Scroll ENDE */
/* Text Scroll */
.txt-scroll {
    height: auto;
    margin-bottom: 40px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* Text Scroll ENDE */

/* Fade Text + Bild */
.fade-txt-img {
    position: relative;
    width: 100%;
    min-height: 780px;
}
.fade-txt {
    width: 700px;
    background: white;
    padding: 30px;
    position: relative;
    z-index: 1;
}
.fade-txt p, .fade-txt a, .fade-txt .link-arrow {
    color: var(--clr-accent-dark);
    --clr-arrow: var(--clr-accent-dark);
}
.fade-txt span.link-arrow:hover::before, .fade-txt span.link-arrow:focus::before {
    background: var(--clr-accent-dark);
}
.fade-txt .link-arrow {
    padding-top: 10px;
}
.fade-txt .txt-container {
    min-height: 100px;
    
}
.fade-img-txt {
    height: 700px;
    width: 1300px;
    position: absolute;
    bottom: 0;
    right: 0;
}
.fade-img-txt img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.fade-img-txt .txt-container {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 50px;
    width: 600px;
}
.fade-img-txt .txt-container h3 {
    color: white;
    margin: 0;
}
.buttons {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
    width: 100px;
}
.buttons .next-button, .buttons .prev-button {
    background: transparent;
    border: none;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    position: relative;
}
.buttons .next-button::before, .buttons .prev-button::before, .buttons .next-button::after, .buttons .prev-button::after {
    content: '';
    position: absolute;    
}
.buttons .next-button::before, .buttons .prev-button::before {
    width: 12px;
    height: 12px;
    border-top: 2px solid var(--clr-accent-dark);
}
.buttons .next-button::before {
    border-left: 2px solid var(--clr-accent-dark);
    transform: rotate(-45deg);
}
.buttons .prev-button::before {
    border-right: 2px solid var(--clr-accent-dark);
    transform: rotate(45deg);
    right: 0;
}
.buttons .next-button::after, .buttons .prev-button::after {
    width: 100%;
    height: 0;
    border: 1px solid var(--clr-accent-dark);
}
.buttons .prev-button::after {
    left: 0;
}
.buttons .next-button:hover::before, .buttons .prev-button:hover::before, .buttons .next-button:hover::after, .buttons .prev-button:hover::after,
.buttons .next-button:focus::before, .buttons .prev-button:focus::before, .buttons .next-button:focus::after, .buttons .prev-button:focus::after {
    border-color: var(--clr-accent-medium);
}

/* Fade Text + Bild ENDE */

/* Blöcke Bild Link */
.blocks-img {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
    column-gap: 30px;
    row-gap: 50px;
}
.blocks-element {
    max-width: 400px;
    width: 100%;
    height: 250px;
    position: relative;
}
.blocks-element img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.blocks-element a {
    position: absolute;
    bottom: 0;
    width: 100%;
    color: var(--clr-white);
    z-index: 1;
    padding: 20px 60px 15px 20px;
    font-size: var(--fs-txt);
    font-family: var(--ff-txt);
    font-family: var(--ff-heading);
}
.blocks-element a:hover, .blocks-element a:focus {
    color: var(--clr-white);
}
.blocks-element a h3 {
    margin: 0;
    font-size: var(--fs-heading-3);
}

/* Blöcke Bild Link ENDE */

/* Accordion */
.accordion {
    font-size: var(--fs-txt);
    font-family: var(--ff-txt);
}
.accordion-elem {
    padding: 10px;
    transition: background 1s ease;
}
.accordion-elem.active {
    background: white;
}
.accordion .accordion-heading {
    cursor: pointer;
}
.accordion .accordion-txt {
    margin-top: 30px;
}
.accordion-heading span {
    width: 20px;
    height: 20px;
    margin-right: 10px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    vertical-align: middle;
}
.accordion-heading span::before, .accordion-heading span::after {
    content: '';
    box-sizing: border-box;
    position: absolute;
    transition: transform 0.5s ease,
                width 0.5s ease,
                height 0.5s ease;
}
.accordion-heading span::before {
    border-right: 2px solid var(--clr-accent-dark);
    border-bottom: 2px solid var(--clr-accent-dark);
    transform: rotate(45deg);
    width: 12px;
    height: 12px;
    bottom: 0;
}
.accordion-heading span::after {
    border-left: 1px solid var(--clr-accent-dark);
    border-right: 1px solid var(--clr-accent-dark);
    background: var(--clr-accent-dark);
    width: 0;
    height: 20px;
    
}
.accordion-elem.active .accordion-heading span::before {
    width: 0;
    height: 20px;
    transform: rotate(-45deg);
}
.accordion-elem.active .accordion-heading span::after {
    transform: rotate(45deg);
    border-left: transparent;
    border-right-width: 2px;
    background: transparent;
}
/* Accordion ENDE */

/* News */
.news-container img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    object-position: center;
}
.news-container .txt-container h1, .news-container .txt-container h2 {
    margin-top: 1em;
}
.news-container .txt-container h2 {
    margin-bottom: 0.7em;
}
.news-container .txt-container a {
    color: var(--clr-accent-medium);
}
.news-container .txt-container a:hover, .news-container .txt-container a:focus {
    color: var(--clr-accent-dark);
}
.news-container .txt-container p:last-child {
    margin-bottom: 0;
}
/* News ENDE */

/* Back Button */
.back-button {
    display: table;
}
.back-button.right {
    margin-left: auto;
}
.back-button.left {
    margin-right: auto;
}
.back-button.link-arrow {
    color: var(--clr-accent-orange);
    display: block;
    width: fit-content;
    padding-top: 50px;
    padding-bottom: 50px;
}
.back-button.link-arrow::before {
    background: var(--clr-accent-orange);
    transform: rotate(-90deg);
}
.back-button.link-arrow:hover, .back-button.link-arrow:focus {
    color: var(--clr-accent-dark);
}
.back-button.link-arrow:hover::before, .back-button.link-arrow:focus::before {
    background: var(--clr-accent-dark);
}

/* Back Button ENDE */

/* Insights */
.masonry {
    margin: 0 -15px;
    transition: height 0.25s ease;
}
.masonry-item {
    width: 33.33%;
    padding: 0 15px;
    margin-bottom: 65px;
    opacity: 0;
    transition: opacity 0.25s ease;
}
.masonry-item.visible {
    opacity: 1;
    animation: fadeIn 0.5s ease 0s;
}
@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes fadeOut {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
.masonry-item img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    object-position: center;
}
.masonry-item .txt-container {
    font-size: var(--fs-txt);
    font-family: var(--ff-txt);
}
.masonry-item .link-container{
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
}
.masonry-item .link-container span {
    font-size: var(--fs-txt);
    font-family: var(--ff-txt);
    margin-left: auto;
}
.masonry .txt-container h3 {
    margin-top: 1em;
}
.masonry .no-link {
    display: none;
}

.masonry-filter {
    text-align: right;
    margin-bottom: 50px;
}
.masonry-filter.visible {
    display: block;
}
.bg-black .masonry-filter button {
    --color: var(--clr-white);
}
.masonry-filter button {
    --color: var(--clr-base);
    margin-left: 30px;
    border: none;
    background: transparent;
    color: var(--color);
    font-family: var(--ff-txt);
    font-size: var(--fs-txt);
}
.masonry-filter button.active {
    cursor: default;
    color: var(--clr-hov);
}
.masonry-filter button:hover, .masonry-filter button:focus {
    color: var(--clr-hov);
}
.toggle-filter-button {
    --color: var(--clr-base);
    width: 25px;
    height: 25px;
    display: none;
    border: none;
    background: transparent;
    margin-bottom: 20px;
    margin-left: auto;
    padding: 0;
}
.bg-black .toggle-filter-button {
    --color: var(--clr-white);
}
.toggle-filter-button .filter-icon {
    width: 100%;
    height: 100%;
}
.toggle-filter-button .filter-icon > * {
    stroke: var(--color);
    stroke-width: 2px;
}

.filter-icon circle {
    fill: var(--color);
    transition: transform 0.25s ease;
}
.filter-icon:hover .c1, .filter-icon:hover .c3, .filter-icon:focus .c1, .filter-icon:focus .c3 {
    transform: translateX(9px);
}
.filter-icon:hover .c2, .filter-icon:focus .c2 {
    transform: translateX(-9px);
}
.toggle-filter-button.clicked .filter-icon .c1, .toggle-filter-button.clicked .filter-icon .c3 {
    transform: translateX(13px);
}
.toggle-filter-button.clicked .filter-icon .c2 {
    transform: translateX(-13px);
}
button.load-more {
    width: 20px;
    height: 20px;
    display: flex;
    padding: 0;
    margin: 0 auto;
    margin-top: 50px;
    border: none;
    background: transparent;
    position: relative;
    justify-content: center;
    align-items: center;
    transition: transform 0.25s ease;
    font-size: 23px;
    font-family: var(--ff-txt);
    --color: var(--clr-base);
}
.bg-black button.load-more {
    --color: var(--clr-white);
}
button.load-more p {
    transform: translateY(-23px);
}
button.load-more:hover, button.load-more:focus {
    transform: translateY(10px);
}
button.load-more::before, button.load-more::after {
    content: '';
    position: absolute;
}
button.load-more::before {
    width: 12px;
    height: 12px;
    border-bottom: 2px solid var(--color);
    border-right: 2px solid var(--color);
    bottom: 0;
    transform: rotate(45deg);
}
button.load-more::after {
    width: 0;
    height: 100%;
    border-left: 1px solid var(--color);
    border-right: 1px solid var(--color);
}
button.not-loaded {
    display: none;
}
/* Insights ENDE */

/* Audio Wave */
.wave-controls {
    margin-top: 20px;
    display: flex;
    justify-content: space-between;
}
.wave-controls button {
    --clr-border: var(--clr-accent-dark);
    padding: 0;
    background: none;
    width: 0;
    height: 0;
    border-right: none;
    border-top: 10px solid transparent;
    border-left: 15px solid var(--clr-border);
    border-bottom: 10px solid transparent;

}
.orange .wave-controls button {
    --clr-border: white;
}
.wave-controls button.playing {
    width: 15px;
    height: 20px;
    border-right: 5px solid var(--clr-border);
    border-left: 5px solid var(--clr-border);
    border-top: none;
    border-bottom: none;
}
.time-container > * {
    display: inline-block;
    font-family: var(--ff-txt);
    font-size: var(--fs-txt);
}
.loading {
    position: relative;
}
.loading .loading-icon {
    position: absolute;
    top: 33.5%;
    left: 50%;
    transform: translate(-50%, -33.5%);
}
.orange .loading .loading-icon > span {
    background: white;
}
.loading .loading-icon > span {
    display: inline-block;
    background: var(--clr-accent-dark);
    width: 8px;
    height: 50px;
    margin: 0 2px;
    transform: scaleY(0.08);
    animation: loading 1s ease-in-out infinite;
}
.loading .loading-icon .bar2 {
    animation-delay: 0.1s;
}
.loading .loading-icon .bar3 {
    animation-delay: 0.2s;
}
.loading .loading-icon .bar4 {
    animation-delay: 0.3s;
}
.loading .loading-icon .bar5 {
    animation-delay: 0.4s;
}
.loading .loading-icon .bar6 {
    animation-delay: 0.5s;
}
@keyframes loading {
    0%, 40%, 100% {
        transform: scaleY(0.08);
    }
    20% {
        transform: scaleY(1);
    }
}
.default-audio audio {
    width: 100%;
}

/* Audio Wave ENDE */

/* YT-Embed */
.embed-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 0;
    height: 0;
    overflow: hidden;
}
.embed-container iframe, .embed-container object, .embed-container embed, .yt-accept {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.yt-accept {
    background: var(--clr-accent-dark);
    display: flex;
    justify-content: center;
    align-items: center;
}
.yt-accept::before {
    content: '';
    position: absolute;
    width: 0; 
    height: 0; 
    border-top: 30px solid transparent;
    border-bottom: 30px solid transparent;
    border-left: 40px solid white;
    z-index: 1;
}
.yt-accept img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: brightness(0.5);
}
.yt-accept .txt-container {
    z-index: 1;
    color: white;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #000000cc;
    opacity: 0;
    cursor: pointer;
    transition: opacity 0.5s ease;
    padding: 20px;
}
.yt-accept .txt-container:hover, .yt-accept .txt-container:focus {
    opacity: 1;
}
/* YT-Embed ENDE */

/* Blöcke Text */
.blocks-txt .row {
    margin: -30px -15px;
    /* word-break: break-all; */
}
.blocks-txt .row .container{
    padding: 15px;
    margin: 0px;
}
.blocks-txt .row .container > div {
    height: 100%;
}
.blocks-txt .container .bg-darkgray {
    padding: calc(var(--fs-heading-3) + 5px);
}
.blocks-txt .item h4 {
    font-weight: var(--fw-semibold);
}
.blocks-txt .item {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.blocks-txt .item .special-link {
    width: fit-content;
    margin-top: auto;
}
.blocks-txt .item .txt-container {
    margin-bottom: var(--fs-heading-4);
}
.blocks-txt .bg-darkgray {
    background-color: var(--clr-darkgray);
    color: var(--clr-white);
}
.blocks-txt .bg-darkgray p {
    color: var(--clr-white);
}
.blocks-txt .txt-container img {
    margin-bottom: 20px;
    margin-top: 0px;
}
.blocks-txt .txt-container img.width50 {
    max-width: clamp(1.563rem, 0.694rem + 2.778vw, 3.125rem);
}
.blocks-txt .txt-container img.width100 {
    max-width: clamp(3.125rem, 1.389rem + 5.556vw, 6.25rem);
}

.blocks-txt .txt-container img.widthfull {
    max-width: 100%;
}


/* Text 2 Spalten */
.txt-2-cols .row {
    /* margin-bottom: var(--fs-heading-2); */
    position: relative;
}
.txt-2-cols .row-container {
    padding: clamp(4.375rem, 3.333rem + 3.333vw, 6.25rem) 0px;
}
.txt-2-cols .row::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 15px;
    right: 15px;
    /* border-bottom: 1px solid #707070; */
}
.txt-2-cols .row:last-of-type {
    margin-bottom: 0;
}


/* Slider txt */
.slider-txt img {
    max-width: 100%;
    margin-bottom: calc(var(--fs-heading-3) - 5px);
}
.bg-black .slider-txt .txt-container * {
    color: var(--clr-base);
}
.slider-txt .splide__slide {
    background: white;
    padding: calc(var(--fs-heading-3) + 5px);
    min-width: min(446px, 100%) !important;
    width: calc(23% - 22.5px) !important;
}
.bg-black .slider-txt .splide__slide {
    background: var(--clr-bg);

}
.slider-txt .splide__arrow {
    background: none;
    border: none;
    padding: 0;
}
.slider-txt .splide__arrows {
    width: fit-content;
    margin-left: auto;
    margin-top: 30px;
}
.slider-txt .splide__arrow:disabled span {
    background: transparent;
}
.bg-black .slider-txt .splide__arrow:disabled span::before {
    background: white;
}

/* Bild */
.img-modul img {
    width: 100%;
}


/* Team */
.team-modul img {
    width: 100%;
}
.team-modul h4 {
    font-weight: var(--fw-semibold);
    margin-bottom: 5px;
}
.team-modul .team-element {
    --distance: calc(var(--fs-heading-1) + 20px);
    padding-bottom: var(--distance);
    margin-bottom: var(--distance);
    border-bottom: 1px solid currentColor;
}
.team-modul .team-element:last-child {
    margin-bottom: 0;
}
.team-modul .position {
    margin: 0;
}
.team-modul .heading-container {
    margin-bottom: var(--fs-heading-4);
}
.team-modul .txt-container {
    display: none;
    margin-bottom: 0;
}
.team-modul .txt-container.show {
    margin-bottom: 30px;
    display: block;
}
.team-modul .toggle-txt {
    border: none;
    background: none;
    transition: transform 0.25s ease;
}
.team-modul .toggle-txt.active {
    transform: rotate(180deg);
}
.team-modul h2 {
    margin-bottom: 0.8em;
}

/* scroll */
* {
    scroll-margin-top: 100px;
}


.img-modul {
    position: relative;
}
.img-modul .text_gray, .img-container .text_white{
    font-size: clamp(0.188rem, -0.085rem + 1.453vw, 1.25rem);
    font-size: clamp(0.313rem, 0.078rem + 1.25vw, 1.25rem); /* 5 -> 20 */
    font-size: clamp(0.438rem, 0.234rem + 1.083vw, 1.25rem);
}
.img-modul .text_gray{
    color: var(--clr-hov);
    margin-bottom: 0px;
}
.img-modul .text_white{
    font-weight: 600;
    transition: all 0.25s ease;
    margin-bottom: 0px;
}
.img-modul .anchor-element {
    display: flex;
    align-items: end;
    width: 15% !important;
}
.img-modul .anchor-element > a {
    height: fit-content;
}
.img-modul .anchor-element.bot-txts > a {
    align-self: flex-start;
}
.img-modul .anchor-element:hover .text_white{
    color: var(--clr-hov);
}
.img-modul .anchor-element, .img-modul .anchor-element .line{
    position: absolute;
}
.img-modul .line {
    width: 1px;
    overflow: hidden;
    left: 2px !important;
}
.img-modul .line::before, .img-modul .line::after{
    content: "";
    display: block;
    height: 100%;
    width: 1px;
    position: relative;
    border-left: 1px solid var(--clr-white);
    transition: all 0.5s ease-in-out;
}
.img-modul .line::before{
    top: 0px;
}
.img-modul .line::after{
    top: 100%;
}
.img-modul .line-top.line::after {
    position: absolute;
}
.img-modul .anchor-element:hover .line::before, .img-modul .anchor-element:hover .line::after{
    transform: translateY(-200%);
}

.img-modul .anchor1 {
    height: 12%;
    width: 11%;
    top: 9.5%;
    left: 23%;
}
.img-modul .anchor1 .line {
    height: 80%;
    top: 110%;
}
.img-modul .anchor2 {
    top: 12.5%;
    left: 41.2%;
    height: 9%;
    width: 11%;
}
.img-modul .anchor2 .line {
    height: 100%;
    top: 117%;
    left: 11%;
}
.img-modul .anchor3 {
    top: 26%;
    left: 59.5%;
    height: 9%;
    width: 17.5%;
}
.img-modul .anchor3 .line {
    height: 120%;
    top: 112%;
    left: 2%;
}
.img-modul .anchor4 {
    top: 22.5%;
    left: 76.7%;
    height: 6%;
    width: 12%;
}
.img-modul .anchor4 .line {
    height: 290%;
    top: 125%;
    left: 1.5%;
}
.img-modul .anchor5 { /* vorerst */
    top: 75%;
    left: 12%;
    height: 12%;
    width: 12.5%;
}
.img-modul .anchor5 .line {
    height: 250%;
    top: -260%;
    left: 73%;
}
.img-modul .anchor6 {
    top: 76%;
    left: 41.1%;
    height: 12%;
    width: 12.5%;
}
.img-modul .anchor6 .line {
    height: 150%;
    top: -155%;
    left: 9.5%;
}
.img-modul .anchor7 {
    top: 76%;
    left: 59.4%;
    height: 12%;
    width: 13.5%;
}
.img-modul .anchor7 .line {
    height: 150%;
    top: -155%;
    left: 5.5%;
}
.img-modul .anchor8 {
    top: 91%;
    left: 77%;
    height: 12%;
    width: 13.5%;
}
.img-modul .anchor8 .line {
    height: 270%;
    top: -278%;
    left: 13%;
}

.img-modul .img-container img:not(.visible) {
    opacity: 0;
    transform: translateY(100px);
}
.img-modul .anchor-element > a:not(.visible) {
    opacity: 0;
    transform: translateY(100px);
}
.img-modul .anchor-element > .line:not(.visible) {
    opacity: 0;
    transform: translateY(100px);
}
.img-modul img, .img-modul .anchor-element > .line, .img-modul .anchor-element > a {
    transition: all 1s ease;
}

@media (max-width: 991px) {
    .img-modul .anchor1 { 
        left: clamp(5.5rem, 1.261rem + 22.609vw, 15.25rem);
    }
}
@media (hover: none) and (max-width: 991px) {
    .img-modul .anchor1 { 
        left: clamp(5.625rem, 1.277rem + 23.188vw, 15.625rem);
    }
}


.map-modul .pin{
    position: absolute;
    height: 7%;
}
.map-modul .map {
    width: 100%;
}
.map-modul .pinDE {
    top: 41.5%;
    left: 47.3%;
}
.map-modul .pinUS {
    top: 51.5%;
    left: 26.5%;
}
.map-modul .pinJP {
    top: 48%;
    left: 77%;
}

.map-modul .pin:not(.visible) {
    opacity: 0;
    transform: translateY(-200px);
}
.map-modul .map:not(.visible) {
    opacity: 0;
    transform: translateY(100px);
}
.map-modul .map, .map-modul .pin {
    transition: all 1s ease;
}

.txt-icon {
    max-width: 100px;
    max-height: 100px;
    margin-bottom: 20px;
}
.no-padding {
    padding-right: 0px;
}


.background-txt {
    display: flex;
    align-items: end;
}
.background-txt .bg-img {
    width: 50%;
    max-width: 1000px;
    position: absolute;
    right: 0px;
}
.background-txt .normal-width {
    position: relative;
}
.background-txt .txt-container {
    max-width: 70%;
}



/*MEDIA QUERIES*/
@media (max-width: 1299px) {
    header .linked-in {
        display: none;
    }
    header .nav-link {
        display: none;
    }
    header .burger {
        display: flex;
    }
    header .normal-width {   
        padding-left: 15px;
        padding-right: 15px;
    }
    nav.visible {
        display: block;
    }
}
@media (max-width: 1199px) {
    .fade-txt-img {
        min-height: 680px;
    }
    .fade-img-txt {
        width: 850px;
        height: 600px;
    }
}
@media (max-width: 991px) {
    footer .footer-img {
        transform: translate(25%, 50%);
    }

    header .nav-link,
	.language-switch a {
        margin-left: 22px;
    }
    header .nav-links {
        display: none;
    }
    
    header .logo img, nav .logo img {
        height: 60px;
    }
    footer .social-icons {
        margin-top: 60px;
        flex-direction: column;
    }
    .social-icons p {
        margin-left: 0;
    }
    .vid-txt-grid .vid-container.grid-r {
        grid-column: 4 / -1;
    }
    .vid-txt-grid .vid-container.grid-l {
        grid-column: 1 / -4;
    }
    .vid-txt-grid .txt-container {
        grid-column: 2 / -2;
    }
    .vid-txt-grid .txt-container.grid-l {
        padding-right: 0;
    }
    .vid-txt-grid .txt-container.grid-r {
        padding-left: 0;
    }
    .scroll-3 > * {
        min-width: 300px;
    }
    .no-scroll-x {
        overflow-x: scroll;
        overflow-y: clip;
        scrollbar-color: var(--clr-hov) white;
        scrollbar-width: thin;
        justify-content: start;
        scroll-behavior: smooth;
    }
    .no-scroll-x > * {
        flex-shrink: 0;
        flex-grow: 1;
    }
    .fade-img-txt {
        width: 700px;
    }
    .txt-container h1 {
        max-width: 700px;
    }
    .vid-fullscreen .txt-container {
        max-width: 580px;
    }
    .img-txt-overlay, .img-txt-overlay img, .img-txt-overlay video {
        height: 680px;
    }

    .txt-filter-container .row > :nth-child(2) .txt-filter {
        display: none !important;
    }
    .filter-txt + .txt-filter {
        margin-bottom: 30px;
    }
    main {
        margin-top: 100px;
    }
    .abstands-modul > div{
        height: calc(0.33 * var(--height));
    }
    .vid-txt-grid .txt-container {
        max-width: 80%;
    }
    .txt-module .txt-container {
        max-width: 80%;
    }
    .img-modul.anchors {
        position: relative;
        left: -60px;
        width: calc(100% + 100px);
    }
    
}

@media (min-width: 992px) {
    .filter-txt + .txt-filter {
        display: none !important;
    }

}

@media (max-width: 767px) {
    :root {
        --padding-section-top: 75px;
        --padding-section-bottom: 75px;
    }
    .team-modul img {
        margin-bottom: 30px;
    }
    nav .links {
        align-items: flex-start;
    }
    nav .links .nav-links a {
        margin-bottom: 20px;
    }
    footer .footer-img {
        transform: translate(0, 50%);
        width: 200%;
    }
    footer .underline-hov {
        display: block;
    }
    footer .connect-link::after {
        bottom: -15px;
    }
    footer .underline-hov {
        margin-top: 20px;
    }
    footer .row > div {
        margin-bottom: 15px;
    }
    footer a, footer h2 a {
        margin-bottom: 20px;
    }
    footer .bottom-container {
        margin-top: 20px;
    }
    /* section:first-child {
        --padding-section-top: 150px;
    } */
    .img-txt-overlay .txt-container {
        width: calc(100% - 30px);
    }
    .fade-img-txt {
        margin: 0 -15px;
        width: 100vw;
    }
    .fade-txt {
        width: 100%;
    }
    .news-container img {
        height: 350px;
    }
    /* .img-txt, .vid-txt-grid {
        margin-top: 50px;
    } */
    .vid-txt-grid .vid-container {
        margin-top: 0;
    }
    .right {
        order: 0;
    }
    .masonry-item {
        width: 50%;
    }
    .buttons {
        margin-left: auto;
        margin-right: auto;
    }
    .txt-scroll {
        padding: 5px;
    }
    .scroll-3 > * {
        min-width: 215px;
    }
    .bg-black .img-txt-overlay .normal-width {
        --color: 0, 0, 61;
    }
    .img-txt-overlay .normal-width {
        --color: 255, 255, 255;
        background: linear-gradient(to top, rgba(var(--color), 0.7), rgba(var(--color), 0.1));
    }
    .img-txt-2 .imgs {
        display: none;
    }
    .img-txt-2 .txts .img-l, .img-txt-2 .txts .img-r {
        display: block;
    }
    .img-txt-2 .txts .txt-container img {
        margin: 0;
    }
    .img-txt-2 .txts {
        flex-wrap: wrap;
        margin-top: 0;
    }
    .img-txt-2 .txts h2 {
        margin-top: 40px;
    }
    .img-txt-2 .txts .txt-container:first-child {
        margin-bottom: 100px;
    }
    .img-txt-2 .txts > div:first-child, .img-txt-2 .txts > div:last-child {
        width: 100%;
        padding: 0;
    }
}
@media (max-width: 576px) {
    footer .bottom-container {
        display: block;
    }
    footer .bottom-container .linked-in {
        margin-bottom: 15px;
    }
    .vid-fullscreen .txt-container {
        max-width: 400px;
    }
    .vid-txt-grid .vid-container.grid-r {
        grid-column: 2 / -1;
    }
    .vid-txt-grid .vid-container.grid-l {
        grid-column: 1 / -2;
    }
    .img-txt-overlay .txt-container {
        padding: 20px;
    }
    .img-link-scroll {
        margin-bottom: 20px;
    }
    .fade-img-txt .txt-container {
        display: none;
    }
    .masonry-item {
        width: 100%;
    }
    .toggle-filter-button {
        display: block;
    }
    .masonry-filter button {
        display: block;
        margin: 0;
        margin-bottom: 10px;
        padding: 0;
        margin-left: auto;
    }
    .masonry-filter {
        margin: 0;
        padding-bottom: 20px;
        display: none;
    }
    .contact .txt-container {
        width: 100%;
        right: 0;
        padding: 0 15px;
    }
    .vid-txt-grid .txt-container {
        max-width: 100%;
    }
    .txt-module .txt-container {
        max-width: 100%;
    }
    .background-txt .normal-width.has-img{ 
        padding-bottom: 150px;
    }
    .background-txt .txt-container {
        max-width: 100%;
    }
    .background-txt .bg-img {
        width: 80%;
    }
}