body {
    font-family: 'GT America', Arial, sans-serif;
    margin: 0;
    padding: 0;
    background-color: white;
}

html {
    overflow-x: hidden;  /* Verhindert das horizontale Scrollen */
    width: 100%;  /* Stellt sicher, dass der Body die volle Breite nutzt */
    margin: 0;  /* Verhindert, dass der Browser Standardabstände hinzufügt */
    padding: 0;  /* Verhindert unerwünschte Innenabstände */
}


@font-face {
    font-family: 'GT America';
    src: url('webfonts/GTAmerica/GT-America-Standard-Regular.woff2') format('woff2'), url('webfonts/GTAmerica/GT-America-Standard-Regular.woff') format('woff');
    font-display: swap;
}

@font-face {
    font-family: "WalbaumPro18ptRegular";
    src: url('/webfonts/WalbaumPro18ptRegular/font.woff2') format('woff2'),

    font-display: swap;
}


  * {
    -webkit-tap-highlight-color: transparent;
  }
  


/* Fügen Sie dies zu Ihrem CSS hinzu */
.fade-in-right {
    opacity: 0;
    transform: translateX(100%);
    transition: opacity 1s ease-out, transform 1s ease-out;
}

.fade-in-right.active {
    opacity: 1;
    transform: translateX(0);
}

p{
    font-family: 'GT America';
}


/* INTRO */


* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
.intro-layer {
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    cursor: pointer;
    overflow: hidden;
}
.intro-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
    transform: scale(1.05);
    transition: transform 2.5s ease;
}
.intro-img.loaded {
    transform: scale(1.0);
}
#musicButton {
    position: absolute;
    top: 20px;
    right: -240px; /* Startposition außerhalb des Bildschirms */
    padding-left: 20px;
    background: rgba(0, 0, 0, 0.25);
    color: white;
    border: none;
    cursor: pointer;
    border-radius: 4px;
    display: flex;
    align-items: center;
    font-size: 12px;
    letter-spacing: 2px;
    transition: right 1s ease, opacity 0.5s ease-in-out; /* Combine transitions */
    white-space: nowrap;
}

#musicButton.loaded {
    right: 20px; /* Endposition innerhalb des Bildschirms */
}
#musicButton:hover {
    opacity: 0.9;
    transition: opacity 0.5s ease-in-out;
}

#buttonText{
    opacity: 1;
    transition: opacity 0.5s ease-in-out;
}

#buttonText:hover {
    opacity: 0.25;
    transition: opacity 0.5s ease-in-out;
}


.icon-circle {
    width: 40px;
    height: 40px;
    background-color: #1F1F1F;
    border-radius: 0 4px 4px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 14px;
}
.icon-circle img {
    width: 20px;
    height: 20px;
}
@keyframes dots {
    0% { content: 'PLAYING'; }
    33% { content: 'PLAYING.'; }
    66% { content: 'PLAYING..'; }
    100% { content: 'PLAYING...'; }
}
#buttonText.playing::after {
    content: 'PLAYING';
    animation: dots 1.5s steps(4, end) infinite;
}
#buttonText.playing {
    width: 75px; /* Feste Breite nur bei PLAYING */
}
#buttonText {
    display: inline-block;
    text-align: left; /* Text linksbündig ausrichten */
}





@keyframes blink {
0% { opacity: 0.8; }
50% { opacity: 1.0; }
100% { opacity: 0.8; }
}
.enter-text {
    font-family: Arial, Helvetica, sans-serif;
    position: absolute;
    bottom: 50vh;
    padding: 10px 20px;
    text-align: center;
    color: white; 
    font-size: 12px;
    letter-spacing: 2px;
    opacity: 0;
    background-color: rgba(0, 0, 0, 1.0);
    border-radius: 5px;
    animation: blink 3s infinite;
    animation-fill-mode: forwards;
}







.container {
    max-width: calc(100% - 40px);
    margin: 0px 20px 300px;
    padding: 20px 0;
}

.navbar {
    display: flex;
    justify-content: space-between;
    padding: 20px 20px;
    z-index: 1000;
}

.navbar::after {
    content: "";
    position: fixed;
    top: 0;
    right: 0;
    width: 50%;
    height: 60px;
    background-color: white;
    z-index: 999;
}

.index-page .navbar::after {
    width: 100%;
}



.logo{
    z-index: 1007;
    mix-blend-mode: difference;
    position: fixed;
    top: 24px;
    left: 20px;
}

