
/* Samples */
/*

<h2>2D Transitions</h2>
<a href="#" class="crp-hvr-grow">Grow</a>
<a href="#" class="crp-hvr-shrink">Shrink</a>
<a href="#" class="crp-hvr-pulse">Pulse</a>
<a href="#" class="crp-hvr-pulse-grow">Pulse Grow</a>
<a href="#" class="crp-hvr-pulse-shrink">Pulse Shrink</a>
<a href="#" class="crp-hvr-push">Push</a>
<a href="#" class="crp-hvr-pop">Pop</a>
<a href="#" class="crp-hvr-bounce-in">Bounce In</a>
<a href="#" class="crp-hvr-bounce-out">Bounce Out</a>
<a href="#" class="crp-hvr-rotate">Rotate</a>
<a href="#" class="crp-hvr-grow-rotate">Grow Rotate</a>
<a href="#" class="crp-hvr-float">Float</a>
<a href="#" class="crp-hvr-sink">Sink</a>
<a href="#" class="crp-hvr-bob">Bob</a>
<a href="#" class="crp-hvr-hang">Hang</a>
<a href="#" class="crp-hvr-skew">Skew</a>
<a href="#" class="crp-hvr-skew-forward">Skew Forward</a>
<a href="#" class="crp-hvr-skew-backward">Skew Backward</a>
<a href="#" class="crp-hvr-wobble-horizontal">Wobble Horizontal</a>
<a href="#" class="crp-hvr-wobble-vertical">Wobble Vertical</a>
<a href="#" class="crp-hvr-wobble-to-bottom-right">Wobble To Bottom Right</a>
<a href="#" class="crp-hvr-wobble-to-top-right">Wobble To Top Right</a>
<a href="#" class="crp-hvr-wobble-top">Wobble Top</a>
<a href="#" class="crp-hvr-wobble-bottom">Wobble Bottom</a>
<a href="#" class="crp-hvr-wobble-skew">Wobble Skew</a>
<a href="#" class="crp-hvr-buzz">Buzz</a>
<a href="#" class="crp-hvr-buzz-out">Buzz Out</a>


<h2>Background Transitions</h2>
<a href="#" class="crp-hvr-fade">Fade</a>
<a href="#" class="crp-hvr-sweep-to-right">Sweep To Right</a>
<a href="#" class="crp-hvr-sweep-to-left">Sweep To Left</a>
<a href="#" class="crp-hvr-sweep-to-bottom">Sweep To Bottom</a>
<a href="#" class="crp-hvr-sweep-to-top">Sweep To Top</a>
<a href="#" class="crp-hvr-bounce-to-right">Bounce To Right</a>
<a href="#" class="crp-hvr-bounce-to-left">Bounce To Left</a>
<a href="#" class="crp-hvr-bounce-to-bottom">Bounce To Bottom</a>
<a href="#" class="crp-hvr-bounce-to-top">Bounce To Top</a>
<a href="#" class="crp-hvr-radial-out">Radial Out</a>
<a href="#" class="crp-hvr-radial-in">Radial In</a>
<a href="#" class="crp-hvr-rectangle-in">Rectangle In</a>
<a href="#" class="crp-hvr-rectangle-out">Rectangle Out</a>
<a href="#" class="crp-hvr-shutter-in-horizontal">Shutter In Horizontal</a>
<a href="#" class="crp-hvr-shutter-out-horizontal">Shutter Out Horizontal</a>
<a href="#" class="crp-hvr-shutter-in-vertical">Shutter In Vertical</a>
<a href="#" class="crp-hvr-shutter-out-vertical">Shutter Out Vertical</a>


<h2>Underline and Overline Transitions</h2>
<a href="#" class="crp-hvr-underline-from-left">Underline From Left</a>
<a href="#" class="crp-hvr-underline-from-center">Underline From Center</a>
<a href="#" class="crp-hvr-underline-from-right">Underline From Right</a>
<a href="#" class="crp-hvr-underline-reveal">Underline Reveal</a>
<a href="#" class="crp-hvr-overline-reveal">Overline Reveal</a>
<a href="#" class="crp-hvr-overline-from-left">Overline From Left</a>
<a href="#" class="crp-hvr-overline-from-center">Overline From Center</a>
<a href="#" class="crp-hvr-overline-from-right">Overline From Right</a>

*/

/* COMMON PROPERTIES */
.crp-hvr {
  vertical-align: middle;
  overflow: hidden;

  box-shadow: 0 0 1px rgba(0, 0, 0, 0);

  /*-webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;*/

  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;

  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;

  -webkit-transition-property: transform;
  transition-property: transform;
}

