/*------------------------------------------------------------------
Project:  Archits HTML Template
Version:  1.0
Last change:  13.07.2016
Assigned to:  ThemeStarz
[Table of contents]
1. Header
2. Elements Styling
3. Universal classes
4. Classes
5. Forms
6. Responsive
[Color codes]
Default: #000;
Color White: #fff
[Typography]
Body copy:    'Roboto', sans-serif; 12px;
Headers:    'Roboto', sans-serif;
-------------------------------------------------------------------*/
/* 1. Header */
/* johnchen Style */
/* ab.html Timeline */
@import url("https://fonts.googleapis.com/css?family=Oswald|Roboto:400,700");

.timeline-item h1 {
    font-size: 2rem;
    margin-bottom: .5em;
}

.timeline-container {
    max-width: 1024px;
    width: 90%;
    margin: 0 auto;
}

.timeline-item {
    padding: 3em 2em 2em;
    position: relative;
    color: rgba(0, 0, 0, 0.7);
    border-left: 2px solid rgba(0, 0, 0, 0.3);
    font-size: 14px;
    line-height: 1.5;
}

.timeline-item p {
    font-size: 1.5rem;
}

.timeline-item::before {
    content: attr(date-is);
    position: absolute;
    left: 2em;
    font-weight: bold;
    top: 1em;
    display: block;
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 2px;
}

.timeline-item::after {
    width: 10px;
    height: 10px;
    display: block;
    top: 1em;
    position: absolute;
    left: -7px;
    border-radius: 10px;
    content: '';
    border: 2px solid rgba(0, 0, 0, 0.3);
    background: white;
}

.timeline-item:last-child {
    -o-border-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 60%, rgba(0, 0, 0, 0)) 1 100%;
    border-image: -webkit-gradient(linear, left top, left bottom, color-stop(60%, rgba(0, 0, 0, 0.3)), to(rgba(0, 0, 0, 0))) 1 100%;
    border-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 60%, rgba(0, 0, 0, 0)) 1 100%;
}

/* timeline end */
.block:nth-child(3) {
    /* background-color: #f00; */
}

li.nav_effect {
    border: none;
    position: relative;
}

li.nav_effect:hover {
    border: none;
}

/* li:hover {
    border-top: 1px solid rgb(0, 0, 0);
} */
.nav_effect::after {
    content: '';
    position: absolute;
    width: 0px;
    height: 1px;
    left: 50%;
    top: 0;
    background-color: rgb(0, 0, 0);
    -webkit-transition: all ease-in-out .2s;
    transition: all ease-in-out .2s;
}

.nav_effect:hover::after {
    width: 100%;
    left: 0;
}

.back_page_btn {
    font-family: "Microsoft JhengHei";
}

/*需要多圖排列，就用此一class*/
@media screen and (max-width: 425px) {
    body .gallery-flex {
        display: block;
    }
}

@media screen and (min-width: 426px) {
    body .gallery-flex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    body .gallery-flex img {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

.gallery_other_albums {
}

.gallery_other_albums .date {
    text-align: center;
}

.gallery_other_albums .description {
    margin: 10px;
}

/* Contact Page*/
/* 設定中英不同字體 */
/* 中字 */
@font-face {
    font-family: custom-sans-serif;
    src: local("Heiti TC"), local("微軟正黑體"), local("Microsoft JhengHei");
    unicode-range: U+4E00-9FFF;
}

/* 英文 */
@font-face {
    font-family: custom-sans-serif;
    src: local('arial'), local('Nunito-Regular');
    unicode-range: U+00-024F;
}

.custom-sans-serif {
    font-family: custom-sans-serif;
}

.contact_title h1 {
    font-size: 20px;
    margin-top: 0;
}

.contact_map {
    height: 280px;
    position: relative;
    overflow: hidden;
}

.contact_map:before {
    -webkit-transform: rotate(-3deg);
    transform: rotate(-3deg);
    background-color: #fff;
    height: 110px;
    width: 105%;
    position: absolute;
    bottom: -66px;
    left: -5px;
    content: "";
    z-index: 0;
}

.contact_block_item {
    background-color: #F2F2F2;
    margin-right: 10px;
    padding: 35px 24px 25px;
    font-size: 1.5rem;
    margin-bottom: 10px;
    font-family: "custom-sans-serif";
    color: #464646;
    /* box-shadow: 2px 2px 1px rgba(126, 126, 126, 0.1); */
}

.contact_block_item a:link {
    color: #464646;
}

.c_block {
    padding-left: 10px;
    padding-right: 5px;
}

.contact_block_item .tel {
    padding-top: 15px;
}

.contact_block_item .tel {
    font-family: unset;
    letter-spacing: 1px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    font-size: 1.3rem;
}

.contact_block_item .addr {
    margin: 9px 0 7px;
    display: block;
    letter-spacing: 1px;
}

.contact_block_item .contact_mail {
    font-size: 10px;
}

.contact_mail:hover {
}

.mailto {
    letter-spacing: 1px;
    /*border-bottom: 1px dotted #606060;*/
}

.mailto:hover {
    background-color: #fabeba82;
}

.contact_block_item h2 {
    font-size: 1.8rem;
    padding-bottom: 9px;
    margin: 0;
    letter-spacing: 1px;
    text-align: center;
}

.contact_title_underline {
    height: 1px;
    background-color: #90020b;
    width: 20px;
    display: none;
}

.contact_block_item i {
    opacity: 0.5;
    margin-right: 6px;
}

.contact_description p {
    font-size: 1.4rem;
}

/*Contact-social-icon*/
.contact-social-icon {
    /*display: flex;*/
    /*justify-content: end;*/
    margin-top: 2px;
}

.contact-social-icon ul {
    list-style-type: none;
}

.contact-social-icon img {
    width: 25px;
    height: auto;
}

.contact-social-icon img:hover {
    opacity: 0.89;
    border: 1px dotted #676767;
}

.contact-social-icon li {
    float: right;
}

.contact-social-icon ul li:not(:last-child) {
    margin-left: 9px;
}

/*Contact block mobile ver*/
@media screen and (max-width: 1024px) {
    body .contact_block_item .tel {
        display: unset;
    }

    .tel span {
        display: block;
        margin: 9px 0;
    }

    body .contact_block_item h2 {
        text-align: left;
    }
}

/*-----------------------------------*/
@media (min-width: 801px) and (max-width: 1022px) {
    .page-wrapper #page-content {
        margin-top: 30px;
    }
}

@media (min-width: 1024px) {
    /* 桌機版 */
    .navigation-off-canvas,
    .phone-navigation {
        display: none;
    }

    .jh_navbar {
        -webkit-transform: translateX(0px);
        transform: translateX(0px);
        -webkit-transition: 0.5s ease;
        transition: 0.5s ease;
        z-index: 5;
        padding: 0.9em 0 0.9em;
    }

    .jh_navbar .navbar {
        margin-bottom: 0;
        float: right;
    }

    .jh_navbar .nav-item {
        font-size: 1.6rem;
        margin-left: 1rem;
        white-space: nowrap;
        letter-spacing: 0.7px;
    }

    .jh_navbar ul li a {
        background-color: rgba(255, 255, 255, 0);
        /* color: #fff; */
        padding: 10px 20px;
        display: block;
    }

    .jh_navbar ul li .dropdown-item {
        background-color: rgba(255, 255, 255, 0);
        color: #000;
        padding: 0.8em 1.5em;
        display: block;
        font-size: 1.1em;
    }

    .jh_navbar ul li .dropdown-item:hover {
        background-color: #F0EFEE;
        color: #000;
    }

    .jh_navbar .dropdown-menu {
        position: static;
        background-color: #fff;
        min-width: 100%;
        border: 0;
        -webkit-box-shadow: none;
        box-shadow: none;
    }

    .jh_arrow:hover:after {
        -webkit-animation: bounceright 0.3s alternate ease infinite;
        animation: bounceright 0.3s alternate ease infinite;
    }

    @-webkit-keyframes bounceright {
        from {
            -webkit-transform: translatey(0);
            transform: translatey(0);
        }
        to {
            -webkit-transform: translatey(3px);
            transform: translatey(3px);
        }
    }
    @keyframes bounceright {
        from {
            -webkit-transform: translatey(0);
            transform: translatey(0);
        }
        to {
            -webkit-transform: translatey(3px);
            transform: translatey(3px);
        }
    }
    @-webkit-keyframes wiggle {
        from {
            -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
        }
        to {
            -webkit-transform: rotate(30deg);
            transform: rotate(30deg);
        }
    }
    @keyframes wiggle {
        from {
            -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
        }
        to {
            -webkit-transform: rotate(30deg);
            transform: rotate(30deg);
        }
    }
    /* --------LOGO --------------*/
    .navigation {
        padding: 20px 0;
        position: relative;
        z-index: 10;
    }

    .navigation .nav-btn {
        position: absolute;
        right: 0px;
        top: 0px;
        bottom: 0px;
        height: 20px;
        margin: auto;
        padding: 5px;
        display: none;
    }

    .navigation .nav-btn:hover {
        cursor: pointer;
    }

    .navigation .nav-btn:before {
        text-shadow: none;
        -webkit-font-smoothing: antialiased;
        font-family: 'ElegantIcons';
        speak: none;
        font-weight: normal;
        font-variant: normal;
        line-height: 1;
        text-transform: none;
        -webkit-transition: 0.5s ease;
        transition: 0.5s ease;
        filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
        opacity: 0;
        content: "\M";
        position: absolute;
        font-size: 22px;
        height: 12px;
        width: 12px;
        margin: auto;
        top: 0;
        left: 1px;
    }

    .navigation .nav-btn figure {
        -webkit-transition: 0.5s ease;
        transition: 0.5s ease;
        height: 2px;
        width: 15px;
        background-color: black;
        margin: 2px 0;
    }

    /* @media (min-width:1024px) */
}

@media screen and (max-width: 1023px) {
    /* 手機版 */
    .jh_navbar {
        display: none;
    }

    .navigation {
        padding: 1em 0;
        position: relative;
    }

    .navigation .nav-btn {
        position: absolute;
        right: 0px;
        top: 0px;
        bottom: 0px;
        height: 1em;
        margin: 1em 0 0;
        padding: 5px;
    }

    .navigation .nav-btn:hover {
        cursor: pointer;
    }

    .navigation .nav-btn:before {
        text-shadow: none;
        -webkit-font-smoothing: antialiased;
        font-family: 'ElegantIcons';
        speak: none;
        font-weight: normal;
        font-variant: normal;
        line-height: 1;
        text-transform: none;
        -webkit-transition: 0.5s ease;
        transition: 0.5s ease;
        filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
        opacity: 0;
        content: "\M";
        position: absolute;
        font-size: 22px;
        height: 12px;
        width: 12px;
        margin: auto;
        top: 0;
        left: 1px;
    }

    .navigation .nav-btn figure {
        -webkit-transition: 0.5s ease;
        transition: 0.5s ease;
        height: 2px;
        width: 15px;
        background-color: black;
        margin: 2px 0;
    }

    .navigation-off-canvas {
        -webkit-transform: translateX(0px);
        transform: translateX(0px);
        -webkit-transition: 0.5s ease;
        transition: 0.5s ease;
        position: absolute;
        background-color: #10223e;
        width: 250px;
        right: -250px;
        height: 100%;
        padding-top: 50px;
    }

    .navigation-off-canvas h2 {
        filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
        opacity: 1;
        font-size: 16px;
        font-weight: bold;
        padding-left: 20px;
        color: #fff;
        margin: 0;
        margin-bottom: 20px
    }

    .navigation-off-canvas ul {
        list-style: none;
        padding-left: 0;
        margin: 0;
    }

    .navigation-off-canvas ul li {
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }

    .navigation-off-canvas ul li:first-child {
        border-top: 1px solid rgba(255, 255, 255, 0.2);
        /*margin-top: 20px*/
    }

    .navigation-off-canvas ul li .label {
        filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
        opacity: 0.7;
    }

    .navigation-off-canvas ul li a {
        background-color: rgba(255, 255, 255, 0);
        color: #fff;
        padding: 10px 20px;
        display: block;
    }

    .navigation-off-canvas ul li a:hover {
        background-color: rgba(255, 255, 255, 0.2);
    }

    .navigation-off-canvas ul li a[data-toggle]:after {
        filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
        opacity: 0.7;
        text-shadow: none;
        -webkit-font-smoothing: antialiased;
        font-family: 'ElegantIcons';
        speak: none;
        font-weight: normal;
        font-variant: normal;
        line-height: 1;
        text-transform: none;
        content: "\L";
        color: #fff;
        position: absolute;
        right: 10px;
        font-size: 16px;
    }

    .navigation-off-canvas ul li a[aria-expanded=true] {
        background-color: rgba(255, 255, 255, 0.2);
    }

    .navigation-off-canvas ul li a[aria-expanded=true]:after {
        content: "\K";
    }

    .navigation-off-canvas ul li ul li a {
        background-color: rgba(255, 255, 255, 0.15);
        padding-left: 30px;
    }

    .navigation-off-canvas ul li ul li ul li a {
        background-color: rgba(255, 255, 255, 0.15);
        padding-left: 60px;
    }
}

/* all */
.partner_container {
}

.partner_prompt {
    color: black;
    margin: 15px 5px 10px;
    /* position: fixed; */
    background-color: #e4e4e4;
    padding: 5px 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 10px;
    text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.1);
    right: 0;
    position: absolute;
}