.logo-right {
    position: sticky; /* Sticks the element in place */
    top: 25px; /* Adjust as needed */
    margin-top: 6px;
    margin-bottom: 60px;
    mix-blend-mode: difference;
    z-index: 1099;
}

.logo-project {
    position: fixed; /* Sticks the element in place */
    top: 18px; /* Adjust as needed */
    margin-top: 6px;
    margin-bottom: 60px;
    mix-blend-mode: difference;
    z-index: 1099;
}

.logo-project {
    margin-left: calc(50% + 24px);
}

.logo-img {
    z-index: 1007;
    mix-blend-mode: difference;
    position: fixed;
}





h2{
    font-family: "WalbaumPro18ptRegular";
    font-size: 21px;
    font-weight: 400;
    margin-bottom: 0px;

}

p{
    font-size: 16px;
    line-height: 1.6;
}

sup {
    font-size: 12px;
    position: relative;
    top: -10px;
    left: -6px;
}

h3{
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 2px;
    margin-bottom: 0px;
    margin-top: 14px;
}

.grid-item {
    text-decoration: none;
    color: black;
}

.grid-item h3 {
    position: relative;
    display: inline-block;
}

.grid-item h3::after {
    content: '';
    position: absolute;
    width: 0;
    height: 1px;
    display: block;
    margin-top: 3px;
    left: 0;
    background: black;
    transition: width 0.3s ease-in-out;
}

.grid-item:hover h3::after {
    width: 99.5%;
}

.grid-item:hover .date {
    opacity: 1.0;
    transition: opacity 0.6s ease;
}






h4{
    font-family: "WalbaumPro18ptRegular";
    font-size: 21px;
    font-weight: 300;
    margin-top: 10px;
    margin-bottom: 40px;
}

.release-concert {
    font-family: 'GT America', sans-serif; /* Stelle sicher, dass die Schriftart GT America eingebunden ist */
    letter-spacing: 2px;
    text-transform: uppercase;
}

.event-subtitle{
    font-family: "WalbaumPro18ptRegular";
}

.event-subtitle .recorded {
    letter-spacing: 3px;
}



.date{
    font-size: 12px; 
    letter-spacing: 2px;
    margin-top: 4px;
    opacity: 0.4;
    transition: opacity 0.6s ease;
}

.menu { 
    position: fixed;
    right: 20px;
    z-index: 1000; /* Optional: Stellt sicher, dass das Menü über anderen Elementen liegt */
    text-decoration: none;
    color: black;
}

.menu a {
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 2px;
    margin-left: 20px;
    text-decoration: none;
    opacity: 0.4;
    transition: opacity 0.3s ease;
    color: black;
    position: relative; 
    z-index: 1; 
}

.menu a:hover {
    opacity: 1.0;
}

.menu a.active {
    opacity: 1.0;
}

.grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 20px;
    row-gap: 60px;
    margin-top: 18px;
}



/* STELLT SICHER, DASS DIESE REGELN NUR AUF DER INTERVIEW-SEITE GELTEN (ABSTAND & LINKSBÜNDIGKEIT) */

/* Stellt die Linksbündigkeit für Überschrift und Datum NUR auf der Interview-Seite sicher */
#interview-content.right h3, 
#interview-content.right .date {
    text-align: left !important; 
    letter-spacing: 0;
}

/* Stellt die grundlegende Formatierung für die Dialogteile bereit, fügt den Abstand hinzu und stellt die Linksbündigkeit NUR auf der Interview-Seite sicher */
#interview-content.right .dialogue-part {
    /* Base styles */
    width: 540px; 
    font-size: 14px; 
    font-weight: 400; 
    line-height: 1.6; 
    z-index: 1;
    
    /* FIX: Alignment und Abstände für "parts" */
    text-align: left !important; /* Erzwingt die Linksbündigkeit */
    margin-top: 20px; 
    margin-bottom: 20px; /* <--- ERZEUGT DEN ABSTAND ZWISCHEN DEN REDEBEITRÄGEN */
    padding-bottom: 0px; 
}
.dialogue-date{
    font-size: 12px!important;
}

/* Macht die in <strong> Tags verpackten Initialen fett NUR auf der Interview-Seite */
#interview-content.right .dialogue-part strong {
    font-weight: bold; 
}

#interview-content.right{
    margin-top: 200px;
}

/* Add to style.css */
.interview-centered-title{
    text-align: center;
    font-size: 14px;
    letter-spacing: 2px;
}

