.bb, .bb::before, .bb::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.bb {
  width: 550px;
  height: 550px;
  border:15px solid #fff;
  margin: auto;
  background: url("") no-repeat 50%/70% rgba(0, 0, 0, 0.1);
  color: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(105, 202, 98, 0.5);
}
.bb::before, .bb::after {
  content: '';
  z-index: -1;
  margin: -5%;
  box-shadow: inset 0 0 0 2px;
  animation: clipMe 8s linear infinite;
}
.bb::before {
  animation-delay: -4s;
}
.bb:hover::after, .bb:hover::before {
  /*background-color: rgba(255, 0, 0, 0.3);*/
}

@keyframes clipMe {
  0%, 100% {
    clip: rect(0px, 580px, 2px, 0px);
  }
  25% {
    clip: rect(0px, 2px, 580px, 0px);
  }
  50% {
    clip: rect(578px, 580px, 580px, 0px);
  }
  75% {
    clip: rect(0px, 580px, 500px, 578px);
  }
}
html,
body {
  height: 100%;
}

body {
  position: relative;
  background-color: #0f222b;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

