<div class="page">
  <h1>LATEST NEWS</h1>
  <div class="archive">
    <article class="article">1
      <hr class="image">
      <hr>
    </article>
    <article class="article">2
      <hr>
      <hr>
      <hr>
      <hr>
      <hr>
    </article>
    <article class="article">3
      <hr>
      <hr>
      <hr>
    </article>
    <article class="article">4
      <hr class="image"><hr>
      <hr>
      <hr>
      <hr>
      <hr>
      <hr>
    </article>
    <article class="article">5
      <hr>
      <hr>
      <hr>
    </article>
    <article class="article">6
      <hr>
      <hr>
      <hr>
    </article>
    <article class="article">7
      <hr>
      <hr>
      <hr>
    </article>
    <article class="article">8
      <hr>
      <hr>
    </article>
    <article class="article">9
      <hr>
      <hr>
      <hr>
    </article>
    <article class="article">10
      <hr>
      <hr>
    </article>
    <article class="article">11
      <hr>
      <hr>
      <hr>
    </article>
    <article class="article">12
      <hr class="image"><hr>
      <hr>
      <hr>
    </article>
    <article class="article">13
      <hr class="image"><hr>
      <hr>
    </article>
    <article class="article">14
      <hr>
      <hr>
      <hr>
      <hr>
      <hr>
      <hr>
      <hr>
      <hr>
      <hr>
    </article>
    <article class="article">15
      <hr class="image">
      <hr>
      <hr>
      <hr>
      <hr>
    </article>
    <article class="article">16
      <hr>
      <hr>
      <hr>
      <hr>
      <hr>
      <hr>
    </article>
    <article class="article">17<hr>
      <hr>
      <hr></article>
  </div>
</div>
body {
  background: #001628;
  color: #777;
  padding: 4em;
  font-family: sans-serif;
  line-height: 1.15;
}

hr { /*dummy content*/
  height: 6px;
  border: none;
  background: rgba(0, 0, 0, 0.1);
} 

hr:last-child {  /*dummy content*/
  margin-right: 60%;
}

hr.image { /*dummy content*/
  padding-bottom: 50%;
} 

.page {
  padding: 2em;
  background: #cecece;
  max-width: 1100px;
}

.archive {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  grid-gap: 1em;
  grid-auto-flow: dense;
}

.article {
  padding: 1em;
  background: #fff;
  box-shadow:
    0 5px 10px rgba(0, 0, 0, 0.1),
    0 20px 20px rgba(0, 0, 0, 0.05);
}

.article:nth-child(1) {
  grid-column: 1 / -1;
  background: rgba(200,200,255,0.3)
}

.article:nth-child(1)>hr:first-child {
  padding-bottom: 30%
}

.article:nth-child(1)>hr:last-child {
  margin-right: 20%;
  height: 28px
}

.article:nth-child(1):after {
  content: "grid-column: 1 / -1";
}

.article:nth-child(8) {
  grid-column: -3 / -1;
  background: rgba(255,200,255,0.3)
}
.article:nth-child(8):after {
  content: "grid-column: -3 / -1";
}

.article:nth-child(12) {
  grid-column: 1 / -2;
  background: rgba(255,200,255,0.3)
}

.article:nth-child(12)>hr:first-child {
  padding-bottom: 30%
}

.article:nth-child(12):after {
  content: "grid-column: 1 / -2";
}

.article:after {
  color: #808;
  font-weight: bold;
  font-family: courier;
}

@media (max-width: 680px) {
  .archive {
    display: flex;
    flex-direction: column;
  }
  .article {
    margin-bottom: 1em;
  }
}

Run Pen

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.