<div class="wrapper">
  <div class="grid grid--1">
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
  </div>

  <div class="grid grid--2">
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
  </div>
</div>
* {
  box-sizing: border-box;
}

body {
  background: #212121;
  padding: 20px;
}

.wrapper {
  display: flex;
  flex-wrap: wrap;
  max-width: 1400px;
  margin: 0 auto;
}

.grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-auto-rows: 100px;
  gap: 20px;
  border: 2px solid white;
  flex: 1 1 auto;
  margin: 20px;
  padding: 20px;
  counter-reset: grid;
}

.item {
  background: #AB47BC;
  padding: 20px;
  grid-column: span 2;
    
  &::after {
    counter-increment: grid;
    content: counter(grid);
  }

  /* Dealing with 2 orphan items */
  &:last-child:nth-child(3n - 1) {
    grid-column-end: -2;
  }
  
  &:nth-last-child(2):nth-child(3n + 1) {
    grid-column-end: 4;
  }

  /* Dealing with single orphan */
  &:last-child:nth-child(3n - 2) {
    grid-column-end: 5;
  }
}

.grid--2 {
  .item {
    background: #D4E157;
  }
}
View Compiled

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.