* {
    box-sizing: border-box;
}

body {
    margin: 0;
}

.container {
    max-width: 1280px;
    padding: 0 15px;
    margin: 0 auto;
    width: 100%;
}

.wrapper {
    min-height: 100vh;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
}

.header {
    min-height: 100px;
    background: #f00;
    grid-column: 1 / -1;
}

.footer {
    min-height: 250px;
    background: #0b2fe2;
    grid-column: 1 / -1;
}

.aside {
    background: #e2e20d;
    grid-column: 1 / span 2;
}

.main {
    background: #31bb0a;
    padding: 30px 0;
    grid-column: 3 / -1;
    display: grid;
    grid-template-columns: 1fr repeat(8, 1fr) 1fr;
}

.main .container {
    grid-column: 2 / span 8;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, 1fr);
}

.article {
    background: #de6e05;
    min-height: 200px;
}

@media (width > 1200px) {
    .wrapper {
        grid-template-columns: 3fr 9fr;
    }

    .aside {
        grid-column: 1;
    }

    .main {
        grid-column: 2;
    }

    .header,
    .footer {
        grid-column: 1 / -1;
    }
}

@media (width >=1185px) {
    .main .container {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (width <=1184px) {
    .main .container {
        grid-template-columns: repeat(auto-fit, minmax(153px, 1fr));
    }
}

@media (width <=768px) {
    .aside {
        display: none;
    }

    .main {
        grid-column: 1 / -1;
    }
}