/* Grow */
.hvr-grow {
    display: inline-block;
    vertical-align: middle;
    transform: translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    backface-visibility: hidden;
    -moz-osx-font-smoothing: grayscale;
    transition-duration: 0.3s;
    transition-property: transform;
}
.hvr-grow:hover,
.hvr-grow:focus,
.hvr-grow:active {
    transform: scale(1.1);
}

/* Shrink */
.hvr-shrink {
	  display: inline-block;
	  vertical-align: middle;
	  transform: translateZ(0);
	  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
	  backface-visibility: hidden;
	  -moz-osx-font-smoothing: grayscale;
	  transition-duration: 0.3s;
	  transition-property: transform;
}
.hvr-shrink:hover, 
.hvr-shrink:focus, 
.hvr-shrink:active {
	transform: scale(0.9);
}

/* Bounce In */
.hvr-bounce-in {
	display: inline-block;
	vertical-align: middle;
	transform: translateZ(0);
	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
	backface-visibility: hidden;
	-moz-osx-font-smoothing: grayscale;
	transition-duration: 0.5s;
	transition-property: transform;
}
.hvr-bounce-in:hover,
.hvr-bounce-in:focus, 
.hvr-bounce-in:active {
	transform: scale(1.2);
	transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}

/* Bounce Out */
.hvr-bounce-out {
	display: inline-block;
	vertical-align: middle;
	transform: translateZ(0);
	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
	backface-visibility: hidden;
	-moz-osx-font-smoothing: grayscale;
	transition-duration: 0.5s;
	transition-property: transform;
}
.hvr-bounce-out:hover,
.hvr-bounce-out:focus, 
.hvr-bounce-out:active {
	transform: scale(0.8);
	transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}

/* Rotate */
.hvr-rotate {
	display: inline-block;
	vertical-align: middle;
	transform: translateZ(0);
	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
	backface-visibility: hidden;
	-moz-osx-font-smoothing: grayscale;
	transition-duration: 0.3s;
	transition-property: transform;
}
.hvr-rotate:hover, 
.hvr-rotate:focus, 
.hvr-rotate:active {
	transform: rotate(4deg);
}

/* Grow Rotate */
.hvr-grow-rotate {
	display: inline-block;
	vertical-align: middle;
	transform: translateZ(0);
	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
	transition-duration: 0.3s;
	backface-visibility: hidden;
	-moz-osx-font-smoothing: grayscale;
	transition-property: transform;
}
.hvr-grow-rotate:hover, 
.hvr-grow-rotate:focus, 
.hvr-grow-rotate:active {
	transform: scale(1.1) rotate(4deg);
}

/* Float */
.hvr-float {
	display: inline-block;
	vertical-align: middle;
	transform: translateZ(0);
	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
	backface-visibility: hidden;
	-moz-osx-font-smoothing: grayscale;
	transition-duration: 0.3s;
	transition-property: transform;
	transition-timing-function: ease-out;
}
.hvr-float:hover, 
.hvr-float:focus, 
.hvr-float:active {
	transform: translateY(-8px);
}

/* Sink */
.hvr-sink {
	display: inline-block;
	vertical-align: middle;
	transform: translateZ(0);
	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
	backface-visibility: hidden;
	-moz-osx-font-smoothing: grayscale;
	transition-duration: 0.3s;
	transition-property: transform;
	transition-timing-function: ease-out;
}
.hvr-sink:hover, 
.hvr-sink:focus, 
.hvr-sink:active {
	transform: translateY(8px);
}

/* Skew */
.hvr-skew {
	display: inline-block;
	vertical-align: middle;
	transform: translateZ(0);
	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
	backface-visibility: hidden;
	-moz-osx-font-smoothing: grayscale;
	transition-duration: 0.3s;
	transition-property: transform;
}
.hvr-skew:hover, 
.hvr-skew:focus, 
.hvr-skew:active {
	transform: skew(-10deg);
}

/* Skew Forward */
.hvr-skew-forward {
	display: inline-block;
	vertical-align: middle;
	transform: translateZ(0);
	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
	backface-visibility: hidden;
	-moz-osx-font-smoothing: grayscale;
	transition-duration: 0.3s;
	transition-property: transform;
	transform-origin: 0 100%;
}
.hvr-skew-forward:hover, 
.hvr-skew-forward:focus, 
.hvr-skew-forward:active {
	transform: skew(-10deg);
}

/* Forward */
.hvr-forward {
	display: inline-block;
	vertical-align: middle;
	transform: translateZ(0);
	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
	backface-visibility: hidden;
	-moz-osx-font-smoothing: grayscale;
	transition-duration: 0.3s;
	transition-property: transform;
}
.hvr-forward:hover, 
.hvr-forward:focus, 
.hvr-forward:active {
	transform: translateX(8px);
}