.interview-centered-memo {
    margin-top: 10px!important;
    margin-bottom: 20px!important;
    text-align: center;
    max-width: 500px;
    font-size: 10px!important;
    letter-spacing: 0.1em;

}

.interview-centered-quote {
    margin-top: 10px!important;
    margin-bottom: 20px!important;
    text-align: center;
    max-width: 500px;
    font-size: 21px!important;
    font-family: "WalbaumPro18ptRegular";
}

.interview-strich{
    text-align: center;
    margin: 10px;
    font-size: 14px!important;
}







@media (max-width: 1300px) {
    .grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 900px) {
    .grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .grid {
        grid-template-columns: 1fr;
    }
}

.grid-item {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1), transform 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.grid-item.visible {
    opacity: 1;
    transform: translateY(0);
}





.video-container {
    position: relative;
    width: 540px;
    margin: 0 auto;
    overflow: hidden; /* Stellt sicher, dass der Inhalt nicht überläuft */
}


.video-container-iframe {
    position: relative;
    width: 100%; /* Container nimmt volle Breite ein */
    height: 0;
    padding-bottom: 56.25%; /* 16:9 Seitenverhältnis, 9/16 = 56.25% */
    margin: 0 auto;
    overflow: hidden;
}

.video-container-iframe iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Media Query für mobile Geräte */
@media (max-width: 768px) {
    .video-container-iframe {
        width: 100vw; /* Volle Breite des Viewports */
        height: auto; /* Automatische Höhe basierend auf dem Seitenverhältnis */
    }
}


.sound-play-toggle {
    position: absolute;
    top: 10px; /* Abstand vom oberen Rand */
    left: 50%;
    transform: translateX(-50%);
    background: none;
    border: none;
    cursor: pointer;
    z-index: 2;
}

.sound-play-icon {
    width: 50px; /* Größe des Icons anpassen */
    height: 50px;
    display: none;
}
.video-container-iframe {
  width: calc(100% - 40px);
  margin-left: 20px;
  margin-right: 20px;
}




@media (max-width: 700px) {
    .sound-play-icon {
        display: block;
    }
}





.video {
    width: 540px;
    height: 304px;
    background-color: black;
}



.video-container {
    position: relative;
}

.video-container.fullscreen {
    position: fixed;
    top: 0;
    left: -75vw;
    width: 100vw;
    height: 101vh;
    z-index: 9999;
    background-color: rgba(0, 0, 0, 0); /* Hintergrundfarbe für den Vollbildmodus */
    display: flex;
    justify-content: center;
    align-items: center;
}

.video-container.fullscreen .video {
    width: 100vw; /* Fixed missing semicolon */
    height: 104vh;
    padding: 130px;
}

.video-container.fullscreen .custom-controls.hidden {
    bottom:0px;
    opacity: 1;
}

.maximize-icon {
    margin-left: 10px;
    width: 14px;
    height: 14px;
    transition: opacity 0.3s ease-in-out;
}

.maximize-icon:hover {
    opacity: 0.4;
}

.right {
    width: 50%;
}

.video-container.fullscreen .right {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999; /* Ensure z-index is set to 9999 */
}

.video-container.fullscreen .right .cover-row{
    margin-top: 0;
}

#player{
  width: calc(100% - 40px)
    margin-left:20px;
  margin-right:20px;
}




/* Hide default controls */
.video::-webkit-media-controls {
    display: none !important;
}

.video::-webkit-media-controls-enclosure {
    display: none !important;
}

/* Custom controls */
.custom-controls {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: rgba(0, 0, 0, 1.0);
    color: white;
    padding: 10px 20px;
    margin-bottom: 3px;
    opacity: 1;
    transition: opacity 1.0s ease-in-out;
}

.custom-controls.hidden {
    opacity: 0;
}

.video-container:hover + .custom-controls {
    opacity: 1;
}

.video:hover + .custom-controls {
    opacity: 1;
}



.custom-controls button {
    background: none;
    border: none;
    color: white;
    font-size: 20px;
    cursor: pointer;
}

.custom-controls button:hover {
    color: #ccc;
}

.play-pause{
    padding-left: 0px;
    padding-right: 10px;
    width: 10px;
    transition: opacity 0.3s ease-in-out;
}
.play-pause:hover {
    opacity: 0.4;
}

.mute-icon {
    margin-top: 4px;
    margin-right: 4px;
    width: 18px;
    height: 18px;
    transition: opacity 0.3s ease-in-out;
}

