<svg>
  <pattern id="p-flowers" width="200" height="200" viewBox="0 0 200 200" patternUnits="userSpaceOnUse">
    <image xlink:href="https://img-fotki.yandex.ru/get/366459/5091629.a5/0_93a5a_b49d3852_XL" width="200" height="200"/>
  </pattern>
  
  <pattern id="p-flowers--blue" width="200" height="200" viewBox="0 0 200 200" patternUnits="userSpaceOnUse">
    <image xlink:href="https://img-fotki.yandex.ru/get/508985/5091629.a5/0_93a58_d8962d8c_XL" width="200" height="200"/>
  </pattern>
  
  <pattern id="p-flowers--orange" width="200" height="200" viewBox="0 0 200 200" patternUnits="userSpaceOnUse">
    <image xlink:href="https://img-fotki.yandex.ru/get/404236/5091629.a5/0_93a59_ae3b0041_XL" width="200" height="200"/>
  </pattern>
  
  <pattern id="p-mask-squares" width="50" height="50" viewBox="0 0 50 50" patternUnits="userSpaceOnUse">
    <rect width=".1" height=".1" x="24" y="24" class="elem-mask" transform="rotate(45, 25, 25)"/>
  </pattern>
  
  <mask id="m-line">
    <rect width="100%" height="100%" fill="url(#p-mask-squares)" />
  </mask>
  
  <rect width="100%" height="100%" fill="url(#p-flowers)" mask="url(#m-line)" class="rect-filled"/>
  <rect width="100%" height="100%" fill="url(#p-flowers--blue)" mask="url(#m-line)" class="rect-filled"/>
  <rect width="100%" height="100%" fill="url(#p-flowers--orange)" mask="url(#m-line)" class="rect-filled"/>
  
</svg>
<div class="progress"></div>
BODY {
  background: #FFF linear-gradient(90deg, rgba(154, 205, 50,.3) 50%, rgba(154, 205, 50,.15) 50%);
  background-size: 2em 2em;
  }


svg {
  width: 100%;
  height: 270px;
}

$mask-time: 5s;
$masks-count: 5;

.elem-mask {
  stroke: #FFF;
  stroke-width: 0;
  animation: stroke-width $mask-time infinite;  
  }

@keyframes stroke-width {
  50% {
    stroke-width: 100;
    }
  }

$max: 3;
$showhide-time: $mask-time * $max;

.rect-filled {
  opacity: 1;
  animation: hide $showhide-time step-end infinite;
  
  @for $item from 2 through $max {
    &:nth-of-type(#{$max}n + #{$item}) {
      animation-delay: -$mask-time*($item - 1);
    }
  }
  
}

@keyframes hide {
  0% {
    opacity: 1;
  }
  33% {
    opacity: 0;
  }
}

.progress {
  width: 0;
  height: 5px;
  background: rgba(154, 205, 50,.5);
  animation: timer $showhide-time infinite linear;
}

@keyframes timer {
  100% {
    width: 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.