
* {
  box-sizing: border-box;
}

html, body {
  width: 100%;
  height: 100%;
  margin: 0;
}


.loader-container {
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.loader {
  --width: 28px;     
  --height: 18px;     
  --fg: #3d5bbb;         
  --bg: #ddd;         

  width: var(--width);
  height: var(--height);

  /* mask cho Firefox + Chrome */
  mask: radial-gradient(
      circle closest-side,
      #000 94%,
      transparent
    ) left / 20% 100% repeat-x;

  -webkit-mask: radial-gradient(
      circle closest-side,
      #000 94%,
      transparent
    ) left / 20% 100% repeat-x;

  background:
    linear-gradient(var(--fg) 0 0)
    left / 0% 100% no-repeat
    var(--bg);

  animation: progress-steps 2s infinite steps(6);
}


@keyframes progress-steps {
  to {
    background-size: 120% 100%;
  }
}
