html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    background-color: #d0e1f9;
    font-family: "myriad-pro-condensed", sans-serif;
    overflow-x: hidden; /* Verhindert horizontales Scrollen */
}

/* Basis-Styles (Elemente, allgemeine Klassen) */
.header-content {
    display: flex;
    align-items: center;
    gap: 30px;
}

.logo {
    width: 400px;
}
.text-box {
    width: 50vw;
    text-align: left;
    padding: 50px;
    background-color: #1e1f26;
    color: #ffffff;
    margin: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.button-box {
    width: 50vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px;
    background-color: #4d648d;
    color: #ffffff;
    margin: 0;
}

/* Header-Styles */
header {
    background-color: #d0e1f9;
    padding: 20px;
    position: relative;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    font-family: "myriad-pro-condensed", sans-serif;
}
.header-title {
    color: #253655; /* ursprüngliche Farbe für den Header Title */
    line-height: 0.9;
    margin-bottom: 3px;
}

.header-subtitle {
    color: #4d648d; /* ursprüngliche Farbe für den Header Subtitle */
    margin-top: 1px; /* Kleiner Abstand direkt unter dem Title */
}

/* Hauptinhalt (Boxen, Textbox, Buttonbox) */
.container {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 50px 0;
    position: relative;
    width: 100%;
}

.content {
    display: flex;
    width: 100vw;
    align-items: stretch;
    margin-top: 0px; /* Abstand zum Header verringert */
    overflow: hidden;
}

/* Hover-Effekte */
.btn {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 10px;
    text-decoration: none;
    transition: transform 0.3s ease;
    gap: 30px;
}

.insta-logo {
    width: 250px; /* Instagram-Logo jetzt genauso groß wie der Text daneben */
    height: auto;
    transition: transform 0.3s ease;
}

.insta-text {
    font-size: 40px;
    font-weight: bold;
    color: #253655;
    text-align: left;
    text-decoration: none !important;
    white-space: pre-line; /* Ermöglicht Zeilenumbruch */
    font-family: "myriad-pro-condensed", sans-serif;
}

.btn:hover .insta-logo {
    transform: scale(1.2); /* Vergrößern des Logos beim Hover */
}

.btn:hover .insta-text {
    opacity: 0.8;
}

/* Footer */
.footer {
    background-color: #1e1f26;
    color: #fff;
    padding: 15px;
    font-size: 14px;
    width: 100%;
    text-align: right; /* Rechtsbündige Ausrichtung der Footer-Links */
    position: relative;
    box-sizing: border-box; /* Hinzufügen, um das Verschlucken des Inhalts zu verhindern */
}

.footer a {
    color: #d0e1f9;
    text-decoration: none;
    font-weight: bold;
    margin: 0 10px;
    font-size: 20px;
    display: inline-block; /* Stellt sicher, dass Links und Strich horizontal zentriert werden können */
    vertical-align: middle; /* Ausrichtung auf mittlerer Linie */
}

.footer a:hover {
    text-decoration: underline;
}

/* Impressum & Datenschutz */
.impressum-container, .datenschutz-container {
    max-width: 900px;
    margin: 50px auto;
    padding: 40px;
    background-color: #d0e1f9;
    color: #1e1f26;
    box-shadow: none;
    display: block;
}

.impressum-container h1, .datenschutz-container h1 {
    font-size: 50px; /* Anpassen der Schriftgröße der Überschrift */
    color: #253655;
    text-align: center; /* Wenn du die Überschrift zentrieren möchtest, benutze text-align: center */
    margin-bottom: 20px; /* Abstand unter der Überschrift */
}

.impressum-container h2, .datenschutz-container h2 {
    font-size: 30px; /* Hier die Schriftgröße für h2-Überschriften anpassen */
    color: #253655;
    margin-bottom: 15px;
}

.impressum-container p, .datenschutz-container p {
    font-size: 20px; /* Anpassen der Schriftgröße des Textes */
    color: #1e1f26;
    line-height: 1.6; /* Verbessert die Lesbarkeit */
    margin-bottom: 15px; /* Abstand unter den Absätzen */
    display: block;
}

.impressum-container div, .datenschutz-container div {
    display: block; /* Jedes Element untereinander */
    margin-bottom: 10px; /* Abstand zwischen den Blöcken */
}

.impressum-container a, .datenschutz-container a {
    color: #1e1f26;
    text-decoration: none;
    font-weight: bold;
}

.impressum-container a:hover, .datenschutz-container a:hover {
    text-decoration: underline;
}

/* Überschriften mit Hover-Effekt in der Textbox */
.text-item {
    position: relative;
	z-index: 1;         /* Sicherstellen, dass das Element oben liegt */
    cursor: pointer;
    margin-bottom: 30px;
    height: 60px;
    display: flex;
    align-items: center;
}

.text-item h3 {
    font-size: 65px; /* Schriftgröße für Überschriften in der Textbox angepasst */
    font-weight: bold;
    margin: 0;
    text-align: left;
    color: #4d648d;
    transition: opacity 0.3s ease;
    position: absolute; /* Positionierung der Überschrift über dem Text */
    width: 100%; /* Sicherstellen, dass die Überschrift die gesamte Breite einnimmt */
    font-family: "myriad-pro-condensed", sans-serif;
}

.text-item p {
    font-size: 35px;
    color: #d0e1f9;
    opacity: 0;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: absolute; /* Text wird an der gleichen Position wie die Überschrift angezeigt */
    width: 100%; /* Der Text nimmt die gleiche Breite wie die Überschrift ein */
    transition: opacity 0.3s ease;
    font-family: "myriad-pro-condensed", sans-serif;
}

.text-item:hover h3 {
    opacity: 0; /* Die Überschrift wird unsichtbar */
}

.text-item:hover p {
    opacity: 1; /* Der Text wird sichtbar */
}

/* Mobile-Optimierungen mit Media Queries */
@media (max-width: 320px) {
    .header-content {
        display: flex;
        flex-direction: column; /* Title+Subtitle unter Logo platzieren */
        align-items: center;
        justify-content: center;
        gap: 0px;
        text-align: center;
    }

    .logo {
        width: 200px;
        margin-bottom: 15px;
    }
    
    .header-title {
        font-size: 33px; /* Kleinere Schrift für den Header-Titel */
    }
    
    .header-subtitle {
        font-size: 16px; /* Kleinere Schrift für den Untertitel */
    }
    .text-item h3 {
        font-size: 28px; /* gewünschte Größe eintragen */
    }

    .text-item p {
        font-size: 17px; /* gewünschte Größe eintragen */
    }

    .content {
        flex-direction: column;
        margin-top: -150px;
    }

    .text-box, .button-box {
        width: 100%;
        padding: 15px;
    }
    .btn {
        flex-direction: column; /* Logo und Text untereinander */
        align-items: center;    /* horizontal zentriert */
        justify-content: center; /* vertikal zentriert */
        gap: 5px;
    }

    .insta-logo {
        width: 200px; /* gewünschte Größe anpassen */
        margin-bottom: 5px; /* Abstand zum Text */
    }

    .insta-text {
        font-size: 30px; /* Textgröße anpassen */
        text-align: center; /* Text zentrieren */
    }
    .footer {
        text-align: center; /* Zentriert Impressum und Datenschutz horizontal */
    }
}
@media (min-width: 321px) and (max-width: 479px) {
    main.container {
        margin-top: 30px;
    }
    header {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 40px 20px;
        text-align: center;
    }
    .text-item {
        height: auto;
        min-height: 60px;
    }
    .content {
        flex-direction: column;
    }
    .logo,
    .header-title,
    .header-subtitle,
    .insta-logo,
    .insta-text {
        display: block;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }
    .text-item {
        height: auto;
        min-height: 60px;
    }
    .content {
        flex-direction: column;
        margin-top: 80px;
    }
    .text-item {
        height: auto;
        min-height: 60px;
    }
    .header-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0px;
        text-align: center;
    }

    .logo {
        width: 220px;
        margin-bottom: 15px;
    }

    .header-title {
        font-size: 38px;
    }

    .header-subtitle {
        font-size: 18px;
    }

    .text-item h3 {
        font-size: 32px;
    }

    .text-item p {
        font-size: 18px;
    }

    .content {
        flex-direction: column;
        margin-top: -100px;
    }

    .text-box, .button-box {
        width: 100%;
        padding: 20px;
    }

    .btn {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 10px;
    }

    .insta-logo {
        width: 200px;
        margin-bottom: 8px;
    }

    .insta-text {
        font-size: 26px;
        text-align: center;
    }

    .footer {
        text-align: center;
    }
}