@media screen and (min-width: 1025px) {
    /* Desktop */
    .partner_container {
        width: 1110px;
        height: 165px;
        overflow-x: scroll;
        overflow-y: hidden;
        white-space: nowrap;
        margin-left: 10px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 17px 0 10px;
        position: relative;
    }

    .partner_item {
        width: calc(100% / 3);
        display: inline-table;
    }
}

.partner-date {

}

.featured-blocks .featured-block .description.partner-date-text {
    padding-left: 129px;
}

.featured-blocks .featured-block .description.partner-date-text h5 {
    margin-bottom: 3px;
}

@media screen and (max-width: 1024px) {
    /* Phone */
    .partner_container {
        width: 1110px;
        height: 165px;
        overflow-x: scroll;
        overflow-y: hidden;
        white-space: nowrap;
        margin-left: 10px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 17px 0 10px;
    }

    .partner_item {
        width: 35%;
        display: inline-table;
    }
}

@media (max-width: 1024px) and (min-width: 1024px) {
    body .gallery-hwight {
        width: 50%;
    }

    body .jh_textblock {
        height: 900px;
        overflow-y: scroll;
        margin-top: 70px;
    }
}

.jh_list_banner {
    background-size: cover;
    background-position: center center;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
}

.page_num_nav {
    text-align: center;
}

body .page_num_nav a {
    color: #7c7c7c;
}

/* Footer block --------------------------*/
.footer_coontact_block {
}

@media screen and (max-width: 768px) and (min-width: 768px) {
    .footer_coontact_block {
        text-align: left;
    }

    body .footer_coontact_block li {
        letter-spacing: 0;
    }

    body .footer_coontact_block li i {
        /*display: none;*/
    }
}

.footer_coontact_block .j_mailto {
    font-size: 12px;
    letter-spacing: 1.5px;
}

.footer_aboutme {
}

.footer_aboutme h3 {
    font-size: 1.7rem;
    margin-bottom: 30px;
    margin-left: 3px;
}

.footer_aboutme ul li {
    list-style-type: none;
}

.footer_aboutme ul li {
    font-size: 1.6rem;
}

.footer_nav li {
    margin: 0 0 1vw 3vw;
    letter-spacing: 5px;
}

.jh_aboutus p {
    line-height: 2.3rem;
    word-break: break-all;
}

.jh_contactus li {
    /*width: 200px;*/
    line-height: 2.6rem;
}

.footer_editor_text {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    max-height: 164px;
}

.footer_aboutme i {
    opacity: 0.78;
}

@media screen and (max-width: 991px) {
    .footer_aboutme .row > div:not(:first-child) {
        margin-top: 2rem;
    }
}

@media screen and (max-width: 600px) and (min-width: 600px) {
    .footer_aboutme .row > div:not(:first-child) {
        margin-top: 2rem;
    }
}

.footer_aboutme address {
    width: 200px;
    text-transform: none;
    line-height: 2rem;
}

.jh_contactus i {
    margin-right: 5px;
    opacity: 0.5;
}

/* johnchen scrollbar width */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

/* Track */
::-webkit-scrollbar-track {
    background-color: #F5F5F5;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: #9696966e;
    border-radius: 0;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: #7070706e;
}

/* 2. Elements Styling */
body {
    color: #1f1f1f;
    font-size: 14px;
    font-family: 'Roboto', sans-serif;
    position: relative;
    text-transform: uppercase;
    font-size: 12px;
}

a {
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    color: black;
    text-decoration: none;
}

a:hover,
a:active,
a:focus {
    color: black;
    outline: none !important;
    text-decoration: none;
}

a.link {
    font-size: 10px;
    font-weight: bold;
    text-transform: uppercase;
}

a.link:hover,
a.link:active,
a.link:focus {
    color: #3f7d36;
}

a.link:hover.icon i,
a.link:active.icon i,
a.link:focus.icon i {
    color: #1f1f1f;
}

a.link.icon i {
    -webkit-transition: 0.5s ease;
    transition: 0.5s ease;
    font-size: 12px;
    margin-left: 5px;
    position: relative;
    top: 1px;
}

a.icon i {
    margin: 0 5px;
    font-size: 16px;
    vertical-align: middle;
}

a.icon.arrow:after {
    text-shadow: none;
    -webkit-font-smoothing: antialiased;
    font-family: 'ElegantIcons';
    speak: none;
    font-weight: normal;
    font-variant: normal;
    line-height: 1;
    text-transform: none;
    content: "\$";
    font-size: 16px;
    vertical-align: middle;
}

dl {
    margin-bottom: 0;
}

dl dt {
    font-weight: bold;
    float: left;
    padding: 0px 0;
    opacity: 0.6;
}

dl dd {
    text-align: right;
    padding: 2px 0;
    opacity: 0.6;
}

h2 {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
    opacity: 0.8;
    font-size: 2rem;
    margin-top: 0;
}

hr {
    border-top: 1px solid #e4e4e4;
    margin-top: 25px;
    margin-bottom: 25px;
}

html,
body {
    height: 100%;
}

p {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60);
    /*opacity: 0.6;*/
    line-height: 20px;
    text-transform: none;
    line-height: 24px;
}

ul {
    padding-left: 12px;
    margin: 15px 0;
}

ul li {
    text-transform: none;
}

/* 3. Universal classes */
.block {
    padding: 50px 0;
    overflow: hidden;
    position: relative;
}

.bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    overflow: hidden;
}

.bg img {
    max-width: inherit;
    height: 100%;
}

.bg.white {
    background-color: #fff;
}

.bg.black {
    background-color: #000;
}

.bg-transfer {
    background-size: cover;
    background-position: center center;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    overflow: hidden;
    z-index: 1;
    width: 100%;
    /* margin-top: 0.6em; */
}

.bg-transfer img {
    display: none !important;
}

.bg-transfer.bg-fixed {
    background-attachment: fixed;
    background-size: 100%;
    background-position: top center;
}

.box {
    -webkit-box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.07);
    box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.07);
    padding: 20px;
    position: relative;
}

.center {
    text-align: center;
}

.container .block {
    padding: 30px;
}

.framed {
    border: 2px solid rgba(0, 0, 0, 0.2);
    padding: 25px;
    display: inline-block;
}

.separator {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
    opacity: 0.5;
    background-color: black;
    display: block;
    height: 2px;
    width: 25px;
    margin: 10px 0;
}

.font-color-white {
    color: #fff;
}

.font-color-black {
    color: #000;
}

.font-color-dark {
    color: #1f1f1f;
}

.no-margin {
    margin: 0;
}

.no-bottom-margin {
    margin-bottom: 0 !important;
}

.no-top-margin {
    margin-top: 0;
}

.note {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
    opacity: 0.5;
    font-size: 14px;
}

.half-bottom-margin {
    margin-bottom: 30px;
}

.row.no-gutters {
    margin-right: 0;
    margin-left: 0;
}

.row.no-gutters > [class^="col-"],
.row.no-gutters > [class*=" col-"] {
    padding-right: 0;
    padding-left: 0;
}

.shadow {
    -webkit-box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.07);
    box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.07);
}

.stick-to-footer {
    margin-bottom: -60px;
}

.opacity-90 {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90);
    opacity: 0.9;
}

.opacity-80 {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
    opacity: 0.8;
}

.opacity-70 {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
    opacity: 0.7;
}

.opacity-60 {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60);
    opacity: 0.6;
}

.opacity-50 {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
    opacity: 0.5;
}

.opacity-40 {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
    opacity: 0.4;
}

.opacity-30 {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=30);
    opacity: 0.3;
}

.opacity-20 {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=20);
    opacity: 0.2;
}

.opacity-10 {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=10);
    opacity: 0.1;
}

.opacity-9 {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=9);
    opacity: 0.09;
}

.opacity-8 {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=8);
    opacity: 0.08;
}

.opacity-7 {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=7);
    opacity: 0.07;
}

.opacity-6 {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=6);
    opacity: 0.06;
}

.opacity-5 {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=5);
    opacity: 0.05;
}

.opacity-4 {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=4);
    opacity: 0.04;
}

.opacity-3 {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=3);
    opacity: 0.03;
}

.opacity-2 {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=2);
    opacity: 0.02;
}

.opacity-1 {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=1);
    opacity: 0.01;
}

.text-color-white {
    color: #fff !important;
}

.text-color-white a {
    color: #fff;
}

.width-10 {
    width: 10%;
}

.width-20 {
    width: 20%;
}

.width-25 {
    width: 25%;
}

.width-30 {
    width: 30%;
}

.width-33 {
    width: 32.7%;
}

.width-40 {
    width: 40%;
}

.width-50 {
    width: 50%;
}

.width-60 {
    width: 60%;
}

.width-70 {
    width: 70%;
}

.width-80 {
    width: 80%;
}

.width-90 {
    width: 90%;
}

.height-10 {
    height: 10%;
}

.height-20 {
    height: 20%;
}

.height-30 {
    height: 30%;
}

.height-40 {
    height: 40%;
}

.height-50 {
    height: 50%;
}

.height-60 {
    height: 60%;
}

.height-70 {
    height: 70%;
}

.height-80 {
    height: 80%;
}

.height-90 {
    height: 90%;
}

.height-100 {
    height: 100%;
}

.height-200px {
    height: 200px !important;
}

.height-300px {
    height: 300px !important;
}

.height-400px {
    height: 400px !important;
}

.height-500px {
    height: 500px !important;
}

.height-600px {
    height: 600px !important;
}

.height-700px {
    height: 700px !important;
}

.height-800px {
    height: 800px !important;
}

.height-900px {
    height: 900px !important;
}

.height-1000px {
    height: 1000px !important;
}

.space {
    height: 60px;
}

/* 4. Classes */
#big-map {
    height: 100%;
    width: 100%;
    position: relative;
}

#big-map:before {
    -webkit-transform: rotate(-3deg);
    transform: rotate(-3deg);
    background-color: #fff;
    height: 110px;
    width: 105%;
    position: absolute;
    bottom: -55px;
    left: -5px;
    content: "";
    z-index: 1;
}

.header-background {
    height: 280px;
    position: relative;
    overflow: hidden;
}

.header-background:before {
    -webkit-transform: rotate(-3deg);
    transform: rotate(-3deg);
    background-color: #fff;
    height: 110px;
    width: 105%;
    position: absolute;
    bottom: -66px;
    left: -5px;
    content: "";
    z-index: -1;
}

.header-background .title h1 {
    margin: 0;
    font-weight: 300;
    font-size: 48px;
}

.header-background .title h2 {
    /*line-height: 100px;*/
    margin: 0;
    font-weight: 300;
    font-size: 3rem;
    color: white;
    opacity: 1.0;
    padding-top: 78px
}

.header-background .title p {
    line-height: 35px;
    margin: 0;
    font-weight: 300;
    font-size: 18px;
    color: white;
    opacity: 1.0
}

.header-background.overlay:after {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
    opacity: 0.5;
    background-color: #000;
    position: absolute;
    /*      opacity: 0.5;
    background-color: #c5c5c5;*/
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    content: "";
    z-index: -2;
}

.header-background.overlay h1 {
    color: #fff;
}

.featured-works-carousel .slide {
    position: relative;
    padding: 30px 0;
    text-align: left;
}

.featured-works-carousel .slide .image {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
    opacity: 0.7;
    width: 700px;
}

@media screen and (min-width: 994px) {

    .sp666 .slide .title {
        padding: 20px;
        padding: 30px;
        position: absolute;
        right: 15px;
        top: -30px;
        z-index: 1;
    }
}

@media screen and (max-width: 426px) and (min-width: 993px) {
    body .container .sp666 .slide .framed.shadow.title {
        padding: 10px 11px;
        position: static;
        margin-bottom: 13px;
    }

    body .container .sp666 .slide .title h3 {
        margin: 0;
    }
}

@media screen and (max-width: 425px) {
    .sp666 .slide .title {
        position: inherit;
    }

    .sp.subject-group-item {
        margin-top: 46px;
    }

    .row.parallax-wrapper {
        margin-bottom: 30px;
    }
}

.featured-works-carousel .slide .title h3 {
    display: inline-block;
    /*font-size: 30px;*/
    margin-top: 10px;
    margin-bottom: 10px;
    font-weight: 300;
}

.featured-works-carousel .slide .info {
    /*margin-bottom: 20px;*/
}

.featured-works-carousel .slide p {
    margin-bottom: 20px;
}

.featured-works-carousel .owl-controls {
    position: absolute;
    right: 0px;
    bottom: 30px;
}

.featured-works-carousel .owl-controls .owl-prev,
.featured-works-carousel .owl-controls .owl-next {
    -webkit-transition: 0.5s ease;
    transition: 0.5s ease;
    text-shadow: none;
    -webkit-font-smoothing: antialiased;
    font-family: 'ElegantIcons';
    speak: none;
    font-weight: normal;
    font-variant: normal;
    line-height: 1;
    text-transform: none;
    height: 30px;
    width: 30px;
    text-align: center;
    display: inline-block;
}

.featured-works-carousel .owl-controls .owl-prev:after,
.featured-works-carousel .owl-controls .owl-next:after {
    font-size: 18px;
    color: black;
    line-height: 29px;
}

.featured-works-carousel .owl-controls .owl-prev {
    position: relative;
    left: 2px;
}

.featured-works-carousel .owl-controls .owl-prev:after {
    content: "\#";
}

.featured-works-carousel .owl-controls .owl-next:after {
    content: "\$";
}

.featured-blocks .featured-block {
    position: relative;
}

.featured-blocks .featured-block .date {
    padding: 20px;
    position: absolute;
    left: 0;
    top: -25px;
    font-size: 14px;
}

