/*!

 * Hover.css (http://ianlunn.co.uk/)

 * Version: 1.0.8

 * Author: Ian Lunn @IanLunn

 * Author URL: http://ianlunn.co.uk/

 * Github: https://github.com/IanLunn/Hover



 * Made available under a MIT License:

 * http://www.opensource.org/licenses/mit-license.php



 * Hover.css Copyright Ian Lunn 2014.

 */

/* Default styles for the demo buttons */

.button {

  margin: .4em;

  padding: 1em;

  cursor: pointer;

  background: #e1e1e1;

  text-decoration: none;

  color: #666666;

  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);

}



/* 2D TRANSITIONS */

/* Grow */

.grow {

  display: inline-block;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: transform;

  transition-property: transform;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.grow:hover, .grow:focus, .grow:active {

  -webkit-transform: scale(1.1);

  transform: scale(1.1);

}



/* Shrink */

.shrink {

  display: inline-block;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: transform;

  transition-property: transform;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.shrink:hover, .shrink:focus, .shrink:active {

  -webkit-transform: scale(0.9);

  transform: scale(0.9);

}



/* Pulse */

@-webkit-keyframes pulse {

  25% {

    -webkit-transform: scale(1.1);

    transform: scale(1.1);

  }



  75% {

    -webkit-transform: scale(0.9);

    transform: scale(0.9);

  }

}



@keyframes pulse {

  25% {

    -webkit-transform: scale(1.1);

    transform: scale(1.1);

  }



  75% {

    -webkit-transform: scale(0.9);

    transform: scale(0.9);

  }

}



.pulse {

  display: inline-block;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.pulse:hover, .pulse:focus, .pulse:active {

  -webkit-animation-name: pulse;

  animation-name: pulse;

  -webkit-animation-duration: 1s;

  animation-duration: 1s;

  -webkit-animation-timing-function: linear;

  animation-timing-function: linear;

  -webkit-animation-iteration-count: infinite;

  animation-iteration-count: infinite;

}



/* Pulse Grow */

@-webkit-keyframes pulse-grow {

  to {

    -webkit-transform: scale(1.1);

    transform: scale(1.1);

  }

}



@keyframes pulse-grow {

  to {

    -webkit-transform: scale(1.1);

    transform: scale(1.1);

  }

}



.pulse-grow {

  display: inline-block;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.pulse-grow:hover, .pulse-grow:focus, .pulse-grow:active {

  -webkit-animation-name: pulse-grow;

  animation-name: pulse-grow;

  -webkit-animation-duration: 0.3s;

  animation-duration: 0.3s;

  -webkit-animation-timing-function: linear;

  animation-timing-function: linear;

  -webkit-animation-iteration-count: infinite;

  animation-iteration-count: infinite;

  -webkit-animation-direction: alternate;

  animation-direction: alternate;

}



/* Pulse Shrink */

@-webkit-keyframes pulse-shrink {

  to {

    -webkit-transform: scale(0.9);

    transform: scale(0.9);

  }

}



@keyframes pulse-shrink {

  to {

    -webkit-transform: scale(0.9);

    transform: scale(0.9);

  }

}



.pulse-shrink {

  display: inline-block;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.pulse-shrink:hover, .pulse-shrink:focus, .pulse-shrink:active {

  -webkit-animation-name: pulse-shrink;

  animation-name: pulse-shrink;

  -webkit-animation-duration: 0.3s;

  animation-duration: 0.3s;

  -webkit-animation-timing-function: linear;

  animation-timing-function: linear;

  -webkit-animation-iteration-count: infinite;

  animation-iteration-count: infinite;

  -webkit-animation-direction: alternate;

  animation-direction: alternate;

}



/* Push */

@-webkit-keyframes push {

  50% {

    -webkit-transform: scale(0.8);

    transform: scale(0.8);

  }



  100% {

    -webkit-transform: scale(1);

    transform: scale(1);

  }

}



@keyframes push {

  50% {

    -webkit-transform: scale(0.8);

    transform: scale(0.8);

  }



  100% {

    -webkit-transform: scale(1);

    transform: scale(1);

  }

}



.push {

  display: inline-block;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.push:hover, .push:focus, .push:active {

  -webkit-animation-name: push;

  animation-name: push;

  -webkit-animation-duration: 0.3s;

  animation-duration: 0.3s;

  -webkit-animation-timing-function: linear;

  animation-timing-function: linear;

  -webkit-animation-iteration-count: 1;

  animation-iteration-count: 1;

}



/* Pop */

@-webkit-keyframes pop {

  50% {

    -webkit-transform: scale(1.2);

    transform: scale(1.2);

  }



  100% {

    -webkit-transform: scale(1);

    transform: scale(1);

  }

}



@keyframes pop {

  50% {

    -webkit-transform: scale(1.2);

    transform: scale(1.2);

  }



  100% {

    -webkit-transform: scale(1);

    transform: scale(1);

  }

}



.pop {

  display: inline-block;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.pop:hover, .pop:focus, .pop:active {

  -webkit-animation-name: pop;

  animation-name: pop;

  -webkit-animation-duration: 0.3s;

  animation-duration: 0.3s;

  -webkit-animation-timing-function: linear;

  animation-timing-function: linear;

  -webkit-animation-iteration-count: 1;

  animation-iteration-count: 1;

}



/* Rotate */

.rotate {

  display: inline-block;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: transform;

  transition-property: transform;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.rotate:hover, .rotate:focus, .rotate:active {

  -webkit-transform: rotate(4deg);

  transform: rotate(4deg);

}



/* Grow Rotate */

.grow-rotate {

  display: inline-block;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: transform;

  transition-property: transform;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.grow-rotate:hover, .grow-rotate:focus, .grow-rotate:active {

  -webkit-transform: scale(1.1) rotate(4deg);

  transform: scale(1.1) rotate(4deg);

}



/* Float */

.float {

  display: inline-block;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: transform;

  transition-property: transform;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.float:hover, .float:focus, .float:active {

  -webkit-transform: translateY(-5px);

  transform: translateY(-5px);

}



/* Sink */

.sink {

  display: inline-block;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: transform;

  transition-property: transform;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.sink:hover, .sink:focus, .sink:active {

  -webkit-transform: translateY(5px);

  transform: translateY(5px);

}



/* Hover */

@-webkit-keyframes hover {

  50% {

    -webkit-transform: translateY(-3px);

    transform: translateY(-3px);

  }




  100% {

    -webkit-transform: translateY(-6px);

    transform: translateY(-6px);

  }

}



@keyframes hover {

  50% {

    -webkit-transform: translateY(-3px);

    transform: translateY(-3px);

  }



  100% {

    -webkit-transform: translateY(-6px);

    transform: translateY(-6px);

  }

}



.hover {

  display: inline-block;

  -webkit-transition-duration: 0.5s;

  transition-duration: 0.5s;

  -webkit-transition-property: transform;

  transition-property: transform;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.hover:hover, .hover:focus, .hover:active {

  -webkit-transform: translateY(-6px);

  transform: translateY(-6px);

  -webkit-animation-name: hover;

  animation-name: hover;

  -webkit-animation-duration: 1.5s;

  animation-duration: 1.5s;

  -webkit-animation-delay: 0.3s;

  animation-delay: 0.3s;

  -webkit-animation-timing-function: linear;

  animation-timing-function: linear;

  -webkit-animation-iteration-count: infinite;

  animation-iteration-count: infinite;

  -webkit-animation-direction: alternate;

  animation-direction: alternate;

}



/* Hang */

@-webkit-keyframes hang {

  50% {

    -webkit-transform: translateY(3px);

    transform: translateY(3px);

  }



  100% {

    -webkit-transform: translateY(6px);

    transform: translateY(6px);

  }

}



@keyframes hang {

  50% {

    -webkit-transform: translateY(3px);

    transform: translateY(3px);

  }



  100% {

    -webkit-transform: translateY(6px);

    transform: translateY(6px);

  }

}



.hang {

  display: inline-block;

  -webkit-transition-duration: 0.5s;

  transition-duration: 0.5s;

  -webkit-transition-property: transform;

  transition-property: transform;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.hang:hover, .hang:focus, .hang:active {

  -webkit-transform: translateY(6px);

  transform: translateY(6px);

  -webkit-animation-name: hang;

  animation-name: hang;

  -webkit-animation-duration: 1.5s;

  animation-duration: 1.5s;

  -webkit-animation-delay: 0.3s;

  animation-delay: 0.3s;

  -webkit-animation-timing-function: linear;

  animation-timing-function: linear;

  -webkit-animation-iteration-count: infinite;

  animation-iteration-count: infinite;

  -webkit-animation-direction: alternate;

  animation-direction: alternate;

}



/* Skew */

.skew {

  display: inline-block;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: transform;

  transition-property: transform;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.skew:hover, .skew:focus, .skew:active {

  -webkit-transform: skew(-10deg);

  transform: skew(-10deg);

}



/* Skew Forward */

.skew-forward {

  display: inline-block;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: transform;

  transition-property: transform;

  -webkit-transform-origin: 0 100%;

  transform-origin: 0 100%;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.skew-forward:hover, .skew-forward:focus, .skew-forward:active {

  -webkit-transform: skew(-10deg);

  transform: skew(-10deg);

}



/* Skew Backward */

.skew-backward {

  display: inline-block;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: transform;

  transition-property: transform;

  -webkit-transform-origin: 0 100%;

  transform-origin: 0 100%;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.skew-backward:hover, .skew-backward:focus, .skew-backward:active {

  -webkit-transform: skew(10deg);

  transform: skew(10deg);

}



/* Wobble Vertical */

@-webkit-keyframes wobble-vertical {

  16.65% {

    -webkit-transform: translateY(8px);

    transform: translateY(8px);

  }



  33.3% {

    -webkit-transform: translateY(-6px);

    transform: translateY(-6px);

  }



  49.95% {

    -webkit-transform: translateY(4px);

    transform: translateY(4px);

  }



  66.6% {

    -webkit-transform: translateY(-2px);

    transform: translateY(-2px);

  }



  83.25% {

    -webkit-transform: translateY(1px);

    transform: translateY(1px);

  }



  100% {

    -webkit-transform: translateY(0);

    transform: translateY(0);

  }

}



@keyframes wobble-vertical {

  16.65% {

    -webkit-transform: translateY(8px);

    transform: translateY(8px);

  }



  33.3% {

    -webkit-transform: translateY(-6px);

    transform: translateY(-6px);

  }



  49.95% {

    -webkit-transform: translateY(4px);

    transform: translateY(4px);

  }



  66.6% {

    -webkit-transform: translateY(-2px);

    transform: translateY(-2px);

  }



  83.25% {

    -webkit-transform: translateY(1px);

    transform: translateY(1px);

  }



  100% {

    -webkit-transform: translateY(0);

    transform: translateY(0);

  }

}



.wobble-vertical {

  display: inline-block;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.wobble-vertical:hover, .wobble-vertical:focus, .wobble-vertical:active {

  -webkit-animation-name: wobble-vertical;

  animation-name: wobble-vertical;

  -webkit-animation-duration: 1s;

  animation-duration: 1s;

  -webkit-animation-timing-function: ease-in-out;

  animation-timing-function: ease-in-out;

  -webkit-animation-iteration-count: 1;

  animation-iteration-count: 1;

}



/* Wobble Horizontal */

@-webkit-keyframes wobble-horizontal {

  16.65% {

    -webkit-transform: translateX(8px);

    transform: translateX(8px);

  }



  33.3% {

    -webkit-transform: translateX(-6px);

    transform: translateX(-6px);

  }



  49.95% {

    -webkit-transform: translateX(4px);

    transform: translateX(4px);

  }



  66.6% {

    -webkit-transform: translateX(-2px);

    transform: translateX(-2px);

  }



  83.25% {

    -webkit-transform: translateX(1px);

    transform: translateX(1px);

  }



  100% {

    -webkit-transform: translateX(0);

    transform: translateX(0);

  }

}



@keyframes wobble-horizontal {

  16.65% {

    -webkit-transform: translateX(8px);

    transform: translateX(8px);

  }



  33.3% {

    -webkit-transform: translateX(-6px);

    transform: translateX(-6px);

  }



  49.95% {

    -webkit-transform: translateX(4px);

    transform: translateX(4px);

  }



  66.6% {

    -webkit-transform: translateX(-2px);

    transform: translateX(-2px);

  }



  83.25% {

    -webkit-transform: translateX(1px);

    transform: translateX(1px);

  }



  100% {

    -webkit-transform: translateX(0);

    transform: translateX(0);

  }

}



.wobble-horizontal {

  display: inline-block;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.wobble-horizontal:hover, .wobble-horizontal:focus, .wobble-horizontal:active {

  -webkit-animation-name: wobble-horizontal;

  animation-name: wobble-horizontal;

  -webkit-animation-duration: 1s;

  animation-duration: 1s;

  -webkit-animation-timing-function: ease-in-out;

  animation-timing-function: ease-in-out;

  -webkit-animation-iteration-count: 1;

  animation-iteration-count: 1;

}



/* Wobble To Bottom Right */

@-webkit-keyframes wobble-to-bottom-right {

  16.65% {

    -webkit-transform: translate(8px, 8px);

    transform: translate(8px, 8px);

  }



  33.3% {

    -webkit-transform: translate(-6px, -6px);

    transform: translate(-6px, -6px);

  }



  49.95% {

    -webkit-transform: translate(4px, 4px);

    transform: translate(4px, 4px);

  }



  66.6% {

    -webkit-transform: translate(-2px, -2px);

    transform: translate(-2px, -2px);

  }



  83.25% {

    -webkit-transform: translate(1px, 1px);

    transform: translate(1px, 1px);

  }



  100% {

    -webkit-transform: translate(0, 0);

    transform: translate(0, 0);

  }

}



@keyframes wobble-to-bottom-right {

  16.65% {

    -webkit-transform: translate(8px, 8px);

    transform: translate(8px, 8px);

  }



  33.3% {

    -webkit-transform: translate(-6px, -6px);

    transform: translate(-6px, -6px);

  }



  49.95% {

    -webkit-transform: translate(4px, 4px);

    transform: translate(4px, 4px);

  }



  66.6% {

    -webkit-transform: translate(-2px, -2px);

    transform: translate(-2px, -2px);

  }



  83.25% {

    -webkit-transform: translate(1px, 1px);

    transform: translate(1px, 1px);

  }



  100% {

    -webkit-transform: translate(0, 0);

    transform: translate(0, 0);

  }

}



.wobble-to-bottom-right {

  display: inline-block;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.wobble-to-bottom-right:hover, .wobble-to-bottom-right:focus, .wobble-to-bottom-right:active {

  -webkit-animation-name: wobble-to-bottom-right;

  animation-name: wobble-to-bottom-right;

  -webkit-animation-duration: 1s;

  animation-duration: 1s;

  -webkit-animation-timing-function: ease-in-out;

  animation-timing-function: ease-in-out;

  -webkit-animation-iteration-count: 1;

  animation-iteration-count: 1;

}



/* Wobble To Top Right */

@-webkit-keyframes wobble-to-top-right {

  16.65% {

    -webkit-transform: translate(8px, -8px);

    transform: translate(8px, -8px);

  }



  33.3% {

    -webkit-transform: translate(-6px, 6px);

    transform: translate(-6px, 6px);

  }



  49.95% {

    -webkit-transform: translate(4px, -4px);

    transform: translate(4px, -4px);

  }



  66.6% {

    -webkit-transform: translate(-2px, 2px);

    transform: translate(-2px, 2px);

  }



  83.25% {

    -webkit-transform: translate(1px, -1px);

    transform: translate(1px, -1px);

  }



  100% {

    -webkit-transform: translate(0, 0);

    transform: translate(0, 0);

  }

}



@keyframes wobble-to-top-right {

  16.65% {

    -webkit-transform: translate(8px, -8px);

    transform: translate(8px, -8px);

  }



  33.3% {

    -webkit-transform: translate(-6px, 6px);

    transform: translate(-6px, 6px);

  }



  49.95% {

    -webkit-transform: translate(4px, -4px);

    transform: translate(4px, -4px);

  }



  66.6% {

    -webkit-transform: translate(-2px, 2px);

    transform: translate(-2px, 2px);

  }



  83.25% {

    -webkit-transform: translate(1px, -1px);

    transform: translate(1px, -1px);

  }



  100% {

    -webkit-transform: translate(0, 0);

    transform: translate(0, 0);

  }

}



.wobble-to-top-right {

  display: inline-block;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.wobble-to-top-right:hover, .wobble-to-top-right:focus, .wobble-to-top-right:active {

  -webkit-animation-name: wobble-to-top-right;

  animation-name: wobble-to-top-right;

  -webkit-animation-duration: 1s;

  animation-duration: 1s;

  -webkit-animation-timing-function: ease-in-out;

  animation-timing-function: ease-in-out;

  -webkit-animation-iteration-count: 1;

  animation-iteration-count: 1;

}



/* Wobble Top */

@-webkit-keyframes wobble-top {

  16.65% {

    -webkit-transform: skew(-12deg);

    transform: skew(-12deg);

  }



  33.3% {

    -webkit-transform: skew(10deg);

    transform: skew(10deg);

  }



  49.95% {

    -webkit-transform: skew(-6deg);

    transform: skew(-6deg);

  }



  66.6% {

    -webkit-transform: skew(4deg);

    transform: skew(4deg);

  }



  83.25% {

    -webkit-transform: skew(-2deg);

    transform: skew(-2deg);

  }



  100% {

    -webkit-transform: skew(0);

    transform: skew(0);

  }

}



@keyframes wobble-top {

  16.65% {

    -webkit-transform: skew(-12deg);

    transform: skew(-12deg);

  }



  33.3% {

    -webkit-transform: skew(10deg);

    transform: skew(10deg);

  }



  49.95% {

    -webkit-transform: skew(-6deg);

    transform: skew(-6deg);

  }



  66.6% {

    -webkit-transform: skew(4deg);

    transform: skew(4deg);

  }



  83.25% {

    -webkit-transform: skew(-2deg);

    transform: skew(-2deg);

  }



  100% {

    -webkit-transform: skew(0);

    transform: skew(0);

  }

}



.wobble-top {

  display: inline-block;

  -webkit-transform-origin: 0 100%;

  transform-origin: 0 100%;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.wobble-top:hover, .wobble-top:focus, .wobble-top:active {

  -webkit-animation-name: wobble-top;

  animation-name: wobble-top;

  -webkit-animation-duration: 1s;

  animation-duration: 1s;

  -webkit-animation-timing-function: ease-in-out;

  animation-timing-function: ease-in-out;

  -webkit-animation-iteration-count: 1;

  animation-iteration-count: 1;

}



/* Wobble Bottom */

@-webkit-keyframes wobble-bottom {

  16.65% {

    -webkit-transform: skew(-12deg);

    transform: skew(-12deg);

  }



  33.3% {

    -webkit-transform: skew(10deg);

    transform: skew(10deg);

  }



  49.95% {

    -webkit-transform: skew(-6deg);

    transform: skew(-6deg);

  }



  66.6% {

    -webkit-transform: skew(4deg);

    transform: skew(4deg);

  }



  83.25% {

    -webkit-transform: skew(-2deg);

    transform: skew(-2deg);

  }



  100% {

    -webkit-transform: skew(0);

    transform: skew(0);

  }

}



@keyframes wobble-bottom {

  16.65% {

    -webkit-transform: skew(-12deg);

    transform: skew(-12deg);

  }



  33.3% {

    -webkit-transform: skew(10deg);

    transform: skew(10deg);

  }



  49.95% {

    -webkit-transform: skew(-6deg);

    transform: skew(-6deg);

  }



  66.6% {

    -webkit-transform: skew(4deg);

    transform: skew(4deg);

  }



  83.25% {

    -webkit-transform: skew(-2deg);

    transform: skew(-2deg);

  }



  100% {

    -webkit-transform: skew(0);

    transform: skew(0);

  }

}



.wobble-bottom {

  display: inline-block;

  -webkit-transform-origin: 100% 0;

  transform-origin: 100% 0;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.wobble-bottom:hover, .wobble-bottom:focus, .wobble-bottom:active {

  -webkit-animation-name: wobble-bottom;

  animation-name: wobble-bottom;

  -webkit-animation-duration: 1s;

  animation-duration: 1s;

  -webkit-animation-timing-function: ease-in-out;

  animation-timing-function: ease-in-out;

  -webkit-animation-iteration-count: 1;

  animation-iteration-count: 1;

}



/* Wobble Skew */

@-webkit-keyframes wobble-skew {

  16.65% {

    -webkit-transform: skew(-12deg);

    transform: skew(-12deg);

  }



  33.3% {

    -webkit-transform: skew(10deg);

    transform: skew(10deg);

  }



  49.95% {

    -webkit-transform: skew(-6deg);

    transform: skew(-6deg);

  }



  66.6% {

    -webkit-transform: skew(4deg);

    transform: skew(4deg);

  }



  83.25% {

    -webkit-transform: skew(-2deg);

    transform: skew(-2deg);

  }



  100% {

    -webkit-transform: skew(0);

    transform: skew(0);

  }

}



@keyframes wobble-skew {

  16.65% {

    -webkit-transform: skew(-12deg);

    transform: skew(-12deg);

  }



  33.3% {

    -webkit-transform: skew(10deg);

    transform: skew(10deg);

  }



  49.95% {

    -webkit-transform: skew(-6deg);

    transform: skew(-6deg);

  }



  66.6% {

    -webkit-transform: skew(4deg);

    transform: skew(4deg);

  }



  83.25% {

    -webkit-transform: skew(-2deg);

    transform: skew(-2deg);

  }



  100% {

    -webkit-transform: skew(0);

    transform: skew(0);

  }

}



.wobble-skew {

  display: inline-block;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.wobble-skew:hover, .wobble-skew:focus, .wobble-skew:active {

  -webkit-animation-name: wobble-skew;

  animation-name: wobble-skew;

  -webkit-animation-duration: 1s;

  animation-duration: 1s;

  -webkit-animation-timing-function: ease-in-out;

  animation-timing-function: ease-in-out;

  -webkit-animation-iteration-count: 1;

  animation-iteration-count: 1;

}



/* Buzz */

@-webkit-keyframes buzz {

  50% {

    -webkit-transform: translateX(3px) rotate(2deg);

    transform: translateX(3px) rotate(2deg);

  }



  100% {

    -webkit-transform: translateX(-3px) rotate(-2deg);

    transform: translateX(-3px) rotate(-2deg);

  }

}



@keyframes buzz {

  50% {

    -webkit-transform: translateX(3px) rotate(2deg);

    transform: translateX(3px) rotate(2deg);

  }



  100% {

    -webkit-transform: translateX(-3px) rotate(-2deg);

    transform: translateX(-3px) rotate(-2deg);

  }

}



.buzz {

  display: inline-block;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.buzz:hover, .buzz:focus, .buzz:active {

  -webkit-animation-name: buzz;

  animation-name: buzz;

  -webkit-animation-duration: 0.15s;

  animation-duration: 0.15s;

  -webkit-animation-timing-function: linear;

  animation-timing-function: linear;

  -webkit-animation-iteration-count: infinite;

  animation-iteration-count: infinite;

}



/* Buzz Out */

@-webkit-keyframes buzz-out {

  10% {

    -webkit-transform: translateX(3px) rotate(2deg);

    transform: translateX(3px) rotate(2deg);

  }



  20% {

    -webkit-transform: translateX(-3px) rotate(-2deg);

    transform: translateX(-3px) rotate(-2deg);

  }



  30% {

    -webkit-transform: translateX(3px) rotate(2deg);

    transform: translateX(3px) rotate(2deg);

  }



  40% {

    -webkit-transform: translateX(-3px) rotate(-2deg);

    transform: translateX(-3px) rotate(-2deg);

  }



  50% {

    -webkit-transform: translateX(2px) rotate(1deg);

    transform: translateX(2px) rotate(1deg);

  }



  60% {

    -webkit-transform: translateX(-2px) rotate(-1deg);

    transform: translateX(-2px) rotate(-1deg);

  }



  70% {

    -webkit-transform: translateX(2px) rotate(1deg);

    transform: translateX(2px) rotate(1deg);

  }



  80% {

    -webkit-transform: translateX(-2px) rotate(-1deg);

    transform: translateX(-2px) rotate(-1deg);

  }



  90% {

    -webkit-transform: translateX(1px) rotate(0);

    transform: translateX(1px) rotate(0);

  }



  100% {

    -webkit-transform: translateX(-1px) rotate(0);

    transform: translateX(-1px) rotate(0);

  }

}



@keyframes buzz-out {

  10% {

    -webkit-transform: translateX(3px) rotate(2deg);

    transform: translateX(3px) rotate(2deg);

  }



  20% {

    -webkit-transform: translateX(-3px) rotate(-2deg);

    transform: translateX(-3px) rotate(-2deg);

  }



  30% {

    -webkit-transform: translateX(3px) rotate(2deg);

    transform: translateX(3px) rotate(2deg);

  }



  40% {

    -webkit-transform: translateX(-3px) rotate(-2deg);

    transform: translateX(-3px) rotate(-2deg);

  }



  50% {

    -webkit-transform: translateX(2px) rotate(1deg);

    transform: translateX(2px) rotate(1deg);

  }



  60% {

    -webkit-transform: translateX(-2px) rotate(-1deg);

    transform: translateX(-2px) rotate(-1deg);

  }



  70% {

    -webkit-transform: translateX(2px) rotate(1deg);

    transform: translateX(2px) rotate(1deg);

  }



  80% {

    -webkit-transform: translateX(-2px) rotate(-1deg);

    transform: translateX(-2px) rotate(-1deg);

  }



  90% {

    -webkit-transform: translateX(1px) rotate(0);

    transform: translateX(1px) rotate(0);

  }



  100% {

    -webkit-transform: translateX(-1px) rotate(0);

    transform: translateX(-1px) rotate(0);

  }

}



.buzz-out {

  display: inline-block;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.buzz-out:hover, .buzz-out:focus, .buzz-out:active {

  -webkit-animation-name: buzz-out;

  animation-name: buzz-out;

  -webkit-animation-duration: 0.75s;

  animation-duration: 0.75s;

  -webkit-animation-timing-function: linear;

  animation-timing-function: linear;

  -webkit-animation-iteration-count: 1;

  animation-iteration-count: 1;

}



/* BORDER TRANSITIONS */

/* Border Fade */

.border-fade {

  display: inline-block;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: box-shadow;

  transition-property: box-shadow;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: inset 0 0 0 4px #e1e1e1, 0 0 1px rgba(0, 0, 0, 0);

  /* Hack to improve aliasing on mobile/tablet devices */

}

.border-fade:hover, .border-fade:focus, .border-fade:active {

  box-shadow: inset 0 0 0 4px #666666, 0 0 1px rgba(0, 0, 0, 0);

  /* Hack to improve aliasing on mobile/tablet devices */

}



/* Hollow */

.hollow {

  display: inline-block;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: background;

  transition-property: background;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: inset 0 0 0 4px #e1e1e1, 0 0 1px rgba(0, 0, 0, 0);

  /* Hack to improve aliasing on mobile/tablet devices */

}

.hollow:hover, .hollow:focus, .hollow:active {

  background: none;

}



/* Trim */

.trim {

  display: inline-block;

  position: relative;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.trim:before {

  content: '';

  position: absolute;

  border: white solid 4px;

  top: 4px;

  left: 4px;

  right: 4px;

  bottom: 4px;

  opacity: 0;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: opacity;

  transition-property: opacity;

}

.trim:hover:before, .trim:focus:before, .trim:active:before {

  opacity: 1;

}



/* Outline Outward */

.outline-outward {

  display: inline-block;

  position: relative;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.outline-outward:before {

  content: '';

  position: absolute;

  border: #e1e1e1 solid 4px;

  top: 0;

  right: 0;

  bottom: 0;

  left: 0;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: top, right, bottom, left;

  transition-property: top, right, bottom, left;

}

.outline-outward:hover:before, .outline-outward:focus:before, .outline-outward:active:before {

  top: -8px;

  right: -8px;

  bottom: -8px;

  left: -8px;

}



/* Outline Inward */

.outline-inward {

  display: inline-block;

  position: relative;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.outline-inward:before {

  pointer-events: none;

  content: '';

  position: absolute;

  border: #e1e1e1 solid 4px;

  top: -16px;

  right: -16px;

  bottom: -16px;

  left: -16px;

  opacity: 0;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: top, right, bottom, left;

  transition-property: top, right, bottom, left;

}

.outline-inward:hover:before, .outline-inward:focus:before, .outline-inward:active:before {

  top: -8px;

  right: -8px;

  bottom: -8px;

  left: -8px;

  opacity: 1;

}



/* Round Corners */

.round-corners {

  display: inline-block;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: border-radius;

  transition-property: border-radius;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.round-corners:hover, .round-corners:focus, .round-corners:active {

  border-radius: 1em;

}



/* SHADOW/GLOW TRANSITIONS */

/* Glow */

.glow {

  display: inline-block;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: box-shadow;

  transition-property: box-shadow;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.glow:hover, .glow:focus, .glow:active {

  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);

}



/* Box Shadow Outset */

.box-shadow-outset {

  display: inline-block;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: box-shadow;

  transition-property: box-shadow;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.box-shadow-outset:hover, .box-shadow-outset:focus, .box-shadow-outset:active {

  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.6);

}



/* Box Shadow Inset */

.box-shadow-inset {

  display: inline-block;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: box-shadow;

  transition-property: box-shadow;

  box-shadow: inset 0 0 0 rgba(0, 0, 0, 0.6), 0 0 1px rgba(0, 0, 0, 0);

  /* Hack to improve aliasing on mobile/tablet devices */

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

}

.box-shadow-inset:hover, .box-shadow-inset:focus, .box-shadow-inset:active {

  box-shadow: inset 2px 2px 2px rgba(0, 0, 0, 0.6), 0 0 1px rgba(0, 0, 0, 0);

  /* Hack to improve aliasing on mobile/tablet devices */

}



/* Float Shadow */

.float-shadow {

  display: inline-block;

  position: relative;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: transform;

  transition-property: transform;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.float-shadow:before {

  pointer-events: none;

  position: absolute;

  z-index: -1;

  content: '';

  top: 100%;

  left: 5%;

  height: 10px;

  width: 90%;

  opacity: 0;

  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 80%);

  /* W3C */

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: transform, opacity;

  transition-property: transform, opacity;

}

.float-shadow:hover, .float-shadow:focus, .float-shadow:active {

  -webkit-transform: translateY(-5px);

  transform: translateY(-5px);

  /* move the element up by 5px */

}

.float-shadow:hover:before, .float-shadow:focus:before, .float-shadow:active:before {

  opacity: 1;

  -webkit-transform: translateY(5px);

  transform: translateY(5px);

  /* move the element down by 5px (it will stay in place because it's attached to the element that also moves up 5px) */

}



/* Hover Shadow */

@-webkit-keyframes hover {

  50% {

    -webkit-transform: translateY(-3px);

    transform: translateY(-3px);

  }



  100% {

    -webkit-transform: translateY(-6px);

    transform: translateY(-6px);

  }

}



@keyframes hover {

  50% {

    -webkit-transform: translateY(-3px);

    transform: translateY(-3px);

  }



  100% {

    -webkit-transform: translateY(-6px);

    transform: translateY(-6px);

  }

}



@-webkit-keyframes hover-shadow {

  0% {

    -webkit-transform: translateY(6px);

    transform: translateY(6px);

    opacity: .4;

  }



  50% {

    -webkit-transform: translateY(3px);

    transform: translateY(3px);

    opacity: 1;

  }



  100% {

    -webkit-transform: translateY(6px);

    transform: translateY(6px);

    opacity: .4;

  }

}



@keyframes hover-shadow {

  0% {

    -webkit-transform: translateY(6px);

    transform: translateY(6px);

    opacity: .4;

  }



  50% {

    -webkit-transform: translateY(3px);

    transform: translateY(3px);

    opacity: 1;

  }



  100% {

    -webkit-transform: translateY(6px);

    transform: translateY(6px);

    opacity: .4;

  }

}



.hover-shadow {

  display: inline-block;

  position: relative;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: transform;

  transition-property: transform;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.hover-shadow:before {

  pointer-events: none;

  position: absolute;

  z-index: -1;

  content: '';

  top: 100%;

  left: 5%;

  height: 10px;

  width: 90%;

  opacity: 0;

  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 80%);

  /* W3C */

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: transform, opacity;

  transition-property: transform, opacity;

}

.hover-shadow:hover, .hover-shadow:focus, .hover-shadow:active {

  -webkit-transform: translateY(-6px);

  transform: translateY(-6px);

  -webkit-animation-name: hover;

  animation-name: hover;

  -webkit-animation-duration: 1.5s;

  animation-duration: 1.5s;

  -webkit-animation-delay: 0.3s;

  animation-delay: 0.3s;

  -webkit-animation-timing-function: linear;

  animation-timing-function: linear;

  -webkit-animation-iteration-count: infinite;

  animation-iteration-count: infinite;

  -webkit-animation-direction: alternate;

  animation-direction: alternate;

}

.hover-shadow:hover:before, .hover-shadow:focus:before, .hover-shadow:active:before {

  opacity: .4;

  -webkit-transform: translateY(6px);

  transform: translateY(6px);

  -webkit-animation-name: hover-shadow;

  animation-name: hover-shadow;

  -webkit-animation-duration: 1.5s;

  animation-duration: 1.5s;

  -webkit-animation-delay: 0.3s;

  animation-delay: 0.3s;

  -webkit-animation-timing-function: linear;

  animation-timing-function: linear;

  -webkit-animation-iteration-count: infinite;

  animation-iteration-count: infinite;

  -webkit-animation-direction: alternate;

  animation-direction: alternate;

}



/* Shadow Radial */

.shadow-radial {

  display: inline-block;

  position: relative;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.shadow-radial:before, .shadow-radial:after {

  pointer-events: none;

  position: absolute;

  content: '';

  left: 0;

  width: 100%;

  box-sizing: border-box;

  background-repeat: no-repeat;

  height: 5px;

  opacity: 0;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: opacity;

  transition-property: opacity;

}

.shadow-radial:before {

  bottom: 100%;

  background: radial-gradient(ellipse at 50% 150%, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 80%);

}

.shadow-radial:after {

  top: 100%;

  background: radial-gradient(ellipse at 50% -50%, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 80%);

}

.shadow-radial:hover:before, .shadow-radial:focus:before, .shadow-radial:active:before, .shadow-radial:hover:after, .shadow-radial:focus:after, .shadow-radial:active:after {

  opacity: 1;

}



/* SPEECH BUBBLES */

/* Bubble Top */

.bubble-top {

  display: inline-block;

  position: relative;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.bubble-top:before {

  pointer-events: none;

  position: absolute;

  z-index: -1;

  content: '';

  border-style: solid;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: top;

  transition-property: top;

  left: calc(50% - 10px);

  top: 0;

  border-width: 0 10px 10px 10px;

  border-color: transparent transparent #e1e1e1 transparent;

}

.bubble-top:hover:before, .bubble-top:focus:before, .bubble-top:active:before {

  top: -10px;

}



/* Bubble Right */

.bubble-right {

  display: inline-block;

  position: relative;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.bubble-right:before {

  pointer-events: none;

  position: absolute;

  z-index: -1;

  content: '';

  border-style: solid;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: right;

  transition-property: right;

  top: calc(50% - 10px);

  right: 0;

  border-width: 10px 0 10px 10px;

  border-color: transparent transparent transparent #e1e1e1;

}

.bubble-right:hover:before, .bubble-right:focus:before, .bubble-right:active:before {

  right: -10px;

}



/* Bubble Bottom */

.bubble-bottom {

  display: inline-block;

  position: relative;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.bubble-bottom:before {

  pointer-events: none;

  position: absolute;

  z-index: -1;

  content: '';

  border-style: solid;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: bottom;

  transition-property: bottom;

  left: calc(50% - 10px);

  bottom: 0;

  border-width: 10px 10px 0 10px;

  border-color: #e1e1e1 transparent transparent transparent;

}

.bubble-bottom:hover:before, .bubble-bottom:focus:before, .bubble-bottom:active:before {

  bottom: -10px;

}



/* Bubble Left */

.bubble-left {

  display: inline-block;

  position: relative;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.bubble-left:before {

  pointer-events: none;

  position: absolute;

  z-index: -1;

  content: '';

  border-style: solid;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: left;

  transition-property: left;

  top: calc(50% - 10px);

  left: 0;

  border-width: 10px 10px 10px 0;

  border-color: transparent #e1e1e1 transparent transparent;

}

.bubble-left:hover:before, .bubble-left:focus:before, .bubble-left:active:before {

  left: -10px;

}



/* Bubble Float Top */

.bubble-float-top {

  display: inline-block;

  position: relative;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: transform;

  transition-property: transform;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.bubble-float-top:before {

  position: absolute;

  z-index: -1;

  content: '';

  left: calc(50% - 10px);

  top: 0;

  border-style: solid;

  border-width: 0 10px 10px 10px;

  border-color: transparent transparent #e1e1e1 transparent;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: top;

  transition-property: top;

}

.bubble-float-top:hover, .bubble-float-top:focus, .bubble-float-top:active {

  -webkit-transform: translateY(5px) translateZ(0);

  transform: translateY(5px) translateZ(0);

}

.bubble-float-top:hover:before, .bubble-float-top:focus:before, .bubble-float-top:active:before {

  top: -10px;

}



/* Bubble Float Right */

.bubble-float-right {

  display: inline-block;

  position: relative;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: transform;

  transition-property: transform;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.bubble-float-right:before {

  position: absolute;

  z-index: -1;

  top: calc(50% - 10px);

  right: 0;

  content: '';

  border-style: solid;

  border-width: 10px 0 10px 10px;

  border-color: transparent transparent transparent #e1e1e1;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: right;

  transition-property: right;

}

.bubble-float-right:hover, .bubble-float-right:focus, .bubble-float-right:active {

  -webkit-transform: translateX(-5px);

  transform: translateX(-5px);

}

.bubble-float-right:hover:before, .bubble-float-right:focus:before, .bubble-float-right:active:before {

  right: -10px;

}



/* Bubble Float Bottom */

.bubble-float-bottom {

  display: inline-block;

  position: relative;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: transform;

  transition-property: transform;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.bubble-float-bottom:before {

  position: absolute;

  z-index: -1;

  content: '';

  left: calc(50% - 10px);

  bottom: 0;

  border-style: solid;

  border-width: 10px 10px 0 10px;

  border-color: #e1e1e1 transparent transparent transparent;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: bottom;

  transition-property: bottom;

}

.bubble-float-bottom:hover, .bubble-float-bottom:focus, .bubble-float-bottom:active {

  -webkit-transform: translateY(-5px) translateZ(0);

  transform: translateY(-5px) translateZ(0);

}

.bubble-float-bottom:hover:before, .bubble-float-bottom:focus:before, .bubble-float-bottom:active:before {

  bottom: -10px;

}



/* Bubble Float Left */

.bubble-float-left {

  display: inline-block;

  position: relative;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: transform;

  transition-property: transform;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.bubble-float-left:before {

  position: absolute;

  z-index: -1;

  content: '';

  top: calc(50% - 10px);

  left: 0;

  border-style: solid;

  border-width: 10px 10px 10px 0;

  border-color: transparent #e1e1e1 transparent transparent;

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: left;

  transition-property: left;

}

.bubble-float-left:hover, .bubble-float-left:focus, .bubble-float-left:active {

  -webkit-transform: translateX(5px);

  transform: translateX(5px);

}

.bubble-float-left:hover:before, .bubble-float-left:focus:before, .bubble-float-left:active:before {

  left: -10px;

}



/* CURLS */

/* Curl Top Left */

.curl-top-left {

  display: inline-block;

  position: relative;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.curl-top-left:before {

  pointer-events: none;

  position: absolute;

  content: '';

  height: 0;


  width: 0;

  top: 0;

  left: 0;

  background: white;

  /* IE9 */

  background: linear-gradient(135deg, white 45%, #aaaaaa 50%, #cccccc 56%, white 80%);

  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#ffffff', endColorstr='#000000');

  /*For IE7-8-9*/

  z-index: 1000;

  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4);

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: width, height;

  transition-property: width, height;

}

.curl-top-left:hover:before, .curl-top-left:focus:before, .curl-top-left:active:before {

  width: 25px;

  height: 25px;

}



/* Curl Top Right */

.curl-top-right {

  display: inline-block;

  position: relative;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.curl-top-right:before {

  pointer-events: none;

  position: absolute;

  content: '';

  height: 0;

  width: 0;

  top: 0;

  right: 0;

  background: white;

  /* IE9 */

  background: linear-gradient(225deg, white 45%, #aaaaaa 50%, #cccccc 56%, white 80%);

  box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.4);

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: width, height;

  transition-property: width, height;

}

.curl-top-right:hover:before, .curl-top-right:focus:before, .curl-top-right:active:before {

  width: 25px;

  height: 25px;

}



/* Curl Bottom Right */

.curl-bottom-right {

  display: inline-block;

  position: relative;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.curl-bottom-right:before {

  pointer-events: none;

  position: absolute;

  content: '';

  height: 0;

  width: 0;

  bottom: 0;

  right: 0;

  background: white;

  /* IE9 */

  background: linear-gradient(315deg, white 45%, #aaaaaa 50%, #cccccc 56%, white 80%);

  box-shadow: -1px -1px 1px rgba(0, 0, 0, 0.4);

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: width, height;

  transition-property: width, height;

}

.curl-bottom-right:hover:before, .curl-bottom-right:focus:before, .curl-bottom-right:active:before {

  width: 25px;

  height: 25px;

}



/* Curl Bottom Left */

.curl-bottom-left {

  display: inline-block;

  position: relative;

  -webkit-transform: translateZ(0);

  transform: translateZ(0);

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

.curl-bottom-left:before {

  pointer-events: none;

  position: absolute;

  content: '';

  height: 0;

  width: 0;

  bottom: 0;

  left: 0;

  background: white;

  /* IE9 */

  background: linear-gradient(45deg, white 45%, #aaaaaa 50%, #cccccc 56%, white 80%);

  box-shadow: 1px -1px 1px rgba(0, 0, 0, 0.4);

  -webkit-transition-duration: 0.3s;

  transition-duration: 0.3s;

  -webkit-transition-property: width, height;

  transition-property: width, height;

}

.curl-bottom-left:hover:before, .curl-bottom-left:focus:before, .curl-bottom-left:active:before {

  width: 25px;

  height: 25px;

}
