body {
  background: black;
}

.progress {
  --progress: 0%;
  width: 500px;
  height: 10px;
  margin: 3em auto;
  border: 1px solid #fff;
  padding: 3px 10px;
  background-color: lightgrey;
  box-shadow: 0 0 10px #aaa;
}

.progress .bar {
  width: var(--progress);
  height: 100%;
  background: linear-gradient(gold, gold, gold);
  background-repeat: repeat;
  box-shadow: 0 0 10px 0px white;
  -webkit-animation: 
    shine 4s ease-in infinite,
    end 1s ease-out 1 7s;
          animation: 
    shine 4s ease-in infinite,
    end 1s ease-out 1 7s;
  transition: width 3s ease 3s;
}

@property --progress {
  syntax: "<length>";
  initial-value: 0%;
  inherits: true;
}

@-webkit-keyframes shine {
  0% { background-position: 0 0; }
  100% { background-position: 0 50px; }
}

@keyframes shine {
  0% { background-position: 0 0; }
  100% { background-position: 0 50px; }
}

@-webkit-keyframes end {
  0%, 100% { box-shadow: 0 0 10px 0px white; }
  50% { box-shadow: 0 0 15px 5px white; }
}

@keyframes end {
  0%, 100% { box-shadow: 0 0 10px 0px white; }
  50% { box-shadow: 0 0 15px 5px white; }
}