// modified from http://codepen.io/albebonv/pen/gIlrw

.btn-morph {
	display: inline-block;
	width: 2em;
	height: 2em;
	background-color: #FFF;
	color: #9e9e9e;
	box-shadow: 0 0 5px rgba(0,0,0,0.2);
	border-radius: 1em;
	overflow: hidden;
	transform: translateZ(0);
	transition: all 0.5s ease;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.btn-morph:hover {
	box-shadow: 0 0 10px rgba(0,0,0,0.4);
}

.btn-morph:active {
	transform: scale(1.1,1.1);
}

.btn-morph:focus {
	outline: 0;
	border:none;
	color: rgba(0, 0, 0, 0);
}

.btn-morph > span {
	display: block;
	position: relative;
	width: 1em;
	height: 1em;
	transition: transform 0.5s ease;
	overflow: hidden;
	margin: 0.5em;
}

.btn-morph > span > span {
	display: block;
	background-color: #9e9e9e;
	position: absolute;
	top: 0;
	left: 0;
	width: 1em;
	height: 1em;
	transition: all 0.5s ease;
	border: 1px solid transparent;
}

header .btn-morph > span > span {
	background-color: #e91e63;
}

.btn-morph.play > span {
	transform: translate(1em,0) scale(1.6,1);
}

.btn-morph.play > span > span {
	transform: rotate(-45deg) translate(-1em, -1em) scale(1,1);
}

.btn-morph.pause > span > span {
	transform: scale(0.4,1) translate(-1.6em, 0);
}

.btn-morph.pause > span > span.s3 {
	transform: scale(0.4,1) translate(1.6em, 0);
}

.btn-morph.stop > span {
	transform: scale(0.8,0.8);
}

.btn-morph.menu > span > span {
	transform: scale(1,0.2) translate(0,-3em);
}

.btn-morph.menu > span > span.s2 {
	transform: scale(1,0.2) translate(0,0);
}

.btn-morph.menu > span > span.s3 {
	transform: scale(1,0.2) translate(0,3em);
}

.btn-morph.close > span  {
	transform: rotate(45deg);
}

.btn-morph.close > span > span , .btn-morph.plus > span > span {
	transform: scale(0.8,0.1);
}

.btn-morph.close > span > span.s3 , .btn-morph.plus > span > span.s3 {
	transform: scale(0.1,0.8);
}

.btn-morph.minus > span > span {
	transform: scale(1,0.2);
}

.btn-morph.more > span > span {
	transform: scale(0.2,0.2) translate(-3em,0);
	border-radius: 2em;
}

.btn-morph.more > span > span.s2 {
	transform: scale(0.2,0.2) translate(0,0);
}

.btn-morph.more > span > span.s3 {
	transform: scale(0.2,0.2) translate(3em,0);
}

.btn-morph.topArrow > span > span {
	width: 0.4em;
	height: 1.8em;
	transform: translate(0.8em,0.2em);
}

.btn-morph.topArrow > span > span.s2 {
	transform-origin: 0 0;
	height: 1.4em;
	transform: translate(1em,0) rotate(45deg);
}

.btn-morph.topArrow > span > span.s3 {
	transform-origin: 100% 0;
	height: 1.4em;
	transform: translate(0.6em,0) rotate(-45deg);
}

.btn-morph.bottomArrow > span > span {
	width: 0.4em;
	height: 1.8em;
	transform: translate(0.8em,0);
}

.btn-morph.bottomArrow > span > span.s2 {
	transform-origin: 100% 100%;
	height: 1.4em;
	transform: translate(0.6em,0.6em) rotate(45deg);
}

.btn-morph.bottomArrow > span > span.s3 {
	transform-origin: 0 100%;
	height: 1.4em;
	transform: translate(1em,0.6em) rotate(-45deg);
}

.btn-morph.rightArrow > span > span {
	width: 1.8em;
	height: 0.4em;
	transform: translate(0,0.8em);
}

.btn-morph.rightArrow > span > span.s2 {
	transform-origin: 100% 0;
	width: 1.4em;
	transform: translate(0.6em,1em) rotate(45deg);
}

.btn-morph.rightArrow > span > span.s3 {
	transform-origin: 100% 100%;
	width: 1.4em;
	transform: translate(0.6em,0.6em) rotate(-45deg);
}

.btn-morph.leftArrow > span > span {
	width: 1.8em;
	height: 0.4em;
	transform: translate(0.2em,0.8em);
}

.btn-morph.leftArrow > span > span.s2 {
	transform-origin: 0 100%;
	width: 1.4em;
	transform: translate(0,0.6em) rotate(45deg);
}

.btn-morph.leftArrow > span > span.s3 {
	transform-origin: 0 0;
	width: 1.4em;
	transform: translate(0,1em) rotate(-45deg);
}

.btn-morph.checked > span > span {
	width: 1em;
	height: 0.4em;
	transform-origin: 100% 100%;
	transform: translate(-0.3em,1.4em) rotate(45deg);
}

.btn-morph.checked > span > span.s3 {
	width: 1.8em;
	transform-origin: 0 100%;
	transform: translate(0.7em,1.4em) rotate(-45deg);
}

.btn-morph.heart > span > span {
	width: 0.5em;
	height: 0.85em;
	top: 0.1em;
	left: 0.5em;
	transform-origin: 0 100%;
	transform: rotate(-45deg);
	border-radius: 0.5em 0.5em 0 0;
}

.btn-morph.heart > span > span.s3 {
	transform-origin: 100% 100%;
	left: 0em;
	transform: rotate(45deg);
}


.drop {
	display: block;
	position: absolute;
	background: #CCC;
	border-radius: 100%;
	transform: scale(0);
	pointer-events: none;
	width: 100%;
	height: 100%;
}

.drop:before {
	display: block;
	position: absolute;
	content: "";
	background-color: @gray-lighter;
	border-radius: 100%;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	transform: scale(0);
}

.drop.animate {
	animation: drop 1s ease-out;
}

.drop.animate:before {
	animation: drop2 1s ease-out;
}

@keyframes drop {
  100% {
  	opacity: 0;
  	transform: scale(1.25);
  }
}

@keyframes drop2 {
  30% {
  	opacity: 1;
  	transform: scale(0);
  }

  100% {
  	opacity: 0;
  	transform: scale(1.25);
  }
}