@charset "UTF-8";
body {
  font-family: "Nunito", "Noto Sans TC", sans-serif;
}

/******* media ******/
/*
* 禁止bootstrap的方式，未完成
*/
/******* ckeditor ******/
[class*=ck_] {
  outline: #cccccc dashed 2px;
}
[class*=ck_]:focus {
  outline: #FA8000 dashed 2px;
}
[class*=ck_]:hover {
  outline: #FA8000 dashed 2px;
}

/************************* margin *********************************/
.margin_b0 {
  margin-bottom: 0 !important;
}

.margin_b1 {
  margin-bottom: 1rem !important;
}

.margin_b2 {
  margin-bottom: 2rem !important;
}

.margin_b3 {
  margin-bottom: 3rem !important;
}

.margin_b4 {
  margin-bottom: 4rem !important;
}

.margin_b5 {
  margin-bottom: 5rem !important;
}

.margin_b6 {
  margin-bottom: 6rem !important;
}

.margin_b7 {
  margin-bottom: 7rem !important;
}

.margin_b8 {
  margin-bottom: 8rem !important;
}

.margin_t0 {
  margin-top: 0 !important;
}

.margin_t1 {
  margin-top: 1rem !important;
}

.margin_t2 {
  margin-top: 2rem !important;
}

.margin_t3 {
  margin-top: 3rem !important;
}

.margin_t4 {
  margin-top: 4rem !important;
}

.margin_t5 {
  margin-top: 5rem !important;
}

.margin_t6 {
  margin-top: 6rem !important;
}

.margin_t7 {
  margin-top: 7rem !important;
}

.margin_t8 {
  margin-top: 8rem !important;
}

.margin_l0 {
  margin-left: 0 !important;
}

.margin_l1 {
  margin-left: 1rem !important;
}

.margin_l2 {
  margin-left: 2rem !important;
}

.margin_l3 {
  margin-left: 3rem !important;
}

.margin_l4 {
  margin-left: 4rem !important;
}

.margin_l5 {
  margin-left: 5rem !important;
}

.margin_l6 {
  margin-left: 6rem !important;
}

.margin_l7 {
  margin-left: 7rem !important;
}

.margin_l8 {
  margin-left: 8rem !important;
}

.margin_r0 {
  margin-right: 0 !important;
}

.margin_r1 {
  margin-right: 1rem !important;
}

.margin_r2 {
  margin-right: 2rem !important;
}

.margin_r3 {
  margin-right: 3rem !important;
}

.margin_r4 {
  margin-right: 4rem !important;
}

.margin_r5 {
  margin-right: 5rem !important;
}

.margin_r6 {
  margin-right: 6rem !important;
}

.margin_r7 {
  margin-right: 7rem !important;
}

.margin_r8 {
  margin-right: 8rem !important;
}

/************************* padding *********************************/
.padding_b0 {
  padding-bottom: 0 !important;
}

.padding_b1 {
  padding-bottom: 1rem !important;
}

.padding_b2 {
  padding-bottom: 2rem !important;
}

.padding_b3 {
  padding-bottom: 3rem !important;
}

.padding_b4 {
  padding-bottom: 4rem !important;
}

.padding_b5 {
  padding-bottom: 5rem !important;
}

.padding_b6 {
  padding-bottom: 6rem !important;
}

.padding_b7 {
  padding-bottom: 7rem !important;
}

.padding_b8 {
  padding-bottom: 8rem !important;
}

.padding_t0 {
  padding-top: 0 !important;
}

.padding_t1 {
  padding-top: 1rem !important;
}

.padding_t2 {
  padding-top: 2rem !important;
}

.padding_t3 {
  padding-top: 3rem !important;
}

.padding_t4 {
  padding-top: 4rem !important;
}

.padding_t5 {
  padding-top: 5rem !important;
}

.padding_t6 {
  padding-top: 6rem !important;
}

.padding_t7 {
  padding-top: 7rem !important;
}

.padding_t8 {
  padding-top: 8rem !important;
}

.padding_l0 {
  padding-left: 0 !important;
}

.padding_l1 {
  padding-left: 1rem !important;
}

.padding_l2 {
  padding-left: 2rem !important;
}

.padding_l3 {
  padding-left: 3rem !important;
}

.padding_l4 {
  padding-left: 4rem !important;
}

.padding_l5 {
  padding-left: 5rem !important;
}

.padding_l6 {
  padding-left: 6rem !important;
}

.padding_l7 {
  padding-left: 7rem !important;
}

.padding_l8 {
  padding-left: 8rem !important;
}

.padding_r0 {
  padding-right: 0 !important;
}

.padding_r1 {
  padding-right: 1rem !important;
}

.padding_r2 {
  padding-right: 2rem !important;
}

.padding_r3 {
  padding-right: 3rem !important;
}

.padding_r4 {
  padding-right: 4rem !important;
}

.padding_r5 {
  padding-right: 5rem !important;
}

.padding_r6 {
  padding-right: 6rem !important;
}

.padding_r7 {
  padding-right: 7rem !important;
}

.padding_r8 {
  padding-right: 8rem !important;
}

@media (max-width: 767px) {
  .rwd-table thead {
    display: none;
  }
  .rwd-table td {
    display: block;
    padding: 0.3rem 0.5rem;
  }
  .rwd-table td:before {
    content: attr(data-title);
    display: inline-block;
    width: auto;
    min-width: 20%;
    font-weight: 900;
    padding-right: 1rem;
  }
}

/*
* 編輯器
*/
.edit img,
.edit iframe {
  max-width: 100%;
}

/************ youtube 自動調整高度 ***********
* 在iframe的外層，多一個youtube_wrap
*/
.youtube_wrap {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  padding-top: 25px;
  height: 0;
}
.youtube_wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*
* 倒三角
*/
.top_arrow {
  position: absolute;
  top: 0;
  left: 49%;
  display: block;
  width: 0;
  height: 0;
  border: 12px solid rgb(93, 179.625, 255);
  border-color: rgb(93, 179.625, 255) transparent transparent transparent;
  border-width: 12px 12px 0 12px;
}

.top_arrow2 {
  position: absolute;
  top: 0;
  left: 49%;
  display: block;
  width: 0;
  height: 0;
  border: 12px solid #ffca66;
  border-color: #ffca66 transparent transparent transparent;
  border-width: 12px 12px 0 12px;
}

.top_arrow3 {
  position: absolute;
  top: 0;
  left: 49%;
  display: block;
  width: 0;
  height: 0;
  border: 12px solid #ff8f8f;
  border-color: #ff8f8f transparent transparent transparent;
  border-width: 12px 12px 0 12px;
}

.top_arrow4 {
  position: absolute;
  top: 0;
  left: 49%;
  display: block;
  width: 0;
  height: 0;
  border: 12px solid #5252ff;
  border-color: #5252ff transparent transparent transparent;
  border-width: 12px 12px 0 12px;
}

.top_arrow5 {
  position: absolute;
  top: 0;
  left: 49%;
  display: block;
  width: 0;
  height: 0;
  border: 12px solid #1fffff;
  border-color: #1fffff transparent transparent transparent;
  border-width: 12px 12px 0 12px;
}

.top_arrow6 {
  position: absolute;
  top: 0;
  left: 49%;
  display: block;
  width: 0;
  height: 0;
  border: 12px solid #4dff4d;
  border-color: #4dff4d transparent transparent transparent;
  border-width: 12px 12px 0 12px;
}

.pc_banner {
  display: block;
  max-width: 100%;
}
@media (max-width: 767px) {
  .pc_banner {
    display: none;
    max-width: 100%;
  }
}

.mobile_banner {
  display: none;
}
@media (max-width: 767px) {
  .mobile_banner {
    display: block;
    width: 100%;
  }
}

.wrap_privacy {
  position: fixed;
  display: block;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: white;
  color: #000;
  z-index: 100;
  padding: 30px 0;
  opacity: 0;
}
.wrap_privacy.show {
  opacity: 1;
}
.wrap_privacy .container_privacy {
  width: 90%;
  margin: 0 auto;
}
.wrap_privacy .container_privacy .textbox p {
  max-width: calc(100% - 150px);
  float: left;
  margin: 0;
}
.wrap_privacy .container_privacy .textbox a {
  font-weight: bold;
  color: #000;
}
.wrap_privacy .container_privacy .textbox a:hover {
  color: #d54735;
}
.wrap_privacy .container_privacy .textbox .accept {
  float: right;
  background-color: #1c1c1c;
  color: #fff;
  padding-left: 16px;
  padding-right: 16px;
  vertical-align: middle;
  border-radius: 0;
  overflow: hidden;
  font-weight: 700;
}

/*!
 * Hover.css (http://ianlunn.github.io/Hover/)
 * Version: 2.1.0
 * Author: Ian Lunn @IanLunn
 * Author URL: http://ianlunn.co.uk/
 * Github: https://github.com/IanLunn/Hover

 * Made available under a MIT License:
 * http://www.opensource.org/licenses/mit-license.php

 * Hover.css Copyright Ian Lunn 2014. Generated with Sass.
 */
/* 2D TRANSITIONS */
/* Grow */
.hvr-grow {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: transform;
}
.hvr-grow:hover, .hvr-grow:focus, .hvr-grow:active {
  transform: scale(1.1);
}

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