@media (min-width: 480px) {
    .header-content {
        display: flex;
        flex-direction: row; /* Logo und Titel/Subtitle nebeneinander */
        align-items: center;
        justify-content: flex-start;
        gap: 30px;
        text-align: left;
    }
    
    .logo {
        width: 140px;
        margin-bottom: 20px;
    }
    
    .header-title {
        font-size: 22px; /* Leicht größere Schrift für den Header-Titel */
    }
    
    .header-subtitle {
        font-size: 14px;
    }

    .content {
        flex-direction: column;
    }

    .text-box, .button-box {
        width: 100%;
        padding: 20px;
    }

    .text-box {
        font-size: 16px; /* Etwas größere Schriftgröße für Text */
    }

    .insta-text {
        font-size: 18px;
    }
}

@media (min-width: 600px) {
    .header-content {
        display: flex;
        flex-direction: row; /* Logo und Titel/Subtitle nebeneinander */
        align-items: center;
        justify-content: flex-start;
        gap: 30px;
        text-align: left;
    }
    
    .logo {
        width: 150px;
        margin-bottom: 20px;
    }
    
    .header-title {
        font-size: 26px; /* Größere Schrift für Tablets */
    }
    
    .header-subtitle {
        font-size: 18px;
    }

    .content {
        flex-direction: column;
    }

    .text-box, .button-box {
        width: 100%;
        padding: 20px;
    }

    .text-box {
        font-size: 18px; /* Größere Schriftgröße für Text */
    }

    .insta-text {
        font-size: 20px;
    }
}

