.cy-fadeInRight {
  transform: translateX(100%);
  opacity: 0;
  transition-property: opacity, transform;
  transition-duration: 0.48s, 0.68s;
  transition-timing-function: ease-in-out, cubic-bezier(0, .5, .6, 1.38);
}

.action.cy-fadeInRight {
  transform: none;
  opacity: 1;
}

.cy-fadeInLeft {
  transform: translateX(-100%);
  opacity: 0;
  transition-duration: 0.48s;
}

.action.cy-fadeInLeft {
  transform: none;
  opacity: 1;
}

.cy-fadeInUp {
  transform: translateY(50%);
  opacity: 0;
  transition-property: opacity, transform;
  transition-duration: 0.48s, 0.68s;
}

.action.cy-fadeInUp {
  transform: none;
  opacity: 1;
}

.cy-fadeInDown {
  transform: translateY(-100%);
  opacity: 0;
  transition-property: transform, opacity;
  transition-duration: .8s, .8s !important;
}

.action.cy-fadeInDown {
  transform: none;
  opacity: 1;
}

.cy-zoomIn {
  transform: scale3d(.3, .3, .3);
  opacity: 0;
  transition-property: opacity, transform;
  transition-duration: 0.48s, 0.68s;
  transition-timing-function: ease-in-out, cubic-bezier(0, .5, .6, 1.38);
}

.action.cy-zoomIn {
  transform: none;
  opacity: 1;
}

.cy-zoomOut {
  opacity: 1;
  transition-property: opacity, transform;
  transition-duration: 0.48s, 0.68s;
  transition-timing-function: ease-in-out, cubic-bezier(0, .5, .6, 1.38);
}

.action.cy-zoomOut {
  opacity: 0;
  transform: scale3d(.3, .3, .3);
}

.cy-slideInRight {
  transform: translate3d(100%, 0, 0);
  opacity: 0;
  transition-duration: 0.68s;
}

.action.cy-slideInRight {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

.cy-slideInLeft {
  transform: translate3d(-100%, 0, 0);
  opacity: 0;
  transition-duration: 0.68s;
}

.action.cy-slideInLeft {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

.cy-fadeInScale {
  transform: scale(0);
  opacity: 0;
  transition-duration: 0.8s;
}

.action.cy-fadeInScale {
  transform: scale(1);
  opacity: 1;
}
/* Transform Animation */

/* Delay Time */
.cy-delay-100{  transition-delay: 0.1s;  }
.cy-delay-200{  transition-delay: 0.2s;  }
.cy-delay-300{  transition-delay: 0.3s;  }
.cy-delay-400{  transition-delay: 0.4s;  }
.cy-delay-500{  transition-delay: 0.5s;  }
.cy-delay-600{  transition-delay: 0.6s;  }
.cy-delay-700{  transition-delay: 0.7s;  }
.cy-delay-800{  transition-delay: 0.8s;  }
.cy-delay-900{  transition-delay: 0.9s;  }
.cy-delay-1000{  transition-delay: 1s;  }

.cy-delay-50{  transition-delay: 0.05s;  }
.cy-delay-150{  transition-delay: 0.15s;  }
.cy-delay-250{  transition-delay: 0.25s;  }
.cy-delay-350{  transition-delay: 0.35s;  }
.cy-delay-450{  transition-delay: 0.45s;  }
.cy-delay-550{  transition-delay: 0.55s;  }
.cy-delay-650{  transition-delay: 0.65s;  }
.cy-delay-750{  transition-delay: 0.75s;  }
.cy-delay-850{  transition-delay: 0.85s;  }
.cy-delay-950{  transition-delay: 0.95s;  }
/* delay time */

/* Transform Transition */
.cy figure {
  overflow: hidden;
}

.cy img {
  transition: all .38s;
}

/* ********************Slick******************** */
/* Slider */
.slick-loading .slick-list {
  background: #fff url('../images/icons/loading.gif') center center no-repeat;
}

.slick-slider {
  position: relative;

  display: block;
  box-sizing: border-box;

  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;

  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;

  display: block;
  overflow: hidden;

  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;

  display: block;
}

.slick-track:before,
.slick-track:after {
  display: table;

  content: '';
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;

  height: 100%;
  min-height: 1px;
}

[dir='rtl'] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;

  height: auto;

  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Arrows */
.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;

  position: absolute;
  top: 50%;

  display: block;

  width: 20px;
  height: 20px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);

  cursor: pointer;

  color: transparent;
  border: none;
  outline: none;
  background: transparent;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  color: transparent;
  outline: none;
  background: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: .25;
}

