/* Has Scroll */

.has-scroll {
    position: fixed !important;
    top: 0;
    right: 0;
    left: 0;
    box-shadow: 0px 2px 5px 0px #00000080;
    animation: menuSlideInDown 0.5s ease-out;
}

@keyframes menuSlideInDown {
    0% {
        opacity: 0;
        visibility: hidden;
        transform: translateY(-100%);
    }
    100% {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
}


/* Simply Animation */

@keyframes arrowBounceRight {
    0%,
    100% {
        transform: translateX(0);
    }
    50% {
        transform: translateX(5px);
    }
}

@keyframes spinCircle {
    0% {
        transform: rotateZ(0deg);
    }
    100% {
        transform: rotateZ(360deg);
    }
}


/* Blink */

@-webkit-keyframes blink {
    0% {
        -webkit-opacity: 1.0;
    }
    50% {
        -webkit-opacity: 0.0;
    }
    100% {
        -webkit-opacity: 1.0;
    }
}

@-moz-keyframes blink {
    0% {
        -moz-opacity: 1.0;
    }
    50% {
        -moz-opacity: 0.0;
    }
    100% {
        -moz-opacity: 1.0;
    }
}

@-ms-keyframes blink {
    0% {
        -ms-opacity: 1.0;
    }
    50% {
        -ms-opacity: 0.0;
    }
    100% {
        -ms-opacity: 1.0;
    }
}

@-o-keyframes blink {
    0% {
        -o-opacity: 1.0;
    }
    50% {
        -o-opacity: 0.0;
    }
    100% {
        -o-opacity: 1.0;
    }
}

@keyframes blink {
    0% {
        opacity: 1.0;
    }
    50% {
        opacity: 0.0;
    }
    100% {
        opacity: 1.0;
    }
}

.blink {
    -webkit-animation: blink 1s infinite linear;
    -moz-animation: blink 1s infinite linear;
    -ms-animation: blink 1s infinite linear;
    -o-animation: blink 1s infinite linear;
    animation: blink 1s infinite linear;
}


/* Shake Anim */

@-webkit-keyframes shake-anim {
    0%,
    100%,
    50% {
        -webkit-transform: rotate(0) scale(1) skew(1deg)
    }
    10%,
    30% {
        -webkit-transform: rotate(-25deg) scale(1) skew(1deg)
    }
    20%,
    40% {
        -webkit-transform: rotate(25deg) scale(1) skew(1deg)
    }
}

@-moz-keyframes shake-anim {
    0% {
        -moz-transform: rotate(0) scale(1) skew(1deg)
    }
    10%,
    30% {
        -moz-transform: rotate(-25deg) scale(1) skew(1deg)
    }
    20%,
    40% {
        -moz-transform: rotate(25deg) scale(1) skew(1deg)
    }
    100%,
    50% {
        -moz-transform: rotate(0) scale(1) skew(1deg)
    }
}

@-ms-keyframes shake-anim {
    0%,
    100%,
    50% {
        -ms-transform: rotate(0) scale(1) skew(1deg)
    }
    10%,
    30% {
        -ms-transform: rotate(-25deg) scale(1) skew(1deg)
    }
    20%,
    40% {
        -ms-transform: rotate(25deg) scale(1) skew(1deg)
    }
}

@-o-keyframes shake-anim {
    0%,
    100%,
    50% {
        -o-transform: rotate(0) scale(1) skew(1deg)
    }
    10%,
    30% {
        -o-transform: rotate(-25deg) scale(1) skew(1deg)
    }
    20%,
    40% {
        -o-transform: rotate(25deg) scale(1) skew(1deg)
    }
}

@keyframes shake-anim {
    0%,
    100%,
    50% {
        transform: rotate(0) scale(1) skew(1deg)
    }
    10%,
    30% {
        transform: rotate(-25deg) scale(1) skew(1deg)
    }
    20%,
    40% {
        transform: rotate(25deg) scale(1) skew(1deg)
    }
}

.shake-anim {
    -webkit-animation: shake-anim 1s infinite ease-in-out;
    -moz-animation: shake-anim 1s infinite ease-in-out;
    -ms-animation: shake-anim 1s infinite ease-in-out;
    -o-animation: shake-anim 1s infinite ease-in-out;
    animation: shake-anim 1s infinite ease-in-out;
    -webkit-transform-origin: 50% 50%;
    -moz-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    -o-transform-origin: 50% 50%;
    transform-origin: 50% 50%
}




@keyframes spin { to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }
@-webkit-keyframes spin { to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }
@keyframes blink { 0% { opacity: 1; }
  50% { opacity: 0; }
  100% { opacity: 1; } }
  @-webkit-keyframes blink { 0% { opacity: 1; }
  50% { opacity: 0; }
  100% { opacity: 1; } }
  @keyframes shake-anim { 0% { -webkit-transform: rotate(0) scale(1) skew(1deg); transform: rotate(0) scale(1) skew(1deg); }
  10%, 30% { -moz-transform: rotate(-25deg) scale(1) skew(1deg); }
  20%, 40% { -moz-transform: rotate(25deg) scale(1) skew(1deg); }
  100%, 50% { -moz-transform: rotate(0) scale(1) skew(1deg); } }
  @-webkit-keyframes shake-anim { 0%, 100%, 50% { -webkit-transform: rotate(0) scale(1) skew(1deg); }
  10%, 30% { -webkit-transform: rotate(-25deg) scale(1) skew(1deg); }
  20%, 40% { -webkit-transform: rotate(25deg) scale(1) skew(1deg); } }


  /* Hvr Underline */

.hvr-underline {display: inline;}
.hvr-underline {background: linear-gradient(90deg, transparent, transparent), linear-gradient(90deg, #1F1C17, #1F1C17);background-size: 100% 1px, 0 1px;background-position: 100% calc(100% - 3px), 0 calc(100% - 3px);background-repeat: no-repeat;transition: background-size .3s;}
.hvr-underline:hover {background-size: 0 1px, 100% 1px;}

/* Hvr Double Box */

.hvr-double-shape {overflow: hidden;position: relative;display: block;}
.hvr-double-shape:before,
.hvr-double-shape:after {opacity: 0.25;content: '';position: absolute;left: 0;right: 0;display: inline-block;background: #fff;transform: scaleX(0);transition: transform 0.5s ease;}
.hvr-double-shape:hover:before,
.hvr-double-shape:hover:after {transform: scaleX(1);}
.hvr-double-shape:before {top: 0;bottom: 50%;transform-origin: 100% 0%;}
.hvr-double-shape:hover:before {transform-origin: 0% 100%;}
.hvr-double-shape:after {top: 50%;bottom: 0;transform-origin: 0% 100%;}
.hvr-double-shape:hover:after {transform-origin: 100% 0%;}

/* Hvr Double Box */

.hvr-double-box {overflow: hidden;position: relative;display: block;}
.hvr-double-box:before {-webkit-opacity: 1;-khtml-opacity: 1;-moz-opacity: 1;-ms-opacity: 1;-o-opacity: 1;opacity: 1;content: "";position: absolute;bottom: 0;left: 0;z-index: 3;width: 0;height: 0;background: rgba(255, 255, 255, .5);-webkit-transform: rotate(90deg);-moz-transform: rotate(90deg);-ms-transform: rotate(90deg);-o-transform: rotate(90deg);transform: rotate(90deg);}
.hvr-double-box:after {-webkit-opacity: 1;-khtml-opacity: 1;-moz-opacity: 1;-ms-opacity: 1;-o-opacity: 1;opacity: 1;content: "";position: absolute;top: 0;right: 0;z-index: 2;width: 0;height: 0;background: rgba(255, 255, 255, .5);-webkit-transform: rotate(90deg);-moz-transform: rotate(90deg);-ms-transform: rotate(90deg);-o-transform: rotate(90deg);transform: rotate(90deg);}
.hvr-double-box:hover:before,
.hvr-double-box:hover:after {-webkit-opacity: 0;-khtml-opacity: 0;-moz-opacity: 0;-ms-opacity: 0;-o-opacity: 0;opacity: 0;height: 100%;width: 100%;-webkit-transform: rotateY(180deg);-moz-transform: rotateY(180deg);-ms-transform: rotateY(180deg);-o-transform: rotateY(180deg);transform: rotateY(180deg);-webkit-transition-duration: 1.3s;-moz-transition-duration: 1.3s;-ms-transition-duration: 1.3s;-o-transition-duration: 1.3s;transition-duration: 1.3s;}

/* Hvr Float Shadow */

.hvr-float-shadow {position: relative;display: inline-block;vertical-align: middle;box-shadow: 0 0 1px transparent;-webkit-transform: perspective(1px) translateZ(0);transform: perspective(1px) translateZ(0);-webkit-transition-duration: .3s;transition-duration: .3s;-webkit-transition-property: transform;transition-property: transform}
.hvr-float-shadow:before {opacity: 0;position: absolute;content: '';top: 100%;left: 5%;z-index: -1;width: 90%;height: 10px;background: -webkit-radial-gradient(center, ellipse, rgba(0, 0, 0, .35) 0, transparent 80%);background: radial-gradient(ellipse at center, rgba(0, 0, 0, .35) 0, transparent 80%);-webkit-transition-property: transform, opacity;transition-property: transform, opacity;-webkit-transition-duration: .3s;transition-duration: .3s;pointer-events: none;}
.hvr-float-shadow:active,
.hvr-float-shadow:focus,
.hvr-float-shadow:hover {-webkit-transform: translateY(-5px);transform: translateY(-5px)}
.hvr-float-shadow:active:before,
.hvr-float-shadow:focus:before,
.hvr-float-shadow:hover:before {opacity: 1;-webkit-transform: translateY(5px);transform: translateY(5px)}

/* Hvr Flash Shape */

.hvr-flash-shape {overflow: hidden;position: relative;}
.hvr-flash-shape:before {content: '';position: absolute;top: 0;left: -85%;z-index: 10;display: block;width: 50%;height: 100%;background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%);background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%);-webkit-transform: skewX(-25deg);transform: skewX(-25deg);}
.hvr-flash-shape:hover:before {transition: 1s;left: 130%;}

/* Hvr Flash Box */

.hrv-flash-box {overflow: hidden;position: relative;display: block;}
.hrv-flash-box:hover:before {top: 0;left: 0;}
.hrv-flash-box:before {top: -100%;left: -100%;}
.hrv-flash-box:after {right: -100%;bottom: -100%;}
.hrv-flash-box:before,
.hrv-flash-box:after {display: block;}
.hrv-flash-box:before,
.hrv-flash-box:after {content: "";position: absolute;z-index: 8;width: 100%;height: 100%;background: rgba(255, 255, 255, 0.3) none repeat scroll 0 0;-webkit-transition: all 0.5s ease 0s;transition: all 0.5s ease 0s;}
.hrv-flash-box:hover img {-webkit-transform: scale(1.2, 1.2);-moz-transform: scale(1.2, 1.2);-o-transform: scale(1.2, 1.2);-ms-transform: scale(1.2, 1.2);transform: scale(1.2, 1.2);}
.hrv-flash-box img {transition: 0.7s;}
.hrv-flash-box:hover:after {right: 0;bottom: 0;}

/* Scale Img */

.scale-img {overflow: hidden;display: block;}
.scale-img img {-webkit-transition: 0.3s ease-out !important;-moz-transition: 0.3s ease-out !important;-ms-transition: 0.3s ease-out !important;-o-transition: 0.3s ease-out !important;transition: 0.3s ease-out !important;-webkit-transform: scale(1, 1);-moz-transform: scale(1, 1);-ms-transform: scale(1, 1);-o-transform: scale(1, 1);transform: scale(1, 1);}
.scale-img:hover>img {-webkit-transition: 0.3s ease-out !important;-moz-transition: 0.3s ease-out !important;-ms-transition: 0.3s ease-out !important;-o-transition: 0.3s ease-out !important;transition: 0.3s ease-out !important;-moz-transform: scale(1.1, 1.1);-webkit-transform: scale(1.1, 1.1);-ms-transform: scale(1.1, 1.1);-o-transform: scale(1.1, 1.1);transform: scale(1.1, 1.1);}