/* 2D TRANSITIONS */
/* Grow */
.crp-hvr-grow {
}

.crp-hvr-grow:hover, .crp-hvr-grow:focus, .crp-hvr-grow:active {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

/* Shrink */
.crp-hvr-shrink {
}

.crp-hvr-shrink:hover,
.crp-hvr-shrink:focus,
.crp-hvr-shrink:active {
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
}

/* Pulse */
@-webkit-keyframes crp-hvr-pulse {
  25% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  75% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}

@keyframes crp-hvr-pulse {
  25% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  75% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}

.crp-hvr-pulse {
}

.crp-hvr-pulse:hover,
.crp-hvr-pulse:focus,
.crp-hvr-pulse:active {
  -webkit-animation-name: crp-hvr-pulse;
  animation-name: crp-hvr-pulse;

  -webkit-animation-duration: .6s;
  animation-duration: .6s;

  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;

  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

/* Pulse Grow */
@-webkit-keyframes crp-hvr-pulse-grow {
  to {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

@keyframes crp-hvr-pulse-grow {
  to {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

.crp-hvr-pulse-grow {
}

.crp-hvr-pulse-grow:hover,
.crp-hvr-pulse-grow:focus,
.crp-hvr-pulse-grow:active {
  -webkit-animation-name: crp-hvr-pulse-grow;
  animation-name: crp-hvr-pulse-grow;

  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;

  -webkit-animation-duration: .5s;
  animation-duration: .5s;

  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;

  -webkit-animation-direction: alternate;
  animation-direction: alternate;
}

/* Pulse Shrink */
@-webkit-keyframes crp-hvr-pulse-shrink {
  to {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}

@keyframes crp-hvr-pulse-shrink {
  to {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}

.crp-hvr-pulse-shrink {
}

.crp-hvr-pulse-shrink:hover,
.crp-hvr-pulse-shrink:focus,
.crp-hvr-pulse-shrink:active {
  -webkit-animation-name: crp-hvr-pulse-shrink;
  animation-name: crp-hvr-pulse-shrink;

  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;

  -webkit-animation-duration: .5s;
  animation-duration: .5s;

  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;

  -webkit-animation-direction: alternate;
  animation-direction: alternate;
}

/* Push */
@-webkit-keyframes crp-hvr-push {
  50% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes crp-hvr-push {
  50% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

.crp-hvr-push {
}

.crp-hvr-push:hover,
.crp-hvr-push:focus,
.crp-hvr-push:active {
  -webkit-animation-name: crp-hvr-push;
  animation-name: crp-hvr-push;

  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;

  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Pop */
@-webkit-keyframes crp-hvr-pop {
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}

@keyframes crp-hvr-pop {
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}

.crp-hvr-pop {
}

.crp-hvr-pop:hover, .crp-hvr-pop:focus, .crp-hvr-pop:active {
  -webkit-animation-name: crp-hvr-pop;
  animation-name: crp-hvr-pop;

  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;

  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Bounce In */
.crp-hvr-bounce-in {
}

.crp-hvr-bounce-in:hover,
.crp-hvr-bounce-in:focus,
.crp-hvr-bounce-in:active {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);

  -webkit-transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
  transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}

/* Bounce Out */
.crp-hvr-bounce-out {
}

.crp-hvr-bounce-out:hover,
.crp-hvr-bounce-out:focus,
.crp-hvr-bounce-out:active {
  -webkit-transform: scale(0.8);
  transform: scale(0.8);

  -webkit-transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
  transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}

/* Rotate */
.crp-hvr-rotate {
}

.crp-hvr-rotate:hover,
.crp-hvr-rotate:focus,
.crp-hvr-rotate:active {
  -webkit-transform: rotate(5deg);
  transform: rotate(5deg);
}

/* Grow Rotate */
.crp-hvr-grow-rotate {
}

.crp-hvr-grow-rotate:hover,
.crp-hvr-grow-rotate:focus,
.crp-hvr-grow-rotate:active {
  -webkit-transform: scale(1.1) rotate(5deg);
  transform: scale(1.1) rotate(5deg);
}

/* Float */
.crp-hvr-float {
}
.crp-hvr-float:hover,
.crp-hvr-float:focus,
.crp-hvr-float:active {
  -webkit-transform: translateY(-8px);
  transform: translateY(-8px);
}

/* Sink */
.crp-hvr-sink {
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}

.crp-hvr-sink:hover,
.crp-hvr-sink:focus,
.crp-hvr-sink:active {
  -webkit-transform: translateY(8px);
  transform: translateY(8px);
}

/* Bob */
@-webkit-keyframes crp-hvr-bob {
  0% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }

  50% {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
  }

  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}

@keyframes crp-hvr-bob {
  0% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }

  50% {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
  }

  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}

@-webkit-keyframes crp-hvr-bob-float {
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}

@keyframes crp-hvr-bob-float {
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}

.crp-hvr-bob {
}

.crp-hvr-bob:hover,
.crp-hvr-bob:focus,
.crp-hvr-bob:active {
  -webkit-animation-name: crp-hvr-bob-float, crp-hvr-bob;
  animation-name: crp-hvr-bob-float, crp-hvr-bob;

  -webkit-animation-duration: .3s, 1.5s;
  animation-duration: .3s, 1.5s;
  -webkit-animation-delay: 0s, .3s;
  animation-delay: 0s, .3s;

  -webkit-animation-timing-function: ease-out, ease-in-out;
  animation-timing-function: ease-out, ease-in-out;

  -webkit-animation-iteration-count: 1, infinite;
  animation-iteration-count: 1, infinite;

  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;

  -webkit-animation-direction: normal, alternate;
  animation-direction: normal, alternate;
}

/* Hang */
@-webkit-keyframes crp-hvr-hang {
  0% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }

  50% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
  }

  100% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }
}

@keyframes crp-hvr-hang {
  0% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }

  50% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
  }

  100% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }
}

@-webkit-keyframes crp-hvr-hang-sink {
  100% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }
}

@keyframes crp-hvr-hang-sink {
  100% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }
}

.crp-hvr-hang {
}

.crp-hvr-hang:hover,
.crp-hvr-hang:focus,
.crp-hvr-hang:active {
  -webkit-animation-name: crp-hvr-hang-sink, crp-hvr-hang;
  animation-name: crp-hvr-hang-sink, crp-hvr-hang;

  -webkit-animation-duration: .3s, 1.5s;
  animation-duration: .3s, 1.5s;
  -webkit-animation-delay: 0s, .3s;
  animation-delay: 0s, .3s;

  -webkit-animation-timing-function: ease-out, ease-in-out;
  animation-timing-function: ease-out, ease-in-out;

  -webkit-animation-iteration-count: 1, infinite;
  animation-iteration-count: 1, infinite;

  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;

  -webkit-animation-direction: normal, alternate;
  animation-direction: normal, alternate;
}

/* Skew */
.crp-hvr-skew {
}

.crp-hvr-skew:hover,
.crp-hvr-skew:focus,
.crp-hvr-skew:active {
  -webkit-transform: skew(-10deg);
  transform: skew(-10deg);
}

/* Skew Forward */
.crp-hvr-skew-forward {
}

.crp-hvr-skew-forward:hover,
.crp-hvr-skew-forward:focus,
.crp-hvr-skew-forward:active {
  -webkit-transform: skew(-10deg);
  transform: skew(-10deg);
}

/* Skew Backward */
.crp-hvr-skew-backward {
}

.crp-hvr-skew-backward:hover,
.crp-hvr-skew-backward:focus,
.crp-hvr-skew-backward:active {
  -webkit-transform: skew(10deg);
  transform: skew(10deg);
}

/* Wobble Vertical */
@-webkit-keyframes crp-hvr-wobble-vertical {
  16.65% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }

  33.3% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }

  49.95% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
  }

  66.6% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
  }

  83.25% {
    -webkit-transform: translateY(1px);
    transform: translateY(1px);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes crp-hvr-wobble-vertical {
  16.65% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }

  33.3% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }

  49.95% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
  }

  66.6% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
  }

  83.25% {
    -webkit-transform: translateY(1px);
    transform: translateY(1px);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

.crp-hvr-wobble-vertical {
}

.crp-hvr-wobble-vertical:hover,
.crp-hvr-wobble-vertical:focus,
.crp-hvr-wobble-vertical:active {
  -webkit-animation-name: crp-hvr-wobble-vertical;
  animation-name: crp-hvr-wobble-vertical;

  -webkit-animation-duration: 1s;
  animation-duration: 1s;

  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;

  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Wobble Horizontal */
@-webkit-keyframes crp-hvr-wobble-horizontal {
  16.65% {
    -webkit-transform: translateX(8px);
    transform: translateX(8px);
  }

  33.3% {
    -webkit-transform: translateX(-6px);
    transform: translateX(-6px);
  }

  49.95% {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
  }

  66.6% {
    -webkit-transform: translateX(-2px);
    transform: translateX(-2px);
  }

  83.25% {
    -webkit-transform: translateX(1px);
    transform: translateX(1px);
  }

  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes crp-hvr-wobble-horizontal {
  16.65% {
    -webkit-transform: translateX(8px);
    transform: translateX(8px);
  }

  33.3% {
    -webkit-transform: translateX(-6px);
    transform: translateX(-6px);
  }

  49.95% {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
  }

  66.6% {
    -webkit-transform: translateX(-2px);
    transform: translateX(-2px);
  }

  83.25% {
    -webkit-transform: translateX(1px);
    transform: translateX(1px);
  }

  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

.crp-hvr-wobble-horizontal {
}

.crp-hvr-wobble-horizontal:hover,
.crp-hvr-wobble-horizontal:focus,
.crp-hvr-wobble-horizontal:active {
  -webkit-animation-name: crp-hvr-wobble-horizontal;
  animation-name: crp-hvr-wobble-horizontal;

  -webkit-animation-duration: 1s;
  animation-duration: 1s;

  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;

  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Wobble To Bottom Right */
@-webkit-keyframes crp-hvr-wobble-to-bottom-right {
  16.65% {
    -webkit-transform: translate(8px, 8px);
    transform: translate(8px, 8px);
  }

  33.3% {
    -webkit-transform: translate(-6px, -6px);
    transform: translate(-6px, -6px);
  }

  49.95% {
    -webkit-transform: translate(4px, 4px);
    transform: translate(4px, 4px);
  }

  66.6% {
    -webkit-transform: translate(-2px, -2px);
    transform: translate(-2px, -2px);
  }

  83.25% {
    -webkit-transform: translate(1px, 1px);
    transform: translate(1px, 1px);
  }

  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

@keyframes crp-hvr-wobble-to-bottom-right {
  16.65% {
    -webkit-transform: translate(8px, 8px);
    transform: translate(8px, 8px);
  }

  33.3% {
    -webkit-transform: translate(-6px, -6px);
    transform: translate(-6px, -6px);
  }

  49.95% {
    -webkit-transform: translate(4px, 4px);
    transform: translate(4px, 4px);
  }

  66.6% {
    -webkit-transform: translate(-2px, -2px);
    transform: translate(-2px, -2px);
  }

  83.25% {
    -webkit-transform: translate(1px, 1px);
    transform: translate(1px, 1px);
  }

  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

.crp-hvr-wobble-to-bottom-right {
}

.crp-hvr-wobble-to-bottom-right:hover,
.crp-hvr-wobble-to-bottom-right:focus,
.crp-hvr-wobble-to-bottom-right:active {
  -webkit-animation-name: crp-hvr-wobble-to-bottom-right;
  animation-name: crp-hvr-wobble-to-bottom-right;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Wobble To Top Right */
@-webkit-keyframes crp-hvr-wobble-to-top-right {
  16.65% {
    -webkit-transform: translate(8px, -8px);
    transform: translate(8px, -8px);
  }

  33.3% {
    -webkit-transform: translate(-6px, 6px);
    transform: translate(-6px, 6px);
  }

  49.95% {
    -webkit-transform: translate(4px, -4px);
    transform: translate(4px, -4px);
  }

  66.6% {
    -webkit-transform: translate(-2px, 2px);
    transform: translate(-2px, 2px);
  }

  83.25% {
    -webkit-transform: translate(1px, -1px);
    transform: translate(1px, -1px);
  }

  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

@keyframes crp-hvr-wobble-to-top-right {
  16.65% {
    -webkit-transform: translate(8px, -8px);
    transform: translate(8px, -8px);
  }

  33.3% {
    -webkit-transform: translate(-6px, 6px);
    transform: translate(-6px, 6px);
  }

  49.95% {
    -webkit-transform: translate(4px, -4px);
    transform: translate(4px, -4px);
  }

  66.6% {
    -webkit-transform: translate(-2px, 2px);
    transform: translate(-2px, 2px);
  }

  83.25% {
    -webkit-transform: translate(1px, -1px);
    transform: translate(1px, -1px);
  }

  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

.crp-hvr-wobble-to-top-right {
}

.crp-hvr-wobble-to-top-right:hover, .crp-hvr-wobble-to-top-right:focus, .crp-hvr-wobble-to-top-right:active {
  -webkit-animation-name: crp-hvr-wobble-to-top-right;
  animation-name: crp-hvr-wobble-to-top-right;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Wobble Top */
@-webkit-keyframes crp-hvr-wobble-top {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
  }

  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg);
  }

  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg);
  }

  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }

  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg);
  }

  100% {
    -webkit-transform: skew(0);
    transform: skew(0);
  }
}

@keyframes crp-hvr-wobble-top {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
  }

  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg);
  }

  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg);
  }

  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }

  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg);
  }

  100% {
    -webkit-transform: skew(0);
    transform: skew(0);
  }
}