.slick-prev:before,
.slick-next:before {
  font-size: 20px;
  line-height: 1;

  opacity: .75;
  color: white;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}

[dir='rtl'] .slick-prev {
  right: -25px;
  left: auto;
}

.slick-prev:before {
  content: '←';
}

[dir='rtl'] .slick-prev:before {
  content: '→';
}

.slick-next {
  right: -25px;
}

[dir='rtl'] .slick-next {
  right: auto;
  left: -25px;
}

.slick-next:before {
  content: '→';
}

[dir='rtl'] .slick-next:before {
  content: '←';
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;

  display: block;

  width: 100%;
  padding: 0;
  margin: 0;

  list-style: none;

  text-align: center;
}

.slick-dots li {
  position: relative;

  display: inline-block;

  width: 20px;
  height: 20px;
  margin: 0 5px;
  padding: 0;

  cursor: pointer;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;

  display: block;

  width: 20px;
  height: 20px;
  padding: 5px;

  cursor: pointer;

  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li button:before {
  font-size: 6px;
  line-height: 20px;

  position: absolute;
  top: 0;
  left: 0;

  width: 20px;
  height: 20px;

  content: '•';
  text-align: center;

  opacity: .25;
  color: black;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  opacity: .75;
  color: black;
}








.hp-carousel {
  position: relative;
  z-index: 1;
}

.hp-carousel-item {
  position: relative;
}

.hp-carousel-item figure {
  margin-bottom: 0;
}

.hp-carousel-item figure img {
  width: 100%;
}

.carousel-style1 .carousel-link {
  position: absolute;
  border-radius: 50%;
  overflow: hidden;
  text-align: center;
}

.carousel-style1 .carousel-link1 {
  top: 25%;
  left: 20%;
  width: 220px;
  height: 220px;
  background: #fff;
}

.carousel-style1 .carousel-link2 {
  top: 46%;
  left: 60%;
  width: 180px;
  height: 180px;
  background: linear-gradient(45deg, rgba(36, 161, 215, .9), rgba(33, 219, 223, .9));
}

.no-cssgradients .carousel-style1 .carousel-link2 {
  background: rgba(36, 161, 215, .9);
}

.no-rgba .carousel-style1 .carousel-link2 {
  background: #24a1d7;
}

.carousel-style1 .carousel-link h2 {
  margin-bottom: 0;
  font-weight: normal;
  line-height: 1.2;
}

.carousel-style1 .carousel-link1 h2 {
  margin-top: 25%;
  font-size: 25px;
  color: #00a6c9;
}

.carousel-style1 .carousel-link2 h2 {
  margin-top: 23%;
  font-size: 20px;
  color: #fff;
}

.carousel-style1 .carousel-link b {
  display: block;
  width: 30px;
  height: 5px;
  margin: 12px auto 18px;
}

.carousel-style1 .carousel-link1 b {
  background: #00a6c9;
}

.carousel-style1 .carousel-link2 b {
  background: #fff;
}

.carousel-style1 .carousel-link i {
  display: inline-block;
  width: 18px;
  height: 14px;
  margin-left: 6px;
  background-position-x: 0;
  vertical-align: text-top;
  transition: all .38s;
}

.carousel-style1 .carousel-link:hover i {
  transform: translate(50%, 0);
}

.carousel-style1 .carousel-link1 span {
  color: #666;
}

.carousel-style1 .carousel-link1 i {
  background-position-y: -160px;
}

.carousel-style1 .carousel-link2 span {
  color: #fff;
}

.carousel-style1 .carousel-link2 i {
  background-position-y: -128px;
}

.carousel-style2 .carousel-desc {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 50%;
    height: 240px;
    margin-top: -120px;
    margin-left: -25%;
    color: #fff;
    text-align: center;
    overflow: hidden;
}

.carousel-style2 .carousel-desc h2 {
  margin-bottom: 0;
  font-size: 40px;
  font-weight: normal;
}

.carousel-style2 .carousel-desc hr {
  height: 1px;
  margin: 10px 0 16px;
  background: #897a77;
  border: 0 none;
}

.carousel-style2 .carousel-desc p {
  margin-bottom: 0;
  font-size: 16px;
}

.carousel-style2 .carousel-desc span {
  display: block;
  text-transform: uppercase;
}

.carousel-style2 .carousel-desc a {
  position: relative;
  display: inline-block;
  margin-top: 50px;
  padding-left: 40px;
  padding-right: 40px;
  line-height: 32px;
  border: 1px solid #fff;
  z-index: 1;
}

.carousel-style2 .carousel-desc a::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  background: rgba(0, 0, 0, .1);
  transition: all .38s;
  z-index: -1;
}

