/* Resetting margins and paddings */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


/* Container for sidebar and main content */
.container1 {
    z-index: 1;
    width: 100%;
    height: 100%;
    margin: 0;
    background-color: #0e0b1f;
}
@media (max-width: 768px) {
    .container1 {
        width: 100%;

        display: grid;
        position: relative;
        grid-template-columns: 1fr; /* Eine Spalte */
        justify-content: center; /* Zentriert den Inhalt */
        align-items: start; /* Stellt sicher, dass der Inhalt oben startet */
        padding: 5px; /* Optional: Padding für Abstand */
    }
}
.container2 {
    display: flex;
    z-index: 1;
    width: 100%;
    height: 100%;
    margin: 0;
    background-color: #0e0b1f;

}
.container3 {
    background-color: #0e0b1f;
    color: white;

    font-family: Comfortaa, sans-serif;

}


/* Standardstil für die Bilder */
.clickable-image {
    transition: transform 0.3s ease, opacity 1s ease-in-out; /* Übergang für Transformation und Opazität */
    cursor: pointer; /* zeigt an, dass das Bild anklickbar ist */
    opacity: 1; /* Anfangs vollständig sichtbar */
}

/* Vergrößerung beim Hover */
.clickable-image:hover {
    transform: scale(1.05); /* Vergrößerung des Bildes */
}

/* Bild wird ausgeblendet */
.fade-out {
    opacity: 0;
}

/* Bild wird eingeblendet */
.fade-in {
    opacity: 1;
}











/* Sidebar */
.sidebar {
    position: fixed;
    top: 0;
    right: -250px; /* Sidebar außerhalb des Bildschirms verstecken */
    width: 250px;
    height: 100%;
    background-color: #0e0b1f;
    color: white;
    display: flex;
    flex-direction: column;
    padding: 20px;
    padding-top: 5%;
    transition: right 0.3s ease;
    z-index: 1000;
}

/* Sidebar aktivieren (wenn sie geöffnet ist) */
.sidebar.active {
    right: 0; /* Sidebar sichtbar machen */
    font-family: Comfortaa, sans-serif;
}

.sidebar h1 {
    font-size: 30px;
    margin-bottom: 10px;
    padding: 20px;
}

.sidebar nav ul {
    list-style: none;
    padding: 0;
}

.sidebar nav ul li {
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid #444444;
}

.sidebar nav ul li a {
    color: #ffffff;
    text-decoration: none;
    font-size: 18px;
    padding-left: 20px;
    display: block;
}