.mute-icon:hover {
    opacity: 0.4;
}

.progress-bar-container {
    flex-grow: 1;
    margin: 0 20px;
    position: relative;
    height: 4px;
}

.progress-bar {
    position: relative;
    width: 100%;
    height: 2px;
    background-color: #515151;
}

.progress-bar-fill {
    height: 100%;
    background-color: #ffffff;
    width: 0;
}

.progress-bar-thumb {
    position: absolute;
    top: -4px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #ffffff;
    transform: translateX(-50%);
    cursor: pointer;
}




.cover-row h2 {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeIn 0.5s ease-in-out forwards;
}



.image-container {
    overflow: hidden; /* Verhindert, dass das Bild über den Rahmen hinausgeht */
    position: relative; /* Stellt sicher, dass das Bild innerhalb des Containers bleibt */
}

.image-container img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 1.4s cubic-bezier(0.42, 0, 0.58, 1); /* Animation für die Skalierung */
    transform-origin: center center; /* Skalierung vom Zentrum aus */
}

.image-container:hover img {
    transform: scale(1.025); 
}

.img-container-about {
    width: 100%;
    max-width: 100%; /* Maximal 100% der verfügbaren Breite */
    position: relative; /* Positionierung für das quadratische Bild */
    display: none; /* Standardmäßig ausgeblendet */
    margin-bottom: 10px;
}

.photo-credit {
    position: absolute;
    bottom: 30px;
    left: 20px;
    color: white;
    opacity: 0.4;
    font-size: 14px;
    padding: 2px 5px; /* Optional: adds some padding around the text */
    z-index: 99;
}

.img-container-about img {
    width: 100%;
    height: auto;
    display: block;
}

.img-container-about {
    width: 100%;
    padding-top: 100%; /* 1:1 Aspect Ratio */
    position: relative; /* Positionierung für das quadratische Bild */
    display: none; /* Standardmäßig ausgeblendet */
}

.img-container-about img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Bild vollständig in den Container einpassen */
    display: block;
}


@media (max-width: 1100px) {
    .img-container-about {
        display: block; /* Sichtbar bei einer Breite von weniger als 1000px */
    }
}

.cover-row{
    margin-top: 42px;
    margin-bottom: 60px;
}

.cover-row {
    width: 100%;  /* Stellt sicher, dass die Breite des Elements den Viewport ausfüllt */
    overflow: hidden;  /* Verhindert das horizontale Scrollen, falls Inhalt überläuft */
    box-sizing: border-box;  /* Verhindert, dass Padding und Border die Breite überschreiten */
}

.right .cover-row {
    margin-top: 20%;
}

.content {
    display: flex;
    margin-top: -60px;
    z-index: 0;
}

.left, .right {
    width: 50%;
    box-sizing: border-box;
}






.left {
    position: fixed;
    height: 103%; /* Stellt sicher, dass der Container die gesamte Höhe einnimmt */
    width: 50%; /* Stellt sicher, dass der Container 50% der Breite einnimmt */
    pointer-events: auto; /* Ermöglicht Mausereignisse auf der linken Seite */
    overflow: hidden; /* Verhindert, dass das Bild über den Container hinausläuft */
}

.left .img-container {
    width: 100%;
    height: 100%;
    animation: shrink 1.5s ease-in-out forwards; /* Animation anwenden */
}

.left img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@keyframes shrink {
    from {
        transform: scale(1.03); /* Startgröße */
    }
    to {
        transform: scale(1.0); /* Endgröße */
    }
}

.right {
    position: relative;

    margin-left: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateY(10px); /* Startposition leicht von unten */
    }
    to {
        opacity: 1;
        transform: translateY(0); /* Endposition */
    }
}

.right > * {
    opacity: 0;
    animation: fadeInRight 0.7s ease-in-out forwards;
}


.right .cover-row {
    animation-delay: 1.5s;
}

.right h3 {
    animation-delay: 0.25s;
}

.right .date {
    animation-delay: 0.35s;
}

.right .links {
    animation-delay: 1.0s;
}

.right .description {
    animation-delay: 1.5s;
}


.h3-about{
    margin-top: 16px;
}
.h2-about{
    margin-bottom: 21px;
    margin-left: -2px;
    margin-top: 0px!important;
}


.right-text {
    position: relative;

    margin-left: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    text-align: left;
    font-size: 14px;
    line-height: 1.6;
    padding: 24px;
    max-width: 800px;
    margin-bottom: 100px;
}

