@import url(http://fonts.googleapis.com/css?family=roboto);

body {
  margin: 0;
  padding: 0;
  background-color: #222;
}
/* 
* {
  color: #888;
  font-family: "roboto", Helvetica, sans-serif;
}
 */
.bar {
  display: block;
  width: 20px;/* Close size */
  height: 2px;
  margin: -2px auto;
  background-color: #fff;
  border-radius: 2px;
  transition: all 0.4s linear 0.1s;
  -webkit-transition: all 0.4s linear 0.1s;
  -moz-transition: all 0.4s linear 0.1s;
  -o-transition: all 0.4s linear 0.1s;
  -ms-transition: all 0.4s linear 0.1s;
}

.bar:first-child { margin-top: 27px; }

.wrap {
  position: absolute;
  top: 5px;
  left: 5px;
  margin: auto;
  width: 130px;
  height: 130px;
  filter: url("#filt");
  -webkit-filter: url("#filt");
}

.wrap .blob {
  display: block;
  cursor: pointer;
  border: none;
  outline: none;
  position: absolute;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  z-index: 10;
  background-color: #F44336;
  box-shadow: 0 0 10px 1px rgba(255, 255, 255, 0.3) inset;
  -webkit-box-shadow: 0 0 10px 1px rgba(255, 255, 255, 0.3) inset;
  -moz-box-shadow: 0 0 10px 1px rgba(255, 255, 255, 0.3) inset;
  -o-box-shadow: 0 0 10px 1px rgba(255, 255, 255, 0.3) inset;
  -ms-box-shadow: 0 0 10px 1px rgba(255, 255, 255, 0.3) inset;
}

.wrap .blob[for="checking"] {
  opacity: 0.5;
  z-index: 30;
  font-size: 15px;
  text-align: center;
  color: #fff;
  transition: transform 0.5s ease-in-out 0.2s;
  -webkit-transition: -webkit-transform 0.5s ease-in-out 0.2s;
  -moz-transition: transform 0.5s ease-in-out 0.2s;
  -o-transition: transform 0.5s ease-in-out 0.2s;
  -ms-transition: transform 0.5s ease-in-out 0.2s;
}

.wrap .blob:not([for="checking"]) {
  width: 25px;
  height: 25px;
  top: 7.5px;
  left: 7.5px;
  font-size: 15px;
  transition: all 0.5s ease-in-out;
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  -ms-transition: all 0.5s ease-in-out;
}

.wrap .blob:not([for="checking"]):hover {
  color: #F44336;
  animation: harlem 0.5s linear forwards;
  -webkit-animation: harlem 0.5s linear forwards;
  -moz-animation: harlem 0.5s linear forwards;
  -o-animation: harlem 0.5s linear forwards;
  -ms-animation: harlem 0.5s linear forwards;
}

/* Row 1 top 1 */
.wrap > #checking:checked ~ .blob:nth-child(2) {
  margin-left: 44px;
  margin-top: 0.5px;
  background-color: #fff;
}
.wrap > #checking:checked ~ .blob:nth-child(6) {
  margin-top: 31.7px;
  margin-left: 31.7px;
  background-color: #fff;
}
.wrap > #checking:checked ~ .blob:nth-child(5) {
  margin-top: 44px;
  margin-left: 0.5px;
  background-color: #fff;
}

.wrap > #checking:checked ~ .blob:nth-child(9) {
  margin-top: 0.5px;
  margin-left: 78px;
  background-color: #fff;
}
.wrap > #checking:checked ~ .blob:nth-child(7) {
  margin-top: 31.5px;
  margin-left: 72.5px;
  background-color: #fff;
}
.wrap > #checking:checked ~ .blob:nth-child(8) {
  margin-top: 59px;
  margin-left: 59px;
  background-color: #fff;
}
.wrap > #checking:checked ~ .blob:nth-child(3) {
  margin-top: 72.5px;
  margin-left: 31.5px;
  background-color: #fff;
}
.wrap > #checking:checked ~ .blob:nth-child(4) {
  margin-top: 78px;
  margin-left: 0.5px;
  background-color: #fff;
}




.wrap > #checking:checked ~ .blob[for="checking"] > .bar:nth-child(1) {
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  margin-top: 20px;
}

.wrap > #checking:checked ~ .blob[for="checking"] > .bar:nth-child(2) {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  margin-top: -5px;
}

.wrap > #checking:checked ~ .blob[for="checking"] > .bar:nth-child(3) { opacity: 0; }
@keyframes 
harlem {  
  0% {
   transform: translate(0);
   -webkit-transform: translate(0);
   -moz-transform: translate(0);
   -o-transform: translate(0);
   -ms-transform: translate(0);
  }
 25% {
   transform: translate(5px, 5px);
   -webkit-transform: translate(5px, 5px);
   -moz-transform: translate(5px, 5px);
   -o-transform: translate(5px, 5px);
   -ms-transform: translate(5px, 5px);
  }
 50% {
   transform: translate(-5px, -5px);
   -webkit-transform: translate(-5px, -5px);
   -moz-transform: translate(-5px, -5px);
   -o-transform: translate(-5px, -5px);
   -ms-transform: translate(-5px, -5px);
  }
 75% {
   transform: translate(2px, 2px);
   -webkit-transform: translate(2px, 2px);
   -moz-transform: translate(2px, 2px);
   -o-transform: translate(2px, 2px);
   -ms-transform: translate(2px, 2px);
  }
 100% {
   transform: translate(0);
   -webkit-transform: translate(0);
   -moz-transform: translate(0);
   -o-transform: translate(0);
   -ms-transform: translate(0);
  }
}
@-webkit-keyframes 
harlem {  
  0% {
   transform: translate(0);
   -webkit-transform: translate(0);
   -moz-transform: translate(0);
   -o-transform: translate(0);
   -ms-transform: translate(0);
  }
 25% {
 transform: translate(5px, 5px);
 -webkit-transform: translate(5px, 5px);
 -moz-transform: translate(5px, 5px);
 -o-transform: translate(5px, 5px);
 -ms-transform: translate(5px, 5px);
}
 50% {
   transform: translate(-5px, -5px);
   -webkit-transform: translate(-5px, -5px);
   -moz-transform: translate(-5px, -5px);
   -o-transform: translate(-5px, -5px);
   -ms-transform: translate(-5px, -5px);
  }
 75% {
   transform: translate(2px, 2px);
   -webkit-transform: translate(2px, 2px);
   -moz-transform: translate(2px, 2px);
   -o-transform: translate(2px, 2px);
   -ms-transform: translate(2px, 2px);
  }
 100% {
   transform: translate(0);
   -webkit-transform: translate(0);
   -moz-transform: translate(0);
   -o-transform: translate(0);
   -ms-transform: translate(0);
  }
}