.crp-hvr-wobble-top {
}

.crp-hvr-wobble-top:hover, .crp-hvr-wobble-top:focus, .crp-hvr-wobble-top:active {
  -webkit-animation-name: crp-hvr-wobble-top;
  animation-name: crp-hvr-wobble-top;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Wobble Bottom */
@-webkit-keyframes crp-hvr-wobble-bottom {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
  }

  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg);
  }

  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg);
  }

  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }

  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg);
  }

  100% {
    -webkit-transform: skew(0);
    transform: skew(0);
  }
}

@keyframes crp-hvr-wobble-bottom {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
  }

  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg);
  }

  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg);
  }

  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }

  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg);
  }

  100% {
    -webkit-transform: skew(0);
    transform: skew(0);
  }
}

.crp-hvr-wobble-bottom {
}

.crp-hvr-wobble-bottom:hover, .crp-hvr-wobble-bottom:focus, .crp-hvr-wobble-bottom:active {
  -webkit-animation-name: crp-hvr-wobble-bottom;
  animation-name: crp-hvr-wobble-bottom;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Wobble Skew */
@-webkit-keyframes crp-hvr-wobble-skew {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
  }

  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg);
  }

  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg);
  }

  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }

  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg);
  }

  100% {
    -webkit-transform: skew(0);
    transform: skew(0);
  }
}

