/* Hover.css - A collection of CSS3 powered hover effects */
/* All animations are inspired by http://tympanus.net/codrops/ */

.hvr-grow {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  backface-visibility: hidden;
  transition-duration: 0.3s;
  transition-property: transform;
}
.hvr-grow:hover,
.hvr-grow:focus,
.hvr-grow:active {
  transform: scale(1.1);
}

.hvr-shrink {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  backface-visibility: hidden;
  transition-duration: 0.3s;
  transition-property: transform;
}
.hvr-shrink:hover,
.hvr-shrink:focus,
.hvr-shrink:active {
  transform: scale(0.9);
}

.hvr-float {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  backface-visibility: hidden;
  transition-duration: 0.3s;
  transition-property: transform;
}
.hvr-float:hover,
.hvr-float:focus,
.hvr-float:active {
  transform: translateY(-8px);
}

.hvr-sink {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  backface-visibility: hidden;
  transition-duration: 0.3s;
  transition-property: transform;
}
.hvr-sink:hover,
.hvr-sink:focus,
.hvr-sink:active {
  transform: translateY(8px);
}

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

.hvr-rotate {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  backface-visibility: hidden;
  transition-duration: 0.3s;
  transition-property: transform;
}
.hvr-rotate:hover,
.hvr-rotate:focus,
.hvr-rotate:active {
  transform: rotate(4deg);
}

.hvr-grow-rotate {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  backface-visibility: hidden;
  transition-duration: 0.3s;
  transition-property: transform;
}
.hvr-grow-rotate:hover,
.hvr-grow-rotate:focus,
.hvr-grow-rotate:active {
  transform: scale(1.1) rotate(4deg);
}

.hvr-fade {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  backface-visibility: hidden;
  transition-duration: 0.3s;
  transition-property: color, background-color;
}
.hvr-fade:hover,
.hvr-fade:focus,
.hvr-fade:active {
  background-color: #2098d1;
  color: white;
}

.hvr-back-pulse {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  backface-visibility: hidden;
  transition-duration: 0.3s;
  transition-property: transform;
}
.hvr-back-pulse:hover,
.hvr-back-pulse:focus,
.hvr-back-pulse:active {
  transform: scale(0.95);
}
.hvr-back-pulse:hover::before,
.hvr-back-pulse:focus::before,
.hvr-back-pulse:active::before {
  transform: scale(2);
  opacity: 0;
}

.hvr-sweep-to-right {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  position: relative;
  overflow: hidden;
}
.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::before,
.hvr-sweep-to-right:focus::before,
.hvr-sweep-to-right:active::before {
  transform: scaleX(1);
}

.hvr-sweep-to-left {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  position: relative;
  overflow: hidden;
}
.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::before,
.hvr-sweep-to-left:focus::before,
.hvr-sweep-to-left:active::before {
  transform: scaleX(1);
}

.hvr-sweep-to-bottom {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  position: relative;
  overflow: hidden;
}
.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::before,
.hvr-sweep-to-bottom:focus::before,
.hvr-sweep-to-bottom:active::before {
  transform: scaleY(1);
}

.hvr-sweep-to-top {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  position: relative;
  overflow: hidden;
}
.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::before,
.hvr-sweep-to-top:focus::before,
.hvr-sweep-to-top:active::before {
  transform: scaleY(1);
}

.hvr-bounce-to-right {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  position: relative;
  transition-property: color;
  transition-duration: 0.3s;
}
.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.3s;
  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);
}

.hvr-bounce-to-left {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  position: relative;
  transition-property: color;
  transition-duration: 0.3s;
}
.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.3s;
  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);
}

.hvr-bounce-to-bottom {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  position: relative;
  transition-property: color;
  transition-duration: 0.3s;
}
.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.3s;
  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);
}

