<div class="grid__container">
  <div class="grid__item col1"></div>
  <div class="grid__item col2"></div>
  <div class="grid__item col3"></div>
  <div class="grid__item col4"></div>
  <div class="grid__item col2"></div>
  <div class="grid__item col5"></div>
  <div class="grid__item col6"></div>
  <div class="grid__item col1"></div>
  <div class="grid__item col7"></div>
  <div class="grid__item col5"></div>
  <div class="grid__item col8"></div>
  <div class="grid__item col4"></div>
  <div class="grid__item col3"></div>
  <div class="grid__item col9"></div>
  <div class="grid__item col2"></div>
  <div class="grid__item col10"></div>
  <div class="grid__item col11"></div>
  <div class="grid__item col1"></div>
  <div class="grid__item col12"></div>
  <div class="grid__item col3"></div>
  <div class="grid__item col3"></div>
  <div class="grid__item col3"></div>
  <div class="grid__item col3"></div>
  <div class="grid__item col4"></div>
  <div class="grid__item col4"></div>
  <div class="grid__item col4"></div>
  <div class="grid__item col6"></div>
  <div class="grid__item col6"></div>
</div>
@import url("https://fonts.googleapis.com/css?family=Gochi+Hand");

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  width: 100vw;
  min-height: 100vh;
  margin: 0;
  background-color: #291642;
  font-family: "Gochi Hand", sans-serif;
  font-size: 100%;
  letter-spacing: 0.1rem;
  color: #fff;
  padding: 2vh;

  display: flex;
  justify-content: center;
  align-items: center;
}

.grid__container {
  inline-size: 50vw;
  border-radius: 5px;
  box-shadow: 0 20px 30px rgba(0, 0, 0, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.3);
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
  transition: box-shadow 0.3s ease;

  overflow: hidden;
  resize: horizontal;

  background-image: linear-gradient(
    0deg,
    rgba(255, 255, 255, 0.5),
    rgba(255, 255, 255, 0.5)
  );
  backdrop-filter: blur(3px);
}

.grid__item {
  background-color: #607d8b;
}

:root {
  --columns: 12;
  --gap: 10px;
  --span: 1;
}

.grid__container {
  display: grid;
  grid-template-columns: repeat(var(--columns), 1fr);
  grid-template-rows: 1fr;
  gap: var(--gap);
  padding-left: calc(var(--gap) / 2);
  padding-right: calc(var(--gap) / 2);
}

.grid__item {
  min-block-size: 10vh;
  grid-column: span var(--span);
}

.col1 {
  --span: 1;
}

.col2 {
  --span: 2;
}

.col3 {
  --span: 3;
}

.col4 {
  --span: 4;
}

.col5 {
  --span: 5;
}

.col6 {
  --span: 6;
}

.col7 {
  --span: 7;
}

.col8 {
  --span: 8;
}

.col9 {
  --span: 9;
}

.col10 {
  --span: 10;
}

.col11 {
  --span: 11;
}

.col12 {
  --span: 12;
}
View Compiled

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.