
/* Allgemeines */

* {
    box-sizing: border-box;
}

    body {
        margin: 0;
        font-family: Arial, sans-serif;
        background-color: #f4f6f9;
        color: #222;
}

/* Kopfbereich */

    header {
        background-color: #163b65;
        color: white;
        text-align: center;
        padding: 10px;
}

    header h1 {
        font-size: 20px;
        margin: 10px 0 20px;
}

/* Navigation */

    nav {
        background-color: #48458f;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 15px;
        padding: 15px;
}

    nav a {
        display: inline-block;
        color: white;
        background-color: #292c68;
        text-decoration: none;
        padding: 10px 15px;
        border-radius: 6px;
        margin: 0;
}

    nav a:hover {
        background-color: #3674b5;
        color: white;
}

/* Hauptbereich */

    main {
        max-width: 1100px;
        margin: auto;
        padding: 20px;
}

/* Abschnitte */

    section {
        background-color: white;
        padding: 25px;
        margin-bottom: 20px;
        border-radius: 10px;
}

    h2 {
        color: #163b65;
}

/* Startbereich */

    .start {
        text-align: center;
}

        .hauptbild {
        display: block;
        width: 100%;
        max-width: 850px;
        height: auto;
        margin: 20px auto;
        border-radius: 10px;
}

/* Dienstleistungen */

    .karten {
        display: flex;
        flex-wrap: wrap;
        gap: 25px;
        margin-top: 30px;
}

/* Einzelne Karten */

    .box {
        background-color: #eef4fa;
        padding: 25px;
        border-radius: 10px;
        flex: 1 1 250px;
        min-width: 0;
}

/* Kartenüberschriften */

    .box h2,
    .box h3 {
        margin-top: 0;
        margin-bottom: 20px;
        color: #163b65;
}

/* Kartenbeschreibungen */

    .box p {
        margin: 0;
        line-height: 1.7;
}

/* Fussbereich */

footer {
    background-color: #163b65;
    color: white;
    text-align: center;
    padding: 3px;
    margin-top: 100px;
    font-size: 12px;
}

/* Smartphones */

@media (max-width: 600px) {

    header {
        padding: 10px;
    }

    header h1 {
        font-size: 20px;
    }

    nav {
        gap: 10px;
        padding: 15px;
    }

    nav a {
        font-size: 15px;
        padding: 10px 15px;
    }

    main {
        padding: 15px;
    }

    section {
        padding: 15px;
    }

    .hauptbild {
        width: 100%;
        height: auto;
    }

    .karten {
        flex-direction: column;
        gap: 20px;
    }

    .box {
        flex: none;
        width: 100%;
        padding: 25px;
    }

    footer {
        margin-top: 40px;
    }
}
