<div class="container">
  <header class="grid-item header">
    <div>Header</div>
  </header>
  <main class="grid-item main">
    <div>main</div>
  </main>
  <aside class="grid-item sidebar">
    <div>sidebar</div>
  </aside>
  <footer class="grid-item footer">
    <div>footer</div>
  </footer>
</div>

.container {
  height: 100vh;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: auto;
  grid-template-areas: "header header header header"
                       "main main . sidebar"
                       "footer footer footer footer";
  grid-column-gap: 10px;
  grid-row-gap: 10px;
}

.grid-item div {
  display: flex;
  color: #fff;
  font-size: 1.5rem;
  justify-content: center;
  align-items: center;
  height: 100%;
}

header {
  background-color: #FF708C;
  grid-area: header;
}

main {
  background-color: #E8665A;
  grid-area: main;
}

aside {
  background-color: #FF8763;
  grid-area: sidebar;
}

.footer {
  background-color: #E85ABD;
  grid-area: footer;
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.