/* Backward */
.hvr-backward {
	display: inline-block;
	vertical-align: middle;
	transform: translateZ(0);
	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
	backface-visibility: hidden;
	-moz-osx-font-smoothing: grayscale;
	transition-duration: 0.3s;
	transition-property: transform;
}
.hvr-backward:hover, 
.hvr-backward:focus, 
.hvr-backward:active {
	transform: translateX(-8px);
}

/* BACKGROUND TRANSITIONS */
/* Fade */
.hvr-fade {
	display: inline-block;
	vertical-align: middle;
	transform: translateZ(0);
	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
	overflow: hidden;
	transition-duration: 0.3s;
	transition-property: color, background-color;
}
.hvr-fade:hover, 
.hvr-fade:focus, 
.hvr-fade:active {
	background-color: #2098D1;
	color: white;
}

/* Sweep To Right */
.hvr-sweep-to-right {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-property: color;
  transition-duration: 0.3s;
}
.hvr-sweep-to-right:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  transform: scaleX(0);
  transform-origin: 0 50%;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-sweep-to-right:hover, 
.hvr-sweep-to-right:focus, 
.hvr-sweep-to-right:active {
  color: white;
}
.hvr-sweep-to-right:hover:before, 
.hvr-sweep-to-right:focus:before, 
.hvr-sweep-to-right:active:before {
	transform: scaleX(1);
}

/* Sweep To Left */
.hvr-sweep-to-left {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-property: color;
  transition-duration: 0.3s;
}
.hvr-sweep-to-left:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  transform: scaleX(0);
  transform-origin: 100% 50%;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-sweep-to-left:hover, 
.hvr-sweep-to-left:focus, 
.hvr-sweep-to-left:active {
  color: white;
}
.hvr-sweep-to-left:hover:before, 
.hvr-sweep-to-left:focus:before, 
.hvr-sweep-to-left:active:before {
	transform: scaleX(1);
}

/* Sweep To Bottom */
.hvr-sweep-to-bottom {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-property: color;
  transition-duration: 0.3s;
}
.hvr-sweep-to-bottom:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  transform: scaleY(0);
  transform-origin: 50% 0;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-sweep-to-bottom:hover, 
.hvr-sweep-to-bottom:focus, 
.hvr-sweep-to-bottom:active {
  color: white;
}
.hvr-sweep-to-bottom:hover:before, 
.hvr-sweep-to-bottom:focus:before, 
.hvr-sweep-to-bottom:active:before {
  transform: scaleY(1);
}

/* Sweep To Top */
.hvr-sweep-to-top {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-property: color;
  transition-duration: 0.3s;
}
.hvr-sweep-to-top:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  transform: scaleY(0);
  transform-origin: 50% 100%;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-sweep-to-top:hover, 
.hvr-sweep-to-top:focus, 
.hvr-sweep-to-top:active {
  color: white;
}
.hvr-sweep-to-top:hover:before, 
.hvr-sweep-to-top:focus:before, 
.hvr-sweep-to-top:active:before {
  transform: scaleY(1);
}

/* Bounce To Right */
.hvr-bounce-to-right {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-property: color;
  transition-duration: 0.5s;
}
.hvr-bounce-to-right:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  transform: scaleX(0);
  transform-origin: 0 50%;
  transition-property: transform;
  transition-duration: 0.5s;
  transition-timing-function: ease-out;
}
.hvr-bounce-to-right:hover, 
.hvr-bounce-to-right:focus, 
.hvr-bounce-to-right:active {
  color: white;
}
.hvr-bounce-to-right:hover:before, 
.hvr-bounce-to-right:focus:before, 
.hvr-bounce-to-right:active:before {
  transform: scaleX(1);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

/* Bounce To Left */
.hvr-bounce-to-left {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-property: color;
  transition-duration: 0.5s;
}
.hvr-bounce-to-left:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  transform: scaleX(0);
  transform-origin: 100% 50%;
  transition-property: transform;
  transition-duration: 0.5s;
  transition-timing-function: ease-out;
}
.hvr-bounce-to-left:hover, 
.hvr-bounce-to-left:focus, 
.hvr-bounce-to-left:active {
  color: white;
}
.hvr-bounce-to-left:hover:before, 
.hvr-bounce-to-left:focus:before, 
.hvr-bounce-to-left:active:before {
  transform: scaleX(1);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

/* Bounce To Bottom */
.hvr-bounce-to-bottom {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-property: color;
  transition-duration: 0.5s;
}
.hvr-bounce-to-bottom:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  transform: scaleY(0);
  transform-origin: 50% 0;
  transition-property: transform;
  transition-duration: 0.5s;
  transition-timing-function: ease-out;
}
.hvr-bounce-to-bottom:hover,
.hvr-bounce-to-bottom:focus, 
.hvr-bounce-to-bottom:active {
  color: white;
}
.hvr-bounce-to-bottom:hover:before, 
.hvr-bounce-to-bottom:focus:before, 
.hvr-bounce-to-bottom:active:before {
  transform: scaleY(1);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}