body {
    margin: 0;
    font-family: Arial, sans-serif;
}

.grid-container {
    display: grid;
    grid-template-areas:
        "header header header"
        "content1 content2 content3"
        "content4 content5 content3"
        "content6 content6 content7"
        "footer footer footer";
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: 120px;
    gap: 8px;
    padding: 10px;
    box-sizing: border-box;
}

.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    grid-area: header;
    background-color: lightblue;
    padding: 0 30px;
}

.header h1 {
    margin: 0;
}

.nav {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    background-color: lightyellow;
    padding: 10px 15px;
}

.nav p {
    margin: 0;
}

.content1,
.content2,
.content3,
.content4,
.content5,
.content6,
.content7,
.footer {
    display: flex;
    justify-content: center;
    align-items: center;
}

.content1 {
    grid-area: content1;
    background-color: lightgreen;
}

.content2 {
    grid-area: content2;
    background-color: lightcoral;
}

.content3 {
    grid-area: content3;
    background-color: lightgoldenrodyellow;
}

.content4 {
    grid-area: content4;
    background-color: lightpink;
}

.content5 {
    grid-area: content5;
    background-color: lightseagreen;
}

.content6 {
    grid-area: content6;
    background-color: lightgray;
}

.content7 {
    grid-area: content7;
    background-color: lightsteelblue;
}

.footer {
    grid-area: footer;
    background-color: lavender;
}

@media (max-width: 768px) {
    .grid-container {
        grid-template-areas:
            "header"
            "content1"
            "content2"
            "content3"
            "content4"
            "content5"
            "content6"
            "content7"
            "footer";
        grid-template-columns: 1fr;
    }

    .header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 20px 20px 10px;
    }

    .nav {
        width: 100%;
        flex-wrap: wrap;
        justify-content: flex-start;
    }
}