<div class="container">
  <header>HEADER</header>
  <main>main</main>
  <aside>aside</aside>
  <footer>footer</footer>
</div>
.container{
  border : 2px solid;
  display : grid;
  grid-template-rows : repeat(4,100px);
  grid-template-columns : repeat(3,1fr);
  grid-template-areas:
    "a a a "
    "b b c "
    ". . c"
    "d d d ";
/*   grid-gap : 10px 40px; */
  grid-row-gap : 10px;
  grid-column-gap : 40px;
}

.container > *  {
  border: 2px solid;
}
.container header  { grid-area : a; }
.container main  { grid-area : b; }
.container aside  { grid-area : c; }
.container footer  { grid-area : d; }

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.