body {
    display: grid;
    grid-template-areas: 
        "header header header header"
        "main main img img"
        "footer footer footer footer";
    gap: 20px;
    padding: 20px;
    font-family: Arial, sans-serif;
}

header {
    grid-area: header;
    background-color:rgb(207, 139, 90);
    padding: 20px;
    text-align: center;
    font-weight: bold;
    margin-right: 110px;
}

main {
    grid-area: main;
    background-color: lightgray;
    display: flex;
    gap: 30px;
    padding: 40px;
}

.inhalt {
    flex: 1;
}

img {
    grid-area: img;
    width: 400px;
    height: 480px;
    border-radius: 30px;
}   

footer {
    grid-area: footer;
    background-color:r;
    padding: 20px;
}

h1 {
    font-weight: bold;
}

input {
    padding-bottom: 10px;
    margin-bottom: 15px;
    background-color: antiquewhite;
}

button {
    font-size: large;
    font-weight:500;
    background-color: antiquewhite;
}

.Datenschutz {
    display: block;
}

.menu {
    display: none;
}

.menu.sichtbar {
    display: block;
}

.menu-button {
    font-size: 2rem;
    background: none;
    border: none;
    cursor: pointer;
}

nav {
    background-color: antiquewhite;
    padding: 10px;
    text-align: left;
}

.menu a {
    display: block;
    padding: 10px;
    text-decoration: none;
    color: black;
}

.menu a:hover {
    background-color: rgb(230, 220, 200);
}

@media (max-width: 768px) {
    input {
        width: 100%;
        font-size: 1.2rem;
        padding: 15px;
        box-sizing: border-box;
    }
    
    main {
        flex-direction: column;
    }
    img {
        width: 100%;
        height: auto;
    }
    body {
        padding: 10px;
    }
    header,
    main {
        width: 100%;
    }
    button {
        width: 100%;
        padding: 15px;
        font-size: 1.3rem;
        font-weight: bold;
    }
}

header, 
main,
footer {
    box-sizing: border-box;
}