.featured-blocks .featured-block a {
    display: block;
    margin-top: 15px;
    margin-bottom: 15px;
}

.featured-blocks .featured-block a h3 {
    font-size: 14px;
    font-weight: bold;
}

.featured-blocks .featured-block .description {
    padding-left: 100px;
}

.parallax-wrapper {
    margin-bottom: 60px;
}

.gallery .gallery-item {
    display: block;
    position: relative;
    margin-bottom: 44px;
}

.gallery .gallery-item .title {
    position: absolute;
    left: 10px;
    bottom: -62px;
    z-index: 1;
}

.gallery .gallery-item .title:hover {
    /*background-color: #f6f6f6;*/
}

.gallery .gallery-item .sp img:hover {
    opacity: 0.9;
}

.gallery .gallery-item .title .name {
    -webkit-transform: scale(1.01);
    transform: scale(1.01);
    font-weight: bold;
    font-size: 17px;
}

.gallery .gallery-item .title .place {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
    opacity: 0.5;
}

.gallery .gallery-item .arrow {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
    opacity: 0.4;
    position: absolute;
    bottom: -61px;
    right: 0;
    font-size: 24px;
}

.gallery .gallery-item .image {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
    opacity: 0.7;
}

.gallery .gallery-item .image img {
    max-width: 100%;
}

.hero-section {
    overflow: hidden;
    position: relative;
}

.hero-section.is-carousel .hero-wrapper {
    height: 70%;
    overflow: hidden;
    position: relative;
}

.hero-section.is-carousel .hero-wrapper .carousel {
    position: absolute;
    top: 0;
}

.hero-section.is-carousel .hero-wrapper .slide {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=45);
    opacity: 0.45;
    -webkit-transition: 0.5s ease;
    transition: 0.5s ease;
    height: 100%;
    z-index: 1;
}

.hero-section.is-carousel .hero-wrapper .slide:hover {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=45);
    opacity: 0.45;
    color: #fff;
}

.hero-section.is-carousel .hero-wrapper .slide:hover a {
    color: #fff;
}

.hero-section.is-carousel .hero-wrapper .slide:hover:after {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
    opacity: 0.5;
    -webkit-transform: rotate(-3deg) translateY(-200px);
    transform: rotate(-3deg) translateY(-200px);
}

.hero-section.is-carousel .hero-wrapper .slide:after {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
    opacity: 0.8;
    -webkit-transform: rotate(-3deg) translateY(0px);
    transform: rotate(-3deg) translateY(0px);
    -webkit-transition: 0.5s ease;
    transition: 0.5s ease;
    background-color: black;
    position: absolute;
    width: 200%;
    height: 100%;
    bottom: -100%;
    left: -50%;
    content: "";
    z-index: -1;
}

.hero-section.is-carousel .hero-wrapper .slide .description {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -webkit-transition: 0.5s ease;
    transition: 0.5s ease;
    position: absolute;
    right: 0;
    text-align: right;
    bottom: 90px;
    right: 20px;
}

.hero-section.is-carousel .hero-wrapper .slide .description .number {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
    opacity: 0.5;
    font-weight: lighter;
    font-size: 30px;
}

.hero-section.is-carousel .hero-wrapper .slide .description h2 {
    -webkit-transform: scale(1.01);
    transform: scale(1.01);
    filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
    opacity: 1;
    font-size: 14px;
    font-weight: bold;
    margin: 2px 0px;
}

.hero-section.is-carousel .hero-wrapper .slide .description a {
    font-size: 11px;
}

.hero-section.is-carousel .hero-wrapper .owl-carousel {
    height: 100% !important;
}

.hero-section.is-carousel .hero-wrapper .owl-carousel .owl-stage-outer,
.hero-section.is-carousel .hero-wrapper .owl-carousel .owl-stage,
.hero-section.is-carousel .hero-wrapper .owl-carousel .owl-item {
    height: 100% !important;
}

.hero-section.is-carousel .hero-wrapper .owl-carousel .owl-item {
    overflow: hidden;
}

.hero-section.is-carousel .hero-wrapper .owl-carousel .owl-item.active.center.show-description .description {
    filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
    opacity: 1;
}

.hero-section.is-carousel .hero-wrapper .owl-carousel .owl-item.active.center .slide {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
    opacity: 0.8;
}

.hero-section.is-carousel .hero-wrapper .owl-carousel .owl-item.active.center .slide:hover {
    filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
    opacity: 1;
}

.hero-section.is-slider .hero-wrapper {
    height: 100%;
}

.hero-section.is-slider .hero-wrapper .owl-carousel {
    height: 100% !important;
    z-index: 1;
}

.hero-section.is-slider .hero-wrapper .owl-carousel .owl-stage-outer,
.hero-section.is-slider .hero-wrapper .owl-carousel .owl-stage,
.hero-section.is-slider .hero-wrapper .owl-carousel .owl-item {
    height: 100% !important;
}

.hero-section.is-slider .hero-wrapper .owl-carousel .owl-item {
    overflow: hidden;
}

.hero-section.is-slider .hero-wrapper .owl-carousel .owl-item .slide {
    z-index: 0;
}

.hero-section.is-slider .hero-wrapper .owl-carousel .owl-item .description {
    position: absolute;
    display: inline-block;
    text-align: right;
    right: 50px;
    top: 50px;
}

.hero-section.is-slider .heading-wrapper {
    width: 100%;
    bottom: 0px;
    height: 200px;
    position: absolute;
}

.hero-section.is-video .hero-wrapper {
    height: 100%;
}

.hero-section.is-video .heading-wrapper {
    width: 100%;
    bottom: 0px;
    height: 200px;
    position: absolute;
}

.hero-section .heading-wrapper {
    height: 30%;
    background-color: #fff;
    position: relative;
    z-index: 1;
}

.hero-section .heading-wrapper:before {
    -webkit-transform: rotate(-3deg);
    transform: rotate(-3deg);
    background-color: #fff;
    height: 120px;
    width: 105%;
    position: absolute;
    top: -55px;
    left: -5px;
    content: "";
    z-index: -1;
}

.hero-section .heading-wrapper .title {
    position: relative;
    line-height: 48px;
    padding: 150px 50px 50px 0;
    display: inline-block;
    top: -170px;
    -webkit-transform: none !important;
    transform: none !important;
}

.hero-section .heading-wrapper .title h1 {
    font-weight: 100;
    font-size: 3rem;
    margin-top: 1.5em;
}

.hero-section .heading-wrapper .title:before {
    border: 2px solid rgba(0, 0, 0, 0.2);
    padding: 25px;
    display: block;
    height: 100%;
    width: 2000px;
    right: 0px;
    top: 0;
    content: "";
    position: absolute;
    z-index: -1;
}

.hero-section .heading-wrapper .title a {
    position: absolute;
    bottom: -50px;
}

.hero-section .heading-wrapper .heading {
    position: relative;
}

.hero-section .heading-wrapper .owl-navigation {
    position: absolute;
    right: 0px;
    top: -5px;
}

.hero-section .heading-wrapper .owl-navigation .owl-prev,
.hero-section .heading-wrapper .owl-navigation .owl-next {
    -webkit-transition: 0.5s ease;
    transition: 0.5s ease;
    border: 2px solid rgba(0, 0, 0, 0.2);
    display: inline-block;
    -webkit-box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.07);
    box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.07);
    text-shadow: none;
    -webkit-font-smoothing: antialiased;
    font-family: 'ElegantIcons';
    speak: none;
    font-weight: normal;
    font-variant: normal;
    line-height: 1;
    text-transform: none;
    height: 30px;
    width: 30px;
    text-align: center;
}

.hero-section .heading-wrapper .owl-navigation .owl-prev:hover,
.hero-section .heading-wrapper .owl-navigation .owl-next:hover {
    border: 2px solid rgba(0, 0, 0, 0.4);
    cursor: pointer;
}

.hero-section .heading-wrapper .owl-navigation .owl-prev:after,
.hero-section .heading-wrapper .owl-navigation .owl-next:after {
    font-size: 18px;
    color: black;
    line-height: 29px;
}

.hero-section .heading-wrapper .owl-navigation .owl-prev {
    position: relative;
    left: 2px;
}

.hero-section .heading-wrapper .owl-navigation .owl-prev:after {
    content: "\#";
}

.hero-section .heading-wrapper .owl-navigation .owl-next:after {
    content: "\$";
}

.homepage h2 {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
    opacity: 0.5;
    font-size: 16px;
    font-weight: lighter;
}

.logos {
    display: table;
    width: 100%;
}

.logos .logo {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}

.outer-wrapper {
    overflow: hidden;
    position: relative;
    /* Microsoft Edge Browser 12+ (All) - @supports method */
}

@supports (-ms-ime-align:auto) {
    /* for edge  */
    .outer-wrapper {
        overflow: auto;
    }
}

.outer-wrapper.show-nav .page-wrapper {
    -webkit-transform: translateX(-250px);
    transform: translateX(-250px);
}

.outer-wrapper.show-nav .nav-btn:before {
    filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
    opacity: 1;
}

.outer-wrapper.show-nav .nav-btn figure {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
}

.page-framed-black .page-wrapper:after,
.page-framed-black .page-wrapper:before {
    background-color: #000;
}

.page-framed-black #page-header,
.page-framed-black #page-footer .copyright {
    background-color: black;
    color: #fff;
}

.page-framed-black .nav-btn figure {
    background-color: #fff;
}

.page-framed-black .navigation-off-canvas {
    background-color: rgba(0, 0, 0, 0.9);
}

.page-framed-black .navigation-off-canvas ul li {
    border-bottom: none;
}

.page-framed-black .navigation-off-canvas ul li:first-child {
    border-top: none;
}

.page-framed-white .page-wrapper:after,
.page-framed-white .page-wrapper:before {
    background-color: #fff !important;
}

.page-background-black {
    background-color: black;
    color: #fff;
}

.page-background-black.page-framed-white #page-header,
.page-background-black.page-framed-white #page-footer .copyright {
    background-color: #fff;
    color: black;
}

.page-background-black.page-framed-white .nav-btn figure {
    background-color: black;
}

.page-background-black hr {
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.page-background-black a:not(.slide) {
    color: #fff;
}

.page-background-black a.btn {
    color: black;
}

.page-background-black .framed,
.page-background-black .hero-section .heading-wrapper .title::before {
    border: 2px solid rgba(255, 255, 255, 0.3);
}

.page-background-black .hero-section .heading-wrapper .owl-navigation .owl-prev .owl-next,
.page-background-black .hero-section .heading-wrapper .owl-navigation .owl-prev .owl-prev,
.page-background-black .hero-section .heading-wrapper .owl-navigation .owl-next,
.page-background-black .hero-section .heading-wrapper .owl-navigation .owl-prev {
    border: 2px solid rgba(255, 255, 255, 0.3);
}

.page-background-black .hero-section .heading-wrapper .owl-navigation .owl-prev .owl-next:after,
.page-background-black .hero-section .heading-wrapper .owl-navigation .owl-prev .owl-prev:after,
.page-background-black .hero-section .heading-wrapper .owl-navigation .owl-next:after,
.page-background-black .hero-section .heading-wrapper .owl-navigation .owl-prev:after {
    color: #fff;
}

.page-background-black .hero-section .carousel-wrapper .slide {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
    opacity: 0.5;
}

.page-background-black .hero-section .carousel-wrapper .slide .description {
    color: #fff;
}

.page-background-black .header-background::before {
    background-color: black;
}

.page-background-black .nav-btn figure {
    background-color: #fff;
}

.page-background-black .navigation-off-canvas {
    background-color: rgba(255, 255, 255, 0.05);
}

.page-background-black .navigation-off-canvas ul li {
    border-bottom: none;
}

.page-background-black .navigation-off-canvas ul li:first-child {
    border-top: none;
}

.page-background-black .page-wrapper:after,
.page-background-black .page-wrapper:before {
    background-color: black;
}

.page-background-black .heading-wrapper {
    background-color: black;
}

.page-background-black .heading-wrapper:before {
    background-color: black;
}

.page-background-black #page-footer .footer-wrapper {
    background-color: rgba(255, 255, 255, 0.1);
}

.page-background-black .separator {
    background-color: #fff;
}

.page-background-black .time-line {
    background-color: black;
    color: #fff;
}

.page-background-black .time-line .time-line-item::after {
    background-color: rgba(255, 255, 255, 0.2);
}

.page-background-black #big-map::before {
    background-color: black;
}

.page-background-black .work-detail .page-switcher .prev,
.page-background-black .work-detail .page-switcher .next {
    border: 2px solid rgba(255, 255, 255, 0.3);
}

.page-background-black .work-detail .page-switcher .prev:after,
.page-background-black .work-detail .page-switcher .next:after {
    color: #fff;
}

.page-background-black .price span {
    background-color: rgba(255, 255, 255, 0.2);
}

.page-wrapper {
    -webkit-transform: translateX(0px);
    transform: translateX(0px);
    -webkit-transition: 0.5s ease;
    transition: 0.5s ease;
    display: table;
    width: 100%;
    height: 100%;
    padding-left: 25px;
    padding-right: 25px;
}

.page-wrapper:after {
    width: 25px;
    background-color: #fff;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    z-index: 2;
}

.page-wrapper:before {
    width: 25px;
    background-color: #fff;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    content: "";
    z-index: 2;
}

.page-wrapper #page-header,
.page-wrapper #page-content,
.page-wrapper {
    /*display: table-row;*/
    display: block;
}

