﻿.button {
    margin : 0.4em;
    padding : 1em;
    cursor : pointer;
    background : #e1e1e1;
    text-decoration : none;
    color : #666;
    }
    .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 : #fff 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;
    border-color : transparent transparent #e1e1e1;
    }
    .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;
    border-color : #e1e1e1 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;
    border-color : transparent transparent #e1e1e1;
    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;
    border-color : #e1e1e1 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 : #fff;
    background : linear-gradient(135deg, white 45%, #aaa 50%, #ccc 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 : #fff;
    background : linear-gradient(225deg, white 45%, #aaa 50%, #ccc 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 : #fff;
    background : linear-gradient(315deg, white 45%, #aaa 50%, #ccc 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 : #fff;
    background : linear-gradient(45deg, white 45%, #aaa 50%, #ccc 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;
    height : 25px;
    }