	.ball {
  display: inline-block;
  /*width: 35%;
  height: auto;*/
  border-radius: 100%;
  position: relative;
  /* background: radial-gradient(circle at bottom, #D3F0f6, #C6EeFB 10%, #055194 80%, #062745 100%);  */
  }
  
  
  .ball:after {
	  position: relative;
    content: "";
    /* position: absolute; */
    display: none;
    top: 5%;
    left: 10%;
    width: 80%;
    height: 80%;
    border-radius: 100%;
	opacity:0.3;
    -webkit-filter: blur(1px);
    filter: blur(1px);
    z-index: 2;
    /* -webkit-transform: rotateZ(-30deg); */
    /* transform: rotateZ(-30deg); } */
  /* .ball .shadow {
    position: absolute;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0) 50%);
    -webkit-transform: rotateX(90deg) translateZ(-160px);
    transform: rotateX(90deg) translateZ(-160px);
    z-index: 1; } */
  .ball.plain {
    background: black; }
    .ball.plain:before, .ball.plain:after {
      display: none; }
  .ball.bubble {
    /* background: radial-gradient(circle at 40% 35%, rgba(240, 245, 255, 0.4), rgba(240, 245, 255, 0.15) 10%, rgba(155, 178, 255, 0.25) 60%, rgba(33, 20, 75, 0.4)); */
    -webkit-animation: bubble-anim 2s ease-out 1;
    animation: bubble-anim 2s ease-out 1; }
    .ball.bubble:hover {
      -webkit-filter: blur(0);
      filter: blur(2);
      height: auto;
      width: 80%;
	  -webkit-transition: all 0.25s;
                    -o-transition: all 0.25s;
                    -moz-transition: all 0.25s;
                    transition: all 0.25s;
	  -webkit-animation: bubble-anim 2s ease-out 1;
    animation: bubble-anim 2s ease-out infinite; 
       /* background: radial-gradient(circle at 130% 130%, rgba(255, 255, 255, 0.7) 0, rgba(255, 255, 255, 0.3) 46%, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0.8) 58%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0.3) 100%); */ 
      /*-webkit-transform: translateX(131%) translateY(58%);
      transform: translateX(131%) translateY(58%)*/; 
	  }
    .ball.bubble:active {
      display: block;
      background: radial-gradient(circle at 50% 80%, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 74%, white 80%, white 84%, rgba(255, 255, 255, 0) 100%); }

.stage {
  width: 300px;
  height: 300px;
  display: inline-block;
  margin: 20px;
  -webkit-perspective: 1200px;
  -moz-perspective: 1200px;
  -ms-perspective: 1200px;
  -o-perspective: 1200px;
  perspective: 1200px;
  -webkit-perspective-origin: 50% 50%;
  -moz-perspective-origin: 50% 50%;
  -ms-perspective-origin: 50% 50%;
  -o-perspective-origin: 50% 50%;
  perspective-origin: 50% 50%;
}
body {
  width: 200px;
  margin: 20px auto;
  background: linear-gradient(to bottom, rgba(100, 100, 100, 0.2) 0%, rgba(255, 255, 255, 0.5) 40%, #ffffff 100%);
  background-repeat: no-repeat;
}

@-webkit-keyframes bubble-anim {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }

  20% {
    -webkit-transform: scaleY(0.95) scaleX(1.05);
    transform: scaleY(0.95) scaleX(1.05); }

  48% {
    -webkit-transform: scaleY(1.1) scaleX(0.9);
    transform: scaleY(1.1) scaleX(0.9); }

  68% {
    -webkit-transform: scaleY(0.98) scaleX(1.02);
    transform: scaleY(0.98) scaleX(1.02); }

  80% {
    -webkit-transform: scaleY(1.02) scaleX(0.98);
    transform: scaleY(1.02) scaleX(0.98); }

  97%, 100% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes bubble-anim {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }

  20% {
    -webkit-transform: scaleY(0.95) scaleX(1.05);
    transform: scaleY(0.95) scaleX(1.05); }

  48% {
    -webkit-transform: scaleY(1.1) scaleX(0.9);
    transform: scaleY(1.1) scaleX(0.9); }

  68% {
    -webkit-transform: scaleY(0.98) scaleX(1.02);
    transform: scaleY(0.98) scaleX(1.02); }

  80% {
    -webkit-transform: scaleY(1.02) scaleX(0.98);
    transform: scaleY(1.02) scaleX(0.98); }

  97%, 100% {
    -webkit-transform: scale(1);
    transform: scale(1); } }