#page-footer {
    display: contents;
    /*display: block;*/
}

.page-wrapper #page-header,
.page-wrapper #page-footer {
    height: 1px;
}

.page-wrapper #page-content {
    height: auto;
    overflow: hidden;
    position: relative;
    margin-bottom: -60px;
}

#page-footer .footer-wrapper {
    margin-top: 70px;
    background-color: rgba(0, 0, 0, 0.05);
    padding: 40px 0;
}

#page-footer a:hover {
    text-decoration: underline;
}

#page-footer .copyright {
    text-transform: none;
    padding: 20px 0;
}

#page-footer .logo {
    display: block;
    margin-bottom: 30px;
}

#page-footer .separator {
    filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
    opacity: 1;
    margin-bottom: 20px;
}

/* #page-footer address, */
#page-footer ul {
    text-transform: none;
    line-height: 20px;
}

#page-footer .map-wrapper {
    position: relative;
}

#page-footer .map-wrapper #map {
    border: 2px solid #fff;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 280px;
}

.person {
    margin-bottom: 80px;
}

.person .left {
    width: 165px;
    height: 225px;
    overflow: hidden;
    position: relative;
    float: left;
}

.person .right {
    padding-left: 180px;
}

.person .right .framed {
    display: block;
    margin-left: -30px;
    top: -15px;
    position: relative;
}

.person .right h3 {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
}

.person .right h4 {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
    opacity: 0.5;
    margin: 0;
    font-size: 12px;
}

.person .right .social a {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60);
    opacity: 0.6;
    display: inline-block;
    font-size: 18px;
    padding: 5px;
}

.person .right .social a:hover {
    filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
    opacity: 1;
}

.person .right .social a .icon_mail {
    top: -2px;
    position: relative;
}

.person .right .social a i {
    position: relative;
}

.price span {
    font-weight: 600;
    background-color: rgba(0, 0, 0, 0.1);
    padding: 5px 10px;
    display: inline-block;
    margin: 10px 0 20px 0;
}

.section-title {
    /*margin-top: 10px;*/
    margin-bottom: 50px;
}

.section-title h2 {
    margin-top: 10px;
    font-weight: 300;
}

.subpage-detail-v2 .header-background {
    position: absolute;
    height: 180px;
}

.subpage-detail-v2 .header-background:before {
    display: none;
}

.subpage-detail-v2 .work-detail {
    margin-top: 50px;
}

.subpage-detail-v2 .work-detail .left {
    margin-top: 0;
}

.subpage-detail-v3 .header-background {
    position: absolute;
}

.subpage-detail-v3 .title-image {
    position: relative;
    margin-bottom: 30px;
}

.subpage-detail-v3 .title-image .image-wrapper {
    height: 350px;
    overflow: hidden;
    position: relative;
    top: 20px;
}

.subpage-detail-v3 .title-image .title {
    position: absolute;
    top: -100px;
    left: -30px;
}

.subpage-detail-v3 .title-image .bg-transfer {
    margin-top: 50px;
}

.subpage-detail-v3 .work-detail {
    margin-top: 130px;
}

.subpage-detail-v3 .work-detail .left {
    margin-top: 0;
}

.tags {
    margin: 15px 0;
}

.tags .tag:after {
    content: "/";
    padding-left: 5px;
}

.tags .tag:last-child:after {
    display: none;
}

.title h3,
.title h2 {
    font-weight: 300;
}

.time-line {
    background-color: #fff;
    padding: 40px;
}

.time-line .time-line-item {
    position: relative;
    padding-bottom: 20px;
}

.time-line .time-line-item:after {
    position: absolute;
    width: 1px;
    height: 100%;
    top: 7px;
    left: 2px;
    content: "";
    background-color: rgba(0, 0, 0, 0.1);
}

.time-line .time-line-item:last-child {
    padding-bottom: 0;
}

.time-line .time-line-item:last-child:after {
    display: none;
}

.time-line .time-line-item:last-child p {
    margin-bottom: 0;
}

.time-line .time-line-item .date {
    font-size: 14px;
    font-weight: bold;
    width: 110px;
    float: left;
    position: relative;
}

.time-line .time-line-item .date:before {
    text-shadow: none;
    -webkit-font-smoothing: antialiased;
    font-family: 'fontawesome';
    speak: none;
    font-weight: normal;
    font-variant: normal;
    line-height: 1;
    text-transform: none;
    content: "\f111";
    font-size: 8px;
    vertical-align: middle;
    margin-right: 10px;
}

.time-line .time-line-item p {
    padding-left: 110px;
}

.work-detail .title {
    margin-bottom: 120px;
    display: block;
}

.work-detail .title h2 {
    filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
    opacity: 1;
}

.work-detail .left {
    margin-top: -200px;
}

.work-detail .gallery .image {
    display: inline-block;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.work-detail .gallery .image img {
    width: 100%;
}

.work-detail .gallery .gallery-row {
    margin-bottom: -1px;
}

.work-detail .gallery .width-33 {
    height: 165px;
}

.work-detail .gallery .width-50 {
    height: 245px;
    width: 49.5%;
}

.work-detail .gallery .width-100 {
    height: 380px;
    width: 99.8%;
}

.work-detail .right {
    position: relative;
}

.work-detail .page-switcher {
    position: absolute;
    right: 0px;
    top: -55px;
}

.work-detail .page-switcher .prev,
.work-detail .page-switcher .next {
    -webkit-transition: 0.5s ease;
    transition: 0.5s ease;
    border: 2px solid rgba(0, 0, 0, 0.2);
    display: inline-block;
    -webkit-box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.07);
    box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.07);
    text-shadow: none;
    -webkit-font-smoothing: antialiased;
    font-family: 'ElegantIcons';
    speak: none;
    font-weight: normal;
    font-variant: normal;
    line-height: 1;
    text-transform: none;
    height: 30px;
    width: 30px;
    text-align: center;
}

.work-detail .page-switcher .prev:hover,
.work-detail .page-switcher .next:hover {
    border: 2px solid rgba(0, 0, 0, 0.4);
    cursor: pointer;
}

.work-detail .page-switcher .prev:after,
.work-detail .page-switcher .next:after {
    font-size: 18px;
    color: black;
    line-height: 29px;
}

.work-detail .page-switcher .prev {
    position: relative;
    left: 5px;
}

.work-detail .page-switcher .prev:after {
    content: "\#";
}

.work-detail .page-switcher .next:after {
    content: "\$";
}

.work-detail .video {
    padding-right: 2px;
    margin-bottom: 2px;
}

.video iframe {
    border: none;
}

/* 5. Forms */
input[type="text"],
input[type="email"],
input[type="date"],
input[type="time"],
input[type="search"],
input[type="password"],
input[type="number"],
input[type="tel"],
textarea.form-control {
    -webkit-box-shadow: 0px 0px 0px 2px rgba(0, 0, 0, 0.1), 0px 1px 10px rgba(0, 0, 0, 0.05);
    box-shadow: 0px 0px 0px 2px rgba(0, 0, 0, 0.1), 0px 1px 10px rgba(0, 0, 0, 0.05);
    border-radius: 0px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-appearance: none;
    background-color: #fff;
    border: none;
    font-size: 14px;
    font-weight: 400;
    outline: none !important;
    padding-top: 8px;
    padding-bottom: 8px;
    width: 100%;
    height: inherit;
}

input[type="text"]:active,
input[type="text"]:focus,
input[type="email"]:active,
input[type="email"]:focus,
input[type="date"]:active,
input[type="date"]:focus,
input[type="time"]:active,
input[type="time"]:focus,
input[type="search"]:active,
input[type="search"]:focus,
input[type="password"]:active,
input[type="password"]:focus,
input[type="number"]:active,
input[type="number"]:focus,
input[type="tel"]:active,
input[type="tel"]:focus,
textarea.form-control:active,
textarea.form-control:focus {
    -webkit-box-shadow: 0px 0px 0px 2px rgba(0, 0, 0, 0.2), inset 1px 0 5px transparent;
    box-shadow: 0px 0px 0px 2px rgba(0, 0, 0, 0.2), inset 1px 0 5px transparent;
}

input[type="text"]:hover,
input[type="email"]:hover,
input[type="date"]:hover,
input[type="time"]:hover,
input[type="search"]:hover,
input[type="password"]:hover,
input[type="number"]:hover,
input[type="tel"]:hover,
textarea.form-control:hover {
    -webkit-box-shadow: 0px 0px 0px 2px rgba(0, 0, 0, 0.2), inset 1px 0 5px transparent;
    box-shadow: 0px 0px 0px 2px rgba(0, 0, 0, 0.2), inset 1px 0 5px transparent;
}

input[type="text"].input-dark,
input[type="email"].input-dark,
input[type="date"].input-dark,
input[type="time"].input-dark,
input[type="search"].input-dark,
input[type="password"].input-dark,
input[type="number"].input-dark,
input[type="tel"].input-dark,
textarea.form-control.input-dark {
    background-color: rgba(0, 0, 0, 0.3);
    color: #fff;
}

label {
    cursor: pointer;
    margin-bottom: 8px;
    width: 100%;
}

textarea {
    resize: vertical;
}

button {
    outline: none !important;
}

button:hover,
button:active,
button:focus {
    outline: none !important;
}

.btn[disabled] {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
    opacity: 0.5;
}

.btn {
    -webkit-transition: 0.5s ease;
    transition: 0.5s ease;
    border-radius: 0px;
    -webkit-box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.07);
    box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.07);
    font-size: 14px;
    text-transform: uppercase;
    outline: none !important;
    border: none;
    font-weight: bold;
    padding: 9px 12px 6px 12px;
}

.btn:hover,
.btn:active,
.btn:focus {
    outline: none !important;
    -webkit-box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.4);
    box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.4);
}

.btn.btn-default:hover,
.btn.btn-default:active,
.btn.btn-default:focus {
    background-color: #fff;
}

.btn.btn-white {
    background-color: #fff;
}

.btn.btn-primary {
    background-color: black;
    color: #fff;
}

.btn.btn-primary:hover,
.btn.btn-primary:active,
.btn.btn-primary:focus {
    background-color: black;
}

.btn.arrow:after {
    text-shadow: none;
    -webkit-font-smoothing: antialiased;
    font-family: 'ElegantIcons';
    speak: none;
    font-weight: normal;
    font-variant: normal;
    line-height: 1;
    text-transform: none;
    content: "\$";
    font-size: 16px;
    vertical-align: middle;
    margin-left: 5px;
}

.hero-section form {
    -webkit-box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.2);
    box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.2);
    margin-bottom: 0;
    z-index: 2;
    position: relative;
    margin-top: 0;
}

.hero-section form ::-webkit-input-placeholder {
    color: rgba(255, 255, 255, 0.6);
}

.hero-section form :-moz-placeholder {
    color: rgba(255, 255, 255, 0.6);
}

.hero-section form ::-moz-placeholder {
    color: rgba(255, 255, 255, 0.6);
}

.hero-section form :-ms-input-placeholder {
    color: rgba(255, 255, 255, 0.6);
}

.hero-section form label {
    font-weight: normal;
}

.hero-section form .checkboxes {
    color: #fff;
}

.hero-section form .form-group {
    position: relative;
    margin-bottom: 0;
}

.hero-section form .form-group:after {
    background-color: rgba(0, 0, 0, 0.05);
    content: "";
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
}

.hero-section form .form-control {
    color: #fff;
    margin-bottom: 0;
}

.hero-section form .btn {
    border-radius: 0;
    border: none;
    background-color: #488f3e;
    color: #fff;
    padding: 30px;
    text-transform: none;
    width: 100%;
    font-size: 18px;
    font-weight: normal;
}

.hero-section form .btn:hover,
.hero-section form .btn:focus,
.hero-section form .btn:active {
    border: none;
}

.hero-section form .btn[type="submit"] {
    background-color: #366b2f;
}

.hero-section form .favorite-search {
    background-color: rgba(0, 0, 0, 0.4);
    color: #fff;
    font-size: 12px;
    padding: 10px 30px;
}

.hero-section form .favorite-search span {
    font-weight: bold;
    margin-right: 10px;
}

.hero-section form .favorite-search a {
    color: #fff;
    margin-right: 3px;
}

.hero-section form .favorite-search a:hover {
    text-decoration: underline;
}

.hero-section form .favorite-search a:after {
    content: ",";
}

.hero-section form .icheckbox {
    background-color: transparent;
    -webkit-box-shadow: inset 0px 0px 0px 2px rgba(255, 255, 255, 0.3);
    box-shadow: inset 0px 0px 0px 2px rgba(255, 255, 255, 0.3);
}

.hero-section form .icheckbox:after {
    color: #fff;
}

.form-control {
    border-radius: 3px;
}

.marketing-form .left {
    float: left;
    width: 50%;
}

.marketing-form .right {
    float: right;
    width: 50%;
}

select {
    -webkit-transition: 0.5s ease;
    transition: 0.5s ease;
    -moz-appearance: none;
    -webkit-appearance: none;
    border-radius: 0px;
    border: none;
    cursor: pointer;
    background: url("../img/caret-down.png") no-repeat 100% center;
    margin-top: 5px;
    min-width: 40px;
}

select.framed {
    -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    background-color: transparent;
    border-width: 2px;
    border-style: solid;
    border-color: rgba(0, 0, 0, 0.25);
}

select.framed.white {
    color: #fff;
    border-color: #fff;
    background: url("../img/caret-down-white.png") no-repeat 100% center;
}

select.framed.white option {
    color: #1f1f1f;
}

select option {
    background-color: #fff;
    padding: 5px;
}

