﻿.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;
}