@media (min-width: 768px) {
    .header-content {
        display: flex;
        flex-direction: row; /* Logo und Titel/Subtitle nebeneinander */
        align-items: center;
        justify-content: flex-start;
        gap: 30px;
        text-align: left;
    }
    
    .logo {
        width: 180px;
        margin-bottom: 25px;
    }
    
    .header-title {
        font-size: 32px; /* Schriftgröße für iPads */
    }

    .header-subtitle {
        font-size: 22px;
    }

    .content {
        flex-direction: column;
    }

    .text-box, .button-box {
        width: 100%;
        padding: 25px;
    }

    .text-box {
        font-size: 20px; /* Noch größere Schriftgröße für Tablets */
    }

    .insta-text {
        font-size: 24px;
    }
}

@media (min-width: 1024px) {
    .header-content {
        display: flex;
        flex-direction: row; /* Logo und Titel/Subtitle nebeneinander */
        align-items: center;
        justify-content: flex-start;
        gap: 30px; /* Gleicher Abstand wie in der normalen Ansicht */
        text-align: left;
    }
    .logo {
        width: 250px;
        margin-right: 30px;
    }

    .header-title {
        font-size: 40px; /* Schriftgröße für Laptops */
    }

    .header-subtitle {
        font-size: 28px;
    }

    .content {
        flex-direction: row;
    }

    .text-box, .button-box {
        width: 50%;
        padding: 30px;
    }

    .text-box {
        font-size: 22px; /* Große Schriftgröße für Tablets und Laptops */
    }

    .insta-text {
        font-size: 28px;
    }
}

@media (min-width: 1200px) {
    .header-content {
        display: flex;
        flex-direction: row; /* Logo und Titel/Subtitle nebeneinander */
        align-items: center;
        justify-content: flex-start;
        height: auto;
        text-align: left;
    }
    
    .logo {
        width: 350px;
        margin-right: 30px;
    }
    
    .header-title {
        font-size: 80px; /* Größere Schrift für mittelgroße Monitore */
    }

    .header-subtitle {
        font-size: 40px !important; /* Sicherstellen, dass die Schriftgröße angewendet wird */
    }

    .content {
        flex-direction: row;
    }

    .text-box, .button-box {
        width: 50%;
        padding: 40px;
    }

    .insta-text {
        font-size: 32px;
    }
}