@keyframes crp-hvr-wobble-skew {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
  }

  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg);
  }

  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg);
  }

  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }

  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg);
  }

  100% {
    -webkit-transform: skew(0);
    transform: skew(0);
  }
}

.crp-hvr-wobble-skew {
}

.crp-hvr-wobble-skew:hover, .crp-hvr-wobble-skew:focus, .crp-hvr-wobble-skew:active {
  -webkit-animation-name: crp-hvr-wobble-skew;
  animation-name: crp-hvr-wobble-skew;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Buzz */
@-webkit-keyframes crp-hvr-buzz {
  50% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }

  100% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
}

@keyframes crp-hvr-buzz {
  50% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }

  100% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
}

.crp-hvr-buzz {
}

.crp-hvr-buzz:hover, .crp-hvr-buzz:focus, .crp-hvr-buzz:active {
  -webkit-animation-name: crp-hvr-buzz;
  animation-name: crp-hvr-buzz;
  -webkit-animation-duration: 0.15s;
  animation-duration: 0.15s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

/* Buzz Out */
@-webkit-keyframes crp-hvr-buzz-out {
  10% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }

  20% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }

  30% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }

  40% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }

  50% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }

  60% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }

  70% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }

  80% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }

  90% {
    -webkit-transform: translateX(1px) rotate(0);
    transform: translateX(1px) rotate(0);
  }

  100% {
    -webkit-transform: translateX(-1px) rotate(0);
    transform: translateX(-1px) rotate(0);
  }
}

