﻿.button {
  margin : 0.4em;
  padding : 1em;
  cursor : pointer;
  background : #e1e1e1;
  text-decoration : none;
  color : #666666;
  }
  .grow {
  display : inline-block;
  transition-duration : 0.3s;
  transition-property : transform;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .grow:hover, .grow:focus, .grow:active {
  transform : scale(1.1);
  }
  .shrink {
  display : inline-block;
  transition-duration : 0.3s;
  transition-property : transform;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .shrink:hover, .shrink:focus, .shrink:active {
  transform : scale(0.9);
  }
  @keyframes pulse {
  25% {
  transform : scale(1.1);
  }
  75% {
  transform : scale(0.9);
  }
  }
  .pulse {
  display : inline-block;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .pulse:hover, .pulse:focus, .pulse:active {
  animation-name : pulse;
  animation-duration : 1s;
  animation-timing-function : linear;
  animation-iteration-count : infinite;
  }
  @keyframes pulse-grow {
  to {
  transform : scale(1.1);
  }
  }
  .pulse-grow {
  display : inline-block;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .pulse-grow:hover, .pulse-grow:focus, .pulse-grow:active {
  animation-name : pulse-grow;
  animation-duration : 0.3s;
  animation-timing-function : linear;
  animation-iteration-count : infinite;
  animation-direction : alternate;
  }
  @keyframes pulse-shrink {
  to {
  transform : scale(0.9);
  }
  }
  .pulse-shrink {
  display : inline-block;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .pulse-shrink:hover, .pulse-shrink:focus, .pulse-shrink:active {
  animation-name : pulse-shrink;
  animation-duration : 0.3s;
  animation-timing-function : linear;
  animation-iteration-count : infinite;
  animation-direction : alternate;
  }
  @keyframes push {
  50% {
  transform : scale(0.8);
  }
  100% {
  transform : scale(1);
  }
  }
  .push {
  display : inline-block;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .push:hover, .push:focus, .push:active {
  animation-name : push;
  animation-duration : 0.3s;
  animation-timing-function : linear;
  animation-iteration-count : 1;
  }
  @keyframes pop {
  50% {
  transform : scale(1.2);
  }
  100% {
  transform : scale(1);
  }
  }
  .pop {
  display : inline-block;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .pop:hover, .pop:focus, .pop:active {
  animation-name : pop;
  animation-duration : 0.3s;
  animation-timing-function : linear;
  animation-iteration-count : 1;
  }
  .rotate {
  display : inline-block;
  transition-duration : 0.3s;
  transition-property : transform;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .rotate:hover, .rotate:focus, .rotate:active {
  transform : rotate(4deg);
  }
  .grow-rotate {
  display : inline-block;
  transition-duration : 0.3s;
  transition-property : transform;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .grow-rotate:hover, .grow-rotate:focus, .grow-rotate:active {
  transform : scale(1.1) rotate(4deg);
  }
  .float {
  display : inline-block;
  transition-duration : 0.3s;
  transition-property : transform;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .float:hover, .float:focus, .float:active {
  transform : translateY(-5px);
  }
  .sink {
  display : inline-block;
  transition-duration : 0.3s;
  transition-property : transform;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .sink:hover, .sink:focus, .sink:active {
  transform : translateY(5px);
  }
  @keyframes hover {
  50% {
  transform : translateY(-3px);
  }
  100% {
  transform : translateY(-6px);
  }
  }
  .hover {
  display : inline-block;
  transition-duration : 0.5s;
  transition-property : transform;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .hover:hover, .hover:focus, .hover:active {
  transform : translateY(-6px);
  animation-name : hover;
  animation-duration : 1.5s;
  animation-delay : 0.3s;
  animation-timing-function : linear;
  animation-iteration-count : infinite;
  animation-direction : alternate;
  }
  @keyframes hang {
  50% {
  transform : translateY(3px);
  }
  100% {
  transform : translateY(6px);
  }
  }
  .hang {
  display : inline-block;
  transition-duration : 0.5s;
  transition-property : transform;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .hang:hover, .hang:focus, .hang:active {
  transform : translateY(6px);
  animation-name : hang;
  animation-duration : 1.5s;
  animation-delay : 0.3s;
  animation-timing-function : linear;
  animation-iteration-count : infinite;
  animation-direction : alternate;
  }
  .skew {
  display : inline-block;
  transition-duration : 0.3s;
  transition-property : transform;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .skew:hover, .skew:focus, .skew:active {
  transform : skew(-10deg);
  }
  .skew-forward {
  display : inline-block;
  transition-duration : 0.3s;
  transition-property : transform;
  transform-origin : 0 100%;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .skew-forward:hover, .skew-forward:focus, .skew-forward:active {
  transform : skew(-10deg);
  }
  .skew-backward {
  display : inline-block;
  transition-duration : 0.3s;
  transition-property : transform;
  transform-origin : 0 100%;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .skew-backward:hover, .skew-backward:focus, .skew-backward:active {
  transform : skew(10deg);
  }
  @keyframes wobble-vertical {
  16.65% {
  transform : translateY(8px);
  }
  33.3% {
  transform : translateY(-6px);
  }
  49.95% {
  transform : translateY(4px);
  }
  66.6% {
  transform : translateY(-2px);
  }
  83.25% {
  transform : translateY(1px);
  }
  100% {
  transform : translateY(0);
  }
  }
  .wobble-vertical {
  display : inline-block;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .wobble-vertical:hover, .wobble-vertical:focus, .wobble-vertical:active {
  animation-name : wobble-vertical;
  animation-duration : 1s;
  animation-timing-function : ease-in-out;
  animation-iteration-count : 1;
  }
  @keyframes wobble-horizontal {
  16.65% {
  transform : translateX(8px);
  }
  33.3% {
  transform : translateX(-6px);
  }
  49.95% {
  transform : translateX(4px);
  }
  66.6% {
  transform : translateX(-2px);
  }
  83.25% {
  transform : translateX(1px);
  }
  100% {
  transform : translateX(0);
  }
  }
  .wobble-horizontal {
  display : inline-block;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .wobble-horizontal:hover, .wobble-horizontal:focus, .wobble-horizontal:active {
  animation-name : wobble-horizontal;
  animation-duration : 1s;
  animation-timing-function : ease-in-out;
  animation-iteration-count : 1;
  }
  @keyframes wobble-to-bottom-right {
  16.65% {
  transform : translate(8px,8px);
  }
  33.3% {
  transform : translate(-6px,-6px);
  }
  49.95% {
  transform : translate(4px,4px);
  }
  66.6% {
  transform : translate(-2px,-2px);
  }
  83.25% {
  transform : translate(1px,1px);
  }
  100% {
  transform : translate(0,0);
  }
  }
  .wobble-to-bottom-right {
  display : inline-block;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .wobble-to-bottom-right:hover, .wobble-to-bottom-right:focus, .wobble-to-bottom-right:active {
  animation-name : wobble-to-bottom-right;
  animation-duration : 1s;
  animation-timing-function : ease-in-out;
  animation-iteration-count : 1;
  }
  @keyframes wobble-to-top-right {
  16.65% {
  transform : translate(8px,-8px);
  }
  33.3% {
  transform : translate(-6px,6px);
  }
  49.95% {
  transform : translate(4px,-4px);
  }
  66.6% {
  transform : translate(-2px,2px);
  }
  83.25% {
  transform : translate(1px,-1px);
  }
  100% {
  transform : translate(0,0);
  }
  }
  .wobble-to-top-right {
  display : inline-block;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .wobble-to-top-right:hover, .wobble-to-top-right:focus, .wobble-to-top-right:active {
  animation-name : wobble-to-top-right;
  animation-duration : 1s;
  animation-timing-function : ease-in-out;
  animation-iteration-count : 1;
  }
  @keyframes wobble-top {
  16.65% {
  transform : skew(-12deg);
  }
  33.3% {
  transform : skew(10deg);
  }
  49.95% {
  transform : skew(-6deg);
  }
  66.6% {
  transform : skew(4deg);
  }
  83.25% {
  transform : skew(-2deg);
  }
  100% {
  transform : skew(0);
  }
  }
  .wobble-top {
  display : inline-block;
  transform-origin : 0 100%;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .wobble-top:hover, .wobble-top:focus, .wobble-top:active {
  animation-name : wobble-top;
  animation-duration : 1s;
  animation-timing-function : ease-in-out;
  animation-iteration-count : 1;
  }
  @keyframes wobble-bottom {
  16.65% {
  transform : skew(-12deg);
  }
  33.3% {
  transform : skew(10deg);
  }
  49.95% {
  transform : skew(-6deg);
  }
  66.6% {
  transform : skew(4deg);
  }
  83.25% {
  transform : skew(-2deg);
  }
  100% {
  transform : skew(0);
  }
  }
  .wobble-bottom {
  display : inline-block;
  transform-origin : 100% 0;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .wobble-bottom:hover, .wobble-bottom:focus, .wobble-bottom:active {
  animation-name : wobble-bottom;
  animation-duration : 1s;
  animation-timing-function : ease-in-out;
  animation-iteration-count : 1;
  }
  @keyframes wobble-skew {
  16.65% {
  transform : skew(-12deg);
  }
  33.3% {
  transform : skew(10deg);
  }
  49.95% {
  transform : skew(-6deg);
  }
  66.6% {
  transform : skew(4deg);
  }
  83.25% {
  transform : skew(-2deg);
  }
  100% {
  transform : skew(0);
  }
  }
  .wobble-skew {
  display : inline-block;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .wobble-skew:hover, .wobble-skew:focus, .wobble-skew:active {
  animation-name : wobble-skew;
  animation-duration : 1s;
  animation-timing-function : ease-in-out;
  animation-iteration-count : 1;
  }
  @keyframes buzz {
  50% {
  transform : translateX(3px) rotate(2deg);
  }
  100% {
  transform : translateX(-3px) rotate(-2deg);
  }
  }
  .buzz {
  display : inline-block;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .buzz:hover, .buzz:focus, .buzz:active {
  animation-name : buzz;
  animation-duration : 0.15s;
  animation-timing-function : linear;
  animation-iteration-count : infinite;
  }
  @keyframes buzz-out {
  10% {
  transform : translateX(3px) rotate(2deg);
  }
  20% {
  transform : translateX(-3px) rotate(-2deg);
  }
  30% {
  transform : translateX(3px) rotate(2deg);
  }
  40% {
  transform : translateX(-3px) rotate(-2deg);
  }
  50% {
  transform : translateX(2px) rotate(1deg);
  }
  60% {
  transform : translateX(-2px) rotate(-1deg);
  }
  70% {
  transform : translateX(2px) rotate(1deg);
  }
  80% {
  transform : translateX(-2px) rotate(-1deg);
  }
  90% {
  transform : translateX(1px) rotate(0);
  }
  100% {
  transform : translateX(-1px) rotate(0);
  }
  }
  .buzz-out {
  display : inline-block;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .buzz-out:hover, .buzz-out:focus, .buzz-out:active {
  animation-name : buzz-out;
  animation-duration : 0.75s;
  animation-timing-function : linear;
  animation-iteration-count : 1;
  }
  .border-fade {
  display : inline-block;
  transition-duration : 0.3s;
  transition-property : box-shadow;
  transform : translateZ(0);
  box-shadow : 0 0 0 4px #e1e1e1 inset, 0 0 1px rgb(0, 0, 0, 0);
  }
  .border-fade:hover, .border-fade:focus, .border-fade:active {
  box-shadow : 0 0 0 4px #666666 inset, 0 0 1px rgb(0, 0, 0, 0);
  }
  .hollow {
  display : inline-block;
  transition-duration : 0.3s;
  transition-property : background;
  transform : translateZ(0);
  box-shadow : 0 0 0 4px #e1e1e1 inset, 0 0 1px rgb(0, 0, 0, 0);
  }
  .hollow:hover, .hollow:focus, .hollow:active {
  background : none;
  }
  .trim {
  display : inline-block;
  position : relative;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .trim:before {
  content : '';
  position : absolute;
  border : white solid 4px;
  top : 4px;
  left : 4px;
  right : 4px;
  bottom : 4px;
  opacity : 0;
  transition-duration : 0.3s;
  transition-property : opacity;
  }
  .trim:hover:before, .trim:focus:before, .trim:active:before {
  opacity : 1;
  }
  .outline-outward {
  display : inline-block;
  position : relative;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .outline-outward:before {
  content : '';
  position : absolute;
  border : #e1e1e1 solid 4px;
  top : 0;
  right : 0;
  bottom : 0;
  left : 0;
  transition-duration : 0.3s;
  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 {
  display : inline-block;
  position : relative;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(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;
  transition-duration : 0.3s;
  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 {
  display : inline-block;
  transition-duration : 0.3s;
  transition-property : border-radius;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .round-corners:hover, .round-corners:focus, .round-corners:active {
  border-radius : 1em;
  }
  .glow {
  display : inline-block;
  transition-duration : 0.3s;
  transition-property : box-shadow;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .glow:hover, .glow:focus, .glow:active {
  box-shadow : 0 0 8px rgb(0, 0, 0, 0.6);
  }
  .box-shadow-outset {
  display : inline-block;
  transition-duration : 0.3s;
  transition-property : box-shadow;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .box-shadow-outset:hover, .box-shadow-outset:focus, .box-shadow-outset:active {
  box-shadow : 2px 2px 2px rgb(0, 0, 0, 0.6);
  }
  .box-shadow-inset {
  display : inline-block;
  transition-duration : 0.3s;
  transition-property : box-shadow;
  box-shadow : 0 0 0 rgb(0, 0, 0, 0.6) inset, 0 0 1px rgb(0, 0, 0, 0);
  transform : translateZ(0);
  }
  .box-shadow-inset:hover, .box-shadow-inset:focus, .box-shadow-inset:active {
  box-shadow : 2px 2px 2px rgb(0, 0, 0, 0.6) inset, 0 0 1px rgb(0, 0, 0, 0);
  }
  .float-shadow {
  display : inline-block;
  position : relative;
  transition-duration : 0.3s;
  transition-property : transform;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(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, rgb(0, 0, 0, 0.35) 0%, rgb(0, 0, 0, 0) 80%);
  transition-duration : 0.3s;
  transition-property : transform, opacity;
  }
  .float-shadow:hover, .float-shadow:focus, .float-shadow:active {
  transform : translateY(-5px);
  }
  .float-shadow:hover:before, .float-shadow:focus:before, .float-shadow:active:before {
  opacity : 1;
  transform : translateY(5px);
  }
  @keyframes hover {
  50% {
  transform : translateY(-3px);
  }
  100% {
  transform : translateY(-6px);
  }
  }
  @keyframes hover-shadow {
  0% {
  transform : translateY(6px);
  opacity : 0.4;
  }
  50% {
  transform : translateY(3px);
  opacity : 1;
  }
  100% {
  transform : translateY(6px);
  opacity : 0.4;
  }
  }
  .hover-shadow {
  display : inline-block;
  position : relative;
  transition-duration : 0.3s;
  transition-property : transform;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(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, rgb(0, 0, 0, 0.35) 0%, rgb(0, 0, 0, 0) 80%);
  transition-duration : 0.3s;
  transition-property : transform, opacity;
  }
  .hover-shadow:hover, .hover-shadow:focus, .hover-shadow:active {
  transform : translateY(-6px);
  animation-name : hover;
  animation-duration : 1.5s;
  animation-delay : 0.3s;
  animation-timing-function : linear;
  animation-iteration-count : infinite;
  animation-direction : alternate;
  }
  .hover-shadow:hover:before, .hover-shadow:focus:before, .hover-shadow:active:before {
  opacity : 0.4;
  transform : translateY(6px);
  animation-name : hover-shadow;
  animation-duration : 1.5s;
  animation-delay : 0.3s;
  animation-timing-function : linear;
  animation-iteration-count : infinite;
  animation-direction : alternate;
  }
  .shadow-radial {
  display : inline-block;
  position : relative;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(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;
  transition-duration : 0.3s;
  transition-property : opacity;
  }
  .shadow-radial:before {
  bottom : 100%;
  background : radial-gradient(ellipse at 50% 150%, rgb(0, 0, 0, 0.6) 0%, rgb(0, 0, 0, 0) 80%);
  }
  .shadow-radial:after {
  top : 100%;
  background : radial-gradient(ellipse at 50% -50%, rgb(0, 0, 0, 0.6) 0%, rgb(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;
  }
  .bubble-top {
  display : inline-block;
  position : relative;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .bubble-top:before {
  pointer-events : none;
  position : absolute;
  z-index : -1;
  content : '';
  border-style : solid;
  transition-duration : 0.3s;
  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 {
  display : inline-block;
  position : relative;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .bubble-right:before {
  pointer-events : none;
  position : absolute;
  z-index : -1;
  content : '';
  border-style : solid;
  transition-duration : 0.3s;
  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 {
  display : inline-block;
  position : relative;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .bubble-bottom:before {
  pointer-events : none;
  position : absolute;
  z-index : -1;
  content : '';
  border-style : solid;
  transition-duration : 0.3s;
  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 {
  display : inline-block;
  position : relative;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .bubble-left:before {
  pointer-events : none;
  position : absolute;
  z-index : -1;
  content : '';
  border-style : solid;
  transition-duration : 0.3s;
  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 {
  display : inline-block;
  position : relative;
  transition-duration : 0.3s;
  transition-property : transform;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(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;
  transition-duration : 0.3s;
  transition-property : top;
  }
  .bubble-float-top:hover, .bubble-float-top:focus, .bubble-float-top:active {
  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 {
  display : inline-block;
  position : relative;
  transition-duration : 0.3s;
  transition-property : transform;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(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;
  transition-duration : 0.3s;
  transition-property : right;
  }
  .bubble-float-right:hover, .bubble-float-right:focus, .bubble-float-right:active {
  transform : translateX(-5px);
  }
  .bubble-float-right:hover:before, .bubble-float-right:focus:before, .bubble-float-right:active:before {
  right : -10px;
  }
  .bubble-float-bottom {
  display : inline-block;
  position : relative;
  transition-duration : 0.3s;
  transition-property : transform;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(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;
  transition-duration : 0.3s;
  transition-property : bottom;
  }
  .bubble-float-bottom:hover, .bubble-float-bottom:focus, .bubble-float-bottom:active {
  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 {
  display : inline-block;
  position : relative;
  transition-duration : 0.3s;
  transition-property : transform;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(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;
  transition-duration : 0.3s;
  transition-property : left;
  }
  .bubble-float-left:hover, .bubble-float-left:focus, .bubble-float-left:active {
  transform : translateX(5px);
  }
  .bubble-float-left:hover:before, .bubble-float-left:focus:before, .bubble-float-left:active:before {
  left : -10px;
  }
  .curl-top-left {
  display : inline-block;
  position : relative;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .curl-top-left:before {
  pointer-events : none;
  position : absolute;
  content : '';
  height : 0;
  width : 0;
  top : 0;
  left : 0;
  background : white;
  background : linear-gradient(135deg, white 45%, #aaaaaa 50%, #cccccc 56%, white 80%);
  z-index : 1000;
  box-shadow : 1px 1px 1px rgb(0, 0, 0, 0.4);
  transition-duration : 0.3s;
  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 {
  display : inline-block;
  position : relative;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .curl-top-right:before {
  pointer-events : none;
  position : absolute;
  content : '';
  height : 0;
  width : 0;
  top : 0;
  right : 0;
  background : white;
  background : linear-gradient(225deg, white 45%, #aaaaaa 50%, #cccccc 56%, white 80%);
  box-shadow : -1px 1px 1px rgb(0, 0, 0, 0.4);
  transition-duration : 0.3s;
  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 {
  display : inline-block;
  position : relative;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .curl-bottom-right:before {
  pointer-events : none;
  position : absolute;
  content : '';
  height : 0;
  width : 0;
  bottom : 0;
  right : 0;
  background : white;
  background : linear-gradient(315deg, white 45%, #aaaaaa 50%, #cccccc 56%, white 80%);
  box-shadow : -1px -1px 1px rgb(0, 0, 0, 0.4);
  transition-duration : 0.3s;
  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 {
  display : inline-block;
  position : relative;
  transform : translateZ(0);
  box-shadow : 0 0 1px rgb(0, 0, 0, 0);
  }
  .curl-bottom-left:before {
  pointer-events : none;
  position : absolute;
  content : '';
  height : 0;
  width : 0;
  bottom : 0;
  left : 0;
  background : white;
  background : linear-gradient(45deg, white 45%, #aaaaaa 50%, #cccccc 56%, white 80%);
  box-shadow : 1px -1px 1px rgb(0, 0, 0, 0.4);
  transition-duration : 0.3s;
  transition-property : width, height;
  }
  .curl-bottom-left:hover:before, .curl-bottom-left:focus:before, .curl-bottom-left:active:before {
  width : 25px;
  }
  