.description{
    margin-top: 40px;
    width:540px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    text-align: left;
    padding-bottom: 160px;
    z-index: 1;
}

p.description.fade-in,
p.date.fade-in,
h3.fade-in {
    z-index: -10!important;
}

h3.fade-in{
    margin-top: -34px;
}

.event-description{
    margin-top: 50px;
    width:650px;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.6;
    padding-bottom: 80px;
}

.links{
    font-size: 16px;

    margin-top: 40px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

p.links{
    margin-top: 15px!important;
}

a.link{
    margin-top: 16px!important;
}

.link {
    text-decoration: none;
    color:#999999;
    transition: color 0.5s ease-in-out;
}

.link:hover {
    color:#000000;
}


.social-link{
    font-size: 12px;
    letter-spacing: 2px;
    display: flex;
    align-items: center;
    opacity: 0.4;
    transition: opacity 0.75s ease;
    color: inherit;
    text-decoration: none;
    margin-right: 30px;
}

.social-link:hover{
    opacity: 1.0;
}

.socials {
    position: relative; /* oder 'fixed', je nach Bedarf */
    bottom: 20px;
}

.links a {
    color: inherit;
    text-decoration: none;
    margin-right: 30px;
}

.links a:last-child {
    margin-right: 0;
}

.links a:hover {
    text-decoration: none;
}
.icon{
    max-height: 16px;
    visibility: hidden;
}

.social-link .icon {
    margin-right: -16px;
}

.proj-cover{
    width: 540px;
    height: 540px;
}


/* Event Overlay */
.event-overlay {
    background-color: black;
    color: white;
    position: fixed;
    top: 100%; /* Startposition: 100% von oben */
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    z-index: 1010;
    transition: top 0.8s ease-in-out; /* Übergangseffekt mit 1 Sekunde Verzögerung */
    opacity: 0.95; /* Sichtbarkeit auf 95% */
    border-radius: 28px;
}

.event-overlay.animate {
    top: 90%; /* Endposition: 90% von oben */
}


.event-overlay.open {
    top: 60px; /* Endposition: 0% von oben */
}

.event-overlay h1 {
    font-size: 20px;
    margin: 10px 0;
}

.event-overlay p {
    margin: 10px 0;
    max-width: 650px;
}

.event-overlay .close-btn {
    position: absolute;
    top: 10px;
    right: 20px;
    font-size: 18px;
    cursor: pointer;
    color: white;
}

.event-title {
    margin-top: -4px;
    transition: margin-top 0.8s ease-in-out, opacity 0.8s ease-in-out;
    opacity: 0;
}

.event-overlay.open .event-title {
    margin-top: 200px;
    opacity: 1.0;
}

.event-description {
    margin-top: -20px!important;
    transition: margin-top 1.6s ease-in-out, opacity 1.6s ease-in-out;
    opacity: 0;

}

.event-overlay.open .event-description {
    margin-top: 40px!important;
    opacity: 1.0;
}



#closeBtn {
    margin-top: 10px;
    margin-right: 4px;
    font-size: 12px;
    letter-spacing: 2px;
    opacity: 1.0;
    transition: opacity 0.8s ease-in-out;
}

.event-overlay:hover #closeBtn {
    opacity: 0.4;
}

.event-overlay.open #closeBtn {
    opacity: 1.0;
}

.event-overlay.open #closeBtn:hover {
    opacity: 0.4;
}

/* Hover Animation */
.event-overlay:not(.open):hover {
    animation: hoverAnimation 2.5s ease-in-out infinite;
}

@keyframes hoverAnimation {
    0% {
        transform: translateY(0);
    }
    20% {
        transform: translateY(-5px);
    }
    50% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(0);
    }
}

.participate-btn {
    font-size: 12px;
    letter-spacing: 2px;
    padding: 10px 20px;
    background-color: #000;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.1); /* Weiße Umrandung mit Opazität 0.2 */
    cursor: pointer;
    border-radius: 5px;
    opacity: 1.0;
    transition: opacity 0.5s ease-in-out; /* Übergangseffekt */
    text-decoration: none; /* Remove underline */
}

.participate-btn:hover {
opacity: 0.6;
}



.container-news{
    margin-top: 118px!important;
}

.container-news-2{
    margin-bottom: 100px!important;
}