/* 6. Responsive */
@media (min-width: 992px) and (max-width: 1199px) {
    .featured-works-carousel .slide .image {
        width: 560px;
    }
}

@media screen and (max-width: 768px) {
    .framed {
        margin-bottom: 1em;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .featured-works-carousel .slide .image {
        width: 420px;
    }

    .featured-works-carousel .slide .title h3 {
        font-size: 26px;
    }

    .featured-works-carousel .slide .title {
        padding: 25px;
    }

    .featured-works-carousel .owl-controls {
        bottom: -20px;
    }

    .framed {
        padding: 15px;
        margin-bottom: 1em;
    }

    .gallery .gallery-item .title .name {
        font-size: 12px;
    }

    h2 {
        margin-bottom: 30px;
    }

    .work-detail .title {
        display: inline-block;
    }

    .work-detail .page-switcher {
        display: none;
    }

    .work-detail .gallery {
        margin-top: 30px;
    }

    .gallery .gallery-item .title {
        bottom: -55px;
    }

    #page-services .col-md-6 {
        margin-bottom: 30px;
    }
}
.work-detail p {
    font-size: 15.5px;
    line-height: 1.7;
    margin-bottom: 21px;
}
.work-detail h5 {
    font-size: 17px;
    margin-top: 18px;
}
@media (max-width: 800px) {
    .page-wrapper {
        display: block;
    }

    .page-wrapper #page-header,
    .page-wrapper #page-footer,
    .page-wrapper #page-content {
        display: block;
        height: auto;
    }

    .hero-section .heading-wrapper .title {
        padding: 30px 30px 30px 0;
        top: inherit;
        bottom: 100px;
    }

    .hero-section .heading-wrapper .title h1 {
        /*font-size: 30px;*/
        font-size: 2rem;
        letter-spacing: 0px;
        margin-top: 3.2rem;
        margin-bottom: -5px;
    }

    .hero-section .heading-wrapper .owl-navigation {
        top: inherit;
    }

    .featured-works-carousel .slide .image {
        width: 100%;
        margin-bottom: 30px;
    }

    .featured-works-carousel .slide .title {
        right: inherit;
        left: 30px;
    }

    .featured-works-carousel .owl-controls {
        bottom: -30px;
    }

    .featured-block {
        margin: 50px 0;
    }

    #page-footer {
        text-align: center;
    }

    #page-footer .map-wrapper #map {
        position: relative;
    }

    #page-footer .separator {
        display: inline-block;
    }

    .person .left {
        width: 115px;
        height: 165px;
    }

    .person .right {
        padding-left: 130px;
    }

    .time-line .time-line-item .date {
        width: 70px;
    }

    .time-line .time-line-item p {
        padding-left: 70px;
    }

    .bg-transfer.bg-fixed,
    .bg-transfer {
        background-attachment: inherit;
        background-size: cover;
        background-position: center center;
    }

    .work-detail .gallery {
        margin-top: 30px;
    }

    .work-detail .gallery .width-100,
    .work-detail .gallery .width-50,
    .work-detail .gallery .width-33 {
        width: 100%;
    }

    .page-switcher {
        display: none;
    }

    #page-services .one-item-carousel {
        margin: 15px 0;
    }
}

.op10 {
    opacity: 1.0 !important
}

.sp img {
    max-width: 100%
}

.mt-10 {
    margin-top: 10px;
}

.pt-50 {
    padding-top: 50px;
}

.pt-70 {
    padding-top: 70px;
}

.pb-20 {
    padding-bottom: 20px;
}

.pb-50 {
    padding-bottom: 50px;
}

.pd-10 {
    padding: 10px;
}

.pd-15 {
    padding: 15px;
}

.pd-20 {
    padding: 20px;
}

.title .titlesp {
    color: white
}

.breadcrumb {
    padding: 0px;
    margin-bottom: 0px;
    list-style: none;
    background-color: transparent;
    border-radius: 0px;
}

.text-white {
    color: white
}

.text-white a:hover {
    color: #cccccc
}

.lh25 {
    line-height: 25px;
}

.titlespdet {
    height: 46px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.titlespdin {
    height: 63px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    /*line-height: 24px;*/
}

.titlespdin.centerpdinsp {
    height: 63px;
    display: grid;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    /*-webkit-justify-content: center;
    justify-content: center;*/
}

.conindexab {
    height: 190px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 8;
    -webkit-box-orient: vertical;
    line-height: 1.6em;
}

.insptitlept1510 {
    padding: 0px 15px;
}

/* JohnChen add */
.jh_textblock {
    max-height: 1081px;
    overflow-y: scroll;
    margin-top: 70px;
}

.jh_index_group {
    border: 1px solid rgba(0, 0, 0, 0.2);
    padding: 15px;
    display: inline-block;
}

@media (max-width: 600px) and (min-width: 767px) {
    body .jh_index_group {
        width: 100%;
    }
}

.jh_textblock2 h4{
    font-size: 20px;
}

.prod-desciption p {
    font-size: 15px;
}

.prod-desciption h4 {
    font-size: 19px;
}

.jh_gallery_textblock {
    margin-top: 70px;
}

.news_gallery img {
    width: 100%;
}

.jh_ab_textblock {
    background: #fff url(../img/ab_footerbg.jpg) no-repeat bottom center;
}

.main-body-img100 img {
    width: 100%;
}

.jh_textblock p,
.jh_textblock2 p {
    line-height: 2.8rem;
    letter-spacing: 1px;
    font-size: 16.5px;
}

.pdt_index_text {
    font-size: 17px;
}

.pdt_index_text .flag-item {
    list-style-type: none;
    margin-bottom: 17px;
}

.flag-item-ul {
    margin-left: 20px;
    margin-right: 20px;
}

.flag-item .f_img {
    margin-right: 10px;
}

.flag-item .f_title {
    width: 279px;
}

.flag-item .f_description {
    font-size: 15.9px;
    line-height: 1.7;
    color: #999;
}

@media (min-width: 766px) {
    .pdt_index_text .flag-item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .flag-item .f_description {
        width: 70%;
    }
}

@media screen and (max-width: 765px) {
    body .pdt_index_text .flag-item {
        display: block;
    }

    body .f_img, .f_title {
        display: inline;
    }

    body .f_description {
        width: 100%;
        margin-top: 10px;
    }

    body .flag-item {
        margin-bottom: 23px;
    }
}

.hightlight > * {
    font-size: 16.5px;
    color: #7f2934;
}

.index_hightlight > * {
    /* font-size: 1em; */
    color: #9e3b48;
}

@media screen and (max-width: 425px) {
    body .hidden-xs {
        display: none;
    }

    body .hidden-sm {
        display: block;
    }

    body .hidden-md {
        display: block;
    }

    body .hidden-lg {
        display: block;
    }

    body .trtc,
    body .tltc {
        text-align: center;
    }

    body .webeditor img,
    body .webeditor table {
        max-width: 100%;
    }
}

/*123qwe*/
@media (max-width: 768px) and (orientation: landscape) {
}

/*123lsqwe*/
@media (min-width: 426px) and (max-width: 768px) {
    body .hidden-xs {
        display: block;
    }

    body .hidden-sm {
        display: none;
    }

    body .hidden-md {
        display: block;
    }

    body .hidden-xs.s {
        display: none;
    }

    body .hidden-md.s {
        display: block;
    }

    body .webeditor img,
    body .webeditor table {
        max-width: 100%;
    }
}

/*123pad*/
@media (max-width: 1024px) and (orientation: landscape) {
}

/*123lspad*/
@media (min-width: 769px) and (max-width: 1034px) {
}

/*12310*/
@media (min-width: 1035px) and (max-width: 1291px) {
}

/*12312*/
@media (min-width: 1292px) and (max-width: 1377px) {
}

/*12313*/
@media (min-width: 1378px) and (max-width: 1451px) {
}

/*12314*/
@media (min-width: 1452px) and (max-width: 1691px) {
}

/*12316*/
@media screen and (max-width: 320px) {
}

/*123i5*/
@media (min-width: 321px) and (max-width: 375px) {
}

/*123i6*/
@media (min-width: 376px) and (max-width: 414px) {
}

/*123i6s*/
/*!
 * Hover.css (http://ianlunn.github.io/Hover/)
 * Version: 2.3.2
 * Author: Ian Lunn @IanLunn
 * Author URL: http://ianlunn.co.uk/
 * Github: https://github.com/IanLunn/Hover
 * Hover.css Copyright Ian Lunn 2017. Generated with Sass.
 */
.hvr-grow {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}

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

.hvr-shrink {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}

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

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

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

.hvr-pulse {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0)
}

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

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

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

.hvr-pulse-grow {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-pulse-grow:active,
.hvr-pulse-grow:focus,
.hvr-pulse-grow:hover {
    -webkit-animation-name: hvr-pulse-grow;
    animation-name: hvr-pulse-grow;
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-direction: alternate;
    animation-direction: alternate
}

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

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

.hvr-pulse-shrink {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-pulse-shrink:active,
.hvr-pulse-shrink:focus,
.hvr-pulse-shrink:hover {
    -webkit-animation-name: hvr-pulse-shrink;
    animation-name: hvr-pulse-shrink;
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-direction: alternate;
    animation-direction: alternate
}

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

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

.hvr-push {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-push:active,
.hvr-push:focus,
.hvr-push:hover {
    -webkit-animation-name: hvr-push;
    animation-name: hvr-push;
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1
}

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

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

.hvr-pop {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-pop:active,
.hvr-pop:focus,
.hvr-pop:hover {
    -webkit-animation-name: hvr-pop;
    animation-name: hvr-pop;
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1
}

.hvr-bounce-in {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .5s;
    transition-duration: .5s
}

.hvr-bounce-in:active,
.hvr-bounce-in:focus,
.hvr-bounce-in:hover {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    -webkit-transition-timing-function: cubic-bezier(0.47, 2.02, .31, -.36);
    transition-timing-function: cubic-bezier(0.47, 2.02, .31, -.36)
}

.hvr-bounce-out {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .5s;
    transition-duration: .5s
}

.hvr-bounce-out:active,
.hvr-bounce-out:focus,
.hvr-bounce-out:hover {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
    -webkit-transition-timing-function: cubic-bezier(0.47, 2.02, .31, -.36);
    transition-timing-function: cubic-bezier(0.47, 2.02, .31, -.36)
}

.hvr-rotate {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}

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

.hvr-grow-rotate {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}

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

.hvr-float {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

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

.hvr-sink {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

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

@-webkit-keyframes 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 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 hvr-bob-float {
    100% {
        -webkit-transform: translateY(-8px);
        transform: translateY(-8px)
    }
}

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

.hvr-bob {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-bob:active,
.hvr-bob:focus,
.hvr-bob:hover {
    -webkit-animation-name: hvr-bob-float, hvr-bob;
    animation-name: hvr-bob-float, 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
}

@-webkit-keyframes 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 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 hvr-hang-sink {
    100% {
        -webkit-transform: translateY(8px);
        transform: translateY(8px)
    }
}

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

.hvr-hang {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-hang:active,
.hvr-hang:focus,
.hvr-hang:hover {
    -webkit-animation-name: hvr-hang-sink, hvr-hang;
    animation-name: hvr-hang-sink, 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
}

.hvr-skew {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}

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

.hvr-skew-forward {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%
}

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

.hvr-skew-backward {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%
}

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

@-webkit-keyframes 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 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)
    }
}

.hvr-wobble-vertical {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-wobble-vertical:active,
.hvr-wobble-vertical:focus,
.hvr-wobble-vertical:hover {
    -webkit-animation-name: hvr-wobble-vertical;
    animation-name: 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
}

@-webkit-keyframes 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 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)
    }
}

.hvr-wobble-horizontal {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-wobble-horizontal:active,
.hvr-wobble-horizontal:focus,
.hvr-wobble-horizontal:hover {
    -webkit-animation-name: hvr-wobble-horizontal;
    animation-name: 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
}

@-webkit-keyframes 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 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)
    }
}

.hvr-wobble-to-bottom-right {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-wobble-to-bottom-right:active,
.hvr-wobble-to-bottom-right:focus,
.hvr-wobble-to-bottom-right:hover {
    -webkit-animation-name: hvr-wobble-to-bottom-right;
    animation-name: 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
}

@-webkit-keyframes 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 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)
    }
}

.hvr-wobble-to-top-right {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-wobble-to-top-right:active,
.hvr-wobble-to-top-right:focus,
.hvr-wobble-to-top-right:hover {
    -webkit-animation-name: hvr-wobble-to-top-right;
    animation-name: 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
}

@-webkit-keyframes 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 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)
    }
}

.hvr-wobble-top {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%
}

.hvr-wobble-top:active,
.hvr-wobble-top:focus,
.hvr-wobble-top:hover {
    -webkit-animation-name: hvr-wobble-top;
    animation-name: 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
}

@-webkit-keyframes 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 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)
    }
}

.hvr-wobble-bottom {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0
}

.hvr-wobble-bottom:active,
.hvr-wobble-bottom:focus,
.hvr-wobble-bottom:hover {
    -webkit-animation-name: hvr-wobble-bottom;
    animation-name: 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
}

@-webkit-keyframes 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 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)
    }
}

.hvr-wobble-skew {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-wobble-skew:active,
.hvr-wobble-skew:focus,
.hvr-wobble-skew:hover {
    -webkit-animation-name: hvr-wobble-skew;
    animation-name: 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
}

@-webkit-keyframes 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 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)
    }
}

.hvr-buzz {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0)
}

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

