title: Create 3x3 responsive layout with CSS grid
body: <p>I would like to create a 3x3 grid that shrinks boxes one under the other when on smaller screen. Boxes should be always the perfect square.</p>
  <p>Also, the last two boxes (8 + 9) should be only one longer rectangle on larger screen, but take the same space as now. Is CSS grid a way to go here? Here's what I got:</p>
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-css lang-css prettyprint-override"><code>body {
    background: lightblue;
  }
  
  .grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    grid-gap: 20px;
  }
  
  .grid div {
    width: 100%;
    height: 100%;
    background: white;
    padding: .5em;
  }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>  &lt;div class="grid"&gt;
      &lt;div&gt;&lt;/div&gt;
      &lt;div&gt;&lt;/div&gt;
      &lt;div&gt;&lt;/div&gt;
      &lt;div&gt;&lt;/div&gt;
      &lt;div&gt;&lt;/div&gt;
      &lt;div&gt;&lt;/div&gt;
      &lt;div&gt;&lt;/div&gt;
      &lt;div&gt;join&lt;/div&gt;
      &lt;div&gt;us&lt;/div&gt;
    &lt;/div&gt;</code></pre>
  </div>
  </div>
  </p>