/* Burger Icon */
/* CSS */
.burger-icon {
    display: block;
    position: fixed;
    top: 20px;
    right: 20px;
    font-size: 30px;
    background: linear-gradient(to right, #957ded, #ffffff); /* Lila zu Dunkelblau */
    -webkit-background-clip: text; /* Hintergrund nur auf den Text anwenden */
    background-clip: text; /* Standardbackground-clip für alle Browser */
    color: transparent; /* Text transparent machen, damit der Verlauf sichtbar ist */
    cursor: pointer;
    z-index: 1001;

}


/* Responsive adjustments */
@media (max-width: 768px) {
    .burger-icon {
        top: 15px;
        right: 15px;
        background-clip: text; /* Standardbackground-clip für alle Browser */
        color: transparent; /* Text transparent machen, damit der Verlauf sichtbar ist */
        cursor: pointer;
        z-index: 1001;

    }

    .sidebar {
        width: 100%;
        right: -100%;
    }

    .sidebar.active {
        right: 0;
    }


    .image-container img {
        width: 100%;
        height: auto;
    }
}

/* Main Content */
.main-content {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: relative;
    height: 100%;
}
    @media (max-width: 768px) {
        .main-content {
            width: 100%;

            display: grid;
            position: relative;
            height: 700px;
            grid-template-columns: 1fr; /* Eine Spalte */
            justify-content: center; /* Zentriert den Inhalt */
            align-items: start; /* Stellt sicher, dass der Inhalt oben startet */
            padding: 5px; /* Optional: Padding für Abstand */
        }
        }

.main-content2 {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: relative;
}


/* Anpassung für Mobilgeräte */
@media (max-width: 768px) {

    .main-content2 {
        width: 100%;
        justify-content: flex-start;
        align-items: center;
        position: relative;
        display: grid;
    }
}


.image-container {
    display: flex;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;

    opacity: 0;
    transform: translateX(100%); /* Start von rechts */
    animation: fadeInFromRight 1.5s ease-out forwards;

}

/* Animation: Fade-In von rechts nach links */
@keyframes fadeInFromRight {
    from {
        opacity: 0;
        transform: translateX(50%); /* Startposition von rechts */
    }
    to {
        opacity: 1;
        transform: translateX(0); /* Endposition normal */

    }

}



.image-container img {
    width: 100%;
    height: 100%;
    border-radius: 50px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    object-fit: cover;
}


.image-caption {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    color: white;
    text-align: center;
    font-size: 18px;
}

/* About Page */
.about-section {
    color: white;
    display: flex;
    flex-direction: column; /* Elemente untereinander anordnen */
    width: 100%;
    height: auto; /* Höhe automatisch anpassen */
    position: relative;
    padding: 3%;
    z-index: 1;
}

.about-section h2 {
    font-size: 36px;
    margin-bottom: 20px;
    color: #957ded;
    border-bottom: 2px solid #444444;
}


.about-section p {
    font-size: 18px;
    line-height: 1.6;
    color: white; /* Absatz Farbe festlegen */
}


.image-section {
    display: flex;
    width: 80%;
    height: 80%;
    position: relative;
    padding: 3%;
    z-index: 1;
    justify-content: flex-start; /* Inhalt nach links schieben */
}


@media (max-width: 768px) {
    .image-section {
        display: flex;
        width: 100%;
        height: 100%;
        position: relative;
        padding: 6%;
        z-index: 1;
    }
}

.image-section img {
    width: 100%;
    height: 100%;
    border-radius: 50px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    object-fit: cover;
}
.gallery-section h2 {
    font-size: 36px;
    margin-bottom: 20px;

}
/* Gallery Page */
.gallery-section {
    width: 100%;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: white
}


.gallery-images {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Zwei Spalten auf größeren Bildschirmen */
    grid-gap: 20px;
    width: 50%;
}

/* Anpassung für Mobilgeräte */
@media (max-width: 768px) {
    .gallery-images {
        grid-template-columns: 1fr; /* Eine Spalte auf Mobilgeräten */
        grid-gap: 10px; /* Optional: Kleinere Lücke zwischen den Bildern auf Mobilgeräten */
        width: 100%; /* Optional: Volle Breite auf Mobilgeräten */
    }
}



.gallery-images .image-container {
    width: 100%;
    padding: 10px;
    background-color: #0e0b1f;
}

.gallery-images .image-container img {
    width: 100%;
    border-radius: 20px;
    object-fit: cover;
}

.field-separator {
    width: 100%; /* Passt sich der Breite des Containers an */
    height: 10%; /* Die Höhe der Border */
    margin: 80px 0; /* Abstand nach oben und unten */
    opacity: 0.7; /* Transparenz der Border */
    display: flex;
    flex-direction: column;
    z-index: -4;

}


/* Hintergrundmusik-Controller */
.music-control {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    cursor: pointer;
    z-index: 1000;
    opacity: 40%;
}

.music-control img {
    width: 100%;
    height: 100%;
}



body {
    font-family: 'Comfortaa', sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: revert;
    background-color: #0e0b1f;
    overflow-x: hidden;

}

.footer {
    background: #0a0817;
    padding-bottom: 50px;
    padding-top: 80px;
    border-top: 2px solid dimgrey;
    font-family: Comfortaa, sans-serif;
    position: relative;
    z-index: -3;
}
.footer_menu {
    margin-bottom: 20px;
}
.footer_menu ul {
    list-style: none;
    text-align: center;
}
.footer_menu ul li{display: inline-block;}
.footer_menu ul li a {
    color:#fff;
    padding: 0 10px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.footer_menu ul li a:hover{color:#554c86;}

/*START FOOTER SOCIAL DESIGN*/
.footer_profile{
    margin-bottom:40px;
    display: flex;
    justify-content: center;
}
.footer_profile ul{
    list-style: outside none none;
    margin: 0;
    padding: 0

}
.footer_profile ul li{
    display: inline-block;
}
@media only screen and (max-width:480px) {
    .footer_profile ul li{margin:2px;}
}
.footer_profile ul li a img{width:60px;}

.footer_profile ul li a {
    background: black;
    width: 40px;
    height: 40px;
    display: block;
    text-align: center;
    margin-right: 5px;
    border-radius: 50%;
    line-height: 40px;
    box-sizing: border-box;
    text-decoration: none;
    -webkit-transition: .3s;
    transition: .3s;
    color: #fff;

}
.footer_copyright {
    margin-bottom: 20px;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 60;
    color: #fff;
    text-align: center;

}

.vertical-text2 {
    writing-mode: vertical-rl;  /* Schreibrichtung vertikal, von rechts nach links */
    transform: rotate(0deg);  /* Text drehen, damit er von oben nach unten lesbar ist */
    font-size: 104px;  /* Schriftgröße */
    letter-spacing: 10px;  /* Abstand zwischen den Buchstaben */
    position: fixed;  /* Fixiert den Text beim Scrollen */
    right: 7%;  /* Direkt an den rechten Rand des Bildschirms */
    top: 50px;  /* Abstand von der Oberkante */
    color: white;  /* Schriftfarbe */
    padding-right: 10px; /* Ein wenig Abstand vom Rand */
    z-index: 1;
    opacity: 0;

}

.vertical-text2.visible {
    opacity: 0.2;
}

/* Media Query: Verstecke die Schrift auf Bildschirmen mit Breite unter 768px */
@media screen and (max-width: 768px) {
    .vertical-text2 {
        display: none;  /* Verstecke die vertikale Schrift komplett auf kleinen Bildschirmen */
    }
}