.carousel-style2 .carousel-desc a:hover::before {
  height: 100%;
}

.carousel-mark {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 15%;
  background: linear-gradient(to top, rgba(0, 0, 0, .6), transparent);
  z-index: 5;
}

.no-cssgradients .carousel-mark {
  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr=#00000000, endColorstr=#99000000);
}

.hp-banner .slick-dotted.slick-slider {
  margin-bottom: 0;
}

.hp-banner .slick-dots {
  bottom: 30px;
  height: 15px;
  z-index: 10;
}

.hp-banner .slick-dots li {
  width: 15px;
  height: 15px;
  background: #fff;
  border-radius: 50%;
}

.hp-banner .slick-dots li.slick-active {
  background: #00a6c9;
}

.hp-carousel-item img {
  transition: all 3.8s .5s;
}

.hp-carousel-item.slick-current.slick-active img {
  transform: scale(1.1);
}

.hp-carousel-item .carousel-link {
  transform: scale(.5);
  opacity: 0;
  transition: all .8s .3s;
}

.hp-carousel-item.slick-current.slick-active .carousel-link {
  opacity: 1;
  transform: none;
}

.hp-carousel-item .carousel-desc {
  opacity: 0;
  transition: all 1s .3s;
}

.hp-carousel-item.slick-current.slick-active .carousel-desc {
  opacity: 1;
}

/* Product and Service */
.cy-bg {
  background: #f1f1f1;
}

.hp-title {
  padding: 3.5em 0;
  overflow: hidden;
}

.hp-title h3 {
  position: relative;
  margin-bottom: 1.3em;
  font-size: 26px;
  color: #03328e;
  text-align: center;
}

.hp-title h3::before {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 50%;
  width: 1.5em;
  height: 1px;
  margin-left: -.75em;
  background: #03328e;
}

.hp-title>p {
  margin-bottom: 3em;
  padding: 0 18%;
  text-align: center;
}

.ps-carousel-item {
  position: relative;
  width: 33.33%;
}

.csstransitions .ps-carousel-item a:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(51, 51, 51, .1);
  transform: scale(1, 0);
  transition: all .5s;
  z-index: 1;
}

.csstransitions .ps-carousel-item:hover a:before {
  transform: none;
}

.ps-carousel-item figure {
  margin-bottom: 0;
}

.ps-carousel-item img {
  width: 100%;
}

.ps-carousel-item:hover img {
  transform: scale(1.1);
}

.ps-desc {
  position: absolute;
  top: 5%;
  left: 5%;
  max-width: 95%;
  font-size: 20px;
  color: #fff;
  overflow: hidden;
  z-index: 2;
}

.ps-desc span {
  display: inline-block;
  width: 2em;
  height: 2em;
  margin-right: .5em;
  font-size: 15px;
  font-family: Arial;
  font-weight: bold;
  line-height: 2em;
  text-align: center;
  background: #00a6c9;
  border-radius: 50%;
  vertical-align: top;
}

.ps-carousel .slick-prev,
.ps-carousel .slick-next {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #d1d1d1;
  z-index: 10;
}

.ps-carousel .slick-prev span,
.ps-carousel .slick-next span {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}

.no-csstransitions .ps-carousel .slick-prev:before,
.no-csstransitions .ps-carousel .slick-next:before {
  display: none;
}

.ps-carousel .slick-prev:before,
.ps-carousel .slick-next:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #00a6c9;
  border-radius: 50%;
  transform: scale(0);
  transition: all .38s;
  z-index: -1;
}

.csstransitions .ps-carousel .slick-prev:hover:before,
.csstransitions .ps-carousel .slick-next:hover:before {
  transform: scale(1);
}

.ps-carousel .slick-prev span {
  background-position: 16px 12px;
}

.ps-carousel .slick-next span {
  background-position: -16px 12px;
}

.ps-carousel .slick-prev {
  left: -60px;
}

.ps-carousel .slick-next {
  right: -60px;
}