@keyframes crp-hvr-buzz-out {
  10% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }

  20% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }

  30% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }

  40% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }

  50% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }

  60% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }

  70% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }

  80% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }

  90% {
    -webkit-transform: translateX(1px) rotate(0);
    transform: translateX(1px) rotate(0);
  }

  100% {
    -webkit-transform: translateX(-1px) rotate(0);
    transform: translateX(-1px) rotate(0);
  }
}

.crp-hvr-buzz-out {
}

.crp-hvr-buzz-out:hover, .crp-hvr-buzz-out:focus, .crp-hvr-buzz-out:active {
  -webkit-animation-name: crp-hvr-buzz-out;
  animation-name: crp-hvr-buzz-out;
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* BACKGROUND TRANSITIONS */
/* Fade */
.crp-hvr-fade {
}

.crp-hvr-fade:hover, .crp-hvr-fade:focus, .crp-hvr-fade:active {
  /*background-color: #2098d1;*/
}

/* Sweep To Right */
.crp-hvr-sweep-to-right {
}

.crp-hvr-sweep-to-right:before {
  content: "";
  position: absolute;
  /* z-index: -1; */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;

  /* background: #2098d1; */
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.crp-hvr-sweep-to-right:hover, .crp-hvr-sweep-to-right:focus, .crp-hvr-sweep-to-right:active {
  color: white;
}
.crp-hvr-sweep-to-right:hover:before, .crp-hvr-sweep-to-right:focus:before, .crp-hvr-sweep-to-right:active:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}

/* Sweep To Left */
.crp-hvr-sweep-to-left {
}

.crp-hvr-sweep-to-left:before {
  content: "";
  position: absolute;
  /* z-index: -1; */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;

  /* background: #2098d1; */
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.crp-hvr-sweep-to-left:hover, .crp-hvr-sweep-to-left:focus, .crp-hvr-sweep-to-left:active {
  color: white;
}
.crp-hvr-sweep-to-left:hover:before, .crp-hvr-sweep-to-left:focus:before, .crp-hvr-sweep-to-left:active:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}

/* Sweep To Bottom */
.crp-hvr-sweep-to-bottom {
}

.crp-hvr-sweep-to-bottom:before {
  content: "";
  position: absolute;
  /* z-index: -1; */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  /* background: #2098d1; */
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: 50% 0;
  transform-origin: 50% 0;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.crp-hvr-sweep-to-bottom:hover, .crp-hvr-sweep-to-bottom:focus, .crp-hvr-sweep-to-bottom:active {
  color: white;
}
.crp-hvr-sweep-to-bottom:hover:before, .crp-hvr-sweep-to-bottom:focus:before, .crp-hvr-sweep-to-bottom:active:before {
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
}

/* Sweep To Top */
.crp-hvr-sweep-to-top {
}

.crp-hvr-sweep-to-top:before {
  content: "";
  position: absolute;
  /* z-index: -1; */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  /* background: #2098d1; */
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.crp-hvr-sweep-to-top:hover, .crp-hvr-sweep-to-top:focus, .crp-hvr-sweep-to-top:active {
  color: white;
}
.crp-hvr-sweep-to-top:hover:before, .crp-hvr-sweep-to-top:focus:before, .crp-hvr-sweep-to-top:active:before {
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
}

/* Bounce To Right */
.crp-hvr-bounce-to-right {
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}
.crp-hvr-bounce-to-right:before {
  content: "";
  position: absolute;
  /* z-index: -1; */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
   /* background: #2098d1; */
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.crp-hvr-bounce-to-right:hover, .crp-hvr-bounce-to-right:focus, .crp-hvr-bounce-to-right:active {
  color: white;
}
.crp-hvr-bounce-to-right:hover:before, .crp-hvr-bounce-to-right:focus:before, .crp-hvr-bounce-to-right:active:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

/* Bounce To Left */
.crp-hvr-bounce-to-left {
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}

.crp-hvr-bounce-to-left:before {
  content: "";
  position: absolute;
  /* z-index: -1; */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
   /* background: #2098d1; */
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.crp-hvr-bounce-to-left:hover, .crp-hvr-bounce-to-left:focus, .crp-hvr-bounce-to-left:active {
  color: white;
}
.crp-hvr-bounce-to-left:hover:before, .crp-hvr-bounce-to-left:focus:before, .crp-hvr-bounce-to-left:active:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

/* Bounce To Bottom */
.crp-hvr-bounce-to-bottom {
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}
.crp-hvr-bounce-to-bottom:before {
  content: "";
  position: absolute;
  /* z-index: -1; */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
   /* background: #2098d1; */
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: 50% 0;
  transform-origin: 50% 0;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.crp-hvr-bounce-to-bottom:hover, .crp-hvr-bounce-to-bottom:focus, .crp-hvr-bounce-to-bottom:active {
  color: white;
}
.crp-hvr-bounce-to-bottom:hover:before, .crp-hvr-bounce-to-bottom:focus:before, .crp-hvr-bounce-to-bottom:active:before {
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
  -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

/* Bounce To Top */
.crp-hvr-bounce-to-top {
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}
.crp-hvr-bounce-to-top:before {
  content: "";
  position: absolute;
  /* z-index: -1; */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
   /* background: #2098d1; */
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.crp-hvr-bounce-to-top:hover, .crp-hvr-bounce-to-top:focus, .crp-hvr-bounce-to-top:active {
  color: white;
}
.crp-hvr-bounce-to-top:hover:before, .crp-hvr-bounce-to-top:focus:before, .crp-hvr-bounce-to-top:active:before {
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
  -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

/* Radial Out */
.crp-hvr-radial-out {
}

.crp-hvr-radial-out:before {
  content: "";
  position: absolute;
  /* z-index: -1; */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
   /* background: #2098d1; */
  border-radius: 100%;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.crp-hvr-radial-out:hover, .crp-hvr-radial-out:focus, .crp-hvr-radial-out:active {
  color: white;
}
.crp-hvr-radial-out:hover:before, .crp-hvr-radial-out:focus:before, .crp-hvr-radial-out:active:before {
  -webkit-transform: scale(2);
  transform: scale(2);
}

/* Radial In */
.crp-hvr-radial-in {
}

.crp-hvr-radial-in:before {
  content: "";
  position: absolute;
  /* z-index: -1; */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  /*background: #e1e1e1;*/
  border-radius: 100%;
  -webkit-transform: scale(2);
  transform: scale(2);
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.crp-hvr-radial-in:hover, .crp-hvr-radial-in:focus, .crp-hvr-radial-in:active {
  color: white;
}
.crp-hvr-radial-in:hover:before, .crp-hvr-radial-in:focus:before, .crp-hvr-radial-in:active:before {
  -webkit-transform: scale(0);
  transform: scale(0);
}

/* Rectangle In */
.crp-hvr-rectangle-in {
}

.crp-hvr-rectangle-in:before {
  content: "";
  position: absolute;
  /* z-index: -1; */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  /*background: #e1e1e1;*/
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.crp-hvr-rectangle-in:hover, .crp-hvr-rectangle-in:focus, .crp-hvr-rectangle-in:active {
  color: white;
}
.crp-hvr-rectangle-in:hover:before, .crp-hvr-rectangle-in:focus:before, .crp-hvr-rectangle-in:active:before {
  -webkit-transform: scale(0);
  transform: scale(0);
}

/* Rectangle Out */
.crp-hvr-rectangle-out {
}

.crp-hvr-rectangle-out:before {
  content: "";
  position: absolute;
  /* z-index: -1; */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
   /* background: #2098d1; */
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.crp-hvr-rectangle-out:hover, .crp-hvr-rectangle-out:focus, .crp-hvr-rectangle-out:active {
  color: white;
}
.crp-hvr-rectangle-out:hover:before, .crp-hvr-rectangle-out:focus:before, .crp-hvr-rectangle-out:active:before {
  -webkit-transform: scale(1);
  transform: scale(1);
}

/* Shutter In Horizontal */
.crp-hvr-shutter-in-horizontal {
}

.crp-hvr-shutter-in-horizontal:before {
  content: "";
  position: absolute;
  /* z-index: -1; */
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  /*background: #e1e1e1;*/
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.crp-hvr-shutter-in-horizontal:hover, .crp-hvr-shutter-in-horizontal:focus, .crp-hvr-shutter-in-horizontal:active {
  color: white;
}
.crp-hvr-shutter-in-horizontal:hover:before, .crp-hvr-shutter-in-horizontal:focus:before, .crp-hvr-shutter-in-horizontal:active:before {
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
}

/* Shutter Out Horizontal */
.crp-hvr-shutter-out-horizontal {
}

.crp-hvr-shutter-out-horizontal:before {
  content: "";
  position: absolute;
  /* z-index: -1; */
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
   /* background: #2098d1; */
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.crp-hvr-shutter-out-horizontal:hover, .crp-hvr-shutter-out-horizontal:focus, .crp-hvr-shutter-out-horizontal:active {
  color: white;
}
.crp-hvr-shutter-out-horizontal:hover:before, .crp-hvr-shutter-out-horizontal:focus:before, .crp-hvr-shutter-out-horizontal:active:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}

/* Shutter In Vertical */
.crp-hvr-shutter-in-vertical {
}

.crp-hvr-shutter-in-vertical:before {
  content: "";
  position: absolute;
  /* z-index: -1; */
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  /*background: #e1e1e1;*/
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
  -webkit-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.crp-hvr-shutter-in-vertical:hover, .crp-hvr-shutter-in-vertical:focus, .crp-hvr-shutter-in-vertical:active {
  color: white;
}
.crp-hvr-shutter-in-vertical:hover:before, .crp-hvr-shutter-in-vertical:focus:before, .crp-hvr-shutter-in-vertical:active:before {
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
}

/* Shutter Out Vertical */
.crp-hvr-shutter-out-vertical {
}
.crp-hvr-shutter-out-vertical:before {
  content: "";
  position: absolute;
  /* z-index: -1; */
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
   /* background: #2098d1; */
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.crp-hvr-shutter-out-vertical:hover, .crp-hvr-shutter-out-vertical:focus, .crp-hvr-shutter-out-vertical:active {
  color: white;
}
.crp-hvr-shutter-out-vertical:hover:before, .crp-hvr-shutter-out-vertical:focus:before, .crp-hvr-shutter-out-vertical:active:before {
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
}

/* OVERLINE & UNDERLINE TRANSITIONS */
/* Underline From Left */
.crp-hvr-underline-from-left {
}

.crp-hvr-underline-from-left:before {
  content: "";
  position: absolute;
  /* z-index: -1; */
  left: 0;
  right: 100%;
  bottom: 0;
   /* background: #2098d1; */
  height: 4px;
  -webkit-transition-property: right;
  transition-property: right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.crp-hvr-underline-from-left:hover:before, .crp-hvr-underline-from-left:focus:before, .crp-hvr-underline-from-left:active:before {
  right: 0;
}

/* Underline From Center */
.crp-hvr-underline-from-center {
}

.crp-hvr-underline-from-center:before {
  content: "";
  position: absolute;
  /* z-index: -1; */
  left: 50%;
  right: 50%;
  bottom: 0;
   /* background: #2098d1; */
  height: 4px;
  -webkit-transition-property: left, right;
  transition-property: left, right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.crp-hvr-underline-from-center:hover:before, .crp-hvr-underline-from-center:focus:before, .crp-hvr-underline-from-center:active:before {
  left: 0;
  right: 0;
}

/* Underline From Right */
.crp-hvr-underline-from-right {
}

.crp-hvr-underline-from-right:before {
  content: "";
  position: absolute;
  /* z-index: -1; */
  left: 100%;
  right: 0;
  bottom: 0;
   /* background: #2098d1; */
  height: 4px;
  -webkit-transition-property: left;
  transition-property: left;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.crp-hvr-underline-from-right:hover:before, .crp-hvr-underline-from-right:focus:before, .crp-hvr-underline-from-right:active:before {
  left: 0;
}

/* Overline From Left */
.crp-hvr-overline-from-left {
}

.crp-hvr-overline-from-left:before {
  content: "";
  position: absolute;
  /* z-index: -1; */
  left: 0;
  right: 100%;
  top: 0;
   /* background: #2098d1; */
  height: 4px;
  -webkit-transition-property: right;
  transition-property: right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.crp-hvr-overline-from-left:hover:before, .crp-hvr-overline-from-left:focus:before, .crp-hvr-overline-from-left:active:before {
  right: 0;
}

/* Overline From Center */
.crp-hvr-overline-from-center {
}

.crp-hvr-overline-from-center:before {
  content: "";
  position: absolute;
  /* z-index: -1; */
  left: 50%;
  right: 50%;
  top: 0;
   /* background: #2098d1; */
  height: 4px;
  -webkit-transition-property: left, right;
  transition-property: left, right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.crp-hvr-overline-from-center:hover:before, .crp-hvr-overline-from-center:focus:before, .crp-hvr-overline-from-center:active:before {
  left: 0;
  right: 0;
}

/* Overline From Right */
.crp-hvr-overline-from-right {
}

.crp-hvr-overline-from-right:before {
  content: "";
  position: absolute;
  /* z-index: -1; */
  left: 100%;
  right: 0;
  top: 0;
   /* background: #2098d1; */
  height: 4px;
  -webkit-transition-property: left;
  transition-property: left;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.crp-hvr-overline-from-right:hover:before, .crp-hvr-overline-from-right:focus:before, .crp-hvr-overline-from-right:active:before {
  left: 0;
}

/* Underline Reveal */
.crp-hvr-underline-reveal {
}

.crp-hvr-underline-reveal:before {
  content: "";
  position: absolute;
  /* z-index: -1; */
  left: 0;
  right: 0;
  bottom: 0;
   /* background: #2098d1; */
  height: 4px;
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.crp-hvr-underline-reveal:hover:before, .crp-hvr-underline-reveal:focus:before, .crp-hvr-underline-reveal:active:before {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

/* Overline Reveal */
.crp-hvr-overline-reveal {
}

.crp-hvr-overline-reveal:before {
  content: "";
  position: absolute;
  /* z-index: -1; */
  left: 0;
  right: 0;
  top: 0;
   /* background: #2098d1; */
  height: 4px;
  -webkit-transform: translateY(-4px);
  transform: translateY(-4px);
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.crp-hvr-overline-reveal:hover:before, .crp-hvr-overline-reveal:focus:before, .crp-hvr-overline-reveal:active:before {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
