    @keyframes bounce {

      20%,
      53%,
      80%,
      from,
      to {
        animation-timing-function: cubic-bezier(.215, .61, .355, 1);
        transform: translate3d(0, 0, 0)
      }

      40%,
      43% {
        animation-timing-function: cubic-bezier(.755, .05, .855, .06);
        transform: translate3d(0, -30px, 0)
      }

      70% {
        animation-timing-function: cubic-bezier(.755, .05, .855, .06);
        transform: translate3d(0, -15px, 0)
      }

      90% {
        transform: translate3d(0, -4px, 0)
      }
    }

    @keyframes flash {

      50%,
      from,
      to {
        opacity: 1
      }

      25%,
      75% {
        opacity: 0
      }
    }

    @keyframes pulse {

      from,
      to {
        transform: scale3d(1, 1, 1)
      }

      50% {
        transform: scale3d(1.05, 1.05, 1.05)
      }
    }

    @keyframes rubberBand {

      from,
      to {
        transform: scale3d(1, 1, 1)
      }

      30% {
        transform: scale3d(1.25, .75, 1)
      }

      40% {
        transform: scale3d(.75, 1.25, 1)
      }

      50% {
        transform: scale3d(1.15, .85, 1)
      }

      65% {
        transform: scale3d(.95, 1.05, 1)
      }

      75% {
        transform: scale3d(1.05, .95, 1)
      }
    }

    @keyframes shake {

      from,
      to {
        transform: translate3d(0, 0, 0)
      }

      10%,
      30%,
      50%,
      70%,
      90% {
        transform: translate3d(-10px, 0, 0)
      }

      20%,
      40%,
      60%,
      80% {
        transform: translate3d(10px, 0, 0)
      }
    }

    @keyframes headShake {
      0% {
        transform: translateX(0)
      }

      6.5% {
        transform: translateX(-6px) rotateY(-9deg)
      }

      18.5% {
        transform: translateX(5px) rotateY(7deg)
      }

      31.5% {
        transform: translateX(-3px) rotateY(-5deg)
      }

      43.5% {
        transform: translateX(2px) rotateY(3deg)
      }

      50% {
        transform: translateX(0)
      }
    }

    @keyframes swing {
      20% {
        transform: rotate3d(0, 0, 1, 15deg)
      }

      40% {
        transform: rotate3d(0, 0, 1, -10deg)
      }

      60% {
        transform: rotate3d(0, 0, 1, 5deg)
      }

      80% {
        transform: rotate3d(0, 0, 1, -5deg)
      }

      to {
        transform: rotate3d(0, 0, 1, 0deg)
      }
    }

    @keyframes tada {

      from,
      to {
        transform: scale3d(1, 1, 1)
      }

      10%,
      20% {
        transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg)
      }

      30%,
      50%,
      70%,
      90% {
        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)
      }

      40%,
      60%,
      80% {
        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)
      }
    }

    @keyframes wobble {

      from,
      to {
        transform: none
      }

      15% {
        transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg)
      }

      30% {
        transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg)
      }

      45% {
        transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg)
      }

      60% {
        transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg)
      }

      75% {
        transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg)
      }
    }

    @keyframes jello {

      11.1%,
      from,
      to {
        transform: none
      }

      22.2% {
        transform: skewX(-12.5deg) skewY(-12.5deg)
      }

      33.3% {
        transform: skewX(6.25deg) skewY(6.25deg)
      }

      44.4% {
        transform: skewX(-3.125deg) skewY(-3.125deg)
      }

      55.5% {
        transform: skewX(1.5625deg) skewY(1.5625deg)
      }

      66.6% {
        transform: skewX(-.78125deg) skewY(-.78125deg)
      }

      77.7% {
        transform: skewX(.390625deg) skewY(.390625deg)
      }

      88.8% {
        transform: skewX(-.1953125deg) skewY(-.1953125deg)
      }
    }

    @keyframes bounceIn {

      20%,
      40%,
      60%,
      80%,
      from,
      to {
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
      }

      0% {
        opacity: 0;
        transform: scale3d(.3, .3, .3)
      }

      20% {
        transform: scale3d(1.1, 1.1, 1.1)
      }

      40% {
        transform: scale3d(.9, .9, .9)
      }

      60% {
        opacity: 1;
        transform: scale3d(1.03, 1.03, 1.03)
      }

      80% {
        transform: scale3d(.97, .97, .97)
      }

      to {
        opacity: 1;
        transform: scale3d(1, 1, 1)
      }
    }

    @keyframes bounceInDown {

      60%,
      75%,
      90%,
      from,
      to {
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
      }

      0% {
        opacity: 0;
        transform: translate3d(0, -3000px, 0)
      }

      60% {
        opacity: 1;
        transform: translate3d(0, 25px, 0)
      }

      75% {
        transform: translate3d(0, -10px, 0)
      }

      90% {
        transform: translate3d(0, 5px, 0)
      }

      to {
        transform: none
      }
    }

    @keyframes bounceInLeft {

      60%,
      75%,
      90%,
      from,
      to {
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
      }

      0% {
        opacity: 0;
        transform: translate3d(-3000px, 0, 0)
      }

      60% {
        opacity: 1;
        transform: translate3d(25px, 0, 0)
      }

      75% {
        transform: translate3d(-10px, 0, 0)
      }

      90% {
        transform: translate3d(5px, 0, 0)
      }

      to {
        transform: none
      }
    }

    @keyframes bounceInRight {

      60%,
      75%,
      90%,
      from,
      to {
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
      }

      from {
        opacity: 0;
        transform: translate3d(3000px, 0, 0)
      }

      60% {
        opacity: 1;
        transform: translate3d(-25px, 0, 0)
      }

      75% {
        transform: translate3d(10px, 0, 0)
      }

      90% {
        transform: translate3d(-5px, 0, 0)
      }

      to {
        transform: none
      }
    }

    @keyframes bounceInUp {

      60%,
      75%,
      90%,
      from,
      to {
        animation-timing-function: cubic-bezier(.215, .61, .355, 1)
      }

      from {
        opacity: 0;
        transform: translate3d(0, 3000px, 0)
      }

      60% {
        opacity: 1;
        transform: translate3d(0, -20px, 0)
      }

      75% {
        transform: translate3d(0, 10px, 0)
      }

      90% {
        transform: translate3d(0, -5px, 0)
      }

      to {
        transform: translate3d(0, 0, 0)
      }
    }

    @keyframes fadeIn {
      from {
        opacity: 0
      }

      to {
        opacity: 1
      }
    }

    .fadeIn {
      animation-name: fadeIn
    }

    @keyframes fadeInDown {
      from {
        opacity: 0;
        transform: translate3d(0, -100%, 0)
      }

      to {
        opacity: 1;
        transform: none
      }
    }

    .fadeInDown {
      animation-name: fadeInDown
    }

    @keyframes fadeInLeft {
      from {
        opacity: 0;
        transform: translate3d(-100%, 0, 0)
      }

      to {
        opacity: 1;
        transform: none
      }
    }

    .fadeInLeft {
      animation-name: fadeInLeft
    }

    @keyframes fadeInRight {
      from {
        opacity: 0;
        transform: translate3d(100%, 0, 0)
      }

      to {
        opacity: 1;
        transform: none
      }
    }

    .fadeInRight {
      animation-name: fadeInRight
    }

    @keyframes fadeInUp {
      from {
        opacity: 0;
        transform: translate3d(0, 100%, 0)
      }

      to {
        opacity: 1;
        transform: none
      }
    }

    .fadeInUp {
      animation-name: fadeInUp
    }

    @keyframes lightSpeedIn {
      from {
        transform: translate3d(100%, 0, 0) skewX(-30deg);
        opacity: 0
      }

      60% {
        transform: skewX(20deg);
        opacity: 1
      }

      80% {
        transform: skewX(-5deg);
        opacity: 1
      }

      to {
        transform: none;
        opacity: 1
      }
    }

    @keyframes rotateIn {
      from {
        transform-origin: center;
        transform: rotate3d(0, 0, 1, -200deg);
        opacity: 0
      }

      to {
        transform-origin: center;
        transform: none;
        opacity: 1
      }
    }

    @keyframes rotateInDownLeft {
      from {
        transform-origin: left bottom;
        transform: rotate3d(0, 0, 1, -45deg);
        opacity: 0
      }

      to {
        transform-origin: left bottom;
        transform: none;
        opacity: 1
      }
    }

    @keyframes rotateInDownRight {
      from {
        transform-origin: right bottom;
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0
      }

      to {
        transform-origin: right bottom;
        transform: none;
        opacity: 1
      }
    }

    @keyframes rotateInUpLeft {
      from {
        transform-origin: left bottom;
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0
      }

      to {
        transform-origin: left bottom;
        transform: none;
        opacity: 1
      }
    }

    @keyframes rotateInUpRight {
      from {
        transform-origin: right bottom;
        transform: rotate3d(0, 0, 1, -90deg);
        opacity: 0
      }

      to {
        transform-origin: right bottom;
        transform: none;
        opacity: 1
      }
    }

    @keyframes rollIn {
      from {
        opacity: 0;
        transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg)
      }

      to {
        opacity: 1;
        transform: none
      }
    }

    @keyframes zoomIn {
      from {
        opacity: 0;
        transform: scale3d(.3, .3, .3)
      }

      50% {
        opacity: 1
      }
    }

    @keyframes zoomInDown {
      from {
        opacity: 0;
        transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
      }

      60% {
        opacity: 1;
        transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
      }
    }

    @keyframes zoomInLeft {
      from {
        opacity: 0;
        transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
      }

      60% {
        opacity: 1;
        transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
      }
    }

    @keyframes zoomInRight {
      from {
        opacity: 0;
        transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
      }

      60% {
        opacity: 1;
        transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
      }
    }

    @keyframes zoomInUp {
      from {
        opacity: 0;
        transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
      }

      60% {
        opacity: 1;
        transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
      }
    }

    @keyframes slideInDown {
      from {
        transform: translate3d(0, -100%, 0);
        visibility: visible
      }

      to {
        transform: translate3d(0, 0, 0)
      }
    }

    @keyframes slideInLeft {
      from {
        transform: translate3d(-100%, 0, 0);
        visibility: visible
      }

      to {
        transform: translate3d(0, 0, 0)
      }
    }

    .slideInLeft {
      animation-name: slideInLeft
    }

    @keyframes slideInRight {
      from {
        transform: translate3d(100%, 0, 0);
        visibility: visible
      }

      to {
        transform: translate3d(0, 0, 0)
      }
    }

    .slideInRight {
      animation-name: slideInRight
    }

    @keyframes slideInUp {
      from {
        transform: translate3d(0, 100%, 0);
        visibility: visible
      }

      to {
        transform: translate3d(0, 0, 0)
      }
    }

    @keyframes elementor-animation-pulse {
      25% {
        transform: scale(1.1)
      }

      75% {
        transform: scale(.9)
      }
    }

    @keyframes elementor-animation-pulse-grow {
      to {
        transform: scale(1.1)
      }
    }

    @keyframes elementor-animation-pulse-shrink {
      to {
        transform: scale(.9)
      }
    }

    @keyframes elementor-animation-push {
      50% {
        transform: scale(.8)
      }

      100% {
        transform: scale(1)
      }
    }

    @keyframes elementor-animation-pop {
      50% {
        transform: scale(1.2)
      }
    }

    @keyframes elementor-animation-bob {
      0% {
        transform: translateY(-8px)
      }

      50% {
        transform: translateY(-4px)
      }

      100% {
        transform: translateY(-8px)
      }
    }

    @keyframes elementor-animation-bob-float {
      100% {
        transform: translateY(-8px)
      }
    }

    @keyframes elementor-animation-hang {
      0% {
        transform: translateY(8px)
      }

      50% {
        transform: translateY(4px)
      }

      100% {
        transform: translateY(8px)
      }
    }

    @keyframes elementor-animation-hang-sink {
      100% {
        transform: translateY(8px)
      }
    }

    @keyframes elementor-animation-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)
      }
    }

    @keyframes elementor-animation-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)
      }
    }

    @keyframes elementor-animation-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)
      }
    }

    @keyframes elementor-animation-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)
      }
    }

    @keyframes elementor-animation-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)
      }
    }

    @keyframes elementor-animation-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)
      }
    }

    @keyframes elementor-animation-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)
      }
    }

    @keyframes elementor-animation-buzz {
      50% {
        transform: translateX(3px) rotate(2deg)
      }

      100% {
        transform: translateX(-3px) rotate(-2deg)
      }
    }

    @keyframes elementor-animation-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)
      }
    }