@-webkit-keyframes 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 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)
    }
}

.hvr-buzz-out {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0)
}

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

.hvr-forward {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}

.hvr-forward:active,
.hvr-forward:focus,
.hvr-forward:hover {
    -webkit-transform: translateX(8px);
    transform: translateX(8px)
}

.hvr-backward {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}

.hvr-backward:active,
.hvr-backward:focus,
.hvr-backward:hover {
    -webkit-transform: translateX(-8px);
    transform: translateX(-8px)
}

.hvr-fade {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    overflow: hidden;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: color, background-color;
    transition-property: color, background-color
}

.hvr-fade:active,
.hvr-fade:focus,
.hvr-fade:hover {
    background-color: #2098D1;
    color: #fff
}

@-webkit-keyframes hvr-back-pulse {
    50% {
        background-color: rgba(32, 152, 209, .75)
    }
}

@keyframes hvr-back-pulse {
    50% {
        background-color: rgba(32, 152, 209, .75)
    }
}

.hvr-back-pulse {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    overflow: hidden;
    -webkit-transition-duration: .5s;
    transition-duration: .5s;
    -webkit-transition-property: color, background-color;
    transition-property: color, background-color
}

.hvr-back-pulse:active,
.hvr-back-pulse:focus,
.hvr-back-pulse:hover {
    -webkit-animation-name: hvr-back-pulse;
    animation-name: hvr-back-pulse;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-delay: .5s;
    animation-delay: .5s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    background-color: #2098D1;
    background-color: #2098d1;
    color: #fff
}

.hvr-sweep-to-right {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.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;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-sweep-to-right:active,
.hvr-sweep-to-right:focus,
.hvr-sweep-to-right:hover {
    color: #fff
}

.hvr-sweep-to-right:active:before,
.hvr-sweep-to-right:focus:before,
.hvr-sweep-to-right:hover:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}

.hvr-sweep-to-left {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.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;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-sweep-to-left:active,
.hvr-sweep-to-left:focus,
.hvr-sweep-to-left:hover {
    color: #fff
}

.hvr-sweep-to-left:active:before,
.hvr-sweep-to-left:focus:before,
.hvr-sweep-to-left:hover:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}

.hvr-sweep-to-bottom {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.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;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-sweep-to-bottom:active,
.hvr-sweep-to-bottom:focus,
.hvr-sweep-to-bottom:hover {
    color: #fff
}

.hvr-sweep-to-bottom:active:before,
.hvr-sweep-to-bottom:focus:before,
.hvr-sweep-to-bottom:hover:before {
    -webkit-transform: scaleY(1);
    transform: scaleY(1)
}

.hvr-sweep-to-top {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.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;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-sweep-to-top:active,
.hvr-sweep-to-top:focus,
.hvr-sweep-to-top:hover {
    color: #fff
}

.hvr-sweep-to-top:active:before,
.hvr-sweep-to-top:focus:before,
.hvr-sweep-to-top:hover:before {
    -webkit-transform: scaleY(1);
    transform: scaleY(1)
}

.hvr-bounce-to-right {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: .5s;
    transition-duration: .5s
}

.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;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: .5s;
    transition-duration: .5s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-bounce-to-right:active,
.hvr-bounce-to-right:focus,
.hvr-bounce-to-right:hover {
    color: #fff
}

.hvr-bounce-to-right:active:before,
.hvr-bounce-to-right:focus:before,
.hvr-bounce-to-right:hover:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, .37, .66);
    transition-timing-function: cubic-bezier(0.52, 1.64, .37, .66)
}

.hvr-bounce-to-left {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: .5s;
    transition-duration: .5s
}

.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;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: .5s;
    transition-duration: .5s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-bounce-to-left:active,
.hvr-bounce-to-left:focus,
.hvr-bounce-to-left:hover {
    color: #fff
}

.hvr-bounce-to-left:active:before,
.hvr-bounce-to-left:focus:before,
.hvr-bounce-to-left:hover:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, .37, .66);
    transition-timing-function: cubic-bezier(0.52, 1.64, .37, .66)
}

.hvr-bounce-to-bottom {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: .5s;
    transition-duration: .5s
}

.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;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: .5s;
    transition-duration: .5s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-bounce-to-bottom:active,
.hvr-bounce-to-bottom:focus,
.hvr-bounce-to-bottom:hover {
    color: #fff
}

.hvr-bounce-to-bottom:active:before,
.hvr-bounce-to-bottom:focus:before,
.hvr-bounce-to-bottom:hover:before {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, .37, .66);
    transition-timing-function: cubic-bezier(0.52, 1.64, .37, .66)
}

.hvr-bounce-to-top {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: .5s;
    transition-duration: .5s
}

.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;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: .5s;
    transition-duration: .5s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-bounce-to-top:active,
.hvr-bounce-to-top:focus,
.hvr-bounce-to-top:hover {
    color: #fff
}

.hvr-bounce-to-top:active:before,
.hvr-bounce-to-top:focus:before,
.hvr-bounce-to-top:hover:before {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, .37, .66);
    transition-timing-function: cubic-bezier(0.52, 1.64, .37, .66)
}