/* Pulse */
@keyframes hvr-pulse {
  25% {
    transform: scale(1.1);
  }
  75% {
    transform: scale(0.9);
  }
}
.hvr-pulse {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-pulse:hover, .hvr-pulse:focus, .hvr-pulse:active {
  animation-name: hvr-pulse;
  animation-duration: 1s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

/* Pulse Grow */
@keyframes hvr-pulse-grow {
  to {
    transform: scale(1.1);
  }
}
.hvr-pulse-grow {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-pulse-grow:hover, .hvr-pulse-grow:focus, .hvr-pulse-grow:active {
  animation-name: hvr-pulse-grow;
  animation-duration: 0.3s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

/* Pulse Shrink */
@keyframes hvr-pulse-shrink {
  to {
    transform: scale(0.9);
  }
}
.hvr-pulse-shrink {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-pulse-shrink:hover, .hvr-pulse-shrink:focus, .hvr-pulse-shrink:active {
  animation-name: hvr-pulse-shrink;
  animation-duration: 0.3s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

/* Push */
@keyframes hvr-push {
  50% {
    transform: scale(0.8);
  }
  100% {
    transform: scale(1);
  }
}
.hvr-push {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-push:hover, .hvr-push:focus, .hvr-push:active {
  animation-name: hvr-push;
  animation-duration: 0.3s;
  animation-timing-function: linear;
  animation-iteration-count: 1;
}

/* Pop */
@keyframes hvr-pop {
  50% {
    transform: scale(1.2);
  }
}
.hvr-pop {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-pop:hover, .hvr-pop:focus, .hvr-pop:active {
  animation-name: hvr-pop;
  animation-duration: 0.3s;
  animation-timing-function: linear;
  animation-iteration-count: 1;
}

/* Bounce In */
.hvr-bounce-in {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.5s;
}
.hvr-bounce-in:hover, .hvr-bounce-in:focus, .hvr-bounce-in:active {
  transform: scale(1.2);
  transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}

/* Bounce Out */
.hvr-bounce-out {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.5s;
}
.hvr-bounce-out:hover, .hvr-bounce-out:focus, .hvr-bounce-out:active {
  transform: scale(0.8);
  transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}

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

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

/* Float */
.hvr-float {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
}
.hvr-float:hover, .hvr-float:focus, .hvr-float:active {
  transform: translateY(-8px);
}

/* Sink */
.hvr-sink {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
}
.hvr-sink:hover, .hvr-sink:focus, .hvr-sink:active {
  transform: translateY(8px);
}

/* Bob */
@keyframes hvr-bob {
  0% {
    transform: translateY(-8px);
  }
  50% {
    transform: translateY(-4px);
  }
  100% {
    transform: translateY(-8px);
  }
}
@keyframes hvr-bob-float {
  100% {
    transform: translateY(-8px);
  }
}
.hvr-bob {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-bob:hover, .hvr-bob:focus, .hvr-bob:active {
  animation-name: hvr-bob-float, hvr-bob;
  animation-duration: .3s, 1.5s;
  animation-delay: 0s, .3s;
  animation-timing-function: ease-out, ease-in-out;
  animation-iteration-count: 1, infinite;
  animation-fill-mode: forwards;
  animation-direction: normal, alternate;
}

/* Hang */
@keyframes hvr-hang {
  0% {
    transform: translateY(8px);
  }
  50% {
    transform: translateY(4px);
  }
  100% {
    transform: translateY(8px);
  }
}
@keyframes hvr-hang-sink {
  100% {
    transform: translateY(8px);
  }
}
.hvr-hang {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-hang:hover, .hvr-hang:focus, .hvr-hang:active {
  animation-name: hvr-hang-sink, hvr-hang;
  animation-duration: .3s, 1.5s;
  animation-delay: 0s, .3s;
  animation-timing-function: ease-out, ease-in-out;
  animation-iteration-count: 1, infinite;
  animation-fill-mode: forwards;
  animation-direction: normal, alternate;
}

/* Skew */
.hvr-skew {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: transform;
}
.hvr-skew:hover, .hvr-skew:focus, .hvr-skew:active {
  transform: skew(-10deg);
}

/* Skew Forward */
.hvr-skew-forward {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: transform;
  transform-origin: 0 100%;
}
.hvr-skew-forward:hover, .hvr-skew-forward:focus, .hvr-skew-forward:active {
  transform: skew(-10deg);
}

/* Skew Backward */
.hvr-skew-backward {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: transform;
  transform-origin: 0 100%;
}
.hvr-skew-backward:hover, .hvr-skew-backward:focus, .hvr-skew-backward:active {
  transform: skew(10deg);
}

/* Wobble Vertical */
@keyframes hvr-wobble-vertical {
  16.65% {
    transform: translateY(8px);
  }
  33.3% {
    transform: translateY(-6px);
  }
  49.95% {
    transform: translateY(4px);
  }
  66.6% {
    transform: translateY(-2px);
  }
  83.25% {
    transform: translateY(1px);
  }
  100% {
    transform: translateY(0);
  }
}
.hvr-wobble-vertical {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-wobble-vertical:hover, .hvr-wobble-vertical:focus, .hvr-wobble-vertical:active {
  animation-name: hvr-wobble-vertical;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
}

/* Wobble Horizontal */
@keyframes hvr-wobble-horizontal {
  16.65% {
    transform: translateX(8px);
  }
  33.3% {
    transform: translateX(-6px);
  }
  49.95% {
    transform: translateX(4px);
  }
  66.6% {
    transform: translateX(-2px);
  }
  83.25% {
    transform: translateX(1px);
  }
  100% {
    transform: translateX(0);
  }
}
.hvr-wobble-horizontal {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-wobble-horizontal:hover, .hvr-wobble-horizontal:focus, .hvr-wobble-horizontal:active {
  animation-name: hvr-wobble-horizontal;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
}

/* Wobble To Bottom Right */
@keyframes hvr-wobble-to-bottom-right {
  16.65% {
    transform: translate(8px, 8px);
  }
  33.3% {
    transform: translate(-6px, -6px);
  }
  49.95% {
    transform: translate(4px, 4px);
  }
  66.6% {
    transform: translate(-2px, -2px);
  }
  83.25% {
    transform: translate(1px, 1px);
  }
  100% {
    transform: translate(0, 0);
  }
}
.hvr-wobble-to-bottom-right {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-wobble-to-bottom-right:hover, .hvr-wobble-to-bottom-right:focus, .hvr-wobble-to-bottom-right:active {
  animation-name: hvr-wobble-to-bottom-right;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
}

/* Wobble To Top Right */
@keyframes hvr-wobble-to-top-right {
  16.65% {
    transform: translate(8px, -8px);
  }
  33.3% {
    transform: translate(-6px, 6px);
  }
  49.95% {
    transform: translate(4px, -4px);
  }
  66.6% {
    transform: translate(-2px, 2px);
  }
  83.25% {
    transform: translate(1px, -1px);
  }
  100% {
    transform: translate(0, 0);
  }
}
.hvr-wobble-to-top-right {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-wobble-to-top-right:hover, .hvr-wobble-to-top-right:focus, .hvr-wobble-to-top-right:active {
  animation-name: hvr-wobble-to-top-right;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
}

/* Wobble Top */
@keyframes hvr-wobble-top {
  16.65% {
    transform: skew(-12deg);
  }
  33.3% {
    transform: skew(10deg);
  }
  49.95% {
    transform: skew(-6deg);
  }
  66.6% {
    transform: skew(4deg);
  }
  83.25% {
    transform: skew(-2deg);
  }
  100% {
    transform: skew(0);
  }
}
.hvr-wobble-top {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transform-origin: 0 100%;
}
.hvr-wobble-top:hover, .hvr-wobble-top:focus, .hvr-wobble-top:active {
  animation-name: hvr-wobble-top;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
}

/* Wobble Bottom */
@keyframes hvr-wobble-bottom {
  16.65% {
    transform: skew(-12deg);
  }
  33.3% {
    transform: skew(10deg);
  }
  49.95% {
    transform: skew(-6deg);
  }
  66.6% {
    transform: skew(4deg);
  }
  83.25% {
    transform: skew(-2deg);
  }
  100% {
    transform: skew(0);
  }
}
.hvr-wobble-bottom {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transform-origin: 100% 0;
}
.hvr-wobble-bottom:hover, .hvr-wobble-bottom:focus, .hvr-wobble-bottom:active {
  animation-name: hvr-wobble-bottom;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
}

/* Wobble Skew */
@keyframes hvr-wobble-skew {
  16.65% {
    transform: skew(-12deg);
  }
  33.3% {
    transform: skew(10deg);
  }
  49.95% {
    transform: skew(-6deg);
  }
  66.6% {
    transform: skew(4deg);
  }
  83.25% {
    transform: skew(-2deg);
  }
  100% {
    transform: skew(0);
  }
}
.hvr-wobble-skew {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-wobble-skew:hover, .hvr-wobble-skew:focus, .hvr-wobble-skew:active {
  animation-name: hvr-wobble-skew;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
}

/* Buzz */
@keyframes hvr-buzz {
  50% {
    transform: translateX(3px) rotate(2deg);
  }
  100% {
    transform: translateX(-3px) rotate(-2deg);
  }
}
.hvr-buzz {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-buzz:hover, .hvr-buzz:focus, .hvr-buzz:active {
  animation-name: hvr-buzz;
  animation-duration: 0.15s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

/* Buzz Out */
@keyframes hvr-buzz-out {
  10% {
    transform: translateX(3px) rotate(2deg);
  }
  20% {
    transform: translateX(-3px) rotate(-2deg);
  }
  30% {
    transform: translateX(3px) rotate(2deg);
  }
  40% {
    transform: translateX(-3px) rotate(-2deg);
  }
  50% {
    transform: translateX(2px) rotate(1deg);
  }
  60% {
    transform: translateX(-2px) rotate(-1deg);
  }
  70% {
    transform: translateX(2px) rotate(1deg);
  }
  80% {
    transform: translateX(-2px) rotate(-1deg);
  }
  90% {
    transform: translateX(1px) rotate(0);
  }
  100% {
    transform: translateX(-1px) rotate(0);
  }
}
.hvr-buzz-out {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-buzz-out:hover, .hvr-buzz-out:focus, .hvr-buzz-out:active {
  animation-name: hvr-buzz-out;
  animation-duration: 0.75s;
  animation-timing-function: linear;
  animation-iteration-count: 1;
}

/* Forward */
.hvr-forward {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: transform;
}
.hvr-forward:hover, .hvr-forward:focus, .hvr-forward:active {
  transform: translateX(8px);
}

/* Backward */
.hvr-backward {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: transform;
}
.hvr-backward:hover, .hvr-backward:focus, .hvr-backward:active {
  transform: translateX(-8px);
}

/* BACKGROUND TRANSITIONS */
/* Fade */
.hvr-fade {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  overflow: hidden;
  transition-duration: 0.3s;
  transition-property: color, background-color;
}
.hvr-fade:hover, .hvr-fade:focus, .hvr-fade:active {
  background-color: #2098D1;
  color: white;
}

/* Back Pulse */
@keyframes hvr-back-pulse {
  50% {
    background-color: rgba(32, 152, 209, 0.75);
  }
}
.hvr-back-pulse {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  overflow: hidden;
  transition-duration: 0.5s;
  transition-property: color, background-color;
}
.hvr-back-pulse:hover, .hvr-back-pulse:focus, .hvr-back-pulse:active {
  animation-name: hvr-back-pulse;
  animation-duration: 1s;
  animation-delay: 0.5s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  background-color: #2098D1;
  background-color: rgb(32, 152, 209);
  color: white;
}

/* Sweep To Right */
.hvr-sweep-to-right {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-property: color;
  transition-duration: 0.3s;
}
.hvr-sweep-to-right:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  transform: scaleX(0);
  transform-origin: 0 50%;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-sweep-to-right:hover, .hvr-sweep-to-right:focus, .hvr-sweep-to-right:active {
  color: white;
}
.hvr-sweep-to-right:hover:before, .hvr-sweep-to-right:focus:before, .hvr-sweep-to-right:active:before {
  transform: scaleX(1);
}

/* Sweep To Left */
.hvr-sweep-to-left {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-property: color;
  transition-duration: 0.3s;
}
.hvr-sweep-to-left:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  transform: scaleX(0);
  transform-origin: 100% 50%;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-sweep-to-left:hover, .hvr-sweep-to-left:focus, .hvr-sweep-to-left:active {
  color: white;
}
.hvr-sweep-to-left:hover:before, .hvr-sweep-to-left:focus:before, .hvr-sweep-to-left:active:before {
  transform: scaleX(1);
}

/* Sweep To Bottom */
.hvr-sweep-to-bottom {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-property: color;
  transition-duration: 0.3s;
}
.hvr-sweep-to-bottom:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  transform: scaleY(0);
  transform-origin: 50% 0;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-sweep-to-bottom:hover, .hvr-sweep-to-bottom:focus, .hvr-sweep-to-bottom:active {
  color: white;
}
.hvr-sweep-to-bottom:hover:before, .hvr-sweep-to-bottom:focus:before, .hvr-sweep-to-bottom:active:before {
  transform: scaleY(1);
}

/* Sweep To Top */
.hvr-sweep-to-top {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-property: color;
  transition-duration: 0.3s;
}
.hvr-sweep-to-top:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  transform: scaleY(0);
  transform-origin: 50% 100%;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-sweep-to-top:hover, .hvr-sweep-to-top:focus, .hvr-sweep-to-top:active {
  color: white;
}
.hvr-sweep-to-top:hover:before, .hvr-sweep-to-top:focus:before, .hvr-sweep-to-top:active:before {
  transform: scaleY(1);
}

/* Bounce To Right */
.hvr-bounce-to-right {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-property: color;
  transition-duration: 0.5s;
}
.hvr-bounce-to-right:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  transform: scaleX(0);
  transform-origin: 0 50%;
  transition-property: transform;
  transition-duration: 0.5s;
  transition-timing-function: ease-out;
}
.hvr-bounce-to-right:hover, .hvr-bounce-to-right:focus, .hvr-bounce-to-right:active {
  color: white;
}
.hvr-bounce-to-right:hover:before, .hvr-bounce-to-right:focus:before, .hvr-bounce-to-right:active:before {
  transform: scaleX(1);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

/* Bounce To Left */
.hvr-bounce-to-left {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-property: color;
  transition-duration: 0.5s;
}
.hvr-bounce-to-left:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  transform: scaleX(0);
  transform-origin: 100% 50%;
  transition-property: transform;
  transition-duration: 0.5s;
  transition-timing-function: ease-out;
}
.hvr-bounce-to-left:hover, .hvr-bounce-to-left:focus, .hvr-bounce-to-left:active {
  color: white;
}
.hvr-bounce-to-left:hover:before, .hvr-bounce-to-left:focus:before, .hvr-bounce-to-left:active:before {
  transform: scaleX(1);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

/* Bounce To Bottom */
.hvr-bounce-to-bottom {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-property: color;
  transition-duration: 0.5s;
}
.hvr-bounce-to-bottom:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  transform: scaleY(0);
  transform-origin: 50% 0;
  transition-property: transform;
  transition-duration: 0.5s;
  transition-timing-function: ease-out;
}
.hvr-bounce-to-bottom:hover, .hvr-bounce-to-bottom:focus, .hvr-bounce-to-bottom:active {
  color: white;
}
.hvr-bounce-to-bottom:hover:before, .hvr-bounce-to-bottom:focus:before, .hvr-bounce-to-bottom:active:before {
  transform: scaleY(1);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

/* Bounce To Top */
.hvr-bounce-to-top {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-property: color;
  transition-duration: 0.5s;
}
.hvr-bounce-to-top:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  transform: scaleY(0);
  transform-origin: 50% 100%;
  transition-property: transform;
  transition-duration: 0.5s;
  transition-timing-function: ease-out;
}
.hvr-bounce-to-top:hover, .hvr-bounce-to-top:focus, .hvr-bounce-to-top:active {
  color: white;
}
.hvr-bounce-to-top:hover:before, .hvr-bounce-to-top:focus:before, .hvr-bounce-to-top:active:before {
  transform: scaleY(1);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

/* Radial Out */
.hvr-radial-out {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
  background: #e1e1e1;
  transition-property: color;
  transition-duration: 0.3s;
}
.hvr-radial-out:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  border-radius: 100%;
  transform: scale(0);
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-radial-out:hover, .hvr-radial-out:focus, .hvr-radial-out:active {
  color: white;
}
.hvr-radial-out:hover:before, .hvr-radial-out:focus:before, .hvr-radial-out:active:before {
  transform: scale(2);
}

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

/* Rectangle In */
.hvr-rectangle-in {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  background: #2098D1;
  transition-property: color;
  transition-duration: 0.3s;
}
.hvr-rectangle-in:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #e1e1e1;
  transform: scale(1);
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-rectangle-in:hover, .hvr-rectangle-in:focus, .hvr-rectangle-in:active {
  color: white;
}
.hvr-rectangle-in:hover:before, .hvr-rectangle-in:focus:before, .hvr-rectangle-in:active:before {
  transform: scale(0);
}

/* Rectangle Out */
.hvr-rectangle-out {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  background: #e1e1e1;
  transition-property: color;
  transition-duration: 0.3s;
}
.hvr-rectangle-out:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  transform: scale(0);
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-rectangle-out:hover, .hvr-rectangle-out:focus, .hvr-rectangle-out:active {
  color: white;
}
.hvr-rectangle-out:hover:before, .hvr-rectangle-out:focus:before, .hvr-rectangle-out:active:before {
  transform: scale(1);
}

/* Shutter In Horizontal */
.hvr-shutter-in-horizontal {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  background: #2098D1;
  transition-property: color;
  transition-duration: 0.3s;
}
.hvr-shutter-in-horizontal:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #e1e1e1;
  transform: scaleX(1);
  transform-origin: 50%;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-shutter-in-horizontal:hover, .hvr-shutter-in-horizontal:focus, .hvr-shutter-in-horizontal:active {
  color: white;
}
.hvr-shutter-in-horizontal:hover:before, .hvr-shutter-in-horizontal:focus:before, .hvr-shutter-in-horizontal:active:before {
  transform: scaleX(0);
}

/* Shutter Out Horizontal */
.hvr-shutter-out-horizontal {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  background: #e1e1e1;
  transition-property: color;
  transition-duration: 0.3s;
}
.hvr-shutter-out-horizontal:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #2098D1;
  transform: scaleX(0);
  transform-origin: 50%;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-shutter-out-horizontal:hover, .hvr-shutter-out-horizontal:focus, .hvr-shutter-out-horizontal:active {
  color: white;
}
.hvr-shutter-out-horizontal:hover:before, .hvr-shutter-out-horizontal:focus:before, .hvr-shutter-out-horizontal:active:before {
  transform: scaleX(1);
}

/* Shutter In Vertical */
.hvr-shutter-in-vertical {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  background: #2098D1;
  transition-property: color;
  transition-duration: 0.3s;
}
.hvr-shutter-in-vertical:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #e1e1e1;
  transform: scaleY(1);
  transform-origin: 50%;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-shutter-in-vertical:hover, .hvr-shutter-in-vertical:focus, .hvr-shutter-in-vertical:active {
  color: white;
}
.hvr-shutter-in-vertical:hover:before, .hvr-shutter-in-vertical:focus:before, .hvr-shutter-in-vertical:active:before {
  transform: scaleY(0);
}

/* Shutter Out Vertical */
.hvr-shutter-out-vertical {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  background: #e1e1e1;
  transition-property: color;
  transition-duration: 0.3s;
}
.hvr-shutter-out-vertical:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #2098D1;
  transform: scaleY(0);
  transform-origin: 50%;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-shutter-out-vertical:hover, .hvr-shutter-out-vertical:focus, .hvr-shutter-out-vertical:active {
  color: white;
}
.hvr-shutter-out-vertical:hover:before, .hvr-shutter-out-vertical:focus:before, .hvr-shutter-out-vertical:active:before {
  transform: scaleY(1);
}

/* BORDER TRANSITIONS */
/* Border Fade */
.hvr-border-fade {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: box-shadow;
  box-shadow: inset 0 0 0 4px #e1e1e1, 0 0 1px rgba(0, 0, 0, 0); /* Hack to improve aliasing on mobile/tablet devices */
}
.hvr-border-fade:hover, .hvr-border-fade:focus, .hvr-border-fade:active {
  box-shadow: inset 0 0 0 4px #2098D1, 0 0 1px rgba(0, 0, 0, 0); /* Hack to improve aliasing on mobile/tablet devices */
}

/* Hollow */
.hvr-hollow {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: background;
  box-shadow: inset 0 0 0 4px #e1e1e1, 0 0 1px rgba(0, 0, 0, 0); /* Hack to improve aliasing on mobile/tablet devices */
}
.hvr-hollow:hover, .hvr-hollow:focus, .hvr-hollow:active {
  background: none;
}

/* Trim */
.hvr-trim {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hvr-trim:before {
  content: "";
  position: absolute;
  border: white solid 4px;
  top: 4px;
  left: 4px;
  right: 4px;
  bottom: 4px;
  opacity: 0;
  transition-duration: 0.3s;
  transition-property: opacity;
}
.hvr-trim:hover:before, .hvr-trim:focus:before, .hvr-trim:active:before {
  opacity: 1;
}

/* Ripple Out */
@keyframes hvr-ripple-out {
  100% {
    top: -12px;
    right: -12px;
    bottom: -12px;
    left: -12px;
    opacity: 0;
  }
}
.hvr-ripple-out {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(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;
  animation-duration: 1s;
}
.hvr-ripple-out:hover:before, .hvr-ripple-out:focus:before, .hvr-ripple-out:active:before {
  animation-name: hvr-ripple-out;
}

/* Ripple In */
@keyframes hvr-ripple-in {
  100% {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 1;
  }
}
.hvr-ripple-in {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(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;
  animation-duration: 1s;
}
.hvr-ripple-in:hover:before, .hvr-ripple-in:focus:before, .hvr-ripple-in:active:before {
  animation-name: hvr-ripple-in;
}

/* Outline Out */
.hvr-outline-out {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(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;
  transition-duration: 0.3s;
  transition-property: top, right, bottom, left;
}
.hvr-outline-out:hover:before, .hvr-outline-out:focus:before, .hvr-outline-out:active:before {
  top: -8px;
  right: -8px;
  bottom: -8px;
  left: -8px;
}

/* Outline In */
.hvr-outline-in {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(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;
  transition-duration: 0.3s;
  transition-property: top, right, bottom, left;
}
.hvr-outline-in:hover:before, .hvr-outline-in:focus:before, .hvr-outline-in:active:before {
  top: -8px;
  right: -8px;
  bottom: -8px;
  left: -8px;
  opacity: 1;
}

/* Round Corners */
.hvr-round-corners {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: border-radius;
}
.hvr-round-corners:hover, .hvr-round-corners:focus, .hvr-round-corners:active {
  border-radius: 1em;
}

/* Underline From Left */
.hvr-underline-from-left {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(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;
  transition-property: right;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-underline-from-left:hover:before, .hvr-underline-from-left:focus:before, .hvr-underline-from-left:active:before {
  right: 0;
}

/* Underline From Center */
.hvr-underline-from-center {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(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: 50%;
  right: 50%;
  bottom: 0;
  background: #2098D1;
  height: 4px;
  transition-property: left, right;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-underline-from-center:hover:before, .hvr-underline-from-center:focus:before, .hvr-underline-from-center:active:before {
  left: 0;
  right: 0;
}

/* Underline From Right */
.hvr-underline-from-right {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(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;
  transition-property: left;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-underline-from-right:hover:before, .hvr-underline-from-right:focus:before, .hvr-underline-from-right:active:before {
  left: 0;
}

/* Overline From Left */
.hvr-overline-from-left {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(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;
  transition-property: right;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-overline-from-left:hover:before, .hvr-overline-from-left:focus:before, .hvr-overline-from-left:active:before {
  right: 0;
}

/* Overline From Center */
.hvr-overline-from-center {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(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: 50%;
  right: 50%;
  top: 0;
  background: #2098D1;
  height: 4px;
  transition-property: left, right;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-overline-from-center:hover:before, .hvr-overline-from-center:focus:before, .hvr-overline-from-center:active:before {
  left: 0;
  right: 0;
}

/* Overline From Right */
.hvr-overline-from-right {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(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;
  transition-property: left;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-overline-from-right:hover:before, .hvr-overline-from-right:focus:before, .hvr-overline-from-right:active:before {
  left: 0;
}

/* Reveal */
.hvr-reveal {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(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;
  transition-property: border-width;
  transition-duration: 0.1s;
  transition-timing-function: ease-out;
}
.hvr-reveal:hover:before, .hvr-reveal:focus:before, .hvr-reveal:active:before {
  transform: translateY(0);
  border-width: 4px;
}

/* Underline Reveal */
.hvr-underline-reveal {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(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;
  transform: translateY(4px);
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-underline-reveal:hover:before, .hvr-underline-reveal:focus:before, .hvr-underline-reveal:active:before {
  transform: translateY(0);
}

/* Overline Reveal */
.hvr-overline-reveal {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(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;
  transform: translateY(-4px);
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.hvr-overline-reveal:hover:before, .hvr-overline-reveal:focus:before, .hvr-overline-reveal:active:before {
  transform: translateY(0);
}

/* SHADOW/GLOW TRANSITIONS */
/* Glow */
.hvr-glow {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: box-shadow;
}
.hvr-glow:hover, .hvr-glow:focus, .hvr-glow:active {
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}

/* Shadow */
.hvr-shadow {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: box-shadow;
}
.hvr-shadow:hover, .hvr-shadow:focus, .hvr-shadow:active {
  box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.5);
}

/* Grow Shadow */
.hvr-grow-shadow {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: box-shadow, transform;
}
.hvr-grow-shadow:hover, .hvr-grow-shadow:focus, .hvr-grow-shadow:active {
  box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.5);
  transform: scale(1.1);
}

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

/* Box Shadow Inset */
.hvr-box-shadow-inset {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  transition-duration: 0.3s;
  transition-property: box-shadow;
  box-shadow: inset 0 0 0 rgba(0, 0, 0, 0.6), 0 0 1px rgba(0, 0, 0, 0); /* Hack to improve aliasing on mobile/tablet devices */
}
.hvr-box-shadow-inset:hover, .hvr-box-shadow-inset:focus, .hvr-box-shadow-inset:active {
  box-shadow: inset 2px 2px 2px rgba(0, 0, 0, 0.6), 0 0 1px rgba(0, 0, 0, 0); /* Hack to improve aliasing on mobile/tablet devices */
}

/* Float Shadow */
.hvr-float-shadow {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-duration: 0.3s;
  transition-property: 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, 0.35) 0%, rgba(0, 0, 0, 0) 80%); /* W3C */
  transition-duration: 0.3s;
  transition-property: transform, opacity;
}
.hvr-float-shadow:hover, .hvr-float-shadow:focus, .hvr-float-shadow:active {
  transform: translateY(-5px);
  /* move the element up by 5px */
}
.hvr-float-shadow:hover:before, .hvr-float-shadow:focus:before, .hvr-float-shadow:active:before {
  opacity: 1;
  transform: translateY(5px);
  /* move the element down by 5px (it will stay in place because it's attached to the element that also moves up 5px) */
}

/* Shadow Radial */
.hvr-shadow-radial {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hvr-shadow-radial:before, .hvr-shadow-radial:after {
  pointer-events: none;
  position: absolute;
  content: "";
  left: 0;
  width: 100%;
  box-sizing: border-box;
  background-repeat: no-repeat;
  height: 5px;
  opacity: 0;
  transition-duration: 0.3s;
  transition-property: opacity;
}
.hvr-shadow-radial:before {
  bottom: 100%;
  background: radial-gradient(ellipse at 50% 150%, rgba(0, 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, 0.6) 0%, rgba(0, 0, 0, 0) 80%);
}
.hvr-shadow-radial:hover:before, .hvr-shadow-radial:focus:before, .hvr-shadow-radial:active:before, .hvr-shadow-radial:hover:after, .hvr-shadow-radial:focus:after, .hvr-shadow-radial:active:after {
  opacity: 1;
}

/* SPEECH BUBBLES */
/* Bubble Top */
.hvr-bubble-top {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(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;
  transition-duration: 0.3s;
  transition-property: transform;
  left: calc(50% - 10px);
  top: 0;
  border-width: 0 10px 10px 10px;
  border-color: transparent transparent #e1e1e1 transparent;
}
.hvr-bubble-top:hover:before, .hvr-bubble-top:focus:before, .hvr-bubble-top:active:before {
  transform: translateY(-10px);
}

/* Bubble Right */
.hvr-bubble-right {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(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;
  transition-duration: 0.3s;
  transition-property: transform;
  top: calc(50% - 10px);
  right: 0;
  border-width: 10px 0 10px 10px;
  border-color: transparent transparent transparent #e1e1e1;
}
.hvr-bubble-right:hover:before, .hvr-bubble-right:focus:before, .hvr-bubble-right:active:before {
  transform: translateX(10px);
}

/* Bubble Bottom */
.hvr-bubble-bottom {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(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;
  transition-duration: 0.3s;
  transition-property: transform;
  left: calc(50% - 10px);
  bottom: 0;
  border-width: 10px 10px 0 10px;
  border-color: #e1e1e1 transparent transparent transparent;
}
.hvr-bubble-bottom:hover:before, .hvr-bubble-bottom:focus:before, .hvr-bubble-bottom:active:before {
  transform: translateY(10px);
}

/* Bubble Left */
.hvr-bubble-left {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(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;
  transition-duration: 0.3s;
  transition-property: transform;
  top: calc(50% - 10px);
  left: 0;
  border-width: 10px 10px 10px 0;
  border-color: transparent #e1e1e1 transparent transparent;
}
.hvr-bubble-left:hover:before, .hvr-bubble-left:focus:before, .hvr-bubble-left:active:before {
  transform: translateX(-10px);
}

/* Bubble Float Top */
.hvr-bubble-float-top {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-duration: 0.3s;
  transition-property: 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 10px;
  border-color: transparent transparent #e1e1e1 transparent;
  transition-duration: 0.3s;
  transition-property: transform;
}
.hvr-bubble-float-top:hover, .hvr-bubble-float-top:focus, .hvr-bubble-float-top:active {
  transform: translateY(10px);
}
.hvr-bubble-float-top:hover:before, .hvr-bubble-float-top:focus:before, .hvr-bubble-float-top:active:before {
  transform: translateY(-10px);
}

/* Bubble Float Right */
.hvr-bubble-float-right {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-duration: 0.3s;
  transition-property: 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;
  transition-duration: 0.3s;
  transition-property: transform;
}
.hvr-bubble-float-right:hover, .hvr-bubble-float-right:focus, .hvr-bubble-float-right:active {
  transform: translateX(-10px);
}
.hvr-bubble-float-right:hover:before, .hvr-bubble-float-right:focus:before, .hvr-bubble-float-right:active:before {
  transform: translateX(10px);
}

/* Bubble Float Bottom */
.hvr-bubble-float-bottom {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-duration: 0.3s;
  transition-property: 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 10px;
  border-color: #e1e1e1 transparent transparent transparent;
  transition-duration: 0.3s;
  transition-property: transform;
}
.hvr-bubble-float-bottom:hover, .hvr-bubble-float-bottom:focus, .hvr-bubble-float-bottom:active {
  transform: translateY(-10px);
}
.hvr-bubble-float-bottom:hover:before, .hvr-bubble-float-bottom:focus:before, .hvr-bubble-float-bottom:active:before {
  transform: translateY(10px);
}

/* Bubble Float Left */
.hvr-bubble-float-left {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  transition-duration: 0.3s;
  transition-property: 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;
  transition-duration: 0.3s;
  transition-property: transform;
}
.hvr-bubble-float-left:hover, .hvr-bubble-float-left:focus, .hvr-bubble-float-left:active {
  transform: translateX(10px);
}
.hvr-bubble-float-left:hover:before, .hvr-bubble-float-left:focus:before, .hvr-bubble-float-left:active:before {
  transform: translateX(-10px);
}

/* ICONS */
/* Icon Back */
.hvr-icon-back {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-left: 2.2em;
  transition-duration: 0.1s;
}
.hvr-icon-back:before {
  content: "\f137";
  position: absolute;
  left: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  transform: translateZ(0);
  transition-duration: 0.1s;
  transition-property: transform;
  transition-timing-function: ease-out;
}
.hvr-icon-back:hover:before, .hvr-icon-back:focus:before, .hvr-icon-back:active:before {
  transform: translateX(-4px);
}

/* Icon Forward */
.hvr-icon-forward {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
  transition-duration: 0.1s;
}
.hvr-icon-forward:before {
  content: "\f138";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  transform: translateZ(0);
  transition-duration: 0.1s;
  transition-property: transform;
  transition-timing-function: ease-out;
}
.hvr-icon-forward:hover:before, .hvr-icon-forward:focus:before, .hvr-icon-forward:active:before {
  transform: translateX(4px);
}

/* Icon Down */
@keyframes hvr-icon-down {
  0%, 50%, 100% {
    transform: translateY(0);
  }
  25%, 75% {
    transform: translateY(6px);
  }
}
/* Icon Down */
.hvr-icon-down {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
}
.hvr-icon-down:before {
  content: "\f01a";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  transform: translateZ(0);
}
.hvr-icon-down:hover:before, .hvr-icon-down:focus:before, .hvr-icon-down:active:before {
  animation-name: hvr-icon-down;
  animation-duration: 0.75s;
  animation-timing-function: ease-out;
}

/* Icon Up */
@keyframes hvr-icon-up {
  0%, 50%, 100% {
    transform: translateY(0);
  }
  25%, 75% {
    transform: translateY(-6px);
  }
}
/* Icon Up */
.hvr-icon-up {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
}
.hvr-icon-up:before {
  content: "\f01b";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  transform: translateZ(0);
}
.hvr-icon-up:hover:before, .hvr-icon-up:focus:before, .hvr-icon-up:active:before {
  animation-name: hvr-icon-up;
  animation-duration: 0.75s;
  animation-timing-function: ease-out;
}

/* Icon Spin */
.hvr-icon-spin {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
}
.hvr-icon-spin:before {
  content: "\f021";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  transition-duration: 1s;
  transition-property: transform;
  transition-timing-function: ease-in-out;
}
.hvr-icon-spin:hover:before, .hvr-icon-spin:focus:before, .hvr-icon-spin:active:before {
  transform: rotate(360deg);
}

/* Icon Drop */
@keyframes hvr-icon-drop {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
    transform: translateY(-100%);
  }
  51%, 100% {
    opacity: 1;
  }
}
/* Icon Drop */
.hvr-icon-drop {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
}
.hvr-icon-drop:before {
  content: "\f041";
  position: absolute;
  right: 1em;
  opacity: 1;
  padding: 0 1px;
  font-family: FontAwesome;
  transform: translateZ(0);
}
.hvr-icon-drop:hover:before, .hvr-icon-drop:focus:before, .hvr-icon-drop:active:before {
  opacity: 0;
  transition-duration: 0.3s;
  animation-name: hvr-icon-drop;
  animation-duration: 0.5s;
  animation-delay: 0.3s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-in-out;
  animation-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

/* Icon Fade */
.hvr-icon-fade {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
}
.hvr-icon-fade:before {
  content: "\f00c";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  transform: translateZ(0);
  transition-duration: 0.5s;
  transition-property: color;
}
.hvr-icon-fade:hover:before, .hvr-icon-fade:focus:before, .hvr-icon-fade:active:before {
  color: #0F9E5E;
}

/* Icon Float Away */
@keyframes hvr-icon-float-away {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(-1em);
  }
}
/* Icon Float Away */
.hvr-icon-float-away {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
}
.hvr-icon-float-away:before, .hvr-icon-float-away:after {
  content: "\f055";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
}
.hvr-icon-float-away:after {
  opacity: 0;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}
.hvr-icon-float-away:hover:after, .hvr-icon-float-away:focus:after, .hvr-icon-float-away:active:after {
  animation-name: hvr-icon-float-away;
  animation-timing-function: ease-out;
}

/* Icon Sink Away */
@keyframes hvr-icon-sink-away {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(1em);
  }
}
/* Icon Sink Away */
.hvr-icon-sink-away {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
}
.hvr-icon-sink-away:before, .hvr-icon-sink-away:after {
  content: "\f056";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  transform: translateZ(0);
}
.hvr-icon-sink-away:after {
  opacity: 0;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}
.hvr-icon-sink-away:hover:after, .hvr-icon-sink-away:focus:after, .hvr-icon-sink-away:active:after {
  animation-name: hvr-icon-sink-away;
  animation-timing-function: ease-out;
}

/* Icon Grow */
.hvr-icon-grow {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
  transition-duration: 0.3s;
}
.hvr-icon-grow:before {
  content: "\f118";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  transform: translateZ(0);
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
}
.hvr-icon-grow:hover:before, .hvr-icon-grow:focus:before, .hvr-icon-grow:active:before {
  transform: scale(1.3) translateZ(0);
}

/* Icon Shrink */
.hvr-icon-shrink {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
  transition-duration: 0.3s;
}
.hvr-icon-shrink:before {
  content: "\f119";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  transform: translateZ(0);
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
}
.hvr-icon-shrink:hover:before, .hvr-icon-shrink:focus:before, .hvr-icon-shrink:active:before {
  transform: scale(0.8);
}

/* Icon Pulse */
@keyframes hvr-icon-pulse {
  25% {
    transform: scale(1.3);
  }
  75% {
    transform: scale(0.8);
  }
}
.hvr-icon-pulse {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
}
.hvr-icon-pulse:before {
  content: "\f015";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  transform: translateZ(0);
  transition-timing-function: ease-out;
}
.hvr-icon-pulse:hover:before, .hvr-icon-pulse:focus:before, .hvr-icon-pulse:active:before {
  animation-name: hvr-icon-pulse;
  animation-duration: 1s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

/* Icon Pulse Grow */
@keyframes hvr-icon-pulse-grow {
  to {
    transform: scale(1.3);
  }
}
.hvr-icon-pulse-grow {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
}
.hvr-icon-pulse-grow:before {
  content: "\f015";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  transform: translateZ(0);
  transition-timing-function: ease-out;
}
.hvr-icon-pulse-grow:hover:before, .hvr-icon-pulse-grow:focus:before, .hvr-icon-pulse-grow:active:before {
  animation-name: hvr-icon-pulse-grow;
  animation-duration: 0.3s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

/* Icon Pulse Shrink */
@keyframes hvr-icon-pulse-shrink {
  to {
    transform: scale(0.8);
  }
}
.hvr-icon-pulse-shrink {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
}
.hvr-icon-pulse-shrink:before {
  content: "\f015";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  transform: translateZ(0);
  transition-timing-function: ease-out;
}
.hvr-icon-pulse-shrink:hover:before, .hvr-icon-pulse-shrink:focus:before, .hvr-icon-pulse-shrink:active:before {
  animation-name: hvr-icon-pulse-shrink;
  animation-duration: 0.3s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

/* Icon Push */
@keyframes hvr-icon-push {
  50% {
    transform: scale(0.5);
  }
}
.hvr-icon-push {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
  transition-duration: 0.3s;
}
.hvr-icon-push:before {
  content: "\f006";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  transform: translateZ(0);
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
}
.hvr-icon-push:hover:before, .hvr-icon-push:focus:before, .hvr-icon-push:active:before {
  animation-name: hvr-icon-push;
  animation-duration: 0.3s;
  animation-timing-function: linear;
  animation-iteration-count: 1;
}

/* Icon Pop */
@keyframes hvr-icon-pop {
  50% {
    transform: scale(1.5);
  }
}
.hvr-icon-pop {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
  transition-duration: 0.3s;
}
.hvr-icon-pop:before {
  content: "\f005";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  transform: translateZ(0);
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
}
.hvr-icon-pop:hover:before, .hvr-icon-pop:focus:before, .hvr-icon-pop:active:before {
  animation-name: hvr-icon-pop;
  animation-duration: 0.3s;
  animation-timing-function: linear;
  animation-iteration-count: 1;
}

/* Icon Bounce */
.hvr-icon-bounce {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
  transition-duration: 0.3s;
}
.hvr-icon-bounce:before {
  content: "\f087";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  transform: translateZ(0);
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
}
.hvr-icon-bounce:hover:before, .hvr-icon-bounce:focus:before, .hvr-icon-bounce:active:before {
  transform: scale(1.5);
  transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}

/* Icon Rotate */
.hvr-icon-rotate {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
  transition-duration: 0.3s;
}
.hvr-icon-rotate:before {
  content: "\f0c6";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  transform: translateZ(0);
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
}
.hvr-icon-rotate:hover:before, .hvr-icon-rotate:focus:before, .hvr-icon-rotate:active:before {
  transform: rotate(20deg);
}

/* Icon Grow Rotate */
.hvr-icon-grow-rotate {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
  transition-duration: 0.3s;
}
.hvr-icon-grow-rotate:before {
  content: "\f095";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  transform: translateZ(0);
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
}
.hvr-icon-grow-rotate:hover:before, .hvr-icon-grow-rotate:focus:before, .hvr-icon-grow-rotate:active:before {
  transform: scale(1.5) rotate(12deg);
}

/* Icon Float */
.hvr-icon-float {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
  transition-duration: 0.3s;
}
.hvr-icon-float:before {
  content: "\f01b";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  transform: translateZ(0);
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
}
.hvr-icon-float:hover:before, .hvr-icon-float:focus:before, .hvr-icon-float:active:before {
  transform: translateY(-4px);
}

/* Icon Sink */
.hvr-icon-sink {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
  transition-duration: 0.3s;
}
.hvr-icon-sink:before {
  content: "\f01a";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  transform: translateZ(0);
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
}
.hvr-icon-sink:hover:before, .hvr-icon-sink:focus:before, .hvr-icon-sink:active:before {
  transform: translateY(4px);
}

/* Icon Bob */
@keyframes hvr-icon-bob {
  0% {
    transform: translateY(-6px);
  }
  50% {
    transform: translateY(-2px);
  }
  100% {
    transform: translateY(-6px);
  }
}
@keyframes hvr-icon-bob-float {
  100% {
    transform: translateY(-6px);
  }
}
.hvr-icon-bob {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
  transition-duration: 0.3s;
}
.hvr-icon-bob:before {
  content: "\f077";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  transform: translateZ(0);
}
.hvr-icon-bob:hover:before, .hvr-icon-bob:focus:before, .hvr-icon-bob:active:before {
  animation-name: hvr-icon-bob-float, hvr-icon-bob;
  animation-duration: .3s, 1.5s;
  animation-delay: 0s, .3s;
  animation-timing-function: ease-out, ease-in-out;
  animation-iteration-count: 1, infinite;
  animation-fill-mode: forwards;
  animation-direction: normal, alternate;
}

/* Icon Hang */
@keyframes hvr-icon-hang {
  0% {
    transform: translateY(6px);
  }
  50% {
    transform: translateY(2px);
  }
  100% {
    transform: translateY(6px);
  }
}
@keyframes hvr-icon-hang-sink {
  100% {
    transform: translateY(6px);
  }
}
.hvr-icon-hang {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
  transition-duration: 0.3s;
}
.hvr-icon-hang:before {
  content: "\f078";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  transform: translateZ(0);
}
.hvr-icon-hang:hover:before, .hvr-icon-hang:focus:before, .hvr-icon-hang:active:before {
  animation-name: hvr-icon-hang-sink, hvr-icon-hang;
  animation-duration: .3s, 1.5s;
  animation-delay: 0s, .3s;
  animation-timing-function: ease-out, ease-in-out;
  animation-iteration-count: 1, infinite;
  animation-fill-mode: forwards;
  animation-direction: normal, alternate;
}

/* Icon Wobble Horizontal */
@keyframes hvr-icon-wobble-horizontal {
  16.65% {
    transform: translateX(6px);
  }
  33.3% {
    transform: translateX(-5px);
  }
  49.95% {
    transform: translateX(4px);
  }
  66.6% {
    transform: translateX(-2px);
  }
  83.25% {
    transform: translateX(1px);
  }
  100% {
    transform: translateX(0);
  }
}
.hvr-icon-wobble-horizontal {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
  transition-duration: 0.3s;
}
.hvr-icon-wobble-horizontal:before {
  content: "\f061";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  transform: translateZ(0);
}
.hvr-icon-wobble-horizontal:hover:before, .hvr-icon-wobble-horizontal:focus:before, .hvr-icon-wobble-horizontal:active:before {
  animation-name: hvr-icon-wobble-horizontal;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
}

/* Icon Wobble Vertical */
@keyframes hvr-icon-wobble-vertical {
  16.65% {
    transform: translateY(6px);
  }
  33.3% {
    transform: translateY(-5px);
  }
  49.95% {
    transform: translateY(4px);
  }
  66.6% {
    transform: translateY(-2px);
  }
  83.25% {
    transform: translateY(1px);
  }
  100% {
    transform: translateY(0);
  }
}
.hvr-icon-wobble-vertical {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
  transition-duration: 0.3s;
}
.hvr-icon-wobble-vertical:before {
  content: "\f062";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  transform: translateZ(0);
}
.hvr-icon-wobble-vertical:hover:before, .hvr-icon-wobble-vertical:focus:before, .hvr-icon-wobble-vertical:active:before {
  animation-name: hvr-icon-wobble-vertical;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
}

/* Icon Buzz */
@keyframes hvr-icon-buzz {
  50% {
    transform: translateX(3px) rotate(2deg);
  }
  100% {
    transform: translateX(-3px) rotate(-2deg);
  }
}
.hvr-icon-buzz {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
  transition-duration: 0.3s;
}
.hvr-icon-buzz:before {
  content: "\f017";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  transform: translateZ(0);
}
.hvr-icon-buzz:hover:before, .hvr-icon-buzz:focus:before, .hvr-icon-buzz:active:before {
  animation-name: hvr-icon-buzz;
  animation-duration: 0.15s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

/* Icon Buzz Out */
@keyframes hvr-icon-buzz-out {
  10% {
    transform: translateX(3px) rotate(2deg);
  }
  20% {
    transform: translateX(-3px) rotate(-2deg);
  }
  30% {
    transform: translateX(3px) rotate(2deg);
  }
  40% {
    transform: translateX(-3px) rotate(-2deg);
  }
  50% {
    transform: translateX(2px) rotate(1deg);
  }
  60% {
    transform: translateX(-2px) rotate(-1deg);
  }
  70% {
    transform: translateX(2px) rotate(1deg);
  }
  80% {
    transform: translateX(-2px) rotate(-1deg);
  }
  90% {
    transform: translateX(1px) rotate(0);
  }
  100% {
    transform: translateX(-1px) rotate(0);
  }
}
.hvr-icon-buzz-out {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  padding-right: 2.2em;
  transition-duration: 0.3s;
}
.hvr-icon-buzz-out:before {
  content: "\f023";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  transform: translateZ(0);
}
.hvr-icon-buzz-out:hover:before, .hvr-icon-buzz-out:focus:before, .hvr-icon-buzz-out:active:before {
  animation-name: hvr-icon-buzz-out;
  animation-duration: 0.75s;
  animation-timing-function: linear;
  animation-iteration-count: 1;
}

/* CURLS */
/* Curl Top Left */
.hvr-curl-top-left {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(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: white; /* IE9 */
  background: linear-gradient(135deg, white 45%, #aaa 50%, #ccc 56%, white 80%);
  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr="#ffffff", endColorstr="#000000"); /*For IE7-8-9*/
  z-index: 1000;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4);
  transition-duration: 0.3s;
  transition-property: width, height;
}
.hvr-curl-top-left:hover:before, .hvr-curl-top-left:focus:before, .hvr-curl-top-left:active:before {
  width: 25px;
  height: 25px;
}

/* Curl Top Right */
.hvr-curl-top-right {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(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: white; /* IE9 */
  background: linear-gradient(225deg, white 45%, #aaa 50%, #ccc 56%, white 80%);
  box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.4);
  transition-duration: 0.3s;
  transition-property: width, height;
}
.hvr-curl-top-right:hover:before, .hvr-curl-top-right:focus:before, .hvr-curl-top-right:active:before {
  width: 25px;
  height: 25px;
}

/* Curl Bottom Right */
.hvr-curl-bottom-right {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(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: white; /* IE9 */
  background: linear-gradient(315deg, white 45%, #aaa 50%, #ccc 56%, white 80%);
  box-shadow: -1px -1px 1px rgba(0, 0, 0, 0.4);
  transition-duration: 0.3s;
  transition-property: width, height;
}
.hvr-curl-bottom-right:hover:before, .hvr-curl-bottom-right:focus:before, .hvr-curl-bottom-right:active:before {
  width: 25px;
  height: 25px;
}

/* Curl Bottom Left */
.hvr-curl-bottom-left {
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(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: white; /* IE9 */
  background: linear-gradient(45deg, white 45%, #aaa 50%, #ccc 56%, white 80%);
  box-shadow: 1px -1px 1px rgba(0, 0, 0, 0.4);
  transition-duration: 0.3s;
  transition-property: width, height;
}
.hvr-curl-bottom-left:hover:before, .hvr-curl-bottom-left:focus:before, .hvr-curl-bottom-left:active:before {
  width: 25px;
  height: 25px;
}

.section4 {
  margin-bottom: 6rem !important;
}
.section4 .service_list_item.text_pic {
  background: linear-gradient(to left, transparent 0%, transparent 6%, #efefef 6%, #efefef 100%);
}
.section4 .service_list_item {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  background: linear-gradient(to left, transparent 0%, transparent 6%, #efefef 6%, #efefef 100%);
  border-radius: 100px 0 100px 0;
  margin-bottom: 45px;
}
.section4 .service_list_item .service_list_pic {
  order: 2;
}
.section4 .service_list_item .service_list_text {
  order: 1;
}
.section4 .service_list_pic {
  width: 43%;
  padding-bottom: 29.67%;
  position: relative;
  transform: translateY(45px);
  border-radius: 100px 0 100px 0;
  overflow: hidden;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
.section4 .service_list_pic img {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.section4 .service_list_text {
  width: 57%;
  padding: 0 50px;
}
.section4 .service_list_text h2 {
  color: #464646;
  margin-bottom: 20px;
  font-size: 32px;
}

@media screen and (max-width: 1399px) {
  .section4 .service_list_text {
    padding: 30px 50px;
  }
}
@media screen and (max-width: 991px) {
  .section4 .service_list_item {
    margin-top: 30px;
    margin-bottom: 0px;
  }
  .section4 .service_list_item.text_pic {
    background: linear-gradient(to right, transparent 0%, transparent 6%, #efefef 6%, #efefef 100%);
  }
  .section4 .service_list {
    padding-top: 30px;
  }
  .section4 .service_list_pic {
    width: 95%;
    padding-bottom: 65.55%;
    transform: translateY(-30px);
  }
  .section4 .service_list_text {
    width: 95%;
    margin-left: auto;
    margin-right: 0;
    padding: 0 30px 30px;
  }
  .section4 .service_list_item {
    background: linear-gradient(to right, transparent 0%, transparent 6%, #efefef 6%, #efefef 100%);
  }
  .section4 .service_list_item .service_list_pic {
    order: 1;
  }
  .section4 .service_list_item .service_list_text {
    order: 2;
  }
}
@media screen and (max-width: 575px) {
  .section4 .service_list_text h2 {
    font-size: 28px;
  }
  .section4 .service_list_text p {
    font-size: 14px;
  }
}
@media screen and (max-width: 370px) {
  .section4 .service_list_text h2 {
    font-size: 24px;
    margin-bottom: 10px;
  }
}
.section5 {
  margin-bottom: 6rem !important;
}
.section5 .service_list_item {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  background: linear-gradient(to right, transparent 0%, transparent 6%, #efefef 6%, #efefef 100%);
  border-radius: 100px 0 100px 0;
  margin-bottom: 45px;
}
.section5 .service_list_pic {
  width: 43%;
  padding-bottom: 29.67%;
  position: relative;
  transform: translateY(45px);
  border-radius: 100px 0 100px 0;
  overflow: hidden;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
.section5 .service_list_pic img {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.section5 .service_list_text {
  width: 57%;
  padding: 0 50px;
}
.section5 .service_list_text h2 {
  color: #464646;
  margin-bottom: 20px;
  font-size: 32px;
}

@media screen and (max-width: 1399px) {
  .section5 .service_list_text {
    padding: 30px 50px;
  }
}
@media screen and (max-width: 991px) {
  .section5 .service_list_item {
    margin-top: 30px;
    margin-bottom: 0px;
  }
  .section5 .service_list {
    padding-top: 30px;
  }
  .section5 .service_list_pic {
    width: 95%;
    padding-bottom: 65.55%;
    transform: translateY(-30px);
  }
  .section5 .service_list_text {
    width: 95%;
    margin-left: auto;
    margin-right: 0;
    padding: 0 30px 30px;
  }
  .section5 .service_list_item {
    background: linear-gradient(to right, transparent 0%, transparent 6%, #efefef 6%, #efefef 100%);
  }
}
@media screen and (max-width: 575px) {
  .section5 .service_list_text h2 {
    font-size: 28px;
  }
  .section5 .service_list_text p {
    font-size: 14px;
  }
}
@media screen and (max-width: 370px) {
  .section5 .service_list_text h2 {
    font-size: 24px;
    margin-bottom: 10px;
  }
}
.section15 .events-section.section-bg .container > .row {
  margin-right: 5px;
  margin-left: 5px;
}
.section15 .events-section.section-bg .container > .row .row {
  margin: auto;
}
.section15 .events-listing-section {
  margin-bottom: 100px;
}
.section15 .events-detail-section .custom-block-info {
  padding: 40px 60px;
}
.section15 .events-detail-info {
  background-color: #f4f1de;
  border-radius: 20px;
  padding: 50px 25px;
}
.section15 .events-title {
  font-size: 28px;
  font-weight: 500;
}
.section15 .custom-block {
  border-radius: 20px;
  position: relative;
  overflow: hidden;
  padding: 30px 20px;
}
.section15 .custom-block-date-wrap {
  background-color: #81b29a;
  border-radius: 20px;
  text-align: center;
  padding: 20px 30px;
}
.section15 .custom-block-date {
  font-size: 42px;
}
.section15 .custom-block-info {
  padding-top: 10px;
}
.section15 .custom-block-image-wrap {
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}
.section15 .custom-block-image-wrap:hover .custom-block-image {
  transform: scale(1.2);
}
.section15 .custom-block-image-wrap:hover .custom-block-icon {
  opacity: 1;
}
.section15 .custom-block-image {
  transition: all 0.3s;
}
.section15 .custom-block-icon {
  background: #f2cc8f;
  border-radius: 100px;
  color: #fff;
  width: 60px;
  height: 60px;
  line-height: 60px;
  text-align: center;
  font-size: 28px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: all 0.5s;
}
.section15 .custom-block-icon:hover {
  background: #e07a5f;
  color: #fff;
}
.section15 a {
  display: inline-block;
  color: #3d405b;
  text-decoration: none;
}
.section15 p {
  color: #717275;
  font-size: 18px;
  font-weight: 400;
  line-height: 22px;
}

.section24_title h2 {
  font-size: 26px;
  color: #55361a;
}
.section24_title a {
  color: #55361a !important;
}
.section24_title a:hover {
  color: #55361a !important;
}

.section24 .custom-block {
  border: 2px solid #e6eeff;
  border-radius: 20px;
  position: relative;
  overflow: hidden;
  padding: 30px;
  transition: all 0.3s ease;
}
.section24 .custom-block .custom-block-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.section24 .custom-block .custom-btn {
  font-size: 14px;
  padding: 7px 15px;
}
.section24 .custom-block .custom-block-info + div .badge {
  background-color: #000;
  color: #fff;
  border-radius: 50px;
  font-size: 14px;
  display: flex;
  justify-content: center;
  text-align: center;
  width: 40px;
  height: 40px;
  line-height: 30px;
  margin-top: 5px;
  margin-bottom: 5px;
}
.section24 .custom-block .custom-block-info + div .badge:hover {
  background-color: #06c;
}
.section24 .custom-block:hover {
  background: #fff;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  border-color: transparent;
  transform: translateY(-3px);
}
.section24 .custom-block-info {
  display: block;
  padding: 10px 20px;
  padding-bottom: 0;
}
.section24 .custom-block-image-wrap {
  position: relative;
  display: block;
  height: 100%;
}
.section24 .custom-block-image-wrap > a {
  display: block;
}
.section24 .custom-block-image {
  border-radius: 20px;
  display: block;
  width: 112px;
  height: 112px;
  -o-object-fit: cover;
     object-fit: cover;
}
.section24 .custom-block-image-detail-page .custom-block-image {
  width: 100%;
  height: 212px;
}
.section24 .custom-block-icon-wrap {
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}
.section24 .custom-block-icon-wrap .section-overlay {
  opacity: 0.25;
}
.section24 .custom-block-btn-group {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  margin: 20px;
}
.section24 .custom-block-btn-group .custom-block-icon {
  position: relative;
  top: 0;
  left: 0;
  transform: none;
}
.section24 .custom-block-icon {
  background: #e6eeff;
  border-radius: 20px;
  font-size: 16px;
  color: #fff;
  text-align: center;
  width: 32.5px;
  height: 32.5px;
  line-height: 32.5px;
  transition: all 0.3s;
}
.section24 .custom-block-icon:hover {
  background: #06c;
  color: #fff;
}
.section24 .custom-block-full {
  background-color: #f0f8ff;
  border-color: transparent;
}
.section24 .custom-block-full .custom-block-info {
  padding: 20px;
  padding-bottom: 0;
}
.section24 .custom-block-full .custom-block-info h5 a {
  font-size: 20px;
  line-height: 1.2;
  color: #55361a !important;
}
.section24 .custom-block-full .custom-block-image {
  width: 100%;
  height: 210px;
}
.section24 .custom-block-full .social-share {
  position: absolute;
  top: 0;
  right: 0;
  margin: 50px;
}
.section24 .custom-block-full:hover {
  border-color: #e6eeff;
}
.section24 .custom-block-top small {
  color: #717275;
  font-family: "Sono", sans-serif;
}
.section24 .custom-block-top .badge {
  background-color: #06c;
  color: #fff;
  display: inline-block;
  vertical-align: middle;
  height: 26.64px;
  line-height: 20px;
}
.section24 .custom-block-bottom a:hover span {
  color: #e6eeff;
}
.section24 .custom-block-bottom a span {
  font-family: "Sono", sans-serif;
  color: #717275;
  text-transform: uppercase;
  margin-left: 3px;
}
.section24 .custom-block-overlay {
  border-color: transparent;
  padding: 0;
}
.section24 .custom-block-overlay .custom-block-image {
  margin: auto;
  width: 100%;
  height: 210px;
  transition: all 0.3s;
}
.section24 .custom-block-overlay:hover .custom-block-image {
  padding: 15px;
  padding-bottom: 0;
}
.section24 .custom-block-overlay-info {
  padding: 15px 20px 20px 20px;
}
.section24 a {
  touch-action: manipulation;
  transition: all 0.3s;
  display: inline-block;
  color: #1a1a2e;
  text-decoration: none;
}
.section24 button {
  touch-action: manipulation;
  transition: all 0.3s;
}
.section24 a:hover {
  color: #55361a;
}

.section29 .swiper-container {
  height: calc(100vh - 0px);
  margin: 0px;
  background-color: #212741;
}
.section29 .swiper-slide {
  overflow: hidden;
}
.section29 .slide-inner {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-size: cover;
  background-position: center;
}
.section29 .slide-inner .header-text {
  position: absolute;
  width: 50%;
  top: 50%;
  transform: translateY(-50%);
}
@media (min-width: 768px) {
  .section29 .slide-inner .header-text {
    left: 17%;
  }
}
.section29 .slide-inner .header-text h2 {
  position: relative;
  z-index: 2;
  font-size: 56px;
  color: #fff;
  font-weight: 700;
  opacity: 1;
  visibility: visible;
  line-height: 70px;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .section29 .slide-inner .header-text h2 {
    font-size: 40px;
  }
}
.section29 .slide-inner .header-text h2 em {
  font-style: normal;
  color: #ff511a;
}
.section29 .slide-inner .header-text .div-dec {
  width: 80px;
  height: 6px;
  border-radius: 3px;
  background-color: #fff;
  margin-bottom: 40px;
  opacity: 1;
  visibility: visible;
}
.section29 .slide-inner .header-text p {
  color: #fff;
  margin-right: 60px;
  margin-bottom: 50px;
  line-height: 1.5;
  font-size: 20px;
  opacity: 1;
  visibility: visible;
}
.section29 .slide-inner .header-text .buttons {
  display: inline;
  opacity: 1;
  visibility: visible;
}
.section29 .slide-inner .header-text .buttons .green-button {
  display: inline;
  float: left;
  margin-right: 20px;
}
.section29 .swiper-slide-active h2 {
  animation: fadeInLeft 0.8s;
  animation-delay: 0.3s;
  opacity: 1;
}
.section29 .swiper-slide-active p {
  animation: fadeInRight 0.8s;
  animation-delay: 0.3s;
  opacity: 1;
}
.section29 .swiper-slide-active .div-dec {
  animation: fadeIn 0.8s;
  animation-delay: 0.3s;
  opacity: 1;
}
.section29 .swiper-slide-active .buttons .green-button {
  animation: fadeInUp 0.8s;
  animation-delay: 0.3s;
  opacity: 1;
}
.section29 .swiper-slide-active .buttons .orange-button {
  animation: fadeInUp 0.8s;
  animation-delay: 0.3s;
  opacity: 1;
}
.section29 .swiper-button-next {
  color: #fff;
}
.section29 .swiper-button-prev {
  color: #fff;
}
.section29 .orange-button a {
  font-size: 14px;
  color: #fff;
  background-color: #ff511a;
  padding: 12px 30px;
  display: inline-block;
  border-radius: 5px;
  font-weight: 500;
  text-transform: capitalize;
  letter-spacing: 0.5px;
  transition: all 0.3s;
  text-decoration: none;
}
.section29 .orange-button a:hover {
  opacity: 0.9;
}

@media (max-width: 992px) {
  .section29 .slide-inner .header-text {
    width: 80%;
  }
}
@media (max-width: 767px) {
  .section29 .slide-inner .header-text p {
    display: none;
  }
  .section29 .slide-inner .header-text {
    text-align: center;
    width: 80%;
    margin-left: 10%;
    margin-right: 10%;
  }
  .section29 .slide-inner .header-text .div-dec {
    margin-left: auto;
    margin-right: auto;
  }
  .section29 .slide-inner .header-text .buttons {
    display: inline-flex;
  }
  .section29 .slide-inner .header-text .buttons .green-button {
    float: none;
  }
}
.section36 section.our-office .left-info {
  margin-right: 0px;
  position: relative;
  z-index: 5;
  background-color: #fff;
  margin-top: 40px;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.05);
  border-radius: 15px;
  padding: 40px;
}
.section36 section.our-office .left-info p {
  margin-bottom: 40px;
}
.section36 section.our-office .left-info ul li {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #4a4a4a;
  font-style: italic;
  margin-bottom: 20px;
}
.section36 section.our-office .left-info ul li:last-child {
  margin-bottom: 0px;
}
.section36 section.our-office .left-info .main-button-gradient {
  margin-top: 40px;
}
.section36 section.our-office #video {
  margin-left: -70px;
}
.section36 section.our-office #video .thumb {
  position: relative;
}
.section36 section.our-office #video .thumb .play-button {
  position: absolute;
  top: 50%;
  left: 50%;
}
.section36 section.our-office #video .thumb .play-button a {
  width: 80px;
  height: 80px;
  display: inline-block;
  text-align: center;
  line-height: 80px;
  border-radius: 50%;
  transform: translate(-40px, -40px);
  color: #fff;
  font-size: 22px;
  background: linear-gradient(-145deg, #55361a 0%, #e6eeff 100%);
}
.section36 section.our-office #video img {
  border-radius: 20px;
}
.section36 .section-heading {
  position: relative;
  z-index: 2;
  padding-top: 20px;
  margin-top: 0px;
  text-align: center;
  margin-bottom: 60px;
}
.section36 .section-heading h6 {
  font-size: 13px;
  text-transform: uppercase;
  color: #7a7a7a;
  font-weight: 600;
}
.section36 .section-heading h4 {
  margin-top: 10px;
  line-height: 40px;
  font-size: 28px;
  font-weight: 900;
  text-transform: capitalize;
  color: #111;
}
.section36 .section-heading h4 em {
  font-style: normal;
  color: #55361a;
}
.section36 .section-heading p {
  margin-top: 30px;
}
.section36 ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
.section36 li {
  padding: 0;
  margin: 0;
  list-style: none;
}
.section36 img {
  width: 100%;
  overflow: hidden;
}
.section36 .main-button-gradient a {
  font-size: 13px;
  color: #fff;
  background: linear-gradient(-145deg, #55361a 0%, #e6eeff 100%);
  padding: 12px 30px;
  display: inline-block;
  border-radius: 5px;
  font-weight: 500;
  text-transform: uppercase;
  transition: all 0.3s;
  text-decoration: none;
}
.section36 .main-button-gradient a:hover {
  background: linear-gradient(-145deg, #55361a 0%, #e6eeff 100%);
  opacity: 0.9;
}

@media (max-width: 992px) {
  .section36 section.our-office #video {
    margin-left: 0px;
    margin-top: 30px;
  }
  .section36 section.contact-us .contact-info {
    margin-top: 15px;
  }
  .section36 section.contact-us #contact {
    margin-left: 0px;
  }
  .section36 section.contact-us #contact button {
    float: none;
  }
}
.banner-img {
  width: 100%;
  height: 240px;
  /* 可調整高度 */
  -o-object-fit: cover;
     object-fit: cover;
  /* 保持裁切且不變形 */
  display: block;
}

.banner-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  /* 不阻塞下方點擊 */
}

.banner-overlay .content {
  pointer-events: auto;
  /* 讓內容可點選（若需要）*/
  text-align: center;
  color: #fff;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
}

.navBox {
  background-color: #e6eeff !important;
  margin-bottom: 70px;
}
.navBox .container {
  min-height: 40px;
}

.breadcrumb a {
  color: #55361a;
}

.product_catalog ul li {
  margin: auto 5px;
}
.product_catalog ul li a {
  color: #1a1a2e;
  background-color: #fff;
  font-size: 18px;
}
.product_catalog ul li a:hover, .product_catalog ul li a.active {
  color: #1a1a2e;
  background-color: #e6eeff;
  border-radius: 5px;
}

.pagebar .page-link {
  color: #003891;
  /* 主色文字 */
  border-color: #c9d8ff;
}

.pagebar .page-item.active .page-link {
  background-color: #003891;
  border-color: #003891;
  color: #fff;
}

.pagebar .page-link:hover {
  background-color: #d7e3ff;
  color: #003891;
}

.pagebar .page-link:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 56, 145, 0.25);
}

.menuTitle h1 {
  font-size: 26px;
  color: #55361a;
}
.menuTitle .border-bottom {
  width: 60px;
}

.contactUs h2 {
  color: #55361a !important;
  font-size: 28px;
  text-align: left;
  margin-left: 0;
}
.contactUs p {
  color: #1a1a2e !important;
  font-size: 18px;
  line-height: 22px;
  text-align: left;
}
.contactUs h3 {
  color: #1a1a2e !important;
  font-size: 18px;
  line-height: 22px;
  text-align: left;
}

.pageDetail h1 {
  font-size: 28px;
}
.pageDetail .badge-tier {
  background: rgba(0, 56, 145, 0.12);
  border-radius: 999px;
  padding: 0.35rem 0.75rem;
  font-weight: 600;
  font-size: 0.9rem;
}
.pageDetail .cta-btn {
  background: var(--brand);
  color: #fff;
  border-radius: 0.75rem;
  padding: 0.6rem 1.1rem;
  font-weight: 600;
  box-shadow: 0 6px 18px rgba(0, 56, 145, 0.12);
}
.pageDetail .cta-btn:hover {
  transform: translateY(-2px);
}
@media (max-width: 767.98px) {
  .pageDetail .promo {
    text-align: center;
  }
}

.productItem .right .title {
  font-size: 28px;
}

.price {
  font-size: 18px;
  font-weight: bold;
}

.product-detail .spec-label {
  width: 160px;
  font-weight: 600;
}

.inpage-section {
  color: #1a1a2e;
  line-height: 1.8;
}
.inpage-section .inpage-title {
  font-size: 1.25rem;
  /* 約等於 h5 */
  font-weight: 600;
  color: #003891;
  /* 主色 */
  border-left: 4px solid #003891;
  padding-left: 10px;
}
.inpage-section .inpage-item p {
  text-align: justify;
  margin-bottom: 1rem;
}

.fqa .content .fqaBox .fqaCol .fqaBlock p {
  font-weight: 400;
  font-size: 16px;
}

.orderWrapCart .orderBox span {
  width: 100px !important;
}

@media (max-width: 767px) {
  .payment .paymentBox label {
    display: inline-block;
    width: auto;
    margin-right: 6px;
  }
}

@media (min-width: 768px) {
  body.order_list .orderWrap {
    margin-bottom: 50px;
  }
}
@media (min-width: 768px) {
  body.order_list .orderWrap .order div {
    flex: 0 0 16.6666666667%;
  }
}
@media (min-width: 768px) {
  body.order_list .orderWrap .order div:nth-child(4) {
    flex: 0 0 12.2857%;
  }
}
@media (min-width: 768px) {
  body.order_list .orderWrap .order div:nth-child(5) {
    flex: 0 0 16.2857%;
  }
}
body.order_list .orderWrap .order div:nth-child(6) {
  text-align: center;
}
body.order_list .orderWrap .order div:last-child {
  display: inline-block;
}

.fix_right {
  position: fixed;
  top: 50vh;
  right: 0;
  width: 60px;
  z-index: 100;
}
.fix_right i {
  background-color: #55361a;
  color: #fff;
  padding: 6px;
  height: auto;
  width: 100%;
  float: none;
  position: relative;
  top: 0;
  clip: rect(0, auto, auto, auto);
}

body {
  color: #1a1a2e !important;
}
body menu {
  background-color: #e6eeff !important;
}
@media (max-width: 767px) {
  body menu {
    height: 230px;
  }
}
body menu ul li a {
  color: #1a1a2e !important;
  font-weight: 400 !important;
}
body menu ul li a:hover {
  color: #55361a !important;
}
body footer {
  margin-top: 100px;
  color: #fff !important;
  background-color: #55361a !important;
}
body footer a {
  color: #fff !important;
}
body footer a:hover {
  color: #fff !important;
  text-decoration: none;
}
body footer .data p {
  color: #fff !important;
}
body footer .data h2 {
  color: #fff !important;
  font-size: 30px;
}
body footer .link {
  justify-content: flex-start !important;
}
body footer .link ul li a {
  border: none !important;
}
body footer .link ul li a:hover {
  border: none !important;
}
.logo a {
  color: #1a1a2e !important;
  font-size: 26px;
}
.logo img {
  max-width: 170px;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}/*# sourceMappingURL=web.css.map */