.bloc-vert{
  position:relative;
  background-color:#1C4F1C;
  background-image:linear-gradient(180deg,
    rgba(255,255,255,.07), transparent 55%, rgba(0,0,0,.20));
  overflow:hidden;
}
.bloc-vert::before,
.bloc-vert::after{
  content:"";
  position:absolute; left:0; right:0; height:2px;
  background:linear-gradient(90deg,
    transparent, #D7DA45, #79B63B, #1BA09A, transparent);
  background-size:220% 100%;
  background-position:220% 0;
  background-repeat:no-repeat;
}
.bloc-vert::before{ top:0 }
.bloc-vert::after { bottom:0 }
.bloc-vert.on::before{ animation:sweep 1.5s ease-out forwards }
.bloc-vert.on::after { animation:sweep 1.5s ease-out .18s forwards }
@keyframes sweep{ to{ background-position:-20% 0 } }
@media(prefers-reduced-motion:reduce){
  .bloc-vert::before,.bloc-vert::after{
    background-position:50% 0; background-size:100% 100%; animation:none }
}