.container-news, .container-news-2, .container-news-3 {
    display: flex;
    width: 100%;
    height: 50%;
    opacity: 0;
    transform: translateY(20px);
    animation: slideIn 1s ease-out forwards;
    margin-top: 20px;
    margin-left: 20px;
}

.container-news {
    animation-delay: 0s;
}

.container-news-2 {
    animation-delay: 0.9s;
    margin-bottom: 20px!important;
}

.container-news-3 {
    animation-delay: 1.8s;
    margin-bottom: 20px;
}



.left-news {
    display: flex;
    justify-content: center;
    align-items: center;
}

.left-news img {
    display: block;
    width: 400px;
    height: 400px;
    object-fit: cover;
}

.right-news {
    display: flex;
    flex-direction: column;
   /* justify-content: center;*/
    padding: 0px 20px 20px 20px;
    box-sizing: border-box;
    text-align: left;
}
.right-news h3, .right-news h2, .right-news p, .right-news a {
    margin: 0;
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 0.5s ease-out forwards;
    max-width: 730px;
    margin-right: 20px;
}

.right-news h3{
    margin-bottom: 20px;   
}

.right-news p {
    margin-top: 6px;
}

.container-news .right-news h3 {
    animation-delay: 0.25s;
}

.container-news .right-news h2 {
    animation-delay: 0.5s;
}

.container-news .right-news p {
    animation-delay: 0.75s;
}

.container-news .right-news a {
    animation-delay: 1.0s;
}



.container-news-2 .right-news h3 {
    animation-delay: 1s;
}

.container-news-2 .right-news h2 {
    animation-delay: 1.25s;
}

.container-news-2 .right-news p {
    animation-delay: 1.5s;
}



.container-news-3 .right-news h3 {
    animation-delay: 1.75s;
}

.container-news-3 .right-news h2 {
    animation-delay: 2.0s;
}

.container-news-3 .right-news p {
    animation-delay: 2.25s;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}





/* INDICATOR for Projects */

.dots {
    display: flex;
    justify-content: center;
    align-items: center;
}

.dots a {
    text-decoration: none; /* Remove underline from links */
}

.dots a:hover {
    background-color: #000;
    height: 14px!important;
    padding-top: -16px;
    padding-bottom: 20px;
}

.dots span {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 0px;
    background-color: #ccc;
    border-radius: 50%;
    transition: background-color 0.3s;
}

.dots span.active {
    background-color: #000;
}


.indicator {
    letter-spacing: 2px;
    position: fixed;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 50%;
    height: 40px;
    background-color: white;
    bottom: 0;
    padding-bottom: 10px;
}

.indicator .arrow {
    cursor: pointer;
    margin: 0 10px;
    font-size: 12px;
    position: relative;
    opacity: 0.4;
    transition: opacity 0.75s ease;
}

.indicator .arrow:hover {
    opacity: 1.0;
}

.indicator .dots {
    display: flex;
    align-items: center;
}

.indicator .dots span {
    width: 4px;
    height: 4px;
    background-color: #ccc;
    margin: 0 5px;
    cursor: pointer;
}

.indicator .dots .active {
    background-color: #000;
}

@keyframes arrow-hover-left {
    0% { transform: translateX(0); }
    20% { transform: translateX(-3px); }
    50% { transform: translateX(0); }
    100% { transform: translateX(0); }
}

@keyframes arrow-hover-right {
    0% { transform: translateX(0); }
    20% { transform: translateX(3px); }
    50% { transform: translateX(0); }
    100% { transform: translateX(0); }
}

.indicator .arrow:hover .arrow-icon-left {
    animation: arrow-hover-left 1.5s infinite;
}

.indicator .arrow:hover .arrow-icon-right {
    animation: arrow-hover-right 1.5s infinite;
}

.arrow-icon-left, .arrow-icon-right {
    display: inline-block;
}

.arrow-icon-left {
    margin-left: 20px;
}

.arrow-icon-right {
    margin-right: 20px;
}


.proj-cover, .description {
    transition: width 0.5s ease, height 0.5s ease; /* Adjust the duration and easing as needed */
}


/* Mobile Menu */


.menu-button {
    display: none;
    cursor: pointer;
    font-size: 12px;
    letter-spacing: 2px;
    background: none;
    border: none;
    color: black;
    position: absolute;
    top: 20px;
    right: 20px;
}

.overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: white;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}

.overlay.show {
    display: flex;
    opacity: 1;
}

.overlay.hide {
    opacity: 0;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}



