/* grid container */
.holy-grail-grid {
    display: grid;
    grid-template-areas:
        'header'
        'main-content'
        'left-sidebar'
        'right-sidebar'
        'footer';
}

/* general column padding */
.holy-grail-grid>* {
    padding: 1rem;
}

/* assign columns to grid areas */
.holy-grail-grid>.header {
    grid-area: header;
}

.holy-grail-grid>.main-content {
    grid-area: main-content;
}

.holy-grail-grid>.left-sidebar {
    grid-area: left-sidebar;
}

.holy-grail-grid>.right-sidebar {
    grid-area: right-sidebar;
}

.holy-grail-grid>.footer {
    grid-area: footer;
}

/* tablet breakpoint */
@media (min-width:768px) {
    .holy-grail-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            'header header'
            'main-content main-content'
            'left-sidebar right-sidebar'
            'footer footer';
    }
}

/* desktop breakpoint */
@media (min-width:1024px) {
    .holy-grail-grid {
        max-width: 1100px;
        grid-template-columns: repeat(4, 1fr);
        grid-template-areas:
            'header header header header'
            'left-sidebar main-content main-content right-sidebar'
            'footer footer footer footer';
    }
.holy-grail-grid>.header {
    grid-area: header;
}

.holy-grail-grid>.main-content {
    min-width: 650px;
    max-height: 700px;
    grid-area: main-content;
}

.holy-grail-grid>.left-sidebar {
    max-height: 700px;
    grid-area: left-sidebar;
}

.holy-grail-grid>.right-sidebar {
    max-height: 700px;
    grid-area: right-sidebar;
}

.holy-grail-grid>.footer {
    grid-area: footer;
}

}