.hvr-radial-out {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    overflow: hidden;
    background: #e1e1e1;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.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;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-radial-out:active,
.hvr-radial-out:focus,
.hvr-radial-out:hover {
    color: #fff
}

.hvr-radial-out:active:before,
.hvr-radial-out:focus:before,
.hvr-radial-out:hover:before {
    -webkit-transform: scale(2);
    transform: scale(2)
}

.hvr-radial-in {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    overflow: hidden;
    background: #2098D1;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.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;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-radial-in:active,
.hvr-radial-in:focus,
.hvr-radial-in:hover {
    color: #fff
}

.hvr-radial-in:active:before,
.hvr-radial-in:focus:before,
.hvr-radial-in:hover:before {
    -webkit-transform: scale(0);
    transform: scale(0)
}

.hvr-rectangle-in {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    background: #2098D1;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.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;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-rectangle-in:active,
.hvr-rectangle-in:focus,
.hvr-rectangle-in:hover {
    color: #fff
}

.hvr-rectangle-in:active:before,
.hvr-rectangle-in:focus:before,
.hvr-rectangle-in:hover:before {
    -webkit-transform: scale(0);
    transform: scale(0)
}

.hvr-rectangle-out {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    background: #e1e1e1;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.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;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-rectangle-out:active,
.hvr-rectangle-out:focus,
.hvr-rectangle-out:hover {
    color: #fff
}

.hvr-rectangle-out:active:before,
.hvr-rectangle-out:focus:before,
.hvr-rectangle-out:hover:before {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.hvr-shutter-in-horizontal {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    background: #2098D1;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.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;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-shutter-in-horizontal:active,
.hvr-shutter-in-horizontal:focus,
.hvr-shutter-in-horizontal:hover {
    color: #fff
}

.hvr-shutter-in-horizontal:active:before,
.hvr-shutter-in-horizontal:focus:before,
.hvr-shutter-in-horizontal:hover:before {
    -webkit-transform: scaleX(0);
    transform: scaleX(0)
}

.hvr-shutter-out-horizontal {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    background: #e1e1e1;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.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;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-shutter-out-horizontal:active,
.hvr-shutter-out-horizontal:focus,
.hvr-shutter-out-horizontal:hover {
    color: #fff
}

.hvr-shutter-out-horizontal:active:before,
.hvr-shutter-out-horizontal:focus:before,
.hvr-shutter-out-horizontal:hover:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}

.hvr-shutter-in-vertical {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    background: #2098D1;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.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;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-shutter-in-vertical:active,
.hvr-shutter-in-vertical:focus,
.hvr-shutter-in-vertical:hover {
    color: #fff
}

.hvr-shutter-in-vertical:active:before,
.hvr-shutter-in-vertical:focus:before,
.hvr-shutter-in-vertical:hover:before {
    -webkit-transform: scaleY(0);
    transform: scaleY(0)
}

.hvr-shutter-out-vertical {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    background: #e1e1e1;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.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;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-shutter-out-vertical:active,
.hvr-shutter-out-vertical:focus,
.hvr-shutter-out-vertical:hover {
    color: #fff
}

.hvr-shutter-out-vertical:active:before,
.hvr-shutter-out-vertical:focus:before,
.hvr-shutter-out-vertical:hover:before {
    -webkit-transform: scaleY(1);
    transform: scaleY(1)
}

.hvr-border-fade {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: box-shadow;
    -webkit-transition-property: -webkit-box-shadow;
    transition-property: -webkit-box-shadow;
    transition-property: box-shadow;
    transition-property: box-shadow, -webkit-box-shadow;
    -webkit-box-shadow: inset 0 0 0 4px #e1e1e1, 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: inset 0 0 0 4px #e1e1e1, 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-border-fade:active,
.hvr-border-fade:focus,
.hvr-border-fade:hover {
    -webkit-box-shadow: inset 0 0 0 4px #2098D1, 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: inset 0 0 0 4px #2098D1, 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-hollow {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: background;
    transition-property: background;
    -webkit-box-shadow: inset 0 0 0 4px #e1e1e1, 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: inset 0 0 0 4px #e1e1e1, 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-hollow:active,
.hvr-hollow:focus,
.hvr-hollow:hover {
    background: 0 0
}

.hvr-trim {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative
}

.hvr-trim:before {
    content: '';
    position: absolute;
    border: #fff solid 4px;
    top: 4px;
    left: 4px;
    right: 4px;
    bottom: 4px;
    opacity: 0;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: opacity;
    transition-property: opacity
}

.hvr-trim:active:before,
.hvr-trim:focus:before,
.hvr-trim:hover:before {
    opacity: 1
}

@-webkit-keyframes hvr-ripple-out {
    100% {
        top: -12px;
        right: -12px;
        bottom: -12px;
        left: -12px;
        opacity: 0
    }
}

@keyframes hvr-ripple-out {
    100% {
        top: -12px;
        right: -12px;
        bottom: -12px;
        left: -12px;
        opacity: 0
    }
}

.hvr-ripple-out {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative
}

.hvr-ripple-out:before {
    content: '';
    position: absolute;
    border: #e1e1e1 solid 6px;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-animation-duration: 1s;
    animation-duration: 1s
}

.hvr-ripple-out:active:before,
.hvr-ripple-out:focus:before,
.hvr-ripple-out:hover:before {
    -webkit-animation-name: hvr-ripple-out;
    animation-name: hvr-ripple-out
}

@-webkit-keyframes hvr-ripple-in {
    100% {
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        opacity: 1
    }
}

@keyframes hvr-ripple-in {
    100% {
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        opacity: 1
    }
}

.hvr-ripple-in {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative
}

.hvr-ripple-in:before {
    content: '';
    position: absolute;
    border: #e1e1e1 solid 4px;
    top: -12px;
    right: -12px;
    bottom: -12px;
    left: -12px;
    opacity: 0;
    -webkit-animation-duration: 1s;
    animation-duration: 1s
}

.hvr-ripple-in:active:before,
.hvr-ripple-in:focus:before,
.hvr-ripple-in:hover:before {
    -webkit-animation-name: hvr-ripple-in;
    animation-name: hvr-ripple-in
}

.hvr-outline-out {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative
}

.hvr-outline-out:before {
    content: '';
    position: absolute;
    border: #e1e1e1 solid 4px;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: top, right, bottom, left;
    transition-property: top, right, bottom, left
}

.hvr-outline-out:active:before,
.hvr-outline-out:focus:before,
.hvr-outline-out:hover:before {
    top: -8px;
    right: -8px;
    bottom: -8px;
    left: -8px
}

.hvr-outline-in {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative
}

.hvr-outline-in:before {
    pointer-events: none;
    content: '';
    position: absolute;
    border: #e1e1e1 solid 4px;
    top: -16px;
    right: -16px;
    bottom: -16px;
    left: -16px;
    opacity: 0;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: top, right, bottom, left;
    transition-property: top, right, bottom, left
}

.hvr-outline-in:active:before,
.hvr-outline-in:focus:before,
.hvr-outline-in:hover:before {
    top: -8px;
    right: -8px;
    bottom: -8px;
    left: -8px;
    opacity: 1
}

.hvr-round-corners {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: border-radius;
    transition-property: border-radius
}

.hvr-round-corners:active,
.hvr-round-corners:focus,
.hvr-round-corners:hover {
    border-radius: 1em
}

.hvr-underline-from-left {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    overflow: hidden
}

.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: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-underline-from-left:active:before,
.hvr-underline-from-left:focus:before,
.hvr-underline-from-left:hover:before {
    right: 0
}

.hvr-underline-from-center {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    overflow: hidden
}

.hvr-underline-from-center:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 51%;
    right: 51%;
    bottom: 0;
    background: #2098D1;
    height: 4px;
    -webkit-transition-property: left, right;
    transition-property: left, right;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-underline-from-center:active:before,
.hvr-underline-from-center:focus:before,
.hvr-underline-from-center:hover:before {
    left: 0;
    right: 0
}

.hvr-underline-from-right {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    overflow: hidden
}

.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: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-underline-from-right:active:before,
.hvr-underline-from-right:focus:before,
.hvr-underline-from-right:hover:before {
    left: 0
}

.hvr-overline-from-left {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    overflow: hidden
}

.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: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-overline-from-left:active:before,
.hvr-overline-from-left:focus:before,
.hvr-overline-from-left:hover:before {
    right: 0
}

.hvr-overline-from-center {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    overflow: hidden
}

.hvr-overline-from-center:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 51%;
    right: 51%;
    top: 0;
    background: #2098D1;
    height: 4px;
    -webkit-transition-property: left, right;
    transition-property: left, right;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-overline-from-center:active:before,
.hvr-overline-from-center:focus:before,
.hvr-overline-from-center:hover:before {
    left: 0;
    right: 0
}

.hvr-overline-from-right {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    overflow: hidden
}

.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: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-overline-from-right:active:before,
.hvr-overline-from-right:focus:before,
.hvr-overline-from-right:hover:before {
    left: 0
}

.hvr-reveal {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    overflow: hidden
}

.hvr-reveal:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    border-color: #2098D1;
    border-style: solid;
    border-width: 0;
    -webkit-transition-property: border-width;
    transition-property: border-width;
    -webkit-transition-duration: .1s;
    transition-duration: .1s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-reveal:active:before,
.hvr-reveal:focus:before,
.hvr-reveal:hover:before {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    border-width: 4px
}

.hvr-underline-reveal {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    overflow: hidden
}

.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;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-underline-reveal:active:before,
.hvr-underline-reveal:focus:before,
.hvr-underline-reveal:hover:before {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.hvr-overline-reveal {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    overflow: hidden
}

.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;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-overline-reveal:active:before,
.hvr-overline-reveal:focus:before,
.hvr-overline-reveal:hover:before {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.hvr-glow {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: box-shadow;
    -webkit-transition-property: -webkit-box-shadow;
    transition-property: -webkit-box-shadow;
    transition-property: box-shadow;
    transition-property: box-shadow, -webkit-box-shadow
}

.hvr-glow:active,
.hvr-glow:focus,
.hvr-glow:hover {
    -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, .6);
    box-shadow: 0 0 8px rgba(0, 0, 0, .6)
}

.hvr-shadow {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: box-shadow;
    -webkit-transition-property: -webkit-box-shadow;
    transition-property: -webkit-box-shadow;
    transition-property: box-shadow;
    transition-property: box-shadow, -webkit-box-shadow
}

.hvr-shadow:active,
.hvr-shadow:focus,
.hvr-shadow:hover {
    -webkit-box-shadow: 0 10px 10px -10px rgba(0, 0, 0, .5);
    box-shadow: 0 10px 10px -10px rgba(0, 0, 0, .5)
}

.hvr-grow-shadow {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: box-shadow, transform;
    -webkit-transition-property: -webkit-box-shadow, -webkit-transform;
    transition-property: -webkit-box-shadow, -webkit-transform;
    transition-property: box-shadow, transform;
    transition-property: box-shadow, transform, -webkit-box-shadow, -webkit-transform
}

.hvr-grow-shadow:active,
.hvr-grow-shadow:focus,
.hvr-grow-shadow:hover {
    -webkit-box-shadow: 0 10px 10px -10px rgba(0, 0, 0, .5);
    box-shadow: 0 10px 10px -10px rgba(0, 0, 0, .5);
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
}

.hvr-box-shadow-outset {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: box-shadow;
    -webkit-transition-property: -webkit-box-shadow;
    transition-property: -webkit-box-shadow;
    transition-property: box-shadow;
    transition-property: box-shadow, -webkit-box-shadow
}

.hvr-box-shadow-outset:active,
.hvr-box-shadow-outset:focus,
.hvr-box-shadow-outset:hover {
    -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, .6);
    box-shadow: 2px 2px 2px rgba(0, 0, 0, .6)
}

.hvr-box-shadow-inset {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: box-shadow;
    -webkit-transition-property: -webkit-box-shadow;
    transition-property: -webkit-box-shadow;
    transition-property: box-shadow;
    transition-property: box-shadow, -webkit-box-shadow;
    -webkit-box-shadow: inset 0 0 0 rgba(0, 0, 0, .6), 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: inset 0 0 0 rgba(0, 0, 0, .6), 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-box-shadow-inset:active,
.hvr-box-shadow-inset:focus,
.hvr-box-shadow-inset:hover {
    -webkit-box-shadow: inset 2px 2px 2px rgba(0, 0, 0, .6), 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: inset 2px 2px 2px rgba(0, 0, 0, .6), 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-float-shadow {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}

.hvr-float-shadow:before {
    pointer-events: none;
    position: absolute;
    z-index: -1;
    content: '';
    top: 100%;
    left: 5%;
    height: 10px;
    width: 90%;
    opacity: 0;
    background: radial-gradient(ellipse at center, rgba(0, 0, 0, .35) 0, rgba(0, 0, 0, 0) 80%);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform, opacity;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform
}

.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-shadow-radial {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative
}

.hvr-shadow-radial:after,
.hvr-shadow-radial:before {
    pointer-events: none;
    position: absolute;
    content: '';
    left: 0;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 5px;
    opacity: 0;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: opacity;
    transition-property: opacity
}

.hvr-shadow-radial:before {
    bottom: 100%;
    background: radial-gradient(ellipse at 50% 150%, rgba(0, 0, 0, .6) 0, rgba(0, 0, 0, 0) 80%)
}

.hvr-shadow-radial:after {
    top: 100%;
    background: radial-gradient(ellipse at 50% -50%, rgba(0, 0, 0, .6) 0, rgba(0, 0, 0, 0) 80%)
}

.hvr-shadow-radial:active:after,
.hvr-shadow-radial:active:before,
.hvr-shadow-radial:focus:after,
.hvr-shadow-radial:focus:before,
.hvr-shadow-radial:hover:after,
.hvr-shadow-radial:hover:before {
    opacity: 1
}

.hvr-bubble-top {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative
}

.hvr-bubble-top:before {
    pointer-events: none;
    position: absolute;
    z-index: -1;
    content: '';
    border-style: solid;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    left: calc(50% - 10px);
    top: 0;
    border-width: 0 10px 10px;
    border-color: transparent transparent #e1e1e1
}

.hvr-bubble-top:active:before,
.hvr-bubble-top:focus:before,
.hvr-bubble-top:hover:before {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px)
}

.hvr-bubble-right {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative
}

.hvr-bubble-right:before {
    pointer-events: none;
    position: absolute;
    z-index: -1;
    content: '';
    border-style: solid;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    top: calc(50% - 10px);
    right: 0;
    border-width: 10px 0 10px 10px;
    border-color: transparent transparent transparent #e1e1e1
}

.hvr-bubble-right:active:before,
.hvr-bubble-right:focus:before,
.hvr-bubble-right:hover:before {
    -webkit-transform: translateX(10px);
    transform: translateX(10px)
}

.hvr-bubble-bottom {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative
}

.hvr-bubble-bottom:before {
    pointer-events: none;
    position: absolute;
    z-index: -1;
    content: '';
    border-style: solid;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    left: calc(50% - 10px);
    bottom: 0;
    border-width: 10px 10px 0;
    border-color: #e1e1e1 transparent transparent
}

.hvr-bubble-bottom:active:before,
.hvr-bubble-bottom:focus:before,
.hvr-bubble-bottom:hover:before {
    -webkit-transform: translateY(10px);
    transform: translateY(10px)
}

.hvr-bubble-left {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative
}

.hvr-bubble-left:before {
    pointer-events: none;
    position: absolute;
    z-index: -1;
    content: '';
    border-style: solid;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    top: calc(50% - 10px);
    left: 0;
    border-width: 10px 10px 10px 0;
    border-color: transparent #e1e1e1 transparent transparent
}

.hvr-bubble-left:active:before,
.hvr-bubble-left:focus:before,
.hvr-bubble-left:hover:before {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px)
}

.hvr-bubble-float-top {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}

.hvr-bubble-float-top:before {
    position: absolute;
    z-index: -1;
    content: '';
    left: calc(50% - 10px);
    top: 0;
    border-style: solid;
    border-width: 0 10px 10px;
    border-color: transparent transparent #e1e1e1;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}

.hvr-bubble-float-top:active,
.hvr-bubble-float-top:focus,
.hvr-bubble-float-top:hover {
    -webkit-transform: translateY(10px);
    transform: translateY(10px)
}

.hvr-bubble-float-top:active:before,
.hvr-bubble-float-top:focus:before,
.hvr-bubble-float-top:hover:before {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px)
}

.hvr-bubble-float-right {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}

.hvr-bubble-float-right:before {
    position: absolute;
    z-index: -1;
    top: calc(50% - 10px);
    right: 0;
    content: '';
    border-style: solid;
    border-width: 10px 0 10px 10px;
    border-color: transparent transparent transparent #e1e1e1;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}

.hvr-bubble-float-right:active,
.hvr-bubble-float-right:focus,
.hvr-bubble-float-right:hover {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px)
}

.hvr-bubble-float-right:active:before,
.hvr-bubble-float-right:focus:before,
.hvr-bubble-float-right:hover:before {
    -webkit-transform: translateX(10px);
    transform: translateX(10px)
}

.hvr-bubble-float-bottom {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}

.hvr-bubble-float-bottom:before {
    position: absolute;
    z-index: -1;
    content: '';
    left: calc(50% - 10px);
    bottom: 0;
    border-style: solid;
    border-width: 10px 10px 0;
    border-color: #e1e1e1 transparent transparent;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}

.hvr-bubble-float-bottom:active,
.hvr-bubble-float-bottom:focus,
.hvr-bubble-float-bottom:hover {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px)
}

.hvr-bubble-float-bottom:active:before,
.hvr-bubble-float-bottom:focus:before,
.hvr-bubble-float-bottom:hover:before {
    -webkit-transform: translateY(10px);
    transform: translateY(10px)
}

.hvr-bubble-float-left {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}

.hvr-bubble-float-left:before {
    position: absolute;
    z-index: -1;
    content: '';
    top: calc(50% - 10px);
    left: 0;
    border-style: solid;
    border-width: 10px 10px 10px 0;
    border-color: transparent #e1e1e1 transparent transparent;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}

.hvr-bubble-float-left:active,
.hvr-bubble-float-left:focus,
.hvr-bubble-float-left:hover {
    -webkit-transform: translateX(10px);
    transform: translateX(10px)
}

.hvr-bubble-float-left:active:before,
.hvr-bubble-float-left:focus:before,
.hvr-bubble-float-left:hover:before {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px)
}

.hvr-icon-back {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .1s;
    transition-duration: .1s
}

.hvr-icon-back .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: .1s;
    transition-duration: .1s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-icon-back:active .hvr-icon,
.hvr-icon-back:focus .hvr-icon,
.hvr-icon-back:hover .hvr-icon {
    -webkit-transform: translateX(-4px);
    transform: translateX(-4px)
}

.hvr-icon-forward {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .1s;
    transition-duration: .1s
}

.hvr-icon-forward .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: .1s;
    transition-duration: .1s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-icon-forward:active .hvr-icon,
.hvr-icon-forward:focus .hvr-icon,
.hvr-icon-forward:hover .hvr-icon {
    -webkit-transform: translateX(4px);
    transform: translateX(4px)
}

@-webkit-keyframes hvr-icon-down {
    0%,
    100%,
    50% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
    25%,
    75% {
        -webkit-transform: translateY(6px);
        transform: translateY(6px)
    }
}

@keyframes hvr-icon-down {
    0%,
    100%,
    50% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
    25%,
    75% {
        -webkit-transform: translateY(6px);
        transform: translateY(6px)
    }
}

.hvr-icon-down {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-icon-down .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.hvr-icon-down:active .hvr-icon,
.hvr-icon-down:focus .hvr-icon,
.hvr-icon-down:hover .hvr-icon {
    -webkit-animation-name: hvr-icon-down;
    animation-name: hvr-icon-down;
    -webkit-animation-duration: .75s;
    animation-duration: .75s;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out
}

@-webkit-keyframes hvr-icon-up {
    0%,
    100%,
    50% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
    25%,
    75% {
        -webkit-transform: translateY(-6px);
        transform: translateY(-6px)
    }
}

@keyframes hvr-icon-up {
    0%,
    100%,
    50% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
    25%,
    75% {
        -webkit-transform: translateY(-6px);
        transform: translateY(-6px)
    }
}

.hvr-icon-up {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-icon-up .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.hvr-icon-up:active .hvr-icon,
.hvr-icon-up:focus .hvr-icon,
.hvr-icon-up:hover .hvr-icon {
    -webkit-animation-name: hvr-icon-up;
    animation-name: hvr-icon-up;
    -webkit-animation-duration: .75s;
    animation-duration: .75s;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out
}

.hvr-icon-spin {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-icon-spin .hvr-icon {
    -webkit-transition-duration: 1s;
    transition-duration: 1s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-timing-function: ease-in-out;
    transition-timing-function: ease-in-out
}

.hvr-icon-spin:active .hvr-icon,
.hvr-icon-spin:focus .hvr-icon,
.hvr-icon-spin:hover .hvr-icon {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg)
}

@-webkit-keyframes hvr-icon-drop {
    0% {
        opacity: 0
    }
    50% {
        opacity: 0;
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%)
    }
    100%,
    51% {
        opacity: 1
    }
}

@keyframes hvr-icon-drop {
    0% {
        opacity: 0
    }
    50% {
        opacity: 0;
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%)
    }
    100%,
    51% {
        opacity: 1
    }
}

.hvr-icon-drop {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-icon-drop .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.hvr-icon-drop:active .hvr-icon,
.hvr-icon-drop:focus .hvr-icon,
.hvr-icon-drop:hover .hvr-icon {
    opacity: 0;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-animation-name: hvr-icon-drop;
    animation-name: hvr-icon-drop;
    -webkit-animation-duration: .5s;
    animation-duration: .5s;
    -webkit-animation-delay: .3s;
    animation-delay: .3s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-timing-function: cubic-bezier(0.52, 1.64, .37, .66);
    animation-timing-function: cubic-bezier(0.52, 1.64, .37, .66)
}

.hvr-icon-fade {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-icon-fade .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: .5s;
    transition-duration: .5s;
    -webkit-transition-property: color;
    transition-property: color
}

.hvr-icon-fade:active .hvr-icon,
.hvr-icon-fade:focus .hvr-icon,
.hvr-icon-fade:hover .hvr-icon {
    color: #0F9E5E
}

@-webkit-keyframes hvr-icon-float-away {
    0% {
        opacity: 1
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(-1em);
        transform: translateY(-1em)
    }
}

@keyframes hvr-icon-float-away {
    0% {
        opacity: 1
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(-1em);
        transform: translateY(-1em)
    }
}

.hvr-icon-float-away {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-icon-float-away .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation-duration: .5s;
    animation-duration: .5s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

.hvr-icon-float-away:active .hvr-icon,
.hvr-icon-float-away:focus .hvr-icon,
.hvr-icon-float-away:hover .hvr-icon {
    -webkit-animation-name: hvr-icon-float-away;
    animation-name: hvr-icon-float-away;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out
}

@-webkit-keyframes hvr-icon-sink-away {
    0% {
        opacity: 1
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(1em);
        transform: translateY(1em)
    }
}

@keyframes hvr-icon-sink-away {
    0% {
        opacity: 1
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(1em);
        transform: translateY(1em)
    }
}

.hvr-icon-sink-away {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-icon-sink-away .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation-duration: .5s;
    animation-duration: .5s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

.hvr-icon-sink-away:active .hvr-icon,
.hvr-icon-sink-away:focus .hvr-icon,
.hvr-icon-sink-away:hover .hvr-icon {
    -webkit-animation-name: hvr-icon-sink-away;
    animation-name: hvr-icon-sink-away;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out
}

.hvr-icon-grow {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.hvr-icon-grow .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-icon-grow:active .hvr-icon,
.hvr-icon-grow:focus .hvr-icon,
.hvr-icon-grow:hover .hvr-icon {
    -webkit-transform: scale(1.3) translateZ(0);
    transform: scale(1.3) translateZ(0)
}

.hvr-icon-shrink {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.hvr-icon-shrink .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

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

@-webkit-keyframes hvr-icon-pulse {
    25% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3)
    }
    75% {
        -webkit-transform: scale(0.8);
        transform: scale(0.8)
    }
}

@keyframes hvr-icon-pulse {
    25% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3)
    }
    75% {
        -webkit-transform: scale(0.8);
        transform: scale(0.8)
    }
}

.hvr-icon-pulse {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-icon-pulse .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-icon-pulse:active .hvr-icon,
.hvr-icon-pulse:focus .hvr-icon,
.hvr-icon-pulse:hover .hvr-icon {
    -webkit-animation-name: hvr-icon-pulse;
    animation-name: hvr-icon-pulse;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite
}

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

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

.hvr-icon-pulse-grow {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-icon-pulse-grow .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-icon-pulse-grow:active .hvr-icon,
.hvr-icon-pulse-grow:focus .hvr-icon,
.hvr-icon-pulse-grow:hover .hvr-icon {
    -webkit-animation-name: hvr-icon-pulse-grow;
    animation-name: hvr-icon-pulse-grow;
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-direction: alternate;
    animation-direction: alternate
}

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

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

.hvr-icon-pulse-shrink {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0)
}

.hvr-icon-pulse-shrink .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-icon-pulse-shrink:active .hvr-icon,
.hvr-icon-pulse-shrink:focus .hvr-icon,
.hvr-icon-pulse-shrink:hover .hvr-icon {
    -webkit-animation-name: hvr-icon-pulse-shrink;
    animation-name: hvr-icon-pulse-shrink;
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-direction: alternate;
    animation-direction: alternate
}

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

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

.hvr-icon-push {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.hvr-icon-push .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-icon-push:active .hvr-icon,
.hvr-icon-push:focus .hvr-icon,
.hvr-icon-push:hover .hvr-icon {
    -webkit-animation-name: hvr-icon-push;
    animation-name: hvr-icon-push;
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1
}

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

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

.hvr-icon-pop {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.hvr-icon-pop .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-icon-pop:active .hvr-icon,
.hvr-icon-pop:focus .hvr-icon,
.hvr-icon-pop:hover .hvr-icon {
    -webkit-animation-name: hvr-icon-pop;
    animation-name: hvr-icon-pop;
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1
}

.hvr-icon-bounce {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.hvr-icon-bounce .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-icon-bounce:active .hvr-icon,
.hvr-icon-bounce:focus .hvr-icon,
.hvr-icon-bounce:hover .hvr-icon {
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
    -webkit-transition-timing-function: cubic-bezier(0.47, 2.02, .31, -.36);
    transition-timing-function: cubic-bezier(0.47, 2.02, .31, -.36)
}

.hvr-icon-rotate {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.hvr-icon-rotate .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

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

.hvr-icon-grow-rotate {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.hvr-icon-grow-rotate .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-icon-grow-rotate:active .hvr-icon,
.hvr-icon-grow-rotate:focus .hvr-icon,
.hvr-icon-grow-rotate:hover .hvr-icon {
    -webkit-transform: scale(1.5) rotate(12deg);
    transform: scale(1.5) rotate(12deg)
}

.hvr-icon-float {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.hvr-icon-float .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

.hvr-icon-float:active .hvr-icon,
.hvr-icon-float:focus .hvr-icon,
.hvr-icon-float:hover .hvr-icon {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px)
}

.hvr-icon-sink {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.hvr-icon-sink .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: transform;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

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

@-webkit-keyframes hvr-icon-bob {
    0% {
        -webkit-transform: translateY(-6px);
        transform: translateY(-6px)
    }
    50% {
        -webkit-transform: translateY(-2px);
        transform: translateY(-2px)
    }
    100% {
        -webkit-transform: translateY(-6px);
        transform: translateY(-6px)
    }
}

@keyframes hvr-icon-bob {
    0% {
        -webkit-transform: translateY(-6px);
        transform: translateY(-6px)
    }
    50% {
        -webkit-transform: translateY(-2px);
        transform: translateY(-2px)
    }
    100% {
        -webkit-transform: translateY(-6px);
        transform: translateY(-6px)
    }
}

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

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

.hvr-icon-bob {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.hvr-icon-bob .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.hvr-icon-bob:active .hvr-icon,
.hvr-icon-bob:focus .hvr-icon,
.hvr-icon-bob:hover .hvr-icon {
    -webkit-animation-name: hvr-icon-bob-float, hvr-icon-bob;
    animation-name: hvr-icon-bob-float, hvr-icon-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
}

@-webkit-keyframes hvr-icon-hang {
    0% {
        -webkit-transform: translateY(6px);
        transform: translateY(6px)
    }
    50% {
        -webkit-transform: translateY(2px);
        transform: translateY(2px)
    }
    100% {
        -webkit-transform: translateY(6px);
        transform: translateY(6px)
    }
}

@keyframes hvr-icon-hang {
    0% {
        -webkit-transform: translateY(6px);
        transform: translateY(6px)
    }
    50% {
        -webkit-transform: translateY(2px);
        transform: translateY(2px)
    }
    100% {
        -webkit-transform: translateY(6px);
        transform: translateY(6px)
    }
}

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

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

.hvr-icon-hang {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.hvr-icon-hang .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.hvr-icon-hang:active .hvr-icon,
.hvr-icon-hang:focus .hvr-icon,
.hvr-icon-hang:hover .hvr-icon {
    -webkit-animation-name: hvr-icon-hang-sink, hvr-icon-hang;
    animation-name: hvr-icon-hang-sink, hvr-icon-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
}

@-webkit-keyframes hvr-icon-wobble-horizontal {
    16.65% {
        -webkit-transform: translateX(6px);
        transform: translateX(6px)
    }
    33.3% {
        -webkit-transform: translateX(-5px);
        transform: translateX(-5px)
    }
    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 hvr-icon-wobble-horizontal {
    16.65% {
        -webkit-transform: translateX(6px);
        transform: translateX(6px)
    }
    33.3% {
        -webkit-transform: translateX(-5px);
        transform: translateX(-5px)
    }
    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)
    }
}

.hvr-icon-wobble-horizontal {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.hvr-icon-wobble-horizontal .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.hvr-icon-wobble-horizontal:active .hvr-icon,
.hvr-icon-wobble-horizontal:focus .hvr-icon,
.hvr-icon-wobble-horizontal:hover .hvr-icon {
    -webkit-animation-name: hvr-icon-wobble-horizontal;
    animation-name: hvr-icon-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
}

@-webkit-keyframes hvr-icon-wobble-vertical {
    16.65% {
        -webkit-transform: translateY(6px);
        transform: translateY(6px)
    }
    33.3% {
        -webkit-transform: translateY(-5px);
        transform: translateY(-5px)
    }
    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 hvr-icon-wobble-vertical {
    16.65% {
        -webkit-transform: translateY(6px);
        transform: translateY(6px)
    }
    33.3% {
        -webkit-transform: translateY(-5px);
        transform: translateY(-5px)
    }
    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)
    }
}

.hvr-icon-wobble-vertical {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.hvr-icon-wobble-vertical .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.hvr-icon-wobble-vertical:active .hvr-icon,
.hvr-icon-wobble-vertical:focus .hvr-icon,
.hvr-icon-wobble-vertical:hover .hvr-icon {
    -webkit-animation-name: hvr-icon-wobble-vertical;
    animation-name: hvr-icon-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
}

@-webkit-keyframes hvr-icon-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 hvr-icon-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)
    }
}

.hvr-icon-buzz {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.hvr-icon-buzz .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

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

@-webkit-keyframes hvr-icon-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 hvr-icon-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)
    }
}

.hvr-icon-buzz-out {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: .3s;
    transition-duration: .3s
}

.hvr-icon-buzz-out .hvr-icon {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

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

.hvr-curl-top-left {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative
}

.hvr-curl-top-left:before {
    pointer-events: none;
    position: absolute;
    content: '';
    height: 0;
    width: 0;
    top: 0;
    left: 0;
    background: #fff;
    background: linear-gradient(135deg, #fff 45%, #aaa 50%, #ccc 56%, #fff 80%);
    filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#ffffff', endColorstr='#000000');
    z-index: 1000;
    -webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, .4);
    box-shadow: 1px 1px 1px rgba(0, 0, 0, .4);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: width, height;
    transition-property: width, height
}

.hvr-curl-top-left:active:before,
.hvr-curl-top-left:focus:before,
.hvr-curl-top-left:hover:before {
    width: 25px;
    height: 25px
}

.hvr-curl-top-right {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative
}

.hvr-curl-top-right:before {
    pointer-events: none;
    position: absolute;
    content: '';
    height: 0;
    width: 0;
    top: 0;
    right: 0;
    background: #fff;
    background: linear-gradient(225deg, #fff 45%, #aaa 50%, #ccc 56%, #fff 80%);
    -webkit-box-shadow: -1px 1px 1px rgba(0, 0, 0, .4);
    box-shadow: -1px 1px 1px rgba(0, 0, 0, .4);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: width, height;
    transition-property: width, height
}

.hvr-curl-top-right:active:before,
.hvr-curl-top-right:focus:before,
.hvr-curl-top-right:hover:before {
    width: 25px;
    height: 25px
}

.hvr-curl-bottom-right {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative
}

.hvr-curl-bottom-right:before {
    pointer-events: none;
    position: absolute;
    content: '';
    height: 0;
    width: 0;
    bottom: 0;
    right: 0;
    background: #fff;
    background: linear-gradient(315deg, #fff 45%, #aaa 50%, #ccc 56%, #fff 80%);
    -webkit-box-shadow: -1px -1px 1px rgba(0, 0, 0, .4);
    box-shadow: -1px -1px 1px rgba(0, 0, 0, .4);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: width, height;
    transition-property: width, height
}

.hvr-curl-bottom-right:active:before,
.hvr-curl-bottom-right:focus:before,
.hvr-curl-bottom-right:hover:before {
    width: 25px;
    height: 25px
}

.hvr-curl-bottom-left {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative
}

.hvr-curl-bottom-left:before {
    pointer-events: none;
    position: absolute;
    content: '';
    height: 0;
    width: 0;
    bottom: 0;
    left: 0;
    background: #fff;
    background: linear-gradient(45deg, #fff 45%, #aaa 50%, #ccc 56%, #fff 80%);
    -webkit-box-shadow: 1px -1px 1px rgba(0, 0, 0, .4);
    box-shadow: 1px -1px 1px rgba(0, 0, 0, .4);
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: width, height;
    transition-property: width, height
}

.hvr-curl-bottom-left:active:before,
.hvr-curl-bottom-left:focus:before,
.hvr-curl-bottom-left:hover:before {
    width: 25px;
    height: 25px
}

.row:before,
.row:after {
    display: none !important;
}

/*2019.08.27 add*/
body .owl-carousel .owl-item img {
    width: auto;
}

.sp666 .row > div:not(:first-child) {
    margin-top: 15px;
}

.mb50 {
    margin-bottom: 50px;
}

.mb70 {
    margin-bottom: 70px;
}

li.dropdown:hover > .dropdown-menu {
    display: block;
}

.work-detail .news_gallery .gallery-p5 img:nth-child(1) {
    padding-right: 7px;
}

.work-detail .news_gallery .gallery-p5 img {
    padding: 8px 0 0 0;
}

.pt-64 {
    padding-top: 64px;
}