.overlay a {
    font-size: 12px;
    letter-spacing: 2px;
    margin: 10px 0;
    text-decoration: none;
    color: black;
}

.logo-overlay{
    position: absolute;
    mix-blend-mode: difference;
    top: 20px;
    left: 20px;
}

.menu-item-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.menu-item {
    font-size: 24px;
    margin: 10px 0;
    text-decoration: none;
    color: black;
    text-align: center;
    width: 100%;
    opacity: 0;
    transform: translateY(20px);
}

@keyframes fadeIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.separator {
    width: 100vw;
    height: 1px;
    background-color: #00000020;
    opacity: 0.2;
    margin: 10px;
    opacity: 0;
    transform: translateY(20px);
}

.close-button {
    position: absolute;
    top: 20px;
    right: 25px;
    font-size: 12px;
    letter-spacing: 2px;
    cursor: pointer;
}

.sup-mob {
    margin-right: -22px!important;
    margin-left: 7px;
    font-size: 9px;
    vertical-align: super;
}






.half-width-footer {
    width: 50%;
    margin-left: auto; /* Align the footer to the right */
}

footer {
    display: flex;
    justify-content: space-between;
    padding: 20px 10px;
    padding-bottom: 126px;
    margin-bottom: 0px;
    position: relative;
    background-color: #ffffff;
}

footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: rgba(0, 0, 0, 0.05);
}

.footer-left a,
.footer-right a {
    margin: 0 10px;
    font-size: 12px;
    letter-spacing: 2px;
    text-decoration: none;
    color: #000;
    opacity: 0.4;
    transition: opacity 0.3s ease-in-out;
}

.footer-left a:hover,
.footer-right a:hover {
    opacity: 1.0;
}

.footer-left {
    display: flex;
}

.footer-right {
    margin-top: -4px;
}

/* Specific rule for about.html */
.about-footer {
    padding-bottom: 20px;
    padding-left: 14px;
    position: fixed;
    bottom: 0px;
    left: 0;
    right: 0;
}

.right-text > * {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.right-text.show{
    margin-top: 132px;
}

.right-text.show > * {
    opacity: 1;
    transform: translateY(0);
}



.right-text.show > *:nth-child(2) {
    transition-delay: 0.4s;
}

.right-text.show > *:nth-child(3) {
    transition-delay: 0.6s;
}

.right-text.show > *:nth-child(4) {
    transition-delay: 0.8s;
}

.right-text.show > *:nth-child(5) {
    transition-delay: 1s;
}

.right-text.show > *:nth-child(6) {
    transition-delay: 1.2s;
}

.right-text.show > *:nth-child(7) {
    transition-delay: 1.4s;
}















@media (max-width: 1300px) {

    .photo-credit {
        bottom: 5px;
        left: 5px;
        font-size: 12px;
    }


    .proj-cover {
        width: 400px;
        height: 400px;
    }

    .description{
        width: 400px;
    }
}



        @media (max-width: 1100px) {

.enter-text{
    bottom: 49%;
}


.right-text.show{
    margin-top: 80px;
}

.container-news{
    margin-top: 60px!important;
}

            h2{
               font-size: 21px;
            }

h3{
    margin-top: 8px;
}

.event-subtitle{
    margin-top: 4px;
}

.sound-play-toggle{
    top: 36%;
}

.logo-right{
    margin-top:  20px;
}
.logo-project{
    margin-left: 20px;
}

.logo-img{
    top: 22px;
}

.right .cover-row{
    margin-top: 100px;
}

            .menu { display: none; }
            .menu-button {
                 display: block; 

                right: 17px;
                z-index: 999;
                position: fixed;
                }

                .close-button {
                    display: block; 
                    top: 20px;
                    right: 16px;
                    z-index: 1008;
                    position: fixed;
                }

                .right-text{
                    max-width: 100vw;
                }


            .navbar {
                padding: 20px;
                padding-bottom: 36px;
                height: 20px;
                background-color: white;
                position: fixed; /* Fixiert die Navbar */
                top: 0; /* Positioniert die Navbar am oberen Rand */
                left: 0; /* Positioniert die Navbar am linken Rand */
                width: 100%; /* Stellt sicher, dass die Navbar die gesamte Breite einnimmt */
                max-width: 100vw; /* Verhindert, dass die Navbar über den Viewport hinausläuft */
                z-index: 99; /* Stellt sicher, dass die Navbar über anderen Elementen liegt */
            }

            .navbar::after{
                background-color: transparent;
            }

            .event-overlay.open .event-title{
                margin-top: 30%;
            }
            .video-container{
                margin-top: 0px!important;
                width: calc(100% - 40px);
                margin: 0 0px;
            }


            .grid {
                margin-top: 16px;
            }
            





            @media (min-height: 700px) {
                .event-overlay.open .event-title {
                    margin-top: 45%;
                }
            }

            h4{
                margin-top: 10px;
            font-size: 16px;
            }

            #closeBtn{
                opacity: 0;
                transition: opacity 2s cubic-bezier(0.25, 1, 0.5, 1); /* Schnell am Anfang, glatter zum Ende */
                margin-right: 0px;
            }

            .event-overlay.open #closeBtn{
                opacity: 1.0;
            }

