body {
    display: grid;
    grid-template-areas: 'header header' 'left right';
    grid-template-columns: 100% 0;
    grid-template-rows: 1.5rem auto;
}

.page-top-stripe {
    grid-area: header;
}

.page-left-side {
    grid-area: left;
}

.page-right-side {
    grid-area: right;
}

@media (min-width: 576px) {
    body {
        grid-template-rows: 3rem auto;
    }
}

@media (min-width: 768px) {
    body {
        grid-template-columns: 100% 0;
    }

    .header-logo {
        padding: 40px 80px 0;
    }

    .horizontal-line {
        width: 80%;
    }
}

@media (min-width: 1200px) {
    body {
        grid-template-columns: 600px 1fr;
    }
}
