@-webkit-keyframes ball-zig-deflect {
  17% {
    -webkit-transform: translate(15px, -30px);
            transform: translate(15px, -30px); }
  34% {
    -webkit-transform: translate(-15px, -30px);
            transform: translate(-15px, -30px); }
  50% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  67% {
    -webkit-transform: translate(-15px, -30px);
            transform: translate(-15px, -30px); }
  84% {
    -webkit-transform: translate(15px, -30px);
            transform: translate(15px, -30px); }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

@-moz-keyframes ball-zig-deflect {
  17% {
    -moz-transform: translate(15px, -30px);
         transform: translate(15px, -30px); }
  34% {
    -moz-transform: translate(-15px, -30px);
         transform: translate(-15px, -30px); }
  50% {
    -moz-transform: translate(0, 0);
         transform: translate(0, 0); }
  67% {
    -moz-transform: translate(-15px, -30px);
         transform: translate(-15px, -30px); }
  84% {
    -moz-transform: translate(15px, -30px);
         transform: translate(15px, -30px); }
  100% {
    -moz-transform: translate(0, 0);
         transform: translate(0, 0); } }

@-o-keyframes ball-zig-deflect {
  17% {
    -o-transform: translate(15px, -30px);
       transform: translate(15px, -30px); }
  34% {
    -o-transform: translate(-15px, -30px);
       transform: translate(-15px, -30px); }
  50% {
    -o-transform: translate(0, 0);
       transform: translate(0, 0); }
  67% {
    -o-transform: translate(-15px, -30px);
       transform: translate(-15px, -30px); }
  84% {
    -o-transform: translate(15px, -30px);
       transform: translate(15px, -30px); }
  100% {
    -o-transform: translate(0, 0);
       transform: translate(0, 0); } }

@keyframes ball-zig-deflect {
  17% {
    -webkit-transform: translate(15px, -30px);
       -moz-transform: translate(15px, -30px);
         -o-transform: translate(15px, -30px);
            transform: translate(15px, -30px); }
  34% {
    -webkit-transform: translate(-15px, -30px);
       -moz-transform: translate(-15px, -30px);
         -o-transform: translate(-15px, -30px);
            transform: translate(-15px, -30px); }
  50% {
    -webkit-transform: translate(0, 0);
       -moz-transform: translate(0, 0);
         -o-transform: translate(0, 0);
            transform: translate(0, 0); }
  67% {
    -webkit-transform: translate(-15px, -30px);
       -moz-transform: translate(-15px, -30px);
         -o-transform: translate(-15px, -30px);
            transform: translate(-15px, -30px); }
  84% {
    -webkit-transform: translate(15px, -30px);
       -moz-transform: translate(15px, -30px);
         -o-transform: translate(15px, -30px);
            transform: translate(15px, -30px); }
  100% {
    -webkit-transform: translate(0, 0);
       -moz-transform: translate(0, 0);
         -o-transform: translate(0, 0);
            transform: translate(0, 0); } }

@-webkit-keyframes ball-zag-deflect {
  17% {
    -webkit-transform: translate(-15px, 30px);
            transform: translate(-15px, 30px); }
  34% {
    -webkit-transform: translate(15px, 30px);
            transform: translate(15px, 30px); }
  50% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  67% {
    -webkit-transform: translate(15px, 30px);
            transform: translate(15px, 30px); }
  84% {
    -webkit-transform: translate(-15px, 30px);
            transform: translate(-15px, 30px); }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

@-moz-keyframes ball-zag-deflect {
  17% {
    -moz-transform: translate(-15px, 30px);
         transform: translate(-15px, 30px); }
  34% {
    -moz-transform: translate(15px, 30px);
         transform: translate(15px, 30px); }
  50% {
    -moz-transform: translate(0, 0);
         transform: translate(0, 0); }
  67% {
    -moz-transform: translate(15px, 30px);
         transform: translate(15px, 30px); }
  84% {
    -moz-transform: translate(-15px, 30px);
         transform: translate(-15px, 30px); }
  100% {
    -moz-transform: translate(0, 0);
         transform: translate(0, 0); } }

@-o-keyframes ball-zag-deflect {
  17% {
    -o-transform: translate(-15px, 30px);
       transform: translate(-15px, 30px); }
  34% {
    -o-transform: translate(15px, 30px);
       transform: translate(15px, 30px); }
  50% {
    -o-transform: translate(0, 0);
       transform: translate(0, 0); }
  67% {
    -o-transform: translate(15px, 30px);
       transform: translate(15px, 30px); }
  84% {
    -o-transform: translate(-15px, 30px);
       transform: translate(-15px, 30px); }
  100% {
    -o-transform: translate(0, 0);
       transform: translate(0, 0); } }

@keyframes ball-zag-deflect {
  17% {
    -webkit-transform: translate(-15px, 30px);
       -moz-transform: translate(-15px, 30px);
         -o-transform: translate(-15px, 30px);
            transform: translate(-15px, 30px); }
  34% {
    -webkit-transform: translate(15px, 30px);
       -moz-transform: translate(15px, 30px);
         -o-transform: translate(15px, 30px);
            transform: translate(15px, 30px); }
  50% {
    -webkit-transform: translate(0, 0);
       -moz-transform: translate(0, 0);
         -o-transform: translate(0, 0);
            transform: translate(0, 0); }
  67% {
    -webkit-transform: translate(15px, 30px);
       -moz-transform: translate(15px, 30px);
         -o-transform: translate(15px, 30px);
            transform: translate(15px, 30px); }
  84% {
    -webkit-transform: translate(-15px, 30px);
       -moz-transform: translate(-15px, 30px);
         -o-transform: translate(-15px, 30px);
            transform: translate(-15px, 30px); }
  100% {
    -webkit-transform: translate(0, 0);
       -moz-transform: translate(0, 0);
         -o-transform: translate(0, 0);
            transform: translate(0, 0); } }

.ball-zig-zag-deflect {
  position: relative;
  -webkit-transform: translate(15px, -15px);
     -moz-transform: translate(15px, -15px);
      -ms-transform: translate(15px, -15px);
       -o-transform: translate(15px, -15px);
          transform: translate(15px, -15px); }
  .ball-zig-zag-deflect > div {
    background-color: #404E67;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    margin: 2px;
    -webkit-animation-fill-mode: both;
       -moz-animation-fill-mode: both;
         -o-animation-fill-mode: both;
            animation-fill-mode: both;
    position: absolute;
    margin-right: 15px;
    top: 4px;
    right: -7px; }
    .ball-zig-zag-deflect > div:first-child {
      -webkit-animation: ball-zig-deflect 1.5s 0s infinite linear;
         -moz-animation: ball-zig-deflect 1.5s 0s infinite linear;
           -o-animation: ball-zig-deflect 1.5s 0s infinite linear;
              animation: ball-zig-deflect 1.5s 0s infinite linear; }
    .ball-zig-zag-deflect > div:last-child {
      -webkit-animation: ball-zag-deflect 1.5s 0s infinite linear;
         -moz-animation: ball-zag-deflect 1.5s 0s infinite linear;
           -o-animation: ball-zag-deflect 1.5s 0s infinite linear;
              animation: ball-zag-deflect 1.5s 0s infinite linear; }