.custom-controls{
    visibility: hidden;
}
            

            .event-description{
                width: 85vw;
                padding-bottom: 10px;
            }

            .video{
                width: 100vw;
            }

            .video-container{
                width: 100vw;
            }


            .links{
                margin-bottom: 0px;
            }
            
            .left {
                display: none;
            }

            .right {
                width: 100%;
                margin: 0 auto; /* Zentriert das .right-Element */
                padding-right: 0px;
            }

            .right-text {
                width: 100%;
                margin: 0 auto; /* Zentriert das .right-Element */
                padding-right: 20px;
                padding-left: 20px;
                margin-bottom: 160px;
            }

            .cover-row{
                margin-top: 60px;
            }

            .content{
                margin-top: -40px;
                height: auto;
            }

            .container{
                margin-top: 0px;
                margin-bottom: 20px;
            }
.grid-item{
    margin-bottom: 20px;
}

.grid {
    row-gap: 20px;
}



            .indicator {
                width: 100%;
                height: 40px;
                background-color: white;
                bottom: 0;
            }

            .arrow{
                margin-top: 8px!important;
            }

            .arrow-icon-left {
                margin-left: 10px;
            }

            .arrow-icon-right {
                margin-right: 10px;
            }

            .proj-cover {
                width: 100vw;
                height: auto; /* Beibehaltung des Seitenverhältnisses */
                max-width: calc(100% - 40px); /* Verhindert, dass das Bild über den Viewport hinausläuft */
                margin: 0 20px 0 20px; /* Oben: 100px, Rechts: 20px, Unten: 0, Links: 20px */
            }

            .description {
                width: 100%;
                max-width: calc(100% - 40px); /* Verhindert, dass der Text über den Viewport hinausläuft */
                margin: 40px 20px 0 20px; /* Oben: 100px, Rechts: 20px, Unten: 0, Links: 20px */
            }
            


.social-link{
    margin-bottom: 10px;
}

            .container-news, .container-news-2, .container-news-3 {
                flex-direction: column;
                height: auto;
                margin-top: 60px;
                width: 100vw; /* Ensures the container takes the full viewport width */
                margin-left: 0px;
                box-sizing: border-box; /* Includes padding and border in the element's total width and height */
            }

        
            .left-news, .right-news {
                width: calc(100% - 40px);
                margin-left: 20px;
            }
        
            .left-news img {
                width: 100%;
                height: 100%;
            }

            .right-news{
                padding: 10px 0px 40px;
                margin-top: 6px;
            }

            .right-news h2 {
                margin-top: 10px;
                line-height: 1.3;
            }

            .right-news h3 {
                margin-bottom: 20px;
            }

            .about-footer {
                width: 100%;
                padding-left: 10px;
            }

            footer{
                padding-bottom: 13vh;
            }
            .video-container-iframe {
  width:100%;
              margin-left:0;
              margin-right:0;
}
/* Füge dies in deinem @media only screen and (max-width: 600px) Block in style.css ein */

.left, .right {
    width: 100%; /* Stellt sicher, dass die Container die gesamte verfügbare Breite nutzen */
}

.left {
    /* Gib dem linken Bereich genug Platz zum Atmen */
    padding: 0 20px 20px 20px; 
    box-sizing: border-box;
}

.right {
    /* Füge horizontalen Abstand zum rechten Bereich (wo der Dialogtext ist) hinzu */
    padding: 0 20px 0 20px; 
    box-sizing: border-box;
}

.dialogue-part {
    /* Setze die maximale Breite auf 100% des Elternelements (.right),
       um sicherzustellen, dass der Textfluss nicht überläuft */
    max-width: 100%;
}
            
        }

