/* open-sans-regular - latin */
@font-face {
font-display: swap;
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: url('../fonts/open-sans-v40-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-700 - latin */
@font-face {
font-display: swap;
font-family: 'Open Sans';
font-style: normal;
font-weight: 700;
src: url('../fonts/open-sans-v40-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-800 - latin */
@font-face {
font-display: swap;
font-family: 'Open Sans';
font-style: normal;
font-weight: 800;
src: url('../fonts/open-sans-v40-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
  
 
:root {
    --clr-accent-orange: red;
    --clr-accent-light: red;
    --clr-accent-medium: red;
    --clr-accent-dark: red;
    --clr-bg: red;

    --clr-white: #fff;
    --clr-blue: #00003C;

    --clr-hov: #A4157C;

    --clr-purple: #A4157C;
    --clr-green: #0F9682;

    --ff-heading: 'Open Sans', sans-serif;
    --ff-txt: 'Open Sans', sans-serif;

    --fs-heading-lg: 80px;
    --fs-heading-md: 45px;
    --fs-heading-sm: 23px;
    --fs-txt: 18px;
    --fs-button: 15px;

    --fw-extralight: 200;
    --fw-light: 300;
    --fw-medium: 500;
    --fw-semibold: 600;
    --fw-bold: 700;

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

/* General */
html, body {
    overflow-x: hidden;
}
body {
    margin: 0;
    min-height: 100vh;
    position: relative;
    --btn-clr:  var(--clr-green);
    --btn-hover: var(--clr-purple);
    --background-clr: var(--clr-white);
    --color: var(--clr-blue);
    --clr-hov: var(--clr-green);
    color: var(--color);
    background: var(--background-clr);
}
.no-scroll {
    overflow: hidden;
}
main {
    min-height: 200px;
}
p {
    font-size: var(--fs-txt);
    font-family: var(--ff-txt);
    /* color: var(--clr-purple); */
    font-weight: 400;
}
h1, h2, h3 {
    font-family: var(--ff-heading);
    margin-bottom: 30px;
    line-height: 1.1;
    font-weight: var(--fw-bold);
}
h1 strong, h2 strong {
    font-weight: var(--fw-bold);
}
h1 strong {
    font-weight: 800;
}
h1 {
    font-size: var(--fs-heading-lg);
    font-weight: 800;
}
h2 {
    font-size: var(--fs-heading-md);
}
h3 {
    font-size: var(--fs-heading-sm);
}
img {
    user-select: none;
    border-style: none;
}
a {
    text-decoration: underline;
    font-size: var(--fs-txt);
    font-family: var(--ff-txt);
    color: var(--clr-purple);
    display: block;
    cursor: pointer;
    color: var(--color);
}
a.active, a.active:hover, a.active:focus {
    cursor: default;
}
a:hover, a:focus {
    color: var(--clr-hov);
    text-decoration: none;
}
a.btn {
    text-decoration: none;
}
ul {
    list-style-type: square;
    margin: 0;
    padding: 15px;
    margin-bottom: 1rem;
}
ul li {
    font-size: var(--fs-txt);
    font-family: var(--ff-txt);
    font-weight: 400;
    line-height: 1.5;
    margin-top: 1em;
}
.anchor {
    position: absolute;
    transform: translateY(-75px);
}
.normal-width {
    max-width: 1230px;
    padding: 0 15px;
    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;
}
.lila { /* Lila hintergrund */
    --btn-clr: var(--clr-green);
    --btn-hover: var(--clr-white);
    --background-clr:  var(--clr-purple);
    --color: var(--clr-white);
    --clr-hov: var(--clr-green);
    color: var(--color);
    background: var(--background-clr);
}
.bg-green { /* Cyan hintergrund */
    --btn-clr: var(--clr-purple);
    --btn-hover: var(--clr-white);
    --background-clr: var(--clr-green);
    --color: var(--clr-white);
    --clr-hov: var(--clr-white);
    color: var(--color);
    background: var(--background-clr);
}

.lila a:hover, .lila a:focus {
    color: var(--clr-hov);
}
.bg-green a:hover, .bg-green a:focus {
    color: var(--clr-hov);
}

strong {
    font-weight: var(--fw-bold);
}

.btn {
    background-color: var(--btn-clr);
    color: var(--clr-white);
    border-radius: 20px;
    padding: 9px 20px 9px 20px;
    font-weight: var(--fw-bold);
}
.lila a.btn:hover, .bg-green a.btn:hover  {
    background-color: var(--btn-hover);
    color: var(--btn-clr);
}
.btn:hover {
    background-color: var(--btn-hover);
    color: var(--clr-white);
}



.txt-container h1, .txt-container h2 {
    max-width: 1010px;
}
.txt-container img {
    max-width: 100%;
    margin: 3em 0;
}
.txt-container a {
    display: inline-block;
}
.txt-container p:last-of-type {
    margin-bottom: 0;
}
.txt-container table tr td {
    padding-right: 35px;
}
section:first-child {
    --padding-section-top: 200px;
}
.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;
}
.lila .special-link {
    --color: var(--clr-white);
}
.special-link {
    --color: currentColor;
    font-family: var(--ff-heading);
    font-weight: var(--fw-medium);
    color: var(--color);
    position: relative;
    transition: transform 0.25s ease;
}
.special-link::before {
    content: '';
    width: 30px;
    height: 0;
    border: 1px solid var(--color);
    position: absolute;
    transform: rotate(-45deg);
    bottom: 2px;
    right: -20px;
    transition: right 0.25s ease,
                transform 0.25s ease,
                border-color 0.25s ease;
}
.special-link:hover::before, .special-link:focus::before {
    transform: rotate(45deg);
    right: calc(100% - 10px);
    border-color: var(--clr-hov);
}
.special-link:hover, .special-link:focus {
    transform: translateX(20px);
}
.icon {
    width: 80px;
    height: 80px;
    object-fit: contain;
    object-position: top left;
}
.icon-star {
	mask-image: url('/media/icon_stern.svg');
	-webkit-mask-image: url('/media/icon_stern.svg');
}
.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;
}

.ar-1-1 {
    aspect-ratio: 1 / 1;
}
@supports not (aspect-ratio: 1 / 1) { 
    .ar-1-1::before {
        float: left; 
        padding-top: 100%; 
        content: '';
    }
    .ar-1-1:after {
        display: block;
        content: '';
        clear: both;
    }
}
.ar-4-3 {
    aspect-ratio: 4 / 3;
}
@supports not (aspect-ratio: 4 / 3) { 
    .ar-4-3::before {
        float: left; 
        padding-top: 75%;
        content: '';
    }
    .ar-4-3:after {
        display: block;
        content: '';
        clear: both;
    }
}

/*General END*/

/* Header & Nav */
/*HEADER*/
header {
    height: unset;
    /* position: fixed; */
    top: 0;
    width: 100%;
    transition: background 0.25s ease;
    z-index: 10;
    padding: 25px 0;
}
header .normal-width {
    height: 100%;
    display: flex;
    align-items: center;
}
header .logo img {
    height: 60px;
}
header .logo-white, header.white-header .logo-blue {
    display: none;
}
header.white-header .logo-white, header .logo-blue {
    display: block;
    animation: fadeIn 0.5s ease 0s;
}
header .burger {
    --color: var(--clr-purple);
}
header.white-header .burger {
    --color: var(--clr-white);
}


/*BEIDES*/
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: 50px;
}
nav .links .row {
    width: 100%;
}
nav a {
    color: var(--clr-white);
}
nav .links a {
    font-size: var(--fs-heading-sm);
    font-weight: var(--fw-extralight);
    font-family: var(--ff-heading);
    margin-bottom: 15px;
    
}
nav .links .nav-links a {
    font-size: var(--fs-heading-md);
    font-weight: var(--fw-bold);
    margin-bottom: 40px;
}
.logo img {
    height: 25px;
}
.burger {
    --color: var(--clr-purple);
    z-index: 3;
    font-family: var(--ff-heading);
    font-weight: var(--fw-extralight);
    font-size: 23px;
    position: relative;
    cursor: pointer;
    height: 33px;
    margin-left: auto;
    color: transparent;
    line-height: 1.3;
    display: flex;
    justify-content: center;
    transition: color 0.25s ease;
    user-select: none;
}
.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 {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: -50px;
    background: var(--clr-purple);
    overflow-y: scroll;
    padding-bottom: 150px;
    z-index: 100;
}
nav.visible {
    display: block;
}
.slideIn {
    animation: fadeIn 0.5s ease 0s forwards;
}
.slideOut {
    animation: fadeIn 0.5s ease 0s reverse forwards;
}

nav .header {
    height: 75px;
    display: flex;
    align-items: center;
}
nav .burger {
    --color: var(--clr-white);
    color: var(--color);
    margin-left: 0;
}
nav .burger:hover, nav .burger:focus {
    color: transparent;
}
.language-switch .curr-lang {
    position: relative;
    padding-right: 20px;
    cursor: pointer;
}
.language-switch .curr-lang::after {
    content: '';
    width: 10px;
    height: 10px;
    border: 2px solid var(--clr-white);
    border-top: transparent;
    border-left: transparent;
    transform: rotate(45deg);
    position: absolute;
    right: 0;
    top: 40%;
    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 {
    position: relative;
    margin-right: 50px;
    margin-left: auto;
    z-index: 10;
}
.language-switch a {
    font-size: 23px;
    font-family: var(--ff-heading);
    font-weight: var(--fw-extralight);
    color: var(--clr-white);
}
.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%;
}
footer a {
    font-size: var(--fs-heading-sm);
    font-family: var(--ff-heading);
    margin-bottom: 15px;
    font-weight: 400;
}
footer h1 {
    font-size: 100px;
    margin-bottom: 100px;
    padding-top: 1em;
}
footer h2 a {
    font-size: var(--fs-heading-md);
    font-weight: var(--fw-bold);
    margin-bottom: 40px;
}
footer .col-xs-12 h2:first-child {
    margin-bottom: calc( -20px - clamp(0rem, -0.347rem + 1.111vw, 0.625rem));
}
footer .col-xs-12 p {
    margin-bottom: 30px;
}
footer h3 {
    margin-bottom: 10px;
}
footer .copyright {
    margin-top: 150px;
    margin-bottom: 100px;
    padding: 0 15px;
    text-transform: uppercase;
    font-family: var(--ff-heading);
}
footer p {
    margin: 0;
}
/* Footer END */

/* 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 */

/* Cookies */
.cookie-open-options {
    position: fixed;
    bottom: 20px;
    left: 20px;
    border-radius: 50%;
    border: none;
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 5px;
    background: var(--clr-hov);
}
.cookie-open-options span {
    width: 100%;
    height: 100%;
    display: block;
    background: url('../../media/cookie-icon.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-color: var(--clr-hov);
    border-radius: 50%;
}
/* Cookies ENDE */

/* 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: 1010px;
}
.txt-module .link-container {
    display: flex;
    flex-direction: row;
    gap: 35px;
    margin-top: var(--fs-txt);
}
/* Text Modul END */
/* Bild neben Text */
.right {
    order: 1;
}
.img-txt img {
    width: 100%;
    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;
    font-weight: 300;
}
.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%;
}
.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 {
    max-height: 100vh; 
    min-height: 500px;
    position: relative;
    color: white;
}
.vid-fullscreen video, .vid-fullscreen img {
    height: 100%;
    min-height: 500px;
    max-height: 100vh;
    width: 100%;
    object-fit: cover;
    object-position: center;
}
.vid-fullscreen .normal-width {
    position: absolute;
    top: -1.13em;
    left: 50%;
    width: 100%;
    transform: translateX(-50%);
    z-index: 5;
    font-size: var(--fs-heading-md);
}
.vid-fullscreen .txt-container h1 {
    margin-bottom: 0px;
}
.vid-fullscreen .txt-container a:hover, .vid-fullscreen .txt-container a:focus {
    color: var(--clr-hov);
}
/* Video Fullscreen ENDE */

/* Filter Text */
/* txt-filter = text, filter-txt = filter */
.filter-txt.visible {
    cursor: default;
}
.orange .filter-txt.visible {
    --clr-arrow: var(--clr-accent-light);
    color: var(--clr-accent-light);
}
.filter-txt.visible {
    --clr-arrow: var(--clr-accent-medium);
    color: var(--clr-accent-medium);
}
.orange .filter-txt.visible:hover::before, .orange .filter-txt.visible:focus::before {
    background:  var(--clr-accent-light);
}
.filter-txt {
    margin-bottom: 25px;
}
.filter-txt:last-child {
    margin-bottom: 50px;
}
.txt-filter-container .txt-container h2 {
    margin-bottom: 2em;
}
/* 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: white;
}
.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;
}
.img-link-scroll a {
    font-weight: 300;
}
/* 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 a {
    font-weight: 300;
}
.fade-txt .link-arrow {
    padding-top: 10px;
}
.fade-txt .txt-container {
    min-height: 100px;
    
}
.fade-img-txt {
    height: 700px;
    width: 1010px;
    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-weight: var(--fw-extralight);
    font-family: var(--ff-heading);
}
.blocks-element a:hover, .blocks-element a:focus {
    color: var(--clr-white);
}
.blocks-element a h3 {
    margin: 0;
    font-weight: var(--fw-bold);
    font-size: var(--fs-heading-sm);
}

/* 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 */

/* Gallery General */

.img-cover {
	object-fit: cover;
}
.img-center {
	object-position: center;
}

.gallery-item {
    position: relative;
    overflow: hidden;
}
.gallery .row {
    margin: -15px;
}
.gallery .row > * {
    padding: 15px;
}
.gallery-item a {
    width: 100%;
    height: 100%;
}
.gallery-item img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transition: transform 0.25s ease;
}
.gallery-item .txt-container {
    --color: rgb(var(--clr-white));
    position: relative;
    z-index: 10;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding: 20px;
    color: var(--color);
    transition: color 0.25s ease;
    background: linear-gradient(to top, rgba(var(--clr-black), 0.3) 25%, rgba(0,0,0,0) 75%);
}
.gallery-item .txt-container span:first-child {
    margin-right: auto;
}
.gallery-item .txt-container span:last-child {
    margin-left: auto;
}
.gallery-item .icon {
	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;
}
.gallery-item .icon-down {
	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;
    z-index: 9999;
    position: absolute;
}
.gallery-item .txt-container .icon {
    font-size: var(--fs-heading-2);
    height: 1em;
    width: 1em;
    margin-bottom: 0.16em;
    margin-left: 15px;
    background: var(--color);
    transition: background 0.25s ease;
    flex-shrink: 0;
}
.gallery-item a:hover .txt-container, 
.gallery-item a:focus .txt-container {
    --color: rgb(var(--clr-green));
}
.gallery-item a:hover img, .gallery-item a:hover img {
    transform: scale(1.1);
}
.gallery {
    margin-top: 15px;
    margin-bottom: 60px;
}
/* Gallery General END */
/* Gallery Preview */
.gallery-preview {
    padding-top: 15px;
}
/* Gallery Preview END */
/* Gallery LB */
.gallery-lb .icon {
    /* background: rgb(var(--clr-purple)); */
    color: #fff;
    font-size: var(--fs-heading-md);
    height: 1em;
    width: 1em;
    transition: background 0.25s ease;
    position: absolute;
    bottom: 0.4em;
    right: 0.4em;
}
.gallery-lb a:hover .icon, 
.gallery-lb a:focus .icon {
    color: rgb(var(--clr-green));
}
/* Gallery LB END */


/* Lightbox */
.glightbox-container .gslide-description {
    background: transparent;
    color: rgb(var(--clr-white));
    font-family: var(--ff-txt);
    font-size: var(--fs-heading-5);
}
.glightbox-container .gdesc-inner {
    padding: 20px 0;
}
.glightbox-container .icon {
    width: 100%;
    height: 100%;
    background: rgb(var(--clr-white));
    transition: background 0.25s ease;
        color: #fff;
    font-size: 54px;
}
.glightbox-container .gbtn {
    padding: 10px;
    background: rgb(var(--clr-purple));
    border-radius: 50%;
    width: 50px;
    height: 50px;
    opacity: 1;
    transition: background 0.25s ease;
    --offset: -3px;
}
.glightbox-container .gbtn.gclose span {
    transform: rotate(45deg) translateX(var(--offset));
}
.glightbox-container .gbtn.gnext span {
    transform: rotate(180deg) translateX(var(--offset));
}
.glightbox-container .gbtn.gprev span {
    transform:  translateX(var(--offset));
}
.glightbox-container .gbtn:hover  {
    background: rgb(var(--clr-green));
}
.glightbox-container .gbtn:hover .icon {
    background: rgb(var(--clr-black));
}
.glightbox-mobile .glightbox-container .gslide-description {
    position: static;
    padding: 0;
    flex: 0 0 auto;
    background: transparent;
    text-align: center;
}
div.gdesc-inner {
        background: #fff;
        padding: 15px;
}
.glightbox-container .gslide-media {
    box-shadow: none;
}
.glightbox-mobile .glightbox-container .gslide-media {
    max-height: 100vh;
}
.glightbox-mobile .glightbox-container .gslide-media img {
    height: 100%;
}
/* Lightbox END */

/* 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-weight: 300;
    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);
    font-weight: var(--fw-extralight);
    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;
}
.lila .masonry-filter button {
    --color: var(--clr-white);
}
.masonry-filter button {
    --color: var(--clr-purple);
    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-purple);
    width: 25px;
    height: 25px;
    display: none;
    border: none;
    background: transparent;
    margin-bottom: 20px;
    margin-left: auto;
    padding: 0;
}
.lila .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-purple);
}
.lila 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 */

/* Swipe Timeline */
.swiper {
    height: 700px;
}
.swiper h3 {
    margin-bottom: 5px;
}
.swiper h2 {
    margin-left: auto;
}
.swiper-slide {
    background-size: cover;
    background-position: center;
}
.swiper-overlay {
    width: 100%;
    height: 100%;
    background: #ffffffc2;
}
.swiper-overlay .normal-width {
    display: flex;
    align-items: center;
}
.swiper .txt-container {
    text-align: right;
    max-height: 100%;
    margin-left: auto;
    margin-right: 200px;
}
.swiper .loading-icon {
    display: flex;
}
.swiper .loading-icon > span {
    filter: opacity(0.5);
}
.swiper-lazy-preloader {
    animation: none;
    border: none;
    border-radius: 0;
}
.swiper .normal-width-wrapper {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.swiper .normal-width {
    width: 100%;
    height: 100%;
    position: relative;
}
.swiper-controls {
    position: absolute;
    left: unset;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.swiper-controls .swiper-pagination, .swiper-controls .swiper-pagination.swiper-pagination-bullets-dynamic, .swiper-controls .swiper-button-next, .swiper-controls .swiper-button-prev {
    position: relative;
    top: unset;
    right: unset;
    bottom: unset;
    left: unset;
    transform: none;
}
.swiper-controls .swiper-pagination.swiper-pagination-bullets-dynamic {
    --margin : 30px;
    margin: var(--margin) 0;
    width: 100px;
    user-select: none;
}
.swiper-controls .swiper-pagination .swiper-pagination-bullet {
    width: auto;
    height: auto;
    font-size: 23px;
    background: transparent;
    color: var(--clr-accent-orange);
    border-radius: 0;
}
.swiper-controls .swiper-pagination.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: transform 0.2s ease,
                top 0.2s ease,
                left 0.2s ease,
                opacity 0.2s ease;
}
.swiper-controls .swiper-pagination .swiper-pagination-bullet-active-next, .swiper-controls .swiper-pagination .swiper-pagination-bullet-active-prev {
    opacity: 0.8;
}
.swiper-controls .swiper-pagination .swiper-pagination-bullet-active-next-next, .swiper-controls .swiper-pagination .swiper-pagination-bullet-active-prev-prev {
    opacity: 0.6;
}
.swiper-controls .swiper-button-next, .swiper-controls .swiper-button-prev {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20px;
    height: 20px;
    margin: 0;
}
.swiper-button-next::before, .swiper-button-next::after, .swiper-button-prev::before, .swiper-button-prev::after {
    content: '';
    position: absolute;
}
.swiper-button-next::before, .swiper-button-prev::before {
    width: 12px;
    height: 12px;
    border-top: 2px solid var(--clr-accent-orange);
    border-right: 2px solid var(--clr-accent-orange);
    
}
.swiper-button-next::before {
    transform: rotate(135deg);
    bottom: 0;
}
.swiper-button-prev::before {
    transform: rotate(-45deg);
    top: 0;
}
.swiper-button-next::after, .swiper-button-prev::after {
    border-right: 1px solid var(--clr-accent-orange);
    border-left: 1px solid var(--clr-accent-orange);
    background: var(--clr-accent-orange);
    width: 0;
    height: 100%;
}

/* Swipe Timeline ENDE */


/* Blocks Img */
.ar-1-1 {
    aspect-ratio: 1 / 1;
}
.blocks-grid .blocks-container {
    --gap: 30px;
    padding: 0 var(--content-padding);
    display: grid;
    grid-template-columns: repeat(var(--colsxl), 1fr); 
    gap: var(--gap);
    max-width: 2000px;
    margin: 0 auto;
}
.blocks-grid .blocks-element {
    width: 100%;
    background: white;
    position: relative;
    height: unset;
}
.blocks-grid .blocks-element img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
.blocks-grid img {
    width: 100%;
}
.blocks-grid .logo-container {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(0.313rem, -0.903rem + 3.889vw, 2.5rem); /* 5 -> 40 */
    padding: 10%;
    aspect-ratio: 1 / 1;
    background: #eeeeee;
}
/* Danke Apple für nichts, IPad 9 "supported" aspect-ratio, ist aber bugged, nimmt Inhaltbreite und idk was für ne Höhe -> kein Quadrat
Deswegen position absolut, ändern wenn Apple das Problem fixed
--> TL:DR  Safari is the new IE */
.blocks-grid .blocks-element > * {
    position: absolute;
    width: 100%;
    height: 100%;
    padding: 15%;
    top: 0;
    left: 0;
}


.blocks-grid .blocks-element > * {
    padding: 8%;
}
.content-container {
    display: grid;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
}
.img-txt img {
    position: relative;
    /* bottom: 40px; */
}
.blocks-grid.two-cols .col {
    --gap: 15px;
    display: grid;
    grid-template-columns: repeat(var(--colsxl), 1fr); 
    gap: var(--gap);
    grid-template-rows: auto 1fr;
}
.blocks-grid.two-cols h2 {
    grid-column: 1 / span var(--colsxl);
}
.blocks-grid.two-cols .col2 {
    --cols: 2;
    --colsmd: 2;
    --colsxl: 2;
}
.blocks-grid.two-cols .col3 {
    --cols: 2;
    --colsmd: 3;
    --colsxl: 3;
}
.blocks-grid.two-cols .col4 {
    --cols: 3;
    --colsmd: 4;
    --colsxl: 4;
}
.blocks-grid .blocks-container.col3 {
    --cols: 2;
    --colsmd: 2;
    --colsxl: 3;
}
.blocks-grid .blocks-container.col4 {
    --cols: 3;
    --colsmd: 3;
    --colsxl: 4;
}
.blocks-grid .blocks-container.col5 {
    --cols: 3;
    --colsmd: 4;
    --colsxl: 5;    
}
.blocks-grid .blocks-container.col6 {
    --cols: 3;
    --colsmd: 5;
    --colsxl: 6;   
}
.blocks-grid .blocks-container.col7 {
    --cols: 3;
    --colsmd: 5;
    --colsxl: 7;
}
.blocks-grid .blocks-container.col8 {
    --cols: 3;
    --colsmd: 5;
    --colsxl: 8;
}


.blocks-grid.two-cols .blocks-container{
    grid-template-columns: 50% 50%;
}
.blocks-grid.two-cols .col2{
    /* max-width: 50%; */
    grid-template-columns: 50% 50%;
}
.blocks-grid.two-cols .col3{
    /* max-width: 50%; */
    grid-template-columns: 33.333% 33.333% 33.333%;
}
.blocks-grid.two-cols .col4{
    /* max-width: 50%; */
    grid-template-columns: 25% 25% 25% 25%;
}



/*MEDIA QUERIES*/
@media (max-width: 1199px) {
    .fade-txt-img {
        min-height: 680px;
    }
    .fade-img-txt {
        width: 850px;
        height: 600px;
    }
    .img-first-row {
        flex-direction: column;
        gap: clamp(1.25rem, -0.417rem + 8.889vw, 6.25rem);
    }
    .img-second-row {
        flex-direction: column-reverse;
        gap: clamp(1.25rem, -0.417rem + 8.889vw, 6.25rem);
    }
    .img-first-row .col-md-4, .img-second-row .col-md-4 {
        max-width: 100%;
    }
    .img-first-row .col-md-8, .img-second-row .col-md-8 {
        max-width: 100%;
    }
    .img-first-row .txt-container, .img-second-row .txt-container {
        padding-top: 0px;
    }
    .img-first-row img {
        position: relative;
        bottom: 50px;
    }
}
@media (max-width: 991px) {
    :root {
        --fs-heading-lg: 60px;
        --fs-heading-md: 35px;
        --fs-txt: 17px;
    }
    
    header .nav-links {
        display: none;
    }
    .language-switch {
        margin-right: 25px;
    }
    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;
    }
    

    .blocks-grid .blocks-container {
        --gap: 15px;
    }
}
@media (max-width: 767px) {
    :root {
        --padding-section-top: 75px;
        --padding-section-bottom: 75px;
        --fs-heading-sm: 20px;
    }
    nav .links {
        align-items: flex-start;
    }
    nav .links .nav-links a {
        margin-bottom: 20px;
    }
    footer .row > div {
        margin-bottom: 15px;
    }
    footer a, footer h2 a {
        margin-bottom: 20px;
    }
    footer .copyright {
        margin-top: 20px;
        padding-bottom: 25px;
    }
    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%;
    }
    .img-txt img, .news-container img {
        height: 350px;
    }
    .img-txt, .vid-txt-grid {
        margin-top: 50px;
    }
    /* .right {
        order: 0;
    } */
    .masonry-item {
        width: 50%;
    }
    .buttons {
        margin-left: auto;
        margin-right: auto;
    }
    .swiper-overlay .txt-container {
        margin-right: 0;
        padding: 0 15px;
        margin-top: 200px;
        text-align: center;
    }
    .swiper {
        height: 600px;
    }
    .swiper-overlay .normal-width {
        align-items: flex-start;
    }
    .swiper .txt-container h3 {
        display: none;
    }
    .swiper-controls {
        flex-direction: row;
        top: 50px;
        left: 50%;
        right: unset;
        transform: translateX(-50%);
    }
    .swiper-controls .swiper-pagination.swiper-pagination-bullets-dynamic {
        margin: 0 var(--margin);
    }
    .swiper-controls .swiper-button-prev, .swiper-controls .swiper-button-next {
        transform: rotate(-90deg);
    }
    .txt-scroll {
        padding: 5px;
    }
    .scroll-3 > * {
        min-width: 215px;
    }
    .lila .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;
    }
    .blocks-grid.two-cols .blocks-container {
        grid-template-columns: repeat(1, 1fr);
        gap: 100px;
    }
    .blocks-grid.two-cols .col {
        grid-template-columns: repeat(var(--colsmd), 1fr); 
    }
    .blocks-grid.two-cols h2 {
        grid-column: 1 / span var(--colsmd);
    }
    .blocks-grid .blocks-container {
        grid-template-columns: repeat(var(--colsmd), 1fr); 
    }
}
@media (max-width: 576px) {
    :root {
        --fs-heading-lg: 60px;
        --fs-heading-md: 25px;
        --fs-txt: 16px;
    }
    footer h1 {
        font-size: 50px;
        margin-bottom: 1em;
    }
    nav .logo img {
        height: 15px;
    }
    header .logo img, nav .logo img {
        height: 40px;
    }
    .vid-fullscreen .txt-container {
        max-width: 400px;
    }
    .vid-fullscreen h1 {
        position: relative;
        bottom: 12px;
    }
    .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;
    }
    .swiper-controls .swiper-button-next, .swiper-controls .swiper-button-prev {
        position: absolute;
    }
    .swiper-controls .swiper-button-prev {
        left: 15px;
    }
    .swiper-controls .swiper-button-next {
        right: 15px;
    }
    .swiper-controls {
        width: 100%;
    }
    .swiper-controls .swiper-pagination.swiper-pagination-bullets-dynamic {
        position: absolute;
    }
    .blocks-grid.two-cols .col {
        grid-template-columns: repeat(var(--cols), 1fr); 
    }
    .blocks-grid.two-cols h2 {
        grid-column: 1 / span var(--cols);
    }
    .blocks-grid .blocks-container {
        grid-template-columns: repeat(var(--cols), 1fr); 
    }
}


@media (min-width: 1200px) {
    .content-container {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

