<div class='card'></div>
<div class='card'></div>
<div class='card v'></div>
<div class='card v'></div>
<div class='card'></div>
<div class='card'></div>
<div class='card v'></div>
<div class='card v'></div>
<div class='card'></div>
<div class='card'></div>
<div class='card v'></div>
<div class='card v'></div>
<div class='card'></div>
<div class='card'></div>
<div class='card v'></div>
<div class='card v'></div>
<div class='card'></div>
<div class='card'></div>
<div class='card v'></div>
<div class='card v'></div>
<div class='card'></div>
<div class='card'></div>
<div class='card v'></div>
<div class='card v'></div>
<div class='card'></div>
<div class='card'></div>
<div class='card v'></div>
<div class='card v'></div>
$w: 13em;
$f: 19/13;
$g: 1em;
$n: 7;
$c: #4B384C;

body {
  --h: #{$f*$w};
  display: grid;
  grid-template-columns: repeat(var(--n, #{$n}), var(--w, #{$w}));
  grid-gap: 1em;
  place-content: center;
  margin: 0;
  min-height: 100vh;
  background: #333;
  
  @for $i from 1 through $n {
    @media (max-width: ($n - $i + 1)*$w + ($n - $i + 2)*$g) {
      @if $i == $n {
        --w: 100%;
        --h: #{$f*100vw};
      }
      @else { --n: #{$n - $i} }
    }
  }
}

.card {
  --rlist: var(--c) 0 3px, transparent 0 7px;
  --dim: 100% 50% no-repeat;
  --ang: 90deg;
  overflow: hidden;
  position: relative;
  height: var(--h);
  border-radius: 7px;
  box-shadow: 2px 2px 17px #000;
  background: 
      repeating-linear-gradient(var(--ang-0, -45deg), 
          var(--rlist)) var(--pos-0, 0 0)/ var(--dim), 
      repeating-linear-gradient(var(--ang-1, 45deg), 
          var(--rlist)) var(--pos-1, 0 100%)/ var(--dim), 
      linear-gradient(var(--ang), var(--nlist));
  
  &:nth-child(4n + 2) {
    --ang-0: 45deg;
    --ang-1: 135deg;
  }
  
  &:nth-child(4n + 3) {
    --ang-0: -60deg;
    --ang-1: 60deg;
  }
  
  &:nth-child(4n) {
    --ang-0: -120deg;
    --ang-1: 120deg;
  }
  
  &:nth-child(1) {
    --c: #3ea814;
    --nlist: #e8f4c6, #3bb720;
  }
  
  &:nth-child(2) {
    --c: #5d6f80;
    --nlist: #768896, #cbd4d6;
  }
  
  &:nth-child(3) {
    --c: #fe3a01;
    --nlist: #fe3502, #efd25d;
  }
  
  &:nth-child(4) {
    --c: #14282d;
    --nlist: #81b7c9, #26353c;
  }
  
  &:nth-child(5) {
    --c: #0e685e;
    --nlist: #77dddd, #1e766a;
  }
  
  &:nth-child(6) {
    --c: #dd7519;
    --nlist: #e68323, #fcdf85;
  }
  
  &:nth-child(7) {
    --c: #034077;
    --nlist: #013579, #3fdbe5;
  }
  
  &:nth-child(8) {
    --c: #05131f;
    --nlist: #2c6f90, #0e1f29;
  }
  
  &:nth-child(9) {
    --c: #b63e03;
    --nlist: #ebd346, #c2400c;
  }
  
  &:nth-child(10) {
    --c: #010e05;
    --nlist: #051e18, #186d56;
  }
  
  &:nth-child(11) {
    --c: #093658;
    --nlist: #193961, #72cadd;
  }
  
  &:nth-child(12) {
    --c: #011422;
    --nlist: #027899, #05262d;
  }
  
  &:nth-child(13) {
    --c: #e0aa0a;
    --nlist: #fcef34, #dead1f;
  }
  
  &:nth-child(14) {
    --c: #13507e;
    --nlist: #235790, #7fc8d3;
  }
  
  &:nth-child(15) {
    --c: #326f12;
    --nlist: #397d28, #cce296;
  }
  
  &:nth-child(16) {
    --c: #4486b0;
    --nlist: #d4eef7, #3b8cbc;
  }
  
  &:nth-child(17) {
    --c: #4d3628;
    --nlist: #dac7b0, #513831;
  }
  
  &:nth-child(18) {
    --c: #ed1d00;
    --nlist: #ef2902, #f6940a;
  }
  
  &:nth-child(19) {
    --c: #c71b01;
    --nlist: #cd1700, #f76705;
  }
  
  &:nth-child(20) {
    --c: #2e354c;
    --nlist: #adc0e0, #303548;
  }
  
  &:nth-child(21) {
    --c: #88b70f;
    --nlist: #e2eb81, #9cc323;
  }
  
  &:nth-child(22) {
    --c: #243eb1;
    --nlist: #3046bb, #a4c9e6;
  }
  
  &:nth-child(23) {
    --c: #990741;
    --nlist: #a6103c, #f246d6;
  }
  
  &:nth-child(24) {
    --c: #456400;
    --nlist: #d2e001, #3a6202;
  }
  
  &:nth-child(25) {
    --c: #bf5734;
    --nlist: #ecd7bc, #c95c3a;
  }
  
  &:nth-child(26) {
    --c: #228f8a;
    --nlist: #2b9c96, #90e1e2;
  }
  
  &:nth-child(27) {
    --c: #49130c;
    --nlist: #de8068, #55221a;
  }
  
  &:nth-child(28) {
    --c: #32453f;
    --nlist: #b9dcce, #333e3a;
  }
}

.v {
  --dim: 50% no-repeat;
  --ang: 0deg;
  --pos-1: 100%;
}
View Compiled

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.