.hvr-bounce-to-top {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  position: relative;
  transition-property: color;
  transition-duration: 0.3s;
}
.hvr-bounce-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-bounce-to-top:hover,
.hvr-bounce-to-top:focus,
.hvr-bounce-to-top:active {
  color: white;
}
.hvr-bounce-to-top:hover::before,
.hvr-bounce-to-top:focus::before,
.hvr-bounce-to-top:active::before {
  transform: scaleY(1);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

.hvr-radial-out {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  position: relative;
  overflow: hidden;
  background: #e1e1e1;
  transition-property: color;
  transition-duration: 0.3s;
}
.hvr-radial-out::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: #2098d1;
  border-radius: 100%;
  transform: scale(0);
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-radial-out:hover,
.hvr-radial-out:focus,
.hvr-radial-out:active {
  color: white;
}
.hvr-radial-out:hover::before,
.hvr-radial-out:focus::before,
.hvr-radial-out:active::before {
  transform: scale(2);
  opacity: 0;
}

.hvr-radial-in {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  position: relative;
  overflow: hidden;
  background: #2098d1;
  transition-property: color;
  transition-duration: 0.3s;
}
.hvr-radial-in::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: #e1e1e1;
  border-radius: 100%;
  transform: scale(2);
  opacity: 0;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-radial-in:hover,
.hvr-radial-in:focus,
.hvr-radial-in:active {
  color: white;
}
.hvr-radial-in:hover::before,
.hvr-radial-in:focus::before,
.hvr-radial-in:active::before {
  transform: scale(0);
  opacity: 1;
}

.hvr-rectangle-in {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  position: relative;
  overflow: hidden;
  background: #e1e1e1;
  transition-property: color;
  transition-duration: 0.3s;
}
.hvr-rectangle-in::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: #2098d1;
  transform: scale(0);
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-rectangle-in:hover,
.hvr-rectangle-in:focus,
.hvr-rectangle-in:active {
  color: white;
}
.hvr-rectangle-in:hover::before,
.hvr-rectangle-in:focus::before,
.hvr-rectangle-in:active::before {
  transform: scale(1);
}

.hvr-rectangle-out {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  position: relative;
  overflow: hidden;
  background: #2098d1;
  transition-property: color;
  transition-duration: 0.3s;
}
.hvr-rectangle-out::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: #e1e1e1;
  transform: scale(1);
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-rectangle-out:hover,
.hvr-rectangle-out:focus,
.hvr-rectangle-out:active {
  color: white;
}
.hvr-rectangle-out:hover::before,
.hvr-rectangle-out:focus::before,
.hvr-rectangle-out:active::before {
  transform: scale(0);
  opacity: 0;
}

.hvr-shutter-in-horizontal {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  position: relative;
  background: #e1e1e1;
  transition-property: color;
  transition-duration: 0.3s;
}
.hvr-shutter-in-horizontal::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098d1;
  transform: scaleX(0);
  transform-origin: 50%;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-shutter-in-horizontal:hover,
.hvr-shutter-in-horizontal:focus,
.hvr-shutter-in-horizontal:active {
  color: white;
}
.hvr-shutter-in-horizontal:hover::before,
.hvr-shutter-in-horizontal:focus::before,
.hvr-shutter-in-horizontal:active::before {
  transform: scaleX(1);
}

.hvr-shutter-out-horizontal {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  position: relative;
  background: #2098d1;
  transition-property: color;
  transition-duration: 0.3s;
}
.hvr-shutter-out-horizontal::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #e1e1e1;
  transform: scaleX(1);
  transform-origin: 50%;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-shutter-out-horizontal:hover,
.hvr-shutter-out-horizontal:focus,
.hvr-shutter-out-horizontal:active {
  color: white;
}
.hvr-shutter-out-horizontal:hover::before,
.hvr-shutter-out-horizontal:focus::before,
.hvr-shutter-out-horizontal:active::before {
  transform: scaleX(0);
}

.hvr-shutter-in-vertical {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  position: relative;
  background: #e1e1e1;
  transition-property: color;
  transition-duration: 0.3s;
}
.hvr-shutter-in-vertical::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098d1;
  transform: scaleY(0);
  transform-origin: 50%;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-shutter-in-vertical:hover,
.hvr-shutter-in-vertical:focus,
.hvr-shutter-in-vertical:active {
  color: white;
}
.hvr-shutter-in-vertical:hover::before,
.hvr-shutter-in-vertical:focus::before,
.hvr-shutter-in-vertical:active::before {
  transform: scaleY(1);
}

.hvr-shutter-out-vertical {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  position: relative;
  background: #2098d1;
  transition-property: color;
  transition-duration: 0.3s;
}
.hvr-shutter-out-vertical::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #e1e1e1;
  transform: scaleY(1);
  transform-origin: 50%;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-shutter-out-vertical:hover,
.hvr-shutter-out-vertical:focus,
.hvr-shutter-out-vertical:active {
  color: white;
}
.hvr-shutter-out-vertical:hover::before,
.hvr-shutter-out-vertical:focus::before,
.hvr-shutter-out-vertical:active::before {
  transform: scaleY(0);
}

.hvr-border-fade {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  box-shadow: inset 0 0 0 4px #e1e1e1;
  transition-property: box-shadow;
  transition-duration: 0.3s;
}
.hvr-border-fade:hover,
.hvr-border-fade:focus,
.hvr-border-fade:active {
  box-shadow: inset 0 0 0 4px #2098d1;
  color: #2098d1;
}

.hvr-shadow {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  box-shadow: 0 10px 20px -10px rgba(0, 0, 0, 0.2);
  transition-property: box-shadow;
  transition-duration: 0.3s;
}
.hvr-shadow:hover,
.hvr-shadow:focus,
.hvr-shadow:active {
  box-shadow: 0 10px 20px -10px rgba(0, 0, 0, 0.4);
}

.hvr-grow-shadow {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
  transition-property: box-shadow, transform;
  transition-duration: 0.3s;
}
.hvr-grow-shadow:hover,
.hvr-grow-shadow:focus,
.hvr-grow-shadow:active {
  box-shadow: 0 10px 20px -10px rgba(0, 0, 0, 0.4);
  transform: scale(1.05);
}

.hvr-box-shadow-outset {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
  transition-property: box-shadow;
  transition-duration: 0.3s;
}
.hvr-box-shadow-outset:hover,
.hvr-box-shadow-outset:focus,
.hvr-box-shadow-outset:active {
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.6);
}

.hvr-box-shadow-inset {
  display: inline-block;
  vertical-align: middle;
  transform: translateZ(0);
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
  transition-property: box-shadow;
  transition-duration: 0.3s;
}
.hvr-box-shadow-inset:hover,
.hvr-box-shadow-inset:focus,
.hvr-box-shadow-inset:active {
  box-shadow: inset 2px 2px 2px rgba(0, 0, 0, 0.6);
}
