JSFiddle - React, Tailwind, and code Playground

HTML

<div class="wrapper">
  <div class="box a">A</div>
  <div class="box b">B</div>
  <div class="box c">C</div>
  <div class="box d">D</div>
</div>

CSS

body {
    padding: 0;
    margin: 0;
    background: #fff;
    font-family: ReplicaPro-Bold;
    font-size: 16px;
}

.wrapper {
  display: grid;
  display: -ms-grid;
  grid-template-columns: 12px calc(50vw - 18px) 12px calc(25vw - 18px) 12px calc(25vw - 12px) 12px;
  -ms-grid-columns: 12px calc(50vw - 18px) 12px calc(25vw - 18px) 12px calc(25vw - 12px) 12px;
  grid-template-rows: 12px auto 12px auto 12px;
  -ms-grid-rows: 12px auto 12px auto 12px;
  background-color: #fff;
  color: #444;
  height: 100vh;
}
.box {
  background-color: rgb(120,70,123);
  border: 5px solid rgb(88,55,112);
  color: #fff;
  border-radius: 5px;
  padding: 20px;
  font: 150%/1.3 Lucida Grande,Lucida Sans Unicode,Lucida Sans,Geneva,Verdana,sans-serif;
}
.a {
  grid-column: 2 / 3;
  grid-row: 2 / 5;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  -ms-grid-row: 2;
  -ms-grid-row-span: 3;
}
.b {
  grid-column: 4 / 7;
  grid-row: 2 / 3;
  -ms-grid-column: 4;
  -ms-grid-column-span: 3;
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
}

.c {
  grid-column: 4 / 5;
  grid-row: 4 / 5;
  -ms-grid-column: 4;
  -ms-grid-column-span: 1;
  -ms-grid-row: 4;
  -ms-grid-row-span: 1;
}

.d {
  grid-column: 6 / 7;
  grid-row: 4 / 5;
  -ms-grid-column: 6;
  -ms-grid-column-span: 1;
  -ms-grid-row: 4;
  -ms-grid-row-span: 1;
}