.ball {
  overflow: hidden;
  position: relative;
  width: 100%;
  margin: 2em 0 0;
  background: url(ball/smoke-2.jpg) 0 0 / auto 100% repeat;
  animation-name: smoke-new;
  animation-fill-mode: backwards;
  animation-duration: 1000s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  z-index: 2;
}

.ball__layer {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.ball__layer:first-child {
  position: static;
  margin: -4vw 0;
}

.ball__stars {
  background: url(ball/stars-2.png) 0 0 / auto 100% repeat;
  animation-name: smoke;
  animation-duration: 3000s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}


.ball__fire {
  top: 8%;
  left: 0.5%;
  width: 90%;
  height: 90%;
  animation-name: fire;
  animation-duration: .20s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

.ball__ball {
  top: 23.3%;
  left: 41.5%;
  width: 32%;
  height: auto;
  animation-name: ball;
  animation-duration: 15s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

.ball__shadow {
  top: 14.5%;
  left: 40.3%;
  width: 36.2%;
  height: auto;
}

.ball__aura {
  top: 9.4%;
  left: 40.3%;
  width: 40.8%;
  height: auto;
}

.ball__layer_small {
  width: 75%;
  height: 75%;
  left: 8%;
  top: 12.5%;
}

.ball__particles {
  background: url(ball/particles-big-2.png) 0 0 / auto 100% repeat;
  animation-name: smoke;
  animation-duration: 25s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}


@keyframes smoke {
  0% { background-position: 0 0; }
  100% { background-position: 10000% 0; }
}

@keyframes smoke-new {
  0% { background-position: 0 0; }
  100% { background-position: -10000% 0; }
}

@keyframes fire {
  0% { transform: scaleX(.8); }
  100% { transform: scaleX(1); }
}

@keyframes ball {
  0% { transform: rotateZ(0deg); }
  100% { transform: rotateZ(360deg); }
}

.footer,
.black-footer,
.credits,
.anons-portfolio-tags {
  color: #fff;
  border-color: rgba(255, 255, 255, .2);
  background: #000;
}