/*------------- #MODULES --------------*/
/*------------- #VARIABLES --------------*/
/*------------- #HEADING --------------*/
.heading {
  position: relative;
  z-index: 5; }
  .heading .heading-title {
    font-weight: 400;
    line-height: 1.3;
    margin-bottom: 20px; }
    .heading .heading-title.no-margin {
      margin: 0; }
  .heading .heading-line {
    margin-bottom: 20px;
    position: relative; }
    .heading .heading-line .short-line {
      display: inline-block;
      width: 30px;
      height: 3px;
      background-color: #4cc2c0;
      border-radius: 10px;
      position: relative;
      margin-right: 10px;
      transition: all .4s linear; }
      .heading .heading-line .short-line.bg-yellow-color {
        background-color: #fcd846; }
    .heading .heading-line .long-line {
      display: inline-block;
      width: 100px;
      height: 3px;
      background-color: #4cc2c0;
      border-radius: 10px;
      position: relative;
      transition: all .4s linear; }
      .heading .heading-line .long-line.bg-yellow-color {
        background-color: #fcd846; }
  .heading .heading-subtitle {
    margin-bottom: 15px; }
  .heading p {
    margin-bottom: 30px; }
  .heading .heading-text {
    font-size: 24px;
    line-height: 30px; }
    @media (max-width: 980px) {
      .heading .heading-text {
        font-size: 20px; } }
    @media (max-width: 570px) {
      .heading .heading-text {
        font-size: 16px; } }
  .heading .read-more {
    font-size: 18px;
    color: #ccc;
    padding: 5px 0 0 30px;
    border-left: 1px solid #f0f2f2;
    margin: 15px 0 0 30px;
    display: block;
    float: left; }
    .heading .read-more i {
      margin-left: 10px;
      font-size: 12px; }
    .heading .read-more:hover {
      color: #4cc2c0; }
  .heading:hover .heading-line .short-line {
    width: 0;
    animation: move-short 1.5s infinite linear; }

@keyframes move-short {
  100% {
    width: 140px;
    margin-right: 0; } }
  .heading:hover .heading-line .long-line {
    width: 130px;
    animation: move 1.5s infinite linear; }

@keyframes move {
  100% {
    width: 0; } }

/*------------- #HEADER --------------*/
.header {
  padding: 30px 0 0;
  background: #fff;
  position: fixed;
  width: 100%;
  z-index: 20;
  left: 0;
  top: 0;
  transition: all .3s ease; }
  @media (max-width: 768px) {
    .header {
      position: relative; } }
  .header .logo {
    margin-bottom: 0;
    margin-right: 82px;
    float: left; }
    @media (max-width: 768px) {
      .header .logo {
        float: left;
        margin-right: 50px; } }
    @media (max-width: 480px) {
      .header .logo {
        float: none;
        margin: 0 auto 30px; } }
  .header.header-absolute {
    position: absolute;
    top: 30px;
    left: 0; }
  .header.absolute {
    position: absolute; }
  .header nav {
    float: left;
    padding: 14px 0; }
    .header nav .menu {
      display: inline-block; }
      .header nav .menu .menu-item {
        display: inline-block;
        padding: 0 13px;
        position: relative; }
        .header nav .menu .menu-item:first-child {
          padding-left: 0; }
        .header nav .menu .menu-item.mega-menu-item {
          position: static; }
        .header nav .menu .menu-item:hover > a {
          color: #4cc2c0; }
          .header nav .menu .menu-item:hover > a:after, .header nav .menu .menu-item:hover > a:before {
            opacity: 1; }
          .header nav .menu .menu-item:hover > a + i {
            color: #4cc2c0; }
        .header nav .menu .menu-item > a {
          position: relative;
          font-size: 17px;
          text-transform: capitalize;
          font-weight: 500;
          transition: all .3s ease;
          margin-right: 3px; }
          .header nav .menu .menu-item > a:after {
            content: '';
            display: block;
            position: absolute;
            width: 15%;
            height: 2px;
            background-color: #4cc2c0;
            left: 0;
            bottom: -10px;
            opacity: 0;
            transition: all .3s ease; }
          .header nav .menu .menu-item > a:before {
            content: '';
            display: block;
            width: 80%;
            height: 2px;
            background-color: #4cc2c0;
            position: absolute;
            right: 0;
            bottom: -10px;
            opacity: 0;
            transition: all .3s ease; }
        .header nav .menu .menu-item i {
          font-size: 10px;
          color: #e1e1e1;
          transition: all .3s ease; }
    @media (max-width: 768px) {
      .header nav.not-nav-add {
        padding-right: 100px; } }
    @media (max-width: 480px) {
      .header nav.not-nav-add {
        padding-right: 0; } }
  .header .header-content-wrapper {
    position: relative;
    float: left;
    width: 100%; }
  .header.headroom--not-top {
    padding-top: 10px;
    transition: all .3s ease;
    box-shadow: 9px 9px 9px 0 rgba(47, 44, 44, 0.2); }
    .header.headroom--not-top .primary-menu-menu > li {
      padding: 0 13px 15px; }
    .header.headroom--not-top .user-menu {
      transform: scale(0);
      transition: all .3s ease; }

.header-spacer {
  position: relative;
  width: 100%;
  height: 118px;
  background: #fff; }
  @media (max-width: 480px) {
    .header-spacer {
      display: none; } }

.nav-add {
  float: right;
  padding: 14px 0;
  margin: 0; }
  @media (max-width: 980px) {
    .nav-add {
      float: left; } }
  @media (max-width: 768px) {
    .nav-add {
      position: absolute;
      right: 15px;
      padding: 0; } }
  .nav-add li {
    display: inline-block; }
    .nav-add li.cart {
      position: relative; }
      .nav-add li.cart .cart-count {
        display: block;
        position: absolute;
        left: -6px;
        top: 4px;
        width: 16px;
        height: 16px;
        line-height: 14px;
        font-size: 10px;
        color: #fff;
        text-align: center;
        border: 1px solid transparent;
        border-radius: 50%;
        background-color: #4cc2c0; }
      .nav-add li.cart i {
        font-size: 28px;
        color: #2f2c2c; }
    .nav-add li.search {
      position: relative; }
      .nav-add li.search i {
        margin-left: 10px;
        transition: all .3s ease;
        font-size: 26px;
        color: #e1e1e1;
        position: relative; }
        .nav-add li.search i:hover {
          color: #4cc2c0; }
      .nav-add li.search .popup-search .search-btn i:hover {
        color: #f15b26; }

.logo {
  position: relative;
  margin-bottom: 20px;
  overflow: hidden; }
  @media (max-width: 768px) {
    .logo {
      float: none;
      margin-right: 0;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center; } }
  .logo img {
    float: left;
    margin-right: 15px; }
  .logo .logo-text {
    float: left;
    margin-top: 10px;
    line-height: 1; }
    .logo .logo-text .logo-title {
      font-size: 27px;
      text-transform: uppercase;
      color: #2f2c2c; }
    .logo .logo-text .logo-sub-title {
      font-size: 10px;
      text-transform: uppercase; }

.user-menu {
  position: absolute;
  right: 85px;
  bottom: -35px;
  width: 70px;
  height: 70px;
  border: 3px solid #2f2c2c;
  border-radius: 50%;
  transition: all .3s ease;
  transform: scale(1); }
  @media (max-width: 768px) {
    .user-menu {
      bottom: -51px;
      width: 50px;
      height: 50px; } }
  @media (max-width: 570px) {
    .user-menu {
      display: none; } }
  .user-menu .user-menu-content {
    display: table-cell;
    vertical-align: middle;
    width: 64px;
    height: 64px;
    background-color: #f15b26;
    border: 4px solid #fff;
    border-radius: 50%;
    position: relative; }
    @media (max-width: 768px) {
      .user-menu .user-menu-content {
        width: 44px;
        height: 44px;
        border-width: 2px; } }
    .user-menu .user-menu-content span {
      display: block;
      height: 3px;
      background: #fff;
      transition: all .3s ease;
      border-radius: 10px;
      margin: 3px auto; }
      .user-menu .user-menu-content span:first-of-type {
        width: 25%; }
      .user-menu .user-menu-content span:nth-child(2) {
        width: 50%; }
      .user-menu .user-menu-content span:last-of-type {
        width: 40%; }
    .user-menu .user-menu-content:hover span {
      width: 70%; }

/*================= Animation for primary menu =========*/
.primary-menu-menu > li:hover > a:after {
  width: 15%;
  animation: primary-short .5s linear; }

@keyframes primary-short {
  0% {
    width: 0; }
  50% {
    width: 40%; }
  100% {
    width: 15%; } }

.primary-menu-menu > li:hover > a:before {
  width: 80%;
  animation: primary-long .5s linear; }

@keyframes primary-long {
  0% {
    width: 100%; }
  50% {
    width: 55%; }
  100% {
    width: 80%; } }

/*================= Styles for sticky-Header =========*/
.animated {
  -webkit-animation-duration: .5s;
  -moz-animation-duration: .5s;
  -o-animation-duration: .5s;
  animation-duration: .5s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  -o-animation-fill-mode: both;
  animation-fill-mode: both;
  will-change: transform,opacity; }
  @media (max-width: 480px) {
    .animated {
      animation-fill-mode: none;
      will-change: unset; } }

@-webkit-keyframes swingInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(-90deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg); } }

@-moz-keyframes swingInX {
  0% {
    -moz-transform: perspective(400px) rotateX(-90deg); }
  100% {
    -moz-transform: perspective(400px) rotateX(0deg); } }

@-o-keyframes swingInX {
  0% {
    -o-transform: perspective(400px) rotateX(-90deg); }
  100% {
    -o-transform: perspective(400px) rotateX(0deg); } }

@keyframes swingInX {
  0% {
    transform: perspective(400px) rotateX(-90deg); }
  100% {
    transform: perspective(400px) rotateX(0deg); } }

.animated.swingInX {
  -webkit-transform-origin: top;
  -moz-transform-origin: top;
  -ie-transform-origin: top;
  -o-transform-origin: top;
  transform-origin: top;
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: swingInX;
  -moz-backface-visibility: visible !important;
  -moz-animation-name: swingInX;
  -o-backface-visibility: visible !important;
  -o-animation-name: swingInX;
  backface-visibility: visible !important;
  animation-name: swingInX; }
  @media (max-width: 480px) {
    .animated.swingInX {
      animation-name: none;
      transform-origin: unset; } }

@-webkit-keyframes swingOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(-90deg); } }

@-moz-keyframes swingOutX {
  0% {
    -moz-transform: perspective(400px) rotateX(0deg); }
  100% {
    -moz-transform: perspective(400px) rotateX(-90deg); } }

@-o-keyframes swingOutX {
  0% {
    -o-transform: perspective(400px) rotateX(0deg); }
  100% {
    -o-transform: perspective(400px) rotateX(-90deg); } }

@keyframes swingOutX {
  0% {
    transform: perspective(400px) rotateX(0deg); }
  100% {
    transform: perspective(400px) rotateX(-90deg); } }

.animated.swingOutX {
  -webkit-transform-origin: top;
  -webkit-animation-name: swingOutX;
  -webkit-backface-visibility: visible !important;
  -moz-animation-name: swingOutX;
  -moz-backface-visibility: visible !important;
  -o-animation-name: swingOutX;
  -o-backface-visibility: visible !important;
  animation-name: swingOutX;
  backface-visibility: visible !important; }
  @media (max-width: 480px) {
    .animated.swingOutX {
      animation-name: none;
      transform-origin: unset; } }

@-webkit-keyframes slideDown {
  0% {
    -webkit-transform: translateY(-100%); }
  100% {
    -webkit-transform: translateY(0); } }

@-moz-keyframes slideDown {
  0% {
    -moz-transform: translateY(-100%); }
  100% {
    -moz-transform: translateY(0); } }

@-o-keyframes slideDown {
  0% {
    -o-transform: translateY(-100%); }
  100% {
    -o-transform: translateY(0); } }

@keyframes slideDown {
  0% {
    transform: translateY(-100%); }
  100% {
    transform: translateY(0); } }

.animated.slideDown {
  -webkit-animation-name: slideDown;
  -moz-animation-name: slideDown;
  -o-animation-name: slideDown;
  animation-name: slideDown; }
  @media (max-width: 480px) {
    .animated.slideDown {
      animation-name: none; } }

@-webkit-keyframes slideUp {
  0% {
    -webkit-transform: translateY(0); }
  100% {
    -webkit-transform: translateY(-100%); } }

@-moz-keyframes slideUp {
  0% {
    -moz-transform: translateY(0); }
  100% {
    -moz-transform: translateY(-100%); } }

@-o-keyframes slideUp {
  0% {
    -o-transform: translateY(0); }
  100% {
    -o-transform: translateY(-100%); } }

@keyframes slideUp {
  0% {
    transform: translateY(0); }
  100% {
    transform: translateY(-100%); } }

.animated.slideUp {
  -webkit-animation-name: slideUp;
  -moz-animation-name: slideUp;
  -o-animation-name: slideUp;
  animation-name: slideUp; }
  @media (max-width: 480px) {
    .animated.slideUp {
      animation-name: none; } }

@-webkit-keyframes swingInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(-90deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg); } }

@-moz-keyframes swingInX {
  0% {
    -moz-transform: perspective(400px) rotateX(-90deg); }
  100% {
    -moz-transform: perspective(400px) rotateX(0deg); } }

@-o-keyframes swingInX {
  0% {
    -o-transform: perspective(400px) rotateX(-90deg); }
  100% {
    -o-transform: perspective(400px) rotateX(0deg); } }

@keyframes swingInX {
  0% {
    transform: perspective(400px) rotateX(-90deg); }
  100% {
    transform: perspective(400px) rotateX(0deg); } }

@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0; }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    opacity: 1; } }

@-moz-keyframes flipInX {
  0% {
    -moz-transform: perspective(400px) rotateX(90deg);
    opacity: 0; }
  100% {
    -moz-transform: perspective(400px) rotateX(0deg);
    opacity: 1; } }

@-o-keyframes flipInX {
  0% {
    -o-transform: perspective(400px) rotateX(90deg);
    opacity: 0; }
  100% {
    -o-transform: perspective(400px) rotateX(0deg);
    opacity: 1; } }

@keyframes flipInX {
  0% {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0; }
  100% {
    transform: perspective(400px) rotateX(0deg);
    opacity: 1; } }

.animated.flipInX {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  -moz-backface-visibility: visible !important;
  -moz-animation-name: flipInX;
  -o-backface-visibility: visible !important;
  -o-animation-name: flipInX;
  backface-visibility: visible !important;
  animation-name: flipInX; }
  @media (max-width: 480px) {
    .animated.flipInX {
      animation-name: none; } }

@-webkit-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0; } }

@-moz-keyframes flipOutX {
  0% {
    -moz-transform: perspective(400px) rotateX(0deg);
    opacity: 1; }
  100% {
    -moz-transform: perspective(400px) rotateX(90deg);
    opacity: 0; } }

@-o-keyframes flipOutX {
  0% {
    -o-transform: perspective(400px) rotateX(0deg);
    opacity: 1; }
  100% {
    -o-transform: perspective(400px) rotateX(90deg);
    opacity: 0; } }

@keyframes flipOutX {
  0% {
    transform: perspective(400px) rotateX(0deg);
    opacity: 1; }
  100% {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0; } }

.animated.flipOutX {
  -webkit-animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  -moz-animation-name: flipOutX;
  -moz-backface-visibility: visible !important;
  -o-animation-name: flipOutX;
  -o-backface-visibility: visible !important;
  animation-name: flipOutX;
  backface-visibility: visible !important; }
  @media (max-width: 480px) {
    .animated.flipOutX {
      animation-name: none; } }

@-webkit-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-200px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0); } }

@-moz-keyframes bounceInDown {
  0% {
    opacity: 0;
    -moz-transform: translateY(-200px); }
  60% {
    opacity: 1;
    -moz-transform: translateY(30px); }
  80% {
    -moz-transform: translateY(-10px); }
  100% {
    -moz-transform: translateY(0); } }

@-o-keyframes bounceInDown {
  0% {
    opacity: 0;
    -o-transform: translateY(-200px); }
  60% {
    opacity: 1;
    -o-transform: translateY(30px); }
  80% {
    -o-transform: translateY(-10px); }
  100% {
    -o-transform: translateY(0); } }

@keyframes bounceInDown {
  0% {
    opacity: 0;
    transform: translateY(-200px); }
  60% {
    opacity: 1;
    transform: translateY(30px); }
  80% {
    transform: translateY(-10px); }
  100% {
    transform: translateY(0); } }

.animated.bounceInDown {
  -webkit-animation-name: bounceInDown;
  -moz-animation-name: bounceInDown;
  -o-animation-name: bounceInDown;
  animation-name: bounceInDown; }
  @media (max-width: 480px) {
    .animated.bounceInDown {
      animation-name: none; } }

@-webkit-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0); }
  30% {
    opacity: 1;
    -webkit-transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-200px); } }

@-moz-keyframes bounceOutUp {
  0% {
    -moz-transform: translateY(0); }
  30% {
    opacity: 1;
    -moz-transform: translateY(20px); }
  100% {
    opacity: 0;
    -moz-transform: translateY(-200px); } }

@-o-keyframes bounceOutUp {
  0% {
    -o-transform: translateY(0); }
  30% {
    opacity: 1;
    -o-transform: translateY(20px); }
  100% {
    opacity: 0;
    -o-transform: translateY(-200px); } }

@keyframes bounceOutUp {
  0% {
    transform: translateY(0); }
  30% {
    opacity: 1;
    transform: translateY(20px); }
  100% {
    opacity: 0;
    transform: translateY(-200px); } }

.animated.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  -moz-animation-name: bounceOutUp;
  -o-animation-name: bounceOutUp;
  animation-name: bounceOutUp; }
  @media (max-width: 480px) {
    .animated.bounceOutUp {
      animation-name: none;
      transform-origin: unset; } }

/*------------- #SLIDERS --------------*/
.main-slider {
  position: relative;
  cursor: pointer;
  padding-bottom: 130px; }
  .main-slider .swiper-slide {
    /* Center slide text vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    height: auto; }
  .main-slider .main-slider-bg-dark .slider-content .slider-content-title {
    color: #fff; }
  .main-slider .main-slider-bg-dark .slider-content .slider-content-text {
    color: #fff;
    opacity: 1; }
  .main-slider .container {
    padding: 20px 0; }
  .main-slider .slider-content-fullwidth {
    width: 100%; }
  @media (max-width: 640px) {
    .main-slider .table-cell {
      float: none; } }
  .main-slider .slider-content-half-width {
    width: 50%; }
    @media (max-width: 980px) {
      .main-slider .slider-content-half-width {
        float: left; } }
    @media (max-width: 360px) {
      .main-slider .slider-content-half-width {
        width: 100%;
        float: none; } }
    @media (max-width: 980px) {
      .main-slider .slider-content-half-width.table-cell {
        display: block; } }
  .main-slider .slider-content {
    max-width: 940px;
    margin: 0 auto;
    padding: 20px 15px; }
    @media (max-width: 980px) {
      .main-slider .slider-content {
        padding: 20px 5px; } }
    .main-slider .slider-content .slider-content-title {
      margin-bottom: 20px;
      line-height: 1.3; }
    .main-slider .slider-content .slider-content-text {
      margin-bottom: 40px;
      line-height: 1.3;
      opacity: 0.7; }
  .main-slider .slider-thumb {
    overflow: hidden;
    padding: 20px 15px; }
    @media (max-width: 768px) {
      .main-slider .slider-thumb {
        height: auto;
        overflow: visible; } }
  .main-slider .btn-prev {
    top: 50%;
    left: 60px; }
    @media (max-width: 1280px) {
      .main-slider .btn-prev {
        display: none; } }
  .main-slider .btn-next {
    top: 50%;
    right: 60px; }
    @media (max-width: 1280px) {
      .main-slider .btn-next {
        display: none; } }
  .main-slider .main-slider-btn-wrap .btn + .btn {
    margin-left: 30px; }
    @media (max-width: 980px) {
      .main-slider .main-slider-btn-wrap .btn + .btn {
        margin-left: 0;
        margin-top: 20px; } }
    @media (max-width: 320px) {
      .main-slider .main-slider-btn-wrap .btn + .btn {
        margin-top: 20px; } }
  .main-slider .main-slider-btn-wrap .btn i {
    transition: all .3s ease;
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%); }
    @media (max-width: 768px) {
      .main-slider .main-slider-btn-wrap .btn i {
        right: 8px; } }
  .main-slider .main-slider-btn-wrap .btn:hover i {
    right: 12px; }
    @media (max-width: 768px) {
      .main-slider .main-slider-btn-wrap .btn:hover i {
        right: 6px; } }
  .main-slider .main-slider-btn-wrap .btn-border:hover {
    background-color: rgba(255, 255, 255, 0.1); }
  .main-slider.main-slider-bg-dark .slider-content .slider-content-title {
    color: #fff; }
  .main-slider.main-slider-bg-dark .slider-content .slider-content-text {
    color: #fff;
    opacity: 1; }
  .main-slider.thumb-left {
    direction: rtl; }
    .main-slider.thumb-left .slider-content {
      direction: ltr; }
  .main-slider.thumb-right {
    direction: ltr; }
  @media (max-width: 768px) {
    .main-slider .table {
      width: 100%; } }
  @media (max-width: 768px) {
    .main-slider .container > .row.table-cell {
      display: block; } }
  @media (max-width: 570px) {
    .main-slider .container > .row.table-cell {
      float: none; } }
  .main-slider.main-slider-bg-photo-wrap {
    height: 100vh; }
  .main-slider > .container > .table {
    margin: 0 -15px 0 -15px;
    height: 100%; }
    @media (max-width: 980px) {
      .main-slider > .container > .table {
        padding-top: 40px; } }
    @media (max-width: 640px) {
      .main-slider > .container > .table {
        margin: 0 auto; } }
  .main-slider.no-labels {
    padding-bottom: 0; }

.slider-shadow {
  box-shadow: 25px 62px 62px rgba(0, 0, 0, 0.42); }

.btn-next {
  position: absolute;
  cursor: pointer;
  width: 64px;
  height: 64px;
  display: block;
  z-index: 10;
  transition: all .2s ease-in;
  fill: #e1e1e1;
  stroke: inherit; }
  .btn-next:hover {
    fill: #4cc2c0;
    margin-right: -2px; }
  .btn-next.btn-next-gray {
    fill: #4a4240; }
    .btn-next.btn-next-gray:hover {
      fill: #4cc2c0; }
  .btn-next.btn-next-black:hover {
    fill: #2f2c2c; }
  .btn-next.btn-next-white {
    fill: #fff; }
  @media (max-width: 460px) {
    .btn-next {
      width: 30px;
      height: 30px; } }

.btn-prev {
  position: absolute;
  cursor: pointer;
  width: 64px;
  height: 64px;
  display: block;
  z-index: 10;
  transition: all .2s ease-in;
  fill: #e1e1e1;
  stroke: inherit; }
  .btn-prev:hover {
    fill: #4cc2c0;
    margin-left: -2px; }
  .btn-prev.btn-prev-gray {
    fill: #4a4240; }
    .btn-prev.btn-prev-gray:hover {
      fill: #4cc2c0; }
  .btn-prev.btn-prev-black:hover {
    fill: #2f2c2c; }
  .btn-prev.btn-prev-white {
    fill: #fff; }
  @media (max-width: 460px) {
    .btn-prev {
      width: 30px;
      height: 30px; } }

.slider-slides {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: table;
  width: 100%; }
  .slider-slides .slides-item {
    display: table-cell;
    padding: 13px 46px;
    position: relative;
    z-index: 1; }
    @media (max-width: 1024px) {
      .slider-slides .slides-item {
        padding: 10px; } }
    @media (max-width: 360px) {
      .slider-slides .slides-item {
        padding: 5px; } }
    .slider-slides .slides-item .content {
      position: relative;
      overflow: hidden; }
      .slider-slides .slides-item .content .text-wrap {
        position: absolute;
        z-index: 2;
        top: 50%;
        transform: translate(0, -50%);
        -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%); }
        .slider-slides .slides-item .content .text-wrap .slides-title {
          font-size: 26px;
          line-height: 30px;
          color: #fff;
          text-transform: capitalize; }
          @media (max-width: 800px) {
            .slider-slides .slides-item .content .text-wrap .slides-title {
              font-size: 20px; } }
          @media (max-width: 640px) {
            .slider-slides .slides-item .content .text-wrap .slides-title {
              font-size: 14px;
              line-height: 1; } }
          @media (max-width: 480px) {
            .slider-slides .slides-item .content .text-wrap .slides-title {
              display: none; } }
        .slider-slides .slides-item .content .text-wrap .slides-sub-title {
          color: #fff;
          font-size: 14px;
          margin-bottom: 5px; }
          @media (max-width: 640px) {
            .slider-slides .slides-item .content .text-wrap .slides-sub-title {
              display: none; } }
      .slider-slides .slides-item .content .slides-number {
        font-size: 104px;
        color: rgba(255, 255, 255, 0.1);
        position: relative;
        float: right;
        line-height: 1; }
        @media (max-width: 800px) {
          .slider-slides .slides-item .content .slides-number {
            font-size: 90px; } }
        @media (max-width: 640px) {
          .slider-slides .slides-item .content .slides-number {
            font-size: 70px; } }
        @media (max-width: 570px) {
          .slider-slides .slides-item .content .slides-number {
            font-size: 50px; } }
        @media (max-width: 360px) {
          .slider-slides .slides-item .content .slides-number {
            font-size: 30px; } }
    .slider-slides .slides-item.slide-active .triangle-slides {
      opacity: 1;
      top: -34px; }
    .slider-slides .slides-item.main-slider-bg-light .content .text-wrap .slides-title {
      color: #2f2c2c; }
    .slider-slides .slides-item.main-slider-bg-light .content .text-wrap .slides-sub-title {
      color: #2f2c2c; }
    .slider-slides .slides-item.main-slider-bg-light .content .slides-number {
      color: rgba(137, 137, 137, 0.1); }
  .slider-slides .triangle-slides {
    border: 20px solid transparent;
    display: block;
    border-bottom: 15px solid transparent;
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -20px;
    opacity: 0;
    transition: all .4s ease; }
    .slider-slides .triangle-slides.dark {
      border-bottom-color: #30302d; }
    .slider-slides .triangle-slides.primary {
      border-bottom-color: #4cc2c0; }
    .slider-slides .triangle-slides.secondary {
      border-bottom-color: #f15b26; }
    .slider-slides .triangle-slides.orange {
      border-bottom-color: #fcb03b; }
    .slider-slides .triangle-slides.green {
      border-bottom-color: #3cb878; }

/*------------- Main-Slider-bg-photo --------------*/
.main-slider-bg-photo-wrap {
  min-height: 680px; }
  .main-slider-bg-photo-wrap .slider-slides {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0; }
  .main-slider-bg-photo-wrap .main-slider-bg-photo {
    background-size: cover; }
    .main-slider-bg-photo-wrap .main-slider-bg-photo .slider-content {
      position: relative;
      padding: 170px 0;
      max-width: 870px; }
      @media (max-width: 768px) {
        .main-slider-bg-photo-wrap .main-slider-bg-photo .slider-content {
          max-width: 100%; } }
      @media (max-width: 640px) {
        .main-slider-bg-photo-wrap .main-slider-bg-photo .slider-content {
          padding: 300px 0; } }
      .main-slider-bg-photo-wrap .main-slider-bg-photo .slider-content.left {
        margin: 0;
        max-width: 670px;
        float: left; }
        @media (max-width: 768px) {
          .main-slider-bg-photo-wrap .main-slider-bg-photo .slider-content.left {
            max-width: 100%; } }
      .main-slider-bg-photo-wrap .main-slider-bg-photo .slider-content.right {
        margin: 0;
        max-width: 570px;
        float: right; }
        @media (max-width: 768px) {
          .main-slider-bg-photo-wrap .main-slider-bg-photo .slider-content.right {
            max-width: 100%; } }
      .main-slider-bg-photo-wrap .main-slider-bg-photo .slider-content .slider-content-text {
        margin-bottom: 40px; }
    .main-slider-bg-photo-wrap .main-slider-bg-photo .btn-prev {
      top: 50%;
      left: 60px; }
    .main-slider-bg-photo-wrap .main-slider-bg-photo .btn-next {
      top: 50%;
      right: 60px; }
    @media (max-width: 768px) {
      .main-slider-bg-photo-wrap .main-slider-bg-photo .table-cell {
        display: table-cell; } }
    @media (max-width: 570px) {
      .main-slider-bg-photo-wrap .main-slider-bg-photo .table-cell {
        float: none; } }
    @media (max-width: 320px) {
      .main-slider-bg-photo-wrap .main-slider-bg-photo .btn + .btn {
        margin-left: 0;
        margin-top: 20px; } }

/*------------- Testimonial-SLIDER --------------*/
.testimonial-slider {
  background-color: #fcb03b;
  padding: 120px 0 80px 0;
  position: relative;
  overflow: hidden; }
  @media (max-width: 768px) {
    .testimonial-slider .testimonial-item {
      margin-top: 40px; } }
  .testimonial-slider .testimonial-item .quote {
    position: absolute;
    right: 70px;
    bottom: 20px; }
    .testimonial-slider .testimonial-item .quote i {
      font-size: 140px;
      color: #3b3432; }
    @media (max-width: 360px) {
      .testimonial-slider .testimonial-item .quote {
        right: 0; } }
  .testimonial-slider .testimonial-item .pagination, .testimonial-slider .testimonial-item .swiper-pagination {
    right: 100px;
    bottom: -80px; }
    @media (max-width: 640px) {
      .testimonial-slider .testimonial-item .pagination, .testimonial-slider .testimonial-item .swiper-pagination {
        right: 0; } }
    .testimonial-slider .testimonial-item .pagination .pagination-item, .testimonial-slider .testimonial-item .pagination .swiper-pagination-bullet, .testimonial-slider .testimonial-item .swiper-pagination .pagination-item, .testimonial-slider .testimonial-item .swiper-pagination .swiper-pagination-bullet {
      background-color: #2f2c2c; }
      .testimonial-slider .testimonial-item .pagination .pagination-item.active, .testimonial-slider .testimonial-item .pagination .pagination-item.swiper-pagination-bullet-active, .testimonial-slider .testimonial-item .pagination .swiper-pagination-bullet.active, .testimonial-slider .testimonial-item .pagination .swiper-pagination-bullet.swiper-pagination-bullet-active, .testimonial-slider .testimonial-item .swiper-pagination .pagination-item.active, .testimonial-slider .testimonial-item .swiper-pagination .pagination-item.swiper-pagination-bullet-active, .testimonial-slider .testimonial-item .swiper-pagination .swiper-pagination-bullet.active, .testimonial-slider .testimonial-item .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
        background-color: transparent;
        border: 2px solid #fff; }
    @media (max-width: 768px) {
      .testimonial-slider .testimonial-item .pagination, .testimonial-slider .testimonial-item .swiper-pagination {
        bottom: -50px; } }
  .testimonial-slider .testimonial-item .testimonial__thumb-img {
    position: absolute;
    top: 0;
    right: 90px; }
    @media (max-width: 360px) {
      .testimonial-slider .testimonial-item .testimonial__thumb-img {
        display: none; } }
  .testimonial-slider .testimonial-slider-item {
    position: relative; }
    @media (max-width: 768px) {
      .testimonial-slider .testimonial-slider-item {
        margin-top: 40px;
        z-index: 50; } }
    @media (max-width: 360px) {
      .testimonial-slider .testimonial-slider-item .avatar {
        left: 40px; } }
    .testimonial-slider .testimonial-slider-item .avatar img {
      width: auto;
      display: inline-block; }
  .testimonial-slider .testimonial-img {
    position: absolute;
    bottom: -200px;
    left: 40%;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0); }
    @media (max-width: 360px) {
      .testimonial-slider .testimonial-img {
        display: none; } }

/*------------- Testimonial-SLIDER-standard --------------*/
.testimonial-slider-standard {
  position: relative;
  z-index: 2; }
  @media (max-width: 600px) {
    .testimonial-slider-standard {
      margin-top: 35px; } }
  @media (max-width: 360px) {
    .testimonial-slider-standard {
      margin-top: 70px; } }
  .testimonial-slider-standard .testimonial-slider-standard-item .testimonial-item .testimonial-text {
    font-size: 30px;
    color: #fff;
    margin-bottom: 40px;
    line-height: 1.3; }
    @media (max-width: 640px) {
      .testimonial-slider-standard .testimonial-slider-standard-item .testimonial-item .testimonial-text {
        font-size: 24px; } }
    @media (max-width: 480px) {
      .testimonial-slider-standard .testimonial-slider-standard-item .testimonial-item .testimonial-text {
        font-size: 18px; } }
  .testimonial-slider-standard .testimonial-slider-standard-item .testimonial-item .author-info-wrap {
    position: relative; }
    .testimonial-slider-standard .testimonial-slider-standard-item .testimonial-item .author-info-wrap .testimonial-img-author {
      border-radius: 100%;
      overflow: hidden;
      margin-bottom: 15px;
      margin-right: 0; }
      .testimonial-slider-standard .testimonial-slider-standard-item .testimonial-item .author-info-wrap .testimonial-img-author img {
        border-radius: 50%; }
    .testimonial-slider-standard .testimonial-slider-standard-item .testimonial-item .author-info-wrap .author-info .author-name {
      font-size: 18px;
      color: #4cc2c0;
      margin-bottom: 5px; }
    .testimonial-slider-standard .testimonial-slider-standard-item .testimonial-item .author-info-wrap .author-info .author-company {
      font-size: 14px;
      color: #797676; }
    .testimonial-slider-standard .testimonial-slider-standard-item .testimonial-item .author-info-wrap.display-flex .testimonial-img-author {
      margin-right: 30px; }
  @media (max-width: 360px) {
    .testimonial-slider-standard .testimonial-slider-standard-item .testimonial-item .avatar {
      top: -75%; } }
  @media (max-width: 320px) {
    .testimonial-slider-standard .testimonial-slider-standard-item .testimonial-item .avatar {
      top: -155px; } }
  .testimonial-slider-standard .btn-next {
    right: 95px;
    bottom: 0; }
    @media (max-width: 980px) {
      .testimonial-slider-standard .btn-next {
        right: 5px; } }
  .testimonial-slider-standard .btn-prev {
    bottom: 0;
    left: 95px; }
    @media (max-width: 980px) {
      .testimonial-slider-standard .btn-prev {
        left: 5px; } }
  .testimonial-slider-standard .swiper-pagination {
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0); }
  .testimonial-slider-standard .pagination-bottom {
    padding-bottom: 150px;
    margin-bottom: -100px; }
    .testimonial-slider-standard .pagination-bottom .swiper-pagination {
      bottom: 80px; }
      .testimonial-slider-standard .pagination-bottom .swiper-pagination .swiper-pagination-bullet {
        background-color: #d7d7d7; }
        .testimonial-slider-standard .pagination-bottom .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
          background-color: transparent;
          border: 2px solid #4cc2c0; }
    .testimonial-slider-standard .pagination-bottom .btn-next, .testimonial-slider-standard .pagination-bottom .btn-prev {
      bottom: 150px; }
      @media (max-width: 360px) {
        .testimonial-slider-standard .pagination-bottom .btn-next, .testimonial-slider-standard .pagination-bottom .btn-prev {
          display: none; } }
  .testimonial-slider-standard.avatar-top .swiper-container {
    padding-top: 155px;
    margin-top: -155px; }
  .testimonial-slider-standard.avatar-top .avatar {
    top: -100%;
    left: 50%;
    transform: translate(-50%, 50%);
    -webkit-transform: translate(-50%, 50%);
    -ms-transform: translate(-50%, 50%); }
    @media (max-width: 800px) {
      .testimonial-slider-standard.avatar-top .avatar {
        top: -110px;
        transform: translate(-50%, 0);
        -webkit-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0); } }
    @media (max-width: 360px) {
      .testimonial-slider-standard.avatar-top .avatar {
        top: -110px;
        transform: translate(-50%, 0);
        -webkit-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0); } }

/*------------- Recent-post-slider --------------*/
.recent-post-slider {
  position: relative; }
  .recent-post-slider .heading {
    margin-bottom: 40px;
    display: inline-block; }
    .recent-post-slider .heading .heading-title {
      float: left; }
    .recent-post-slider .heading .heading-line {
      clear: both; }
  .recent-post-slider .read-more {
    font-size: 18px;
    color: #ccc;
    padding: 5px 0 0 30px;
    border-left: 1px solid #f0f2f2;
    margin: 15px 0 0 30px;
    display: block;
    float: left; }
    @media (max-width: 980px) {
      .recent-post-slider .read-more {
        padding-left: 0;
        margin-left: 0;
        float: none;
        border-left: none; } }
  .recent-post-slider .pagination, .recent-post-slider .swiper-pagination {
    right: 0;
    top: -120px;
    z-index: 50; }
    @media (max-width: 980px) {
      .recent-post-slider .pagination, .recent-post-slider .swiper-pagination {
        top: 80px; } }
    @media (max-width: 320px) {
      .recent-post-slider .pagination, .recent-post-slider .swiper-pagination {
        top: 40px; } }
  .recent-post-slider .top-pagination {
    padding-top: 125px;
    top: -125px;
    margin-bottom: -100px; }
    .recent-post-slider .top-pagination .swiper-pagination {
      top: 0; }
      @media (max-width: 640px) {
        .recent-post-slider .top-pagination .swiper-pagination {
          top: 30px; } }
      @media (max-width: 360px) {
        .recent-post-slider .top-pagination .swiper-pagination {
          top: 80px;
          right: auto; } }

/*------------- Client-carousel --------------*/
.client-carousel {
  background-color: #f7f9f9;
  position: relative; }
  .client-carousel .btn-prev {
    bottom: 0;
    left: 42%; }
    @media (max-width: 980px) {
      .client-carousel .btn-prev {
        left: 30%; } }
    @media (max-width: 480px) {
      .client-carousel .btn-prev {
        left: 20%; } }
  .client-carousel .btn-next {
    bottom: 0;
    right: 42%; }
    @media (max-width: 980px) {
      .client-carousel .btn-next {
        right: 30%; } }
    @media (max-width: 480px) {
      .client-carousel .btn-next {
        right: 20%; } }
  .client-carousel .clients-item-wrap {
    position: relative;
    padding: 13px 0 104px 0;
    text-align: center; }
  .client-carousel .pagination-bottom {
    padding-bottom: 120px;
    top: 40px; }
    @media (max-width: 570px) {
      .client-carousel .pagination-bottom {
        padding-bottom: 40px; } }

.clients-item-wrap {
  text-align: center; }

/*------------- Recent Case Slider --------------*/
.recent-case-slider {
  position: relative; }
  .recent-case-slider .heading {
    margin-bottom: 48px;
    display: inline-block; }
    .recent-case-slider .heading .heading-title {
      float: left; }
      @media (max-width: 640px) {
        .recent-case-slider .heading .heading-title {
          float: none; } }
    .recent-case-slider .heading .heading-line {
      clear: both; }
  .recent-case-slider .pagination, .recent-case-slider .swiper-pagination {
    right: 0;
    top: 0;
    z-index: 5; }
    @media (max-width: 980px) {
      .recent-case-slider .pagination, .recent-case-slider .swiper-pagination {
        top: 30px; } }
  @media (max-width: 640px) {
    .recent-case-slider .read-more {
      margin-left: 0;
      padding-left: 0;
      border-left: none; } }
  .recent-case-slider .top-pagination {
    padding-top: 125px;
    top: -125px;
    margin-bottom: -100px; }
  .recent-case-slider .pagination-bottom {
    padding-bottom: 80px; }
    .recent-case-slider .pagination-bottom .pagination, .recent-case-slider .pagination-bottom .swiper-pagination {
      left: 0;
      bottom: 0;
      right: auto;
      top: auto; }

/*------------- Testimonial-arrow-slider --------------*/
.testimonial-arrow-slider {
  position: relative; }
  .testimonial-arrow-slider .heading {
    margin-bottom: 60px;
    display: inline-block; }
    .testimonial-arrow-slider .heading .heading-title {
      float: left; }
    .testimonial-arrow-slider .heading .heading-line {
      clear: both; }
    @media (max-width: 980px) {
      .testimonial-arrow-slider .heading .read-more {
        margin-left: 10px;
        padding-left: 10px;
        border-left: none; } }
    @media (max-width: 570px) {
      .testimonial-arrow-slider .heading .read-more {
        margin-left: 0;
        padding-left: 0;
        float: none; } }
  .testimonial-arrow-slider .pagination, .testimonial-arrow-slider .swiper-pagination {
    left: 0;
    bottom: 0;
    z-index: 5; }
    @media (max-width: 1024px) {
      .testimonial-arrow-slider .pagination, .testimonial-arrow-slider .swiper-pagination {
        bottom: 20px; } }
    .testimonial-arrow-slider .pagination .swiper-pagination-bullet, .testimonial-arrow-slider .swiper-pagination .swiper-pagination-bullet {
      background-color: #d7d7d7; }
      .testimonial-arrow-slider .pagination .swiper-pagination-bullet.swiper-pagination-bullet-active, .testimonial-arrow-slider .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
        background-color: transparent;
        border: 2px solid #4cc2c0; }
    .testimonial-arrow-slider .pagination.top-right, .testimonial-arrow-slider .swiper-pagination.top-right {
      left: auto;
      bottom: auto;
      right: 0;
      top: 150px; }
  .testimonial-arrow-slider .pagination-bottom {
    padding-bottom: 80px;
    top: 0; }

/*------------- Slider-profit --------------*/
.slider-profit-wrap {
  position: relative; }
  .slider-profit-wrap .pagination-vertical {
    padding-left: 100px;
    margin-left: -100px; }
  .slider-profit-wrap .slider-profit {
    position: relative; }
    .slider-profit-wrap .slider-profit .slider-profit-thumb {
      position: relative; }
      @media (max-width: 480px) {
        .slider-profit-wrap .slider-profit .slider-profit-thumb {
          margin-top: 40px; } }
    .slider-profit-wrap .slider-profit .btn {
      margin-bottom: 30px; }
  .slider-profit-wrap .pagination, .slider-profit-wrap .swiper-pagination {
    display: block;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%); }
    @media (max-width: 1280px) {
      .slider-profit-wrap .pagination, .slider-profit-wrap .swiper-pagination {
        left: 70px; } }
    @media (max-width: 640px) {
      .slider-profit-wrap .pagination, .slider-profit-wrap .swiper-pagination {
        left: 50%;
        top: auto;
        bottom: -20px; } }
    .slider-profit-wrap .pagination .swiper-pagination-bullet, .slider-profit-wrap .swiper-pagination .swiper-pagination-bullet {
      display: block;
      margin: 9px 5px;
      background-color: #acd373; }
      @media (max-width: 640px) {
        .slider-profit-wrap .pagination .swiper-pagination-bullet, .slider-profit-wrap .swiper-pagination .swiper-pagination-bullet {
          display: inline-block; } }
      .slider-profit-wrap .pagination .swiper-pagination-bullet.swiper-pagination-bullet-active, .slider-profit-wrap .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
        border-color: #fff;
        background-color: transparent; }

.swiper-slide > .main-slider {
  height: 100%;
  padding-bottom: 0;
  padding-top: 0; }
  @media (max-width: 1280px) {
    .swiper-slide > .main-slider {
      height: auto; } }
  @media (max-width: 360px) {
    .swiper-slide > .main-slider {
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center; } }

/*------------- #SEO-SCORE --------------*/
.seo-score {
  background-color: #2f2c2c;
  padding: 130px 0 200px;
  position: relative;
  overflow: hidden; }
  @media (max-width: 640px) {
    .seo-score {
      padding: 65px 0 100px; } }
  @media (max-width: 460px) {
    .seo-score {
      padding: 65px 0 180px; } }
  .seo-score .seo-score-content {
    z-index: 2;
    position: relative; }
    .seo-score .seo-score-content .heading .heading-title {
      color: #fff;
      margin-bottom: 10px; }
    .seo-score .seo-score-content .heading .heading-text {
      color: #797676; }
    .seo-score .seo-score-content .input-drop-shadow input {
      -webkit-box-shadow: 25px 20px 20px -15px rgba(0, 0, 0, 0.3);
      box-shadow: 25px 20px 20px -15px rgba(0, 0, 0, 0.3); }
    .seo-score .seo-score-content .seo-score-form input.site {
      border-radius: 50px 0 0 50px; }
      @media (max-width: 1024px) {
        .seo-score .seo-score-content .seo-score-form input.site {
          border-radius: 50px;
          margin-bottom: 30px; } }
    .seo-score .seo-score-content .seo-score-form input.e-mail {
      border-radius: 0 50px 50px 0;
      margin-left: 2px; }
      @media (max-width: 1024px) {
        .seo-score .seo-score-content .seo-score-form input.e-mail {
          border-radius: 50px; } }
    @media (max-width: 640px) {
      .seo-score .seo-score-content .seo-score-form .no-padding {
        padding: 0 15px; } }
    .seo-score .seo-score-content .seo-score-form button {
      margin-top: 30px; }
  .seo-score .images img {
    position: absolute;
    opacity: 0; }
    .seo-score .images img:first-of-type {
      top: -100px;
      left: 50%;
      transform: translate(-50%, 0);
      -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0); }
    .seo-score .images img:nth-child(2) {
      bottom: -100%;
      left: 50%;
      transform: translate(-50%, 0);
      -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0); }
    .seo-score .images img:last-of-type {
      bottom: -100%;
      left: 50%;
      transform: translate(-50%, 0);
      -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0); }

/*------------- #OFFERS --------------*/
.our-video {
  overflow: hidden; }
  @media (max-width: 640px) {
    .our-video {
      display: block; } }
  .our-video .video {
    min-height: 500px;
    background: url("../img/video2.png") no-repeat 50% 50%, #3cb878;
    background-size: contain; }
    .our-video .video .video-control {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%); }
  .our-video .content {
    padding-right: 15px;
    padding-left: 15px; }
    .our-video .content .heading .heading-text {
      font-size: 18px;
      line-height: 25px;
      margin-bottom: 40px; }

/*------------- #COUNTERS --------------*/
.counters {
  overflow: hidden;
  padding: 80px 0; }
  @media (max-width: 1024px) {
    .counters {
      text-align: center; } }
  @media (max-width: 800px) {
    .counters {
      padding: 35px 0; } }
  @media (max-width: 1024px) {
    .counters .counter-item {
      margin-bottom: 30px; } }
  .counters .counter-item .counter-numbers {
    font-size: 100px;
    color: rgba(255, 255, 255, 0.2);
    line-height: 1;
    margin-bottom: -36px; }
    @media (max-width: 640px) {
      .counters .counter-item .counter-numbers {
        font-size: 50px; } }
    @media (max-width: 570px) {
      .counters .counter-item .counter-numbers {
        margin-bottom: 0; } }
    .counters .counter-item .counter-numbers .units {
      display: inline-block;
      margin-left: -25px; }
      @media (max-width: 640px) {
        .counters .counter-item .counter-numbers .units {
          margin-left: -15px; } }
  .counters .counter-item .counter-title {
    font-size: 24px;
    color: #fff;
    text-transform: uppercase; }
    @media (max-width: 640px) {
      .counters .counter-item .counter-title {
        font-size: 18px; } }
  .counters .counter-item .counter-line .short-line {
    display: inline-block;
    width: 20px;
    height: 3px;
    background-color: #66c491;
    border-radius: 10px;
    position: relative;
    margin-right: 10px; }
  .counters .counter-item .counter-line .long-line {
    display: inline-block;
    width: 50px;
    height: 3px;
    background-color: #66c491;
    border-radius: 10px;
    position: relative; }

/*------------- #Counter modern --------------*/
.counters-modern {
  overflow: hidden;
  position: relative;
  z-index: 2; }
  .counters-modern .counter-item-modern {
    padding-right: 35px; }
    @media (max-width: 1024px) {
      .counters-modern .counter-item-modern {
        margin-bottom: 30px; } }
    @media (max-width: 640px) {
      .counters-modern .counter-item-modern {
        padding-right: 0; } }
    .counters-modern .counter-item-modern i {
      margin-bottom: 20px;
      color: #64d8ff;
      font-size: 70px;
      display: block; }
      .counters-modern .counter-item-modern i.c-primary {
        color: #4cc2c0; }
      .counters-modern .counter-item-modern i.c-secondary {
        color: #f15b26; }
      .counters-modern .counter-item-modern i.c-green {
        color: #3cb878 !important; }
      .counters-modern .counter-item-modern i.c-orange {
        color: #fcb03b !important; }
    .counters-modern .counter-item-modern .counter-numbers-modern {
      font-size: 100px;
      line-height: 1; }
      @media (max-width: 1024px) {
        .counters-modern .counter-item-modern .counter-numbers-modern {
          font-size: 80px; } }
      @media (max-width: 640px) {
        .counters-modern .counter-item-modern .counter-numbers-modern {
          font-size: 50px; } }
      .counters-modern .counter-item-modern .counter-numbers-modern .units {
        display: inline-block;
        margin-left: -25px; }
        @media (max-width: 640px) {
          .counters-modern .counter-item-modern .counter-numbers-modern .units {
            margin-left: -10px; } }
      .counters-modern .counter-item-modern .counter-numbers-modern.negative-margin {
        margin-bottom: -36px; }
        @media (max-width: 640px) {
          .counters-modern .counter-item-modern .counter-numbers-modern.negative-margin {
            margin-bottom: 0; } }
    .counters-modern .counter-item-modern .counter-title-modern {
      color: #fff;
      font-size: 24px;
      line-height: 1.3; }
    .counters-modern .counter-item-modern .counter-line-modern .short-line-modern {
      display: inline-block;
      width: 20px;
      height: 3px;
      border-radius: 10px;
      position: relative;
      margin-right: 10px; }
    .counters-modern .counter-item-modern .counter-line-modern .long-line-modern {
      display: inline-block;
      width: 50px;
      height: 3px;
      border-radius: 10px;
      position: relative; }

/*------------- #RECENT-CASE --------------*/
.recent-case {
  overflow: hidden; }
  .recent-case .case-item-wrap {
    overflow: hidden;
    margin-bottom: 55px; }
    @media (max-width: 640px) {
      .recent-case .case-item-wrap {
        padding: 0 15px; } }
  .recent-case .pagination, .recent-case .swiper-pagination {
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0); }
  .recent-case .pagination-bottom {
    padding-bottom: 80px; }

.case-item {
  padding: 30px;
  background-color: #f7f9f9;
  transition: all .3s ease; }
  @media (max-width: 800px) {
    .case-item {
      margin-bottom: 30px; } }
  .case-item .case-item__thumb {
    margin-bottom: 34px;
    box-shadow: 0 16px 16px -8px rgba(0, 0, 0, 0.3); }
  .case-item .case-item__title {
    text-transform: uppercase;
    color: #2f2c2c;
    margin-bottom: 5px; }
  .case-item .case-item__cat a {
    display: inline-block;
    color: #acacac;
    font-size: 14px;
    transition: all .3s ease; }
  .case-item:hover {
    background-color: #4cc2c0; }
    .case-item:hover .case-item__title {
      color: #fff; }
    .case-item:hover .case-item__cat a {
      color: rgba(255, 255, 255, 0.5); }
      .case-item:hover .case-item__cat a:hover {
        color: #fff; }
  .case-item.big {
    padding-bottom: 60px; }
    .case-item.big .case-item__thumb {
      margin-bottom: 60px; }
    .case-item.big .case-item__cat a {
      font-size: 16px; }

.cat-list {
  margin: 50px 0;
  padding: 0;
  list-style: none; }
  .cat-list .cat-list__item {
    display: inline-block;
    padding: 0 20px; }
    @media (max-width: 980px) {
      .cat-list .cat-list__item {
        margin-bottom: 20px; } }
    .cat-list .cat-list__item a {
      font-size: 17px;
      color: #2f2c2c;
      position: relative;
      text-transform: capitalize;
      transition: all .3s ease; }
      .cat-list .cat-list__item a:before {
        content: '';
        display: block;
        width: 80%;
        height: 2px;
        background-color: #4cc2c0;
        position: absolute;
        right: 0;
        bottom: -10px;
        opacity: 0;
        transition: all .3s ease; }
      .cat-list .cat-list__item a:after {
        content: '';
        display: block;
        position: absolute;
        width: 15%;
        height: 2px;
        background-color: #4cc2c0;
        left: 0;
        bottom: -10px;
        opacity: 0;
        transition: all .3s ease; }
      .cat-list .cat-list__item a:hover {
        color: #4cc2c0; }
        .cat-list .cat-list__item a:hover:after, .cat-list .cat-list__item a:hover:before {
          opacity: 1; }
    .cat-list .cat-list__item.active a {
      color: #4cc2c0; }
      .cat-list .cat-list__item.active a:after, .cat-list .cat-list__item.active a:before {
        opacity: 1; }

/*================= Animation for primary menu =========*/
.cat-list > li:hover > a:after {
  width: 15%;
  animation: cat-short .5s linear; }

@keyframes cat-short {
  0% {
    width: 0; }
  50% {
    width: 40%; }
  100% {
    width: 15%; } }

.cat-list > li:hover > a:before {
  width: 80%;
  animation: cat-long .5s linear; }

@keyframes cat-long {
  0% {
    width: 100%; }
  50% {
    width: 55%; }
  100% {
    width: 80%; } }

.cat-list-bg-style {
  margin: 50px 0;
  padding: 0;
  list-style: none; }
  .cat-list-bg-style .cat-list__item {
    display: inline-block;
    background-color: #f7f9f9;
    margin: 0 5px;
    border-radius: 30px;
    overflow: hidden; }
    .cat-list-bg-style .cat-list__item a {
      font-size: 18px;
      color: #acacac;
      position: relative;
      text-transform: capitalize;
      transition: all .3s ease;
      padding: 10px 20px;
      display: block; }
      .cat-list-bg-style .cat-list__item a:hover {
        color: #fff;
        background-color: #4cc2c0; }
    .cat-list-bg-style .cat-list__item.active {
      background-color: #4cc2c0; }
      .cat-list-bg-style .cat-list__item.active a {
        color: #fff; }

/*------------- #PRICING-TABLES --------------*/
.pricing-tables .pricing-tables-wrap {
  background-color: #fff;
  overflow: hidden;
  box-shadow: 0 14px 32px 10px rgba(0, 0, 0, 0.2);
  margin: 0 15px;
  border-radius: 10px; }
  .pricing-tables .pricing-tables-wrap :nth-child(3) .pricing-tables-item .dots {
    display: none; }

.pricing-tables-item {
  text-align: center;
  padding: 60px;
  position: relative; }
  @media (max-width: 1024px) {
    .pricing-tables-item {
      padding: 15px; } }
  @media (max-width: 570px) {
    .pricing-tables-item {
      margin-bottom: 30px; } }
  .pricing-tables-item:hover .btn {
    background-color: #4cc2c0; }
  .pricing-tables-item:hover .pricing-title {
    color: #4cc2c0; }
  .pricing-tables-item .pricing-tables-icon {
    width: 130px;
    height: 130px;
    border: 15px solid #f7f9f9;
    border-radius: 50%;
    position: relative;
    margin: 0 auto 15px; }
    .pricing-tables-item .pricing-tables-icon img {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%); }
  .pricing-tables-item .pricing-title {
    font-size: 34px;
    margin-bottom: 11px;
    display: block; }
    @media (max-width: 980px) {
      .pricing-tables-item .pricing-title {
        font-size: 26px; } }
  .pricing-tables-item .pricing-tables-position {
    font-size: 16px;
    margin: 0 0 21px 0;
    padding: 0;
    list-style: none; }
    .pricing-tables-item .pricing-tables-position .position-item {
      margin-bottom: 5px; }
      .pricing-tables-item .pricing-tables-position .position-item.include {
        color: #fcb03b; }
      .pricing-tables-item .pricing-tables-position .position-item .count {
        color: #2f2c2c;
        font-weight: 600; }
  .pricing-tables-item .rate {
    font-size: 24px;
    color: #4cc2c0;
    margin-bottom: 31px; }
  .pricing-tables-item .dots {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%); }
    @media (max-width: 570px) {
      .pricing-tables-item .dots {
        display: none; } }

.pricing-tables-head .pricing-tables-item {
  border-radius: 10px;
  padding: 0;
  overflow: hidden;
  box-shadow: 8px 0 87px rgba(0, 0, 0, 0.15);
  transition: all .3s ease; }
  .pricing-tables-head .pricing-tables-item .pricing-head {
    position: relative;
    min-height: 125px; }
  .pricing-tables-head .pricing-tables-item .pricing-content-wrap {
    margin-top: -60px;
    background-color: #fff;
    padding: 0 60px 60px; }
    .pricing-tables-head .pricing-tables-item .pricing-content-wrap .pricing-tables-icon {
      background-color: #fff; }
  .pricing-tables-head .pricing-tables-item:hover {
    transform: scale(1.1);
    z-index: 5; }
    .pricing-tables-head .pricing-tables-item:hover .btn {
      background-color: #f15b26; }

.pricing-tables-classic .pricing-tables-item {
  background-color: #fff;
  box-shadow: 15px 0 80px rgba(0, 0, 0, 0.2);
  border-radius: 10px; }

.pricing-tables-colored .pricing-tables-item {
  box-shadow: 15px 0 80px rgba(0, 0, 0, 0.2);
  border-radius: 10px; }
  .pricing-tables-colored .pricing-tables-item .pricing-tables-icon {
    border: none; }
  .pricing-tables-colored .pricing-tables-item .pricing-title:hover {
    color: #2f2c2c; }
  .pricing-tables-colored .pricing-tables-item .pricing-tables-position .position-item {
    color: #fff; }
    .pricing-tables-colored .pricing-tables-item .pricing-tables-position .position-item .count {
      color: #fff; }
  .pricing-tables-colored .pricing-tables-item .rate {
    color: #2f2c2c; }
  .pricing-tables-colored .pricing-tables-item:hover .btn {
    border-color: transparent;
    background-color: #2f2c2c; }
  .pricing-tables-colored .pricing-tables-item:hover .pricing-title {
    color: #2f2c2c; }

/*------------- #RECENT-POST --------------*/
/*------------- #CLIENTS --------------*/
.client-item {
  display: inline-block;
  position: relative;
  padding: 0 39px; }
  @media (max-width: 768px) {
    .client-item {
      padding: 0 20px; } }
  @media (max-width: 570px) {
    .client-item {
      margin-bottom: 30px; } }
  .client-item .client-image {
    position: relative;
    transition: all .3s ease;
    backface-visibility: hidden;
    text-align: center; }
    .client-item .client-image img {
      position: relative;
      backface-visibility: hidden; }
  .client-item:hover .client-image {
    opacity: 0.5;
    backface-visibility: hidden; }

.client-item-style2 {
  padding: 60px 40px;
  text-align: center;
  transition: all .3s ease;
  float: left; }
  .client-item-style2 .client-image {
    position: relative;
    margin-bottom: 60px;
    text-align: center; }
    .client-item-style2 .client-image img {
      position: relative;
      transition: all .3s ease;
      backface-visibility: hidden; }
      .client-item-style2 .client-image img.hover {
        opacity: 0;
        position: absolute;
        left: 50%;
        transform: translate(-50%, 0);
        -webkit-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0); }
  .client-item-style2 .clients-item-title {
    font-size: 20px;
    margin-bottom: 30px;
    text-transform: uppercase; }
  .client-item-style2 .clients-item-text {
    margin-bottom: 30px; }
  .client-item-style2:hover {
    background-color: #4cc2c0; }
    .client-item-style2:hover .client-image .hover {
      opacity: 1; }
    .client-item-style2:hover .clients-item-text {
      color: #fff; }
    .client-item-style2:hover .btn {
      color: #fff;
      background-color: #2f2c2c;
      border-color: #2f2c2c; }
      .client-item-style2:hover .btn .semicircle::after {
        border-color: #fff; }

.load-more {
  text-align: center;
  margin: 0 auto;
  cursor: pointer;
  transition: all .3s ease;
  display: block;
  max-width: 120px; }
  .load-more .load-more-img-wrap {
    margin-bottom: 20px;
    position: relative;
    display: block;
    background-image: url("../img/load-more-arrow.png");
    background-position: 54% 50%;
    background-repeat: no-repeat; }
    .load-more .load-more-img-wrap img {
      position: relative; }
  .load-more .load-more-text {
    color: #d7d7d7;
    font-size: 16px;
    text-transform: uppercase;
    transition: all .3s ease; }
  .load-more:hover .load-more-text {
    color: #4cc2c0; }
  .load-more:hover .load-more-img-wrap {
    animation: rotate-img 1.5s infinite linear; }
    .load-more:hover .load-more-img-wrap img {
      animation: rotate-img 2s infinite linear; }

@keyframes rotate-img {
  100% {
    transform: rotate(360deg); } }
  .load-more.last-page:hover .load-more-img-wrap {
    animation: none; }
    .load-more.last-page:hover .load-more-img-wrap img {
      animation: none; }

/*------------- #SUBSCRIBE --------------*/
.subscribe {
  padding: 72px 0;
  overflow: hidden;
  position: relative; }
  @media (max-width: 640px) {
    .subscribe {
      padding: 70px 0 170px; } }
  .subscribe .subscribe-title {
    font-size: 30px;
    color: #fff;
    margin-bottom: 23px; }
  .subscribe .sub-title {
    color: rgba(255, 255, 255, 0.5);
    float: left; }
  .subscribe .subscribe-form {
    margin-bottom: 25px; }
    .subscribe .subscribe-form .email {
      background-color: #fff;
      padding: 16px 40px;
      font-size: 16px;
      color: #797676;
      border-color: transparent;
      border-radius: 50px 0 0 50px;
      width: 70%;
      float: left; }
      @media (max-width: 360px) {
        .subscribe .subscribe-form .email {
          width: 100%;
          margin-bottom: 20px;
          border-radius: 50px; } }
    .subscribe .subscribe-form .subscr-btn {
      display: inline-block;
      background-color: #2f2c2c;
      padding: 17px 40px;
      border-radius: 0 50px 50px 0;
      font-size: 15px;
      text-transform: uppercase;
      width: 30%;
      cursor: pointer;
      position: relative;
      color: #fff;
      text-align: center; }
      @media (max-width: 1024px) {
        .subscribe .subscribe-form .subscr-btn {
          padding: 19px 6px 22px;
          font-size: 13px; } }
      @media (max-width: 980px) {
        .subscribe .subscribe-form .subscr-btn .semicircle--right {
          display: none; } }
      @media (max-width: 360px) {
        .subscribe .subscribe-form .subscr-btn {
          padding: 20px;
          width: 100%;
          border-radius: 50px; } }
  .subscribe .images-block img {
    position: absolute;
    opacity: 0; }
    .subscribe .images-block img.mail {
      left: 0;
      bottom: -100%; }
      @media (max-width: 1024px) {
        .subscribe .images-block img.mail {
          width: 40%; } }
      @media (max-width: 768px) {
        .subscribe .images-block img.mail {
          width: 16%; } }
      @media (max-width: 640px) {
        .subscribe .images-block img.mail {
          width: 40%; } }
      @media (max-width: 360px) {
        .subscribe .images-block img.mail {
          width: 60%; } }
    .subscribe .images-block img.gear {
      top: 50px;
      right: 0; }
      @media (max-width: 800px) {
        .subscribe .images-block img.gear {
          top: 10px; } }
    .subscribe .images-block img.mail-2 {
      bottom: -50px;
      right: -100%; }

/*------------- #FOOTER --------------*/
.footer {
  padding-top: 110px;
  background-color: #151414;
  color: white; }
  @media (max-width: 768px) {
    .footer {
      padding-top: 40px; } }
  .footer .info {
    padding-bottom: 110px;
    border-bottom: 2px solid rgba(255, 255, 255, 0.1);
    overflow: hidden; }
    @media (max-width: 1024px) {
      .footer .info {
        padding-bottom: 40px; } }
    .footer .info .heading {
      margin-bottom: 23px; }
      .footer .info .heading .heading-title {
        color: #fff; }
      .footer .info .heading .heading-text {
        font-size: 16px;
        line-height: 1.6;
        opacity: .4; }
    .footer .info .services ul {
      width: 50%;
      float: left;
      line-height: 1.2; }
      @media (max-width: 1024px) {
        .footer .info .services ul {
          width: 100%; } }
    .footer .info .services .list--primary > li i {
      margin-right: 15px;
      margin-top: 3px;
      color: #acacac; }
    .footer .info .services .list--primary > li a {
      font-size: 14px;
      opacity: 1; }
    .footer .info .services .list--primary > li:hover i {
      color: #4cc2c0;
      margin-left: 10px; }
    .footer .info .services .list--primary > li:hover a {
      color: #4cc2c0; }
    @media (max-width: 1024px) {
      .footer .info .socials {
        margin-bottom: 30px; } }
  .footer .contacts {
    padding: 40px 0;
    display: flex; }
    @media (max-width: 570px) {
      .footer .contacts {
        display: block; } }
    .footer .contacts a {
      font-size: 24px;
      color: #fff; }
    .footer .contacts .contacts-item .content .sub-title {
      opacity: .4; }
  .footer a {
    color: rgba(255, 255, 255, 0.35);
    transition: all .3s ease; }
    .footer a:hover {
      color: #4cc2c0; }
  .footer .sub-footer {
    background-color: #121111;
    padding: 60px 0;
    position: relative; }
    @media (max-width: 768px) {
      .footer .sub-footer {
        padding: 30px 0; } }
    .footer .sub-footer span {
      font-size: 14px;
      margin-right: 30px;
      color: #504D4E; }
      @media (max-width: 980px) {
        .footer .sub-footer span {
          margin-right: 0;
          margin-left: 0;
          margin-bottom: 10px;
          display: block; } }
      .footer .sub-footer span:last-of-type {
        padding-right: 70px; }
  .footer.js-fixed-footer {
    width: 100%;
    bottom: 0;
    left: 0;
    right: 0;
    position: fixed;
    z-index: 1;
    -webkit-transition-property: all;
    -moz-transition-property: all;
    transition-property: all;
    -webkit-transition-duration: 0.4s;
    -moz-transition-duration: 0.4s;
    transition-duration: 0.4s;
    -webkit-transition-timing-function: cubic-bezier(0, 0, 0, 1);
    -moz-transition-timing-function: cubic-bezier(0, 0, 0, 1);
    transition-timing-function: cubic-bezier(0, 0, 0, 1); }
    @media (max-width: 768px) {
      .footer.js-fixed-footer {
        position: relative; } }

.content-wrapper {
  position: relative;
  z-index: 2;
  background-color: #fff;
  -webkit-margin-bottom-collapse: separate; }

.block-footer-height {
  position: relative;
  width: 100%; }
  @media (max-width: 768px) {
    .block-footer-height {
      display: none; } }

/*------------- #OVERLAY-MENU --------------*/
body:before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(47, 44, 44, 0.85);
  opacity: 0;
  transition: opacity .3s ease;
  z-index: -999; }

body.overlay-enable:before {
  opacity: .8;
  z-index: 500; }

#overlay {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  background: rgba(47, 44, 44, 0.85);
  opacity: .8;
  z-index: 25; }

.overlay_search {
  z-index: 100;
  position: fixed;
  top: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden; }
  .overlay_search:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    background: rgba(37, 35, 35, 0.97);
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    border-radius: 100%;
    -webkit-transform: scale(0.04) translateY(9999px);
    transform: scale(0.04) translateY(9999px);
    overflow: hidden; }
  .overlay_search .form_search-wrap {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    min-width: 1170px;
    opacity: 0; }
    @media (max-width: 1024px) {
      .overlay_search .form_search-wrap {
        min-width: 90%;
        padding: 0 15px; } }
    @media (max-width: 980px) {
      .overlay_search .form_search-wrap {
        min-width: 72%; } }
    @media (max-width: 800px) {
      .overlay_search .form_search-wrap {
        min-width: 90%; } }
    .overlay_search .form_search-wrap form {
      position: relative;
      transition: all .3s ease; }
      .overlay_search .form_search-wrap form .overlay_search-input {
        background-color: transparent;
        padding: 0 0 25px;
        border: none;
        border-bottom: 2px solid #707070;
        color: #707070;
        font-size: 24px;
        transition: all .3s ease; }
        .overlay_search .form_search-wrap form .overlay_search-input:hover {
          border-bottom: 2px solid #fff;
          color: #acacac; }
          .overlay_search .form_search-wrap form .overlay_search-input:hover + .overlay_search-close span {
            background: #acacac; }
        .overlay_search .form_search-wrap form .overlay_search-input:focus {
          border-bottom: 2px solid #4cc2c0;
          color: #fff; }
          .overlay_search .form_search-wrap form .overlay_search-input:focus + .overlay_search-close span {
            background: #4cc2c0; }
      .overlay_search .form_search-wrap form .overlay_search-close {
        width: 30px;
        height: 30px;
        position: absolute;
        display: block;
        right: -5px;
        top: 0; }
        .overlay_search .form_search-wrap form .overlay_search-close span {
          display: block;
          height: 2px;
          background: #707070;
          border-radius: 10px;
          margin: auto;
          width: 100%;
          transition: all .3s ease;
          top: 50%;
          position: absolute; }
          .overlay_search .form_search-wrap form .overlay_search-close span:first-of-type {
            -webkit-transform: rotate(-45deg);
            -moz-transform: rotate(-45deg);
            -o-transform: rotate(-45deg); }
          .overlay_search .form_search-wrap form .overlay_search-close span:last-of-type {
            -webkit-transform: rotate(45deg);
            -moz-transform: rotate(45deg);
            -o-transform: rotate(45deg); }

.open .overlay_search {
  top: 0; }
  .open .overlay_search:before {
    -webkit-animation: menu-animation 0.8s ease-out forwards;
    animation: menu-animation 0.8s ease-out forwards; }
  .open .overlay_search .form_search-wrap {
    opacity: 1;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    -webkit-transition: opacity 3s ease-out, -webkit-transform 1s ease-out;
    transition: opacity 1s ease-out, -webkit-transform .5s ease-out;
    transition: transform .5s ease-out, opacity 1s ease-out;
    transition: transform .5s ease-out, opacity 1s ease-out, -webkit-transform .5s ease-out;
    transition-delay: .5s; }

@-webkit-keyframes menu-animation {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.04) translateY(300%);
    transform: scale(0.04) translateY(300%); }
  40% {
    -webkit-transform: scale(0.04) translateY(0);
    transform: scale(0.04) translateY(0);
    -webkit-transition: ease-out;
    transition: ease-out; }
  40% {
    -webkit-transform: scale(0.04) translateY(0);
    transform: scale(0.04) translateY(0); }
  60% {
    opacity: 1;
    -webkit-transform: scale(0.02) translateY(0px);
    transform: scale(0.02) translateY(0px); }
  61% {
    -webkit-transform: scale(0.04);
    transform: scale(0.04); }
  99.9% {
    height: 0;
    padding-bottom: 100%;
    border-radius: 100%; }
  100% {
    -webkit-transform: scale(2);
    transform: scale(2);
    height: 100%;
    padding-bottom: 0;
    border-radius: 0; } }

@keyframes menu-animation {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.04) translateY(300%);
    transform: scale(0.04) translateY(300%); }
  40% {
    -webkit-transform: scale(0.04) translateY(0);
    transform: scale(0.04) translateY(0);
    -webkit-transition: ease-out;
    transition: ease-out; }
  40% {
    -webkit-transform: scale(0.04) translateY(0);
    transform: scale(0.04) translateY(0); }
  60% {
    opacity: 1;
    -webkit-transform: scale(0.02) translateY(0px);
    transform: scale(0.02) translateY(0px); }
  61% {
    -webkit-transform: scale(0.04);
    transform: scale(0.04); }
  99.9% {
    height: 0;
    padding-bottom: 100%;
    border-radius: 100%; }
  100% {
    -webkit-transform: scale(2);
    transform: scale(2);
    height: 100%;
    padding-bottom: 0;
    border-radius: 0; } }

.right-menu {
  position: fixed;
  right: 0;
  top: 0;
  max-width: 500px;
  height: 100%;
  z-index: 555;
  transition: all .4s ease;
  transform: translateX(100%);
  will-change: transform;
  background-color: #fff; }
  .right-menu.opened {
    transform: translateX(0%); }
    .right-menu.opened .right-menu-wrap .user-menu-close {
      transform: scale(1);
      opacity: 1; }
  @media (max-width: 570px) {
    .right-menu {
      display: none; } }
  .right-menu .right-menu-wrap {
    padding: 80px 75px 30px;
    background-color: #fff; }
    .right-menu .right-menu-wrap .user-menu-close {
      position: absolute;
      left: -36px;
      top: 83px;
      width: 70px;
      height: 70px;
      border: 3px solid #2f2c2c;
      border-radius: 50%;
      z-index: 35;
      transform: scale(0);
      opacity: 0;
      transition: all .3s ease;
      transition-delay: .3s; }
      @media (max-width: 768px) {
        .right-menu .right-menu-wrap .user-menu-close {
          width: 50px;
          height: 50px;
          border-width: 3px;
          left: auto;
          right: 15px;
          top: 15px; } }
      .right-menu .right-menu-wrap .user-menu-close .user-menu-content {
        width: 64px;
        height: 64px;
        background-color: #f15b26;
        border: 4px solid #fff;
        border-radius: 50%;
        position: relative;
        display: block; }
        @media (max-width: 768px) {
          .right-menu .right-menu-wrap .user-menu-close .user-menu-content {
            width: 44px;
            height: 44px;
            border-width: 2px; } }
        .right-menu .right-menu-wrap .user-menu-close .user-menu-content span {
          display: block;
          height: 3px;
          background: #fff;
          border-radius: 10px;
          margin: auto;
          width: 50%;
          transition: all .3s ease;
          left: 25%;
          top: 50%;
          position: absolute; }
          .right-menu .right-menu-wrap .user-menu-close .user-menu-content span:first-of-type {
            -webkit-transform: rotate(-45deg);
            -moz-transform: rotate(-45deg);
            -o-transform: rotate(-45deg); }
          .right-menu .right-menu-wrap .user-menu-close .user-menu-content span:last-of-type {
            -webkit-transform: rotate(45deg);
            -moz-transform: rotate(45deg);
            -o-transform: rotate(45deg); }
  .right-menu .text {
    margin-bottom: 0; }
  .right-menu .login .login-title, .right-menu .login .heading-title {
    font-size: 30px;
    margin-bottom: 20px; }
  .right-menu .login .login-btn-wrap {
    overflow: hidden;
    padding-bottom: 20px;
    display: table; }
    .right-menu .login .login-btn-wrap .btn {
      float: left;
      margin-right: 20px; }
    .right-menu .login .login-btn-wrap .remember-wrap {
      display: table-cell;
      vertical-align: middle; }
      .right-menu .login .login-btn-wrap .remember-wrap .checkbox {
        position: relative; }
        .right-menu .login .login-btn-wrap .remember-wrap .checkbox input[type=checkbox] {
          display: none; }
        .right-menu .login .login-btn-wrap .remember-wrap .checkbox label {
          padding-left: 30px;
          color: #2f2c2c; }
        .right-menu .login .login-btn-wrap .remember-wrap .checkbox label:before {
          content: "";
          display: inline-block;
          width: 14px;
          height: 14px;
          position: absolute;
          left: 0;
          bottom: 5px;
          border-radius: 3px;
          background-color: #4cc2c0;
          border: none; }
        .right-menu .login .login-btn-wrap .remember-wrap .checkbox input[type=checkbox]:checked + label:before {
          content: "\2714";
          font-size: 14px;
          color: #fff;
          text-align: center;
          line-height: 14px; }
  .right-menu .login .helped, .right-menu .login .helped a {
    color: #4cc2c0;
    font-size: 16px;
    cursor: pointer;
    margin-bottom: 5px; }
  .right-menu .login input {
    margin-bottom: 25px; }
  .right-menu .contacts {
    display: block; }
    .right-menu .contacts .contacts-title, .right-menu .contacts .heading-title {
      font-size: 30px;
      margin-bottom: 20px; }
    .right-menu .contacts .contacts-text {
      margin-bottom: 30px; }
    .right-menu .contacts .contacts-item {
      margin-bottom: 20px; }
      .right-menu .contacts .contacts-item img {
        float: left;
        margin: auto 30px auto auto; }
      .right-menu .contacts .contacts-item .content {
        overflow: hidden; }
        .right-menu .contacts .contacts-item .content a {
          font-size: 22px;
          color: #2f2c2c;
          transition: all .3s ease; }
          .right-menu .contacts .contacts-item .content a:hover {
            color: #4cc2c0; }
        .right-menu .contacts .contacts-item .content .sub-title {
          font-size: 14px;
          color: #acacac;
          margin-bottom: 0; }
  .right-menu .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
    background-color: #4cc2c0; }
  .right-menu .mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
    background-color: rgba(76, 194, 192, 0.85); }
  .right-menu .mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
  .right-menu .mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
    background-color: rgba(76, 194, 192, 0.9); }
  .right-menu .mCSB_scrollTools .mCSB_draggerRail {
    background-color: rgba(76, 194, 192, 0.5); }
  .right-menu .widget {
    padding: 30px 75px 40px;
    margin-bottom: 0; }
    .right-menu .widget:nth-child(even) {
      background-color: transparent; }
    .right-menu .widget:nth-child(odd) {
      background-color: #f7f9f9; }

/*------------- #FEATURES --------------*/
.features-item {
  text-align: center;
  padding: 20px 0; }
  .features-item:hover a {
    color: #4cc2c0; }
  .features-item:hover .read-more {
    color: #4cc2c0; }
  .features-item .features-item__thumb {
    margin-bottom: 30px; }
  .features-item a {
    margin-bottom: 10px;
    font-size: 30px;
    display: block; }
    @media (max-width: 570px) {
      .features-item a {
        font-size: 24px; } }
    .features-item a:hover {
      color: #4cc2c0; }
  .features-item .features-text {
    font-size: 16px;
    margin-bottom: 19px;
    -moz-hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto; }
  .features-item .read-more {
    font-size: 16px;
    color: #ccc;
    display: block; }
    .features-item .read-more:hover {
      color: #4cc2c0; }
    .features-item .read-more i {
      margin-left: 10px;
      font-size: 13px; }

@media (max-width: 1024px) {
  .contacts {
    display: block; } }

@media (max-width: 1024px) {
  .contacts .contacts-item {
    margin-bottom: 25px; } }

.contacts .contacts-item .icon {
  width: 70px;
  height: 70px;
  float: left;
  margin-right: 30px; }

.contacts .contacts-item img {
  float: left;
  margin: auto 30px auto auto; }

.contacts .contacts-item .content {
  margin-left: auto;
  overflow: hidden; }
  .contacts .contacts-item .content .title {
    font-size: 24px; }
    @media (max-width: 1024px) {
      .contacts .contacts-item .content .title {
        font-size: 13px; } }
    .contacts .contacts-item .content .title:hover {
      color: #4cc2c0; }
  .contacts .contacts-item .content .sub-title {
    font-size: 16px; }
    @media (max-width: 1024px) {
      .contacts .contacts-item .content .sub-title {
        font-size: 13px; } }

.contacts-shadow {
  box-shadow: 40px 0 80px rgba(0, 0, 0, 0.15); }

#map {
  width: 100%;
  height: 620px; }

/*------------- #CONTACT-FORM --------------*/
textarea {
  width: 100%;
  min-height: 140px; }

.contact-form {
  margin-top: 30px;
  position: relative; }
  .contact-form abbr {
    text-decoration: none; }
  .contact-form .checked {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    margin-top: -15px; }
  .contact-form .checked-icon {
    position: relative;
    display: block; }
    .contact-form .checked-icon:after {
      content: "\e908";
      font-family: 'seosight';
      position: absolute;
      right: 10px;
      top: 50%;
      transform: translate(-50%, -50%);
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      margin-top: -15px;
      color: #4cc2c0; }
  .contact-form .focus-white:focus {
    background-color: #fff; }
  .contact-form textarea {
    min-height: 200px; }
  .contact-form input {
    margin-bottom: 30px; }

.input-title {
  color: #fff;
  font-size: 16px;
  margin-bottom: 15px;
  display: block; }
  .input-title abbr[title] {
    color: #f04e4e;
    margin-left: 3px; }
  .input-title .optional {
    color: #797676;
    font-size: 14px;
    margin-left: 10px; }

.submit-block {
  overflow: hidden;
  padding-bottom: 30px; }
  .submit-block .btn {
    width: 100%;
    text-align: center;
    text-transform: uppercase; }
    @media (max-width: 768px) {
      .submit-block .btn {
        margin-bottom: 30px; } }
  .submit-block .submit-block-text {
    font-size: 14px; }
  @media (max-width: 360px) {
    .submit-block {
      display: block; } }
  @media (max-width: 768px) {
    .submit-block .table-cell {
      float: left; } }

.remember-wrap {
  display: table-cell;
  vertical-align: middle; }
  .remember-wrap .checkbox {
    position: relative; }
    .remember-wrap .checkbox input[type=checkbox] {
      display: none; }
    .remember-wrap .checkbox label {
      padding-left: 30px;
      color: #2f2c2c; }
    .remember-wrap .checkbox label:before {
      content: "";
      display: inline-block;
      width: 14px;
      height: 14px;
      position: absolute;
      left: 0;
      bottom: 5px;
      border-radius: 3px;
      background-color: #4cc2c0;
      border: none; }
    .remember-wrap .checkbox input[type=checkbox]:checked + label:before {
      content: "\2714";
      font-size: 14px;
      color: #fff;
      text-align: center;
      line-height: 14px; }
    .remember-wrap .checkbox.gray label:before {
      background-color: #dce1e1; }
    .remember-wrap .checkbox.gray input[type=checkbox]:checked + label:before {
      color: #4cc2c0; }
  .remember-wrap .choose-select {
    position: relative;
    display: block; }
    .remember-wrap .choose-select:after {
      content: '\e908';
      display: block;
      width: 60px;
      height: 64px;
      background-color: #f1f3f3;
      position: absolute;
      right: 0;
      top: 0;
      border-left: 2px solid #e3e9e9;
      border-radius: 0 50px 50px 0;
      font-family: seosight;
      line-height: 64px;
      text-align: center;
      cursor: pointer; }
    .remember-wrap .choose-select .checked {
      color: #cfcfcf;
      right: 15px;
      margin-top: 0; }

.choose-select {
  position: relative;
  display: block; }
  .choose-select:after {
    content: '\e908';
    display: block;
    width: 60px;
    height: 64px;
    background-color: #f1f3f3;
    position: absolute;
    right: 0;
    top: 0;
    border-left: 2px solid #e3e9e9;
    border-radius: 0 50px 50px 0;
    font-family: seosight;
    line-height: 64px;
    text-align: center;
    cursor: pointer; }
  .choose-select .checked {
    color: #cfcfcf;
    right: 15px;
    margin-top: 0; }

/*------------- #CART --------------*/
.cart-main {
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 15px 0 65px rgba(0, 0, 0, 0.3);
  margin-bottom: 80px; }
  .cart-main tbody {
    background-color: #fff; }
    .cart-main tbody .cart_item {
      position: relative; }
      .cart-main tbody .cart_item:after {
        content: '';
        display: block;
        width: 95%;
        height: 2px;
        background-color: #f7f9f9;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translate(-50%, 0);
        -webkit-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0); }
  .cart-main .cart-product-wrap-title-main tr > th {
    color: #fff;
    font-size: 16px;
    text-transform: uppercase;
    background-color: #2f2c2c;
    padding: 30px 0;
    text-align: left; }
    @media (max-width: 460px) {
      .cart-main .cart-product-wrap-title-main tr > th {
        font-size: 12px; } }
  .cart-main .cart_item td {
    padding: 40px 0; }
  .cart-main .cart_item .product-remove .product-del {
    position: relative;
    font-size: 20px;
    cursor: pointer;
    padding: 0 55px;
    color: #ed1c24;
    display: block; }
    @media (max-width: 768px) {
      .cart-main .cart_item .product-remove .product-del {
        padding: 0 15px; } }
    @media (max-width: 460px) {
      .cart-main .cart_item .product-remove .product-del {
        padding: 0 7px;
        font-size: 9px; } }
  .cart-main .cart_item .product-thumbnail .cart-product__item {
    display: flex;
    align-items: center; }
    @media (max-width: 360px) {
      .cart-main .cart_item .product-thumbnail .cart-product__item {
        display: block; } }
    .cart-main .cart_item .product-thumbnail .cart-product__item img {
      float: left;
      margin-right: 40px;
      display: table-cell;
      vertical-align: middle; }
      @media (max-width: 460px) {
        .cart-main .cart_item .product-thumbnail .cart-product__item img {
          margin-right: 0; } }
    .cart-main .cart_item .product-thumbnail .cart-product__item .cart-product-content {
      text-align: left; }
      .cart-main .cart_item .product-thumbnail .cart-product__item .cart-product-content .cart-author {
        margin-bottom: 5px; }
      .cart-main .cart_item .product-thumbnail .cart-product__item .cart-product-content .cart-product-title {
        line-height: 1; }
  .cart-main .cart_item .product-quantity .quantity {
    overflow: hidden; }
    .cart-main .cart_item .product-quantity .quantity .quantity-minus {
      display: block;
      float: left;
      padding: 0 20px;
      background-color: #f1f3f3;
      border-radius: 50px 0 0 50px;
      font-size: 40px;
      border-right: 2px solid #e3e9e9;
      color: #cfcfcf;
      transition: all .3s ease; }
      @media (max-width: 980px) {
        .cart-main .cart_item .product-quantity .quantity .quantity-minus {
          font-size: 20px;
          padding: 0 10px; } }
      @media (max-width: 480px) {
        .cart-main .cart_item .product-quantity .quantity .quantity-minus {
          font-size: 14px;
          padding: 0 5px; } }
      .cart-main .cart_item .product-quantity .quantity .quantity-minus:hover {
        background-color: #4cc2c0;
        color: #fff;
        border-color: #4cc2c0; }
    .cart-main .cart_item .product-quantity .quantity input {
      max-width: 70px;
      float: left;
      background-color: #f7f9f9;
      padding: 18px 20px;
      font-size: 16px;
      text-align: center;
      border-radius: 0;
      margin-bottom: 0; }
      @media (max-width: 980px) {
        .cart-main .cart_item .product-quantity .quantity input {
          font-size: 18px;
          padding: 0 10px;
          max-width: 40px; } }
      @media (max-width: 480px) {
        .cart-main .cart_item .product-quantity .quantity input {
          font-size: 14px;
          padding: 0 5px;
          max-width: 30px; } }
    .cart-main .cart_item .product-quantity .quantity .quantity-plus {
      display: block;
      float: left;
      padding: 0 20px;
      background-color: #f1f3f3;
      border-radius: 0 50px 50px 0;
      font-size: 40px;
      border-left: 2px solid #e3e9e9;
      color: #cfcfcf;
      transition: all .3s ease; }
      @media (max-width: 980px) {
        .cart-main .cart_item .product-quantity .quantity .quantity-plus {
          font-size: 20px;
          padding: 0 10px; } }
      @media (max-width: 480px) {
        .cart-main .cart_item .product-quantity .quantity .quantity-plus {
          font-size: 14px;
          padding: 0 5px; } }
      .cart-main .cart_item .product-quantity .quantity .quantity-plus:hover {
        background-color: #4cc2c0;
        color: #fff;
        border-color: #4cc2c0; }
  .cart-main .cart_item .product-subtotal {
    padding-right: 45px; }
    @media (max-width: 570px) {
      .cart-main .cart_item .product-subtotal {
        padding-right: 10px; } }
    .cart-main .cart_item .product-subtotal .total {
      color: #f26522; }
  .cart-main .actions {
    padding: 40px 70px;
    background-color: #f1f3f3;
    overflow: hidden; }
    @media (max-width: 570px) {
      .cart-main .actions {
        padding: 30px; } }
    .cart-main .actions .coupon {
      float: left; }
      @media (max-width: 980px) {
        .cart-main .actions .coupon {
          margin-bottom: 30px; } }
      .cart-main .actions .coupon input {
        width: auto;
        border-radius: 50px 0 0 50px;
        background-color: #fff;
        padding: 19px 40px;
        float: left;
        margin-bottom: 0; }
        @media (max-width: 600px) {
          .cart-main .actions .coupon input {
            border-radius: 50px;
            margin-bottom: 30px; } }
      .cart-main .actions .coupon .btn-medium {
        border-radius: 0 50px 50px 0;
        float: left; }
        @media (max-width: 768px) {
          .cart-main .actions .coupon .btn-medium {
            padding: 23px 31px; } }
        @media (max-width: 600px) {
          .cart-main .actions .coupon .btn-medium {
            border-radius: 50px; } }
    .cart-main .actions .btn {
      float: right; }
      @media (max-width: 980px) {
        .cart-main .actions .btn {
          float: left; } }

.cart-total {
  text-align: center; }
  .cart-total .cart-total-title {
    font-size: 40px;
    margin-bottom: 30px; }
  .cart-total .cart-total-subtotal {
    margin-bottom: 5px; }
  .cart-total .cart-total-total {
    margin-bottom: 40px; }
    .cart-total .cart-total-total .price {
      color: #f26522; }
  .cart-total .btn-medium {
    padding-left: 105px;
    padding-right: 105px; }

.cart-title {
  text-align: center;
  margin-bottom: 60px; }

/*------------- #INTERESTED-PRODUCTS --------------*/
.interested-products .heading {
  margin-bottom: 50px; }

.interested-products .books-item {
  margin-bottom: 60px; }

/*/ Effect 2: Move Up /*/
#items-grid > div.animate {
  -webkit-transform: translateY(200px);
  transform: translateY(200px);
  -webkit-animation: moveUp 0.65s ease forwards;
  animation: moveUp 0.65s ease forwards; }

@-webkit-keyframes moveUp {
  0% { }
  100% {
    -webkit-transform: translateY(0);
    opacity: 1; } }

@keyframes moveUp {
  0% { }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

/*------------- #TIME-LINE --------------*/
/* --------------------------------

Main Components

-------------------------------- */
.cd-horizontal-timeline {
  opacity: 0;
  margin: 2em auto;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  transition: opacity 0.2s; }

.cd-horizontal-timeline::before {
  /* never visible - this is used in jQuery to check the current MQ */
  content: 'mobile';
  display: none; }

.cd-horizontal-timeline.loaded {
  /* show the timeline after events position has been set (using JavaScript) */
  opacity: 1; }

.cd-horizontal-timeline .timeline {
  position: relative;
  height: 100px;
  margin: 0 auto; }

.cd-horizontal-timeline .events-wrapper {
  position: relative;
  height: 100%;
  margin: 0 60px;
  overflow: hidden; }

.cd-horizontal-timeline .events-wrapper::after, .cd-horizontal-timeline .events-wrapper::before {
  /* these are used to create a shadow effect at the sides of the timeline */
  content: '';
  position: absolute;
  z-index: 2;
  top: 49px;
  height: 6px;
  width: 20px; }

.cd-horizontal-timeline .events-wrapper::before {
  left: 0;
  background-image: -webkit-linear-gradient(left, #f8f8f8, rgba(248, 248, 248, 0));
  background-image: linear-gradient(to right, #f8f8f8, rgba(248, 248, 248, 0)); }

.cd-horizontal-timeline .events-wrapper::after {
  right: 0;
  background-image: -webkit-linear-gradient(right, #f8f8f8, rgba(248, 248, 248, 0));
  background-image: linear-gradient(to left, #f8f8f8, rgba(248, 248, 248, 0)); }

.cd-horizontal-timeline .events {
  /* this is the grey line/timeline */
  position: absolute;
  z-index: 1;
  left: 0;
  top: 49px;
  height: 6px;
  /* width will be set using JavaScript */
  background: #fecb16;
  -webkit-transition: -webkit-transform 0.4s;
  -moz-transition: -moz-transform 0.4s;
  transition: transform 0.4s; }
  .cd-horizontal-timeline .events ol {
    list-style: none;
    margin: 0; }

.cd-horizontal-timeline .filling-line {
  /* this is used to create the green line filling the timeline */
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background-color: #4cc2c0;
  -webkit-transform: scaleX(0);
  -moz-transform: scaleX(0);
  -ms-transform: scaleX(0);
  -o-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -ms-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
  -webkit-transition: -webkit-transform 0.3s;
  -moz-transition: -moz-transform 0.3s;
  transition: transform 0.3s; }

.cd-horizontal-timeline .events a {
  position: absolute;
  bottom: -60px;
  z-index: 2;
  text-align: center;
  font-size: 1.3rem;
  padding-bottom: 15px;
  color: #acacac;
  /* fix bug on Safari - text flickering while timeline translates */
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -o-transform: translateZ(0);
  transform: translateZ(0); }

.cd-horizontal-timeline .events a::after {
  /* this is used to create the event spot */
  content: '';
  position: absolute;
  left: 50%;
  right: auto;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 50px;
  height: 30px;
  width: 30px;
  border-radius: 50%;
  border: 2px solid #fecb16;
  background-color: #fff;
  -webkit-transition: background-color 0.3s, border-color 0.3s;
  -moz-transition: background-color 0.3s, border-color 0.3s;
  transition: background-color 0.3s, border-color 0.3s; }

.no-touch .cd-horizontal-timeline .events a:hover::after {
  background-color: #4cc2c0;
  border-color: #4cc2c0; }

.cd-horizontal-timeline .events a.selected {
  pointer-events: none;
  color: #4cc2c0; }

.cd-horizontal-timeline .events a.selected::after {
  background-color: #4cc2c0;
  border-color: #4cc2c0; }

.cd-horizontal-timeline .events a.older-event::after {
  border-color: #4cc2c0; }

.cd-horizontal-timeline .events a.older-event {
  color: #4cc2c0; }

.cd-timeline-navigation {
  list-style: none;
  margin: 0; }

.cd-timeline-navigation a {
  /* these are the left/right arrows to navigate the timeline */
  position: absolute;
  z-index: 1;
  top: 50%;
  bottom: auto;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  height: 40px;
  width: 40px;
  border-radius: 50%;
  border: 2px solid #dfdfdf;
  /* replace text with an icon */
  overflow: hidden;
  color: transparent;
  white-space: nowrap;
  -webkit-transition: border-color 0.3s;
  -moz-transition: border-color 0.3s;
  transition: border-color 0.3s; }

.cd-timeline-navigation a:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #d7d7d7;
  font-size: 20px;
  transition: all .3s ease; }

.cd-timeline-navigation a.prev {
  left: 0;
  -webkit-transform: translateY(-50%) rotate(180deg);
  -moz-transform: translateY(-50%) rotate(180deg);
  -ms-transform: translateY(-50%) rotate(180deg);
  -o-transform: translateY(-50%) rotate(180deg);
  transform: translateY(-50%) rotate(180deg); }

.cd-timeline-navigation a.next {
  right: 0; }

.no-touch .cd-timeline-navigation a:hover {
  border-color: #4cc2c0; }

.no-touch .cd-timeline-navigation a:hover:before {
  color: #4cc2c0; }

.cd-timeline-navigation a.inactive {
  cursor: not-allowed; }

.no-touch .cd-timeline-navigation a.inactive:hover {
  border-color: #dfdfdf; }

.cd-timeline-navigation a.inactive:hover:before {
  color: #d7d7d7; }

.cd-horizontal-timeline .events-content {
  position: relative;
  width: 100%;
  margin: 80px 0;
  -webkit-transition: height 0.4s;
  -moz-transition: height 0.4s;
  transition: height 0.4s; }
  .cd-horizontal-timeline .events-content ol {
    list-style: none;
    padding: 0;
    margin: 0; }

.cd-horizontal-timeline .events-content li {
  position: absolute;
  z-index: 1;
  width: 100%;
  left: 0;
  top: 0;
  -webkit-transform: translateX(-100%);
  -moz-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  -o-transform: translateX(-100%);
  transform: translateX(-100%);
  padding: 0;
  opacity: 0;
  -webkit-animation-duration: 0.4s;
  -moz-animation-duration: 0.4s;
  animation-duration: 0.4s;
  -webkit-animation-timing-function: ease-in-out;
  -moz-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out; }

.cd-horizontal-timeline .events-content li.selected {
  /* visible event content */
  position: relative;
  z-index: 2;
  opacity: 1;
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  -ms-transform: translateX(0);
  -o-transform: translateX(0);
  transform: translateX(0); }

.cd-horizontal-timeline .events-content li.enter-right, .cd-horizontal-timeline .events-content li.leave-right {
  -webkit-animation-name: cd-enter-right;
  -moz-animation-name: cd-enter-right;
  animation-name: cd-enter-right; }

.cd-horizontal-timeline .events-content li.enter-left, .cd-horizontal-timeline .events-content li.leave-left {
  -webkit-animation-name: cd-enter-left;
  -moz-animation-name: cd-enter-left;
  animation-name: cd-enter-left; }

.cd-horizontal-timeline .events-content li.leave-right, .cd-horizontal-timeline .events-content li.leave-left {
  -webkit-animation-direction: reverse;
  -moz-animation-direction: reverse;
  animation-direction: reverse; }

.cd-horizontal-timeline .events-content li > * {
  margin: 0 auto; }

.cd-horizontal-timeline .events-content h2 {
  font-weight: bold;
  font-size: 2.6rem;
  font-family: "Playfair Display", serif;
  font-weight: 700;
  line-height: 1.2; }

.cd-horizontal-timeline .events-content em {
  display: block;
  font-style: italic;
  margin: 10px auto; }

.cd-horizontal-timeline .events-content em::before {
  content: '- '; }

.cd-horizontal-timeline .events-content em {
  line-height: 1.6; }

.time-line-content .time-line-subtitle {
  color: #acacac;
  margin-bottom: 20px; }

.time-line-content .time-line-title {
  margin-bottom: 20px;
  font-size: 30px;
  line-height: 1.2; }

.time-line-content .time-line-text {
  font-size: 18px;
  color: #acacac; }

@media (max-width: 570px) {
  .time-line-thumb {
    margin-bottom: 30px; } }

@-webkit-keyframes cd-enter-right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0%); } }

@-moz-keyframes cd-enter-right {
  0% {
    opacity: 0;
    -moz-transform: translateX(100%); }
  100% {
    opacity: 1;
    -moz-transform: translateX(0%); } }

@keyframes cd-enter-right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    -ms-transform: translateX(100%);
    -o-transform: translateX(100%);
    transform: translateX(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%); } }

@-webkit-keyframes cd-enter-left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0%); } }

@-moz-keyframes cd-enter-left {
  0% {
    opacity: 0;
    -moz-transform: translateX(-100%); }
  100% {
    opacity: 1;
    -moz-transform: translateX(0%); } }

@keyframes cd-enter-left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%);
    -moz-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    -o-transform: translateX(-100%);
    transform: translateX(-100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%); } }

/*------------- #TEAMMEMBERS --------------*/
.teammembers-item {
  text-align: center; }
  .teammembers-item img {
    margin-bottom: 30px; }
  .teammembers-item .teammembers-item-name {
    margin-bottom: 5px; }
  .teammembers-item .teammembers-item-prof {
    margin-bottom: 15px; }
  .teammembers-item .socials .social__item {
    margin-left: 10px; }

/*------------- #SKILLS --------------*/
.skills .skills-item {
  margin-bottom: 25px; }
  .skills .skills-item .skills-item-info {
    margin-bottom: 15px; }
    .skills .skills-item .skills-item-info .skills-item-title {
      font-size: 16px;
      color: #797676; }
    .skills .skills-item .skills-item-info .skills-item-count {
      font-size: 16px;
      color: #fff;
      float: right; }
  .skills .skills-item .skills-item-meter {
    padding: 0 5px;
    width: 100%;
    border-radius: 10px;
    background-color: #373434;
    position: relative;
    height: 17px; }
    .skills .skills-item .skills-item-meter .skills-item-meter-active {
      position: relative;
      height: 6px;
      display: inline-block;
      border-radius: 5px;
      bottom: 6px;
      opacity: 0;
      transition: all .2s ease; }
      .skills .skills-item .skills-item-meter .skills-item-meter-active.skills-animate {
        animation: skills-animated 1.2s ease-out; }
      .skills .skills-item .skills-item-meter .skills-item-meter-active.skills-animate-opacity {
        animation: skills-animated-opacity .2s ease-out; }
      .skills .skills-item .skills-item-meter .skills-item-meter-active:after {
        content: '';
        display: block;
        width: 25px;
        height: 25px;
        border: 4px solid;
        border-color: inherit;
        border-radius: 100%;
        position: absolute;
        right: -23px;
        top: 50%;
        transform: translate(0, -50%);
        -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%); }
    .skills .skills-item .skills-item-meter.bg-border-color {
      background-color: #f7f9f9; }

@keyframes skills-animated {
  0% {
    width: 0; } }

@keyframes skills-animated-opacity {
  100% {
    opacity: 1; } }

/*------------- #BOOKS --------------*/
.books-grid .books-grid-control {
  text-align: center;
  margin-bottom: 60px; }
  .books-grid .books-grid-control .showing {
    margin-right: 60px;
    display: inline-block;
    font-size: 16px;
    color: #acacac; }
    @media (max-width: 480px) {
      .books-grid .books-grid-control .showing {
        margin-right: 30px; } }
    .books-grid .books-grid-control .showing span {
      color: #2f2c2c; }
  .books-grid .books-grid-control .sort {
    display: inline-block;
    font-size: 16px;
    position: relative; }
    .books-grid .books-grid-control .sort .nice-select {
      min-width: 300px; }
    .books-grid .books-grid-control .sort .dropdown-sort-menu {
      padding: 15px;
      text-align: left;
      background-color: #4cc2c0;
      opacity: 0;
      visibility: hidden;
      position: absolute;
      top: 100%;
      right: 0;
      transition: all .3s ease;
      z-index: 10; }
      .books-grid .books-grid-control .sort .dropdown-sort-menu .dropdown-sort-submenu {
        padding: 10px; }
        .books-grid .books-grid-control .sort .dropdown-sort-menu .dropdown-sort-submenu a {
          color: #fff;
          transition: all .3s ease;
          width: 100%;
          display: block; }
        .books-grid .books-grid-control .sort .dropdown-sort-menu .dropdown-sort-submenu:hover a {
          color: #2f2c2c; }

.books-item {
  text-align: center;
  background-color: #f7f9f9;
  padding: 60px; }
  @media (max-width: 1024px) {
    .books-item {
      padding: 30px; } }
  @media (max-width: 768px) {
    .books-item {
      margin: 0 15px 30px; } }
  .books-item .books-item-thumb {
    position: relative;
    max-width: 170px;
    margin: 0 auto 40px; }
    .books-item .books-item-thumb .overlay-books {
      background-color: rgba(255, 255, 255, 0.7);
      opacity: 0; }
    .books-item .books-item-thumb .new {
      width: 55px;
      height: 55px;
      line-height: 55px;
      text-align: center;
      position: absolute;
      top: -15px;
      left: -15px;
      background-color: #8dc63f;
      font-size: 14px;
      color: #fff;
      border-radius: 100%;
      display: none; }
    .books-item .books-item-thumb .sale {
      width: 55px;
      height: 55px;
      line-height: 55px;
      text-align: center;
      position: absolute;
      top: -15px;
      left: -15px;
      background-color: #f15b26;
      font-size: 14px;
      color: #fff;
      border-radius: 100%;
      display: none; }
  .books-item .books-item-info {
    margin-bottom: 30px; }
    .books-item .books-item-info .books-author {
      font-size: 14px;
      color: #acacac;
      margin-bottom: 20px; }
    .books-item .books-item-info .books-title {
      margin-bottom: 20px; }
    .books-item .books-item-info .books-price {
      font-size: 16px;
      color: #f26522; }
      .books-item .books-item-info .books-price .del {
        font-size: 14px;
        color: #acacac;
        text-decoration: line-through;
        margin-right: 5px; }
      .books-item .books-item-info .books-price.free {
        color: #8dc63f; }
  .books-item.new .new {
    display: block; }
  .books-item.sale .sale {
    display: block; }
  .books-item.added .overlay-books {
    opacity: 1; }
  .books-item.added .books-item-info .books-title {
    color: #4cc2c0; }

/*------------- #PIE-CHARTS --------------*/
@media (max-width: 570px) {
  .pie-chart-item {
    margin-bottom: 30px; } }

.pie-chart-item .pie-chart {
  width: 170px;
  height: 170px;
  position: relative;
  border-radius: 100%;
  border: 5px solid #f7f9f9;
  float: left;
  margin-right: 30px; }
  @media (max-width: 980px) {
    .pie-chart-item .pie-chart {
      float: none;
      margin-bottom: 30px; } }
  .pie-chart-item .pie-chart:after {
    content: '';
    display: block;
    width: 145px;
    height: 145px;
    background-color: transparent;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    border-radius: 100%;
    border: 5px solid #f7f9f9;
    z-index: -1; }
  .pie-chart-item .pie-chart .content {
    font-size: 40px;
    color: #2f2c2c;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%); }
  .pie-chart-item .pie-chart img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%); }

.pie-chart-item .pie-chart-content {
  overflow: hidden; }
  .pie-chart-item .pie-chart-content .pie-chart-content-title {
    line-height: 1.2;
    margin-bottom: 15px; }
  .pie-chart-item .pie-chart-content .pie-chart-content-text {
    margin-bottom: 20px; }
  .pie-chart-item .pie-chart-content a {
    color: #acacac;
    transition: all .3s ease;
    font-size: 16px; }
    .pie-chart-item .pie-chart-content a i {
      margin-left: 10px;
      transition: all .3s ease;
      font-size: 12px; }
    .pie-chart-item .pie-chart-content a:hover {
      color: #4cc2c0; }
      .pie-chart-item .pie-chart-content a:hover i {
        color: #4cc2c0; }

.pie-chart canvas {
  max-width: 100%; }

/*------------- #PRODUCT-DETAILS --------------*/
@media (max-width: 570px) {
  .product-details {
    overflow: hidden; } }

.product-details .product-details-thumb {
  padding: 80px 100px 130px;
  position: relative;
  background-color: #f7f9f9;
  box-shadow: 0 25px 40px rgba(0, 0, 0, 0.3);
  text-align: center;
  margin-bottom: 30px; }
  @media (max-width: 980px) {
    .product-details .product-details-thumb {
      padding: 30px; } }
  .product-details .product-details-thumb .product-details-img-wrap {
    position: relative;
    max-width: 271px;
    margin: 0 auto; }
    .product-details .product-details-thumb .product-details-img-wrap .sale {
      width: 80px;
      height: 80px;
      line-height: 80px;
      text-align: center;
      position: absolute;
      top: -25px;
      left: -43px;
      background-color: #f15b26;
      font-size: 18px;
      color: #fff;
      border-radius: 100%; }
  .product-details .product-details-thumb .pagination, .product-details .product-details-thumb .swiper-pagination {
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0); }
    @media (max-width: 980px) {
      .product-details .product-details-thumb .pagination, .product-details .product-details-thumb .swiper-pagination {
        bottom: 10px; } }
    .product-details .product-details-thumb .pagination .swiper-pagination-bullet, .product-details .product-details-thumb .swiper-pagination .swiper-pagination-bullet {
      background-color: #d7d7d7; }
      .product-details .product-details-thumb .pagination .swiper-pagination-bullet.swiper-pagination-bullet-active, .product-details .product-details-thumb .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
        background-color: transparent;
        border: 2px solid #4cc2c0; }

.product-details .swiper-container {
  padding-bottom: 80px;
  margin-bottom: -80px;
  overflow: visible; }
  .product-details .swiper-container .swiper-slide {
    opacity: 0 !important; }
    .product-details .swiper-container .swiper-slide.swiper-slide-active {
      opacity: 1 !important; }
      @media (max-width: 570px) {
        .product-details .swiper-container .swiper-slide.swiper-slide-active {
          position: absolute;
          left: 50%;
          transform: translate(-50%, 0) !important;
          display: block; } }

.product-details .product-details-info {
  padding-bottom: 40px;
  margin-bottom: 40px;
  border-bottom: 2px solid #f7f9f9;
  position: relative;
  z-index: 10; }
  @media (max-width: 570px) {
    .product-details .product-details-info {
      padding-top: 40px; } }
  .product-details .product-details-info .product-details-info-price {
    color: #f26522;
    font-size: 24px;
    margin-bottom: 15px; }
    .product-details .product-details-info .product-details-info-price .del {
      color: #cccccc;
      font-size: 18px;
      margin-right: 15px;
      text-decoration: line-through; }
  .product-details .product-details-info .product-details-info-title {
    margin-bottom: 20px; }
  .product-details .product-details-info .product-details-info-ratings {
    margin-bottom: 35px; }
    .product-details .product-details-info .product-details-info-ratings .ratings {
      display: inline-block;
      margin-right: 20px;
      color: #cccccc; }
      .product-details .product-details-info .product-details-info-ratings .ratings .fa-star {
        color: #fcd846; }
    .product-details .product-details-info .product-details-info-ratings .reviews {
      display: inline-block;
      font-size: 16px;
      color: #4cc2c0; }
  .product-details .product-details-info .product-details-info-text {
    margin-bottom: 40px; }
  .product-details .product-details-info .quantity {
    overflow: hidden;
    margin-right: 30px;
    float: left; }
    @media (max-width: 980px) {
      .product-details .product-details-info .quantity {
        margin-bottom: 30px; } }
    .product-details .product-details-info .quantity .quantity-minus {
      display: block;
      float: left;
      padding: 0 20px;
      background-color: #f1f3f3;
      border-radius: 50px 0 0 50px;
      font-size: 40px;
      border-right: 2px solid #e3e9e9;
      color: #cfcfcf;
      transition: all .3s ease;
      height: 65px;
      line-height: 65px; }
      .product-details .product-details-info .quantity .quantity-minus:hover {
        color: #fff;
        background-color: #2f2c2c;
        border-right-color: #2f2c2c; }
    .product-details .product-details-info .quantity input {
      max-width: 70px;
      float: left;
      background-color: #f7f9f9;
      padding: 18px 20px;
      font-size: 16px;
      text-align: center;
      border-radius: 0;
      height: 65px; }
    .product-details .product-details-info .quantity .quantity-plus {
      display: block;
      float: left;
      padding: 0 20px;
      background-color: #f1f3f3;
      border-radius: 0 50px 50px 0;
      font-size: 40px;
      border-left: 2px solid #e3e9e9;
      color: #cfcfcf;
      transition: all .3s ease;
      height: 65px;
      line-height: 65px; }
      .product-details .product-details-info .quantity .quantity-plus:hover {
        color: #fff;
        background-color: #2f2c2c;
        border-right-color: #2f2c2c; }
  .product-details .product-details-info .btn i {
    font-size: 18px; }

.product-details .product-details-add-info .author {
  font-size: 16px;
  color: #2f2c2c;
  margin-bottom: 15px; }
  .product-details .product-details-add-info .author .author-name {
    color: #4cc2c0; }

.product-details .product-details-add-info .tags {
  font-size: 16px;
  color: #2f2c2c;
  margin-bottom: 15px; }
  .product-details .product-details-add-info .tags .tags-item {
    color: #acacac; }
    .product-details .product-details-add-info .tags .tags-item:hover {
      color: #4cc2c0; }

.product-details .product-details-add-info .socials {
  font-size: 16px;
  color: #2f2c2c;
  margin-bottom: 15px; }
  .product-details .product-details-add-info .socials .social__item i {
    font-size: 20px;
    color: #d7d7d7;
    transition: all .3s ease; }
  .product-details .product-details-add-info .socials .social__item:hover i {
    color: #08acee; }
  .product-details .product-details-add-info .socials .social__item:first-child {
    margin-left: 15px; }

.product-description {
  background-color: #f7f9f9;
  position: relative;
  padding-bottom: 120px; }
  .product-description:before {
    content: '';
    display: block;
    width: 100%;
    height: 77px;
    background-color: #fff;
    position: relative; }
  .product-description .tab-content > .tab-pane {
    display: none; }
    .product-description .tab-content > .tab-pane.active {
      display: block; }
  .product-description .product-description-control {
    margin-top: -77px;
    margin-bottom: 50px;
    float: left;
    padding: 0; }
    .product-description .product-description-control li {
      display: inline-block; }
      .product-description .product-description-control li .control-item {
        padding: 25px 70px;
        text-align: center;
        text-transform: uppercase;
        background-color: #f1f3f3;
        border-right: 2px solid #e3e9e9;
        border-radius: 50px 0 0 0;
        position: relative;
        font-size: 18px;
        float: left; }
        @media (max-width: 480px) {
          .product-description .product-description-control li .control-item {
            padding: 25px 30px;
            font-size: 16px; } }
        @media (max-width: 320px) {
          .product-description .product-description-control li .control-item {
            padding: 15px;
            font-size: 14px; } }
        .product-description .product-description-control li .control-item:before {
          content: '';
          display: block;
          width: 60%;
          height: 2px;
          background-color: #4cc2c0;
          position: absolute;
          top: 0;
          left: 50%;
          transform: translate(-50%, 0);
          -webkit-transform: translate(-50%, 0);
          -ms-transform: translate(-50%, 0);
          opacity: 0; }
        .product-description .product-description-control li .control-item.reviews {
          border-right: none;
          border-radius: 0 50px 0 0; }
      .product-description .product-description-control li.active .control-item {
        color: #4cc2c0;
        background-color: #f7f9f9; }
        .product-description .product-description-control li.active .control-item:before {
          opacity: 1; }
      .product-description .product-description-control li:last-child {
        margin-left: -4px; }
    @media (max-width: 480px) {
      .product-description .product-description-control {
        margin-top: -74px; } }
    @media (max-width: 320px) {
      .product-description .product-description-control {
        margin-top: -51px;
        margin-bottom: 30px; } }
  .product-description .product-description-title {
    font-size: 40px;
    color: #2f2c2c;
    margin-bottom: 40px; }
    @media (max-width: 1024px) {
      .product-description .product-description-title {
        font-size: 26px; } }
  .product-description .comments__list-review .comments__item-review .comment-content p {
    margin-bottom: 30px; }
  .product-description .add-review .your-rating {
    padding-left: 40px;
    font-size: 16px; }
    .product-description .add-review .your-rating .ratings {
      display: inline-block;
      margin-left: 50px;
      color: #ccc;
      margin-bottom: 30px; }
      .product-description .add-review .your-rating .ratings .fa-star {
        color: #fcd846; }
  .product-description .add-review .contact-form {
    padding-bottom: 20px; }
    .product-description .add-review .contact-form input, .product-description .add-review .contact-form textarea {
      background-color: #fff; }
    .product-description .add-review .contact-form textarea {
      min-height: 230px; }
  .product-description .product-description-text {
    margin-bottom: 30px; }

.product-description-ver2 .product-description-ver2-thumb {
  position: relative; }
  @media (max-width: 768px) {
    .product-description-ver2 .product-description-ver2-thumb {
      margin-bottom: 100px; } }

.product-description-ver2 .pagination, .product-description-ver2 .swiper-pagination {
  bottom: -80px;
  left: 50%;
  transform: translate(-50%, 0);
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0); }

@media (max-width: 768px) {
  .product-description-ver2 .product-description-ver2-content {
    padding-top: 90px; } }

.product-description-ver2 .product-description-ver2-content .post__date {
  background: #fff;
  float: left; }

.product-description-ver2 .product-description-ver2-content .heading {
  clear: both;
  margin-bottom: 50px; }

.product-description-ver2 .product-description-ver2-content .likes-block .btn {
  display: inline-block;
  margin-right: 30px; }

.product-description-ver2 .product-description-ver2-content .likes-block a {
  display: inline-block;
  color: #ff454f;
  margin-bottom: -10px; }
  .product-description-ver2 .product-description-ver2-content .likes-block a .count-likes {
    font-size: 18px;
    float: left; }
  .product-description-ver2 .product-description-ver2-content .likes-block a i {
    font-size: 26px;
    float: left;
    margin-right: 5px; }

.product-description-ver2 .swiper-container {
  box-shadow: 24px 50px 60px rgba(0, 0, 0, 0.3);
  overflow: visible; }
  .product-description-ver2 .swiper-container .swiper-slide {
    opacity: 0; }
    .product-description-ver2 .swiper-container .swiper-slide.swiper-slide-active {
      opacity: 1; }

.likes-block .btn {
  display: inline-block;
  margin-right: 30px; }

.likes-block a {
  display: inline-block;
  color: #ff454f;
  margin-bottom: -10px; }
  .likes-block a .count-likes {
    font-size: 18px;
    float: left; }
  .likes-block a i {
    font-size: 26px;
    float: left;
    margin-right: 5px; }

.likes-block .btn {
  display: inline-block;
  margin-right: 30px;
  margin-bottom: 30px; }

.likes-block a {
  display: inline-block; }
  .likes-block a .count-likes {
    color: #ff454f;
    font-size: 18px; }

.challenge-solutions .challenge-solutions-thumb {
  border: 2px solid #f7f9f9;
  border-radius: 10px;
  padding: 30px; }
  .challenge-solutions .challenge-solutions-thumb img {
    margin-bottom: 30px; }
  .challenge-solutions .challenge-solutions-thumb .text {
    padding-left: 30px;
    font-size: 14px;
    margin-bottom: 0; }

.challenge-solutions .challenge-solutions-content .heading:first-child {
  margin-bottom: 60px; }

.seo-results .seo-results-thumb canvas {
  margin-bottom: 60px; }

.seo-results .seo-results-thumb .points {
  padding-left: 50px; }
  @media (max-width: 1024px) {
    .seo-results .seo-results-thumb .points {
      padding-left: 0; } }
  .seo-results .seo-results-thumb .points .points-item {
    align-items: center;
    margin-bottom: 20px; }
    .seo-results .seo-results-thumb .points .points-item .point-sircle {
      display: inline-block;
      width: 20px;
      height: 20px;
      border-radius: 100%;
      border-color: transparent;
      margin-right: 20px;
      float: left; }
    .seo-results .seo-results-thumb .points .points-item .points-item-count {
      font-size: 14px;
      color: #2f2c2c;
      display: inline-block; }

.seo-results .seo-results-content .heading {
  margin-bottom: 80px; }

.seo-results .seo-results-content .results {
  padding-left: 100px; }
  @media (max-width: 980px) {
    .seo-results .seo-results-content .results {
      padding-left: 0; } }
  .seo-results .seo-results-content .results .results-item {
    display: flex;
    align-items: center;
    margin-bottom: 40px; }
    .seo-results .seo-results-content .results .results-item i {
      display: inline-block;
      margin-right: 30px;
      font-size: 70px;
      color: #4cc2c0; }
    .seo-results .seo-results-content .results .results-item .results-item-info {
      display: inline-block;
      font-size: 30px;
      color: #2f2c2c; }
      @media (max-width: 980px) {
        .seo-results .seo-results-content .results .results-item .results-item-info {
          font-size: 24px; } }

.product-description-ver3 {
  position: relative; }
  .product-description-ver3 .product-description-ver3-thumb {
    position: absolute;
    top: 60px; }

.product-description-challenge {
  position: relative;
  margin-top: 60px; }
  @media (max-width: 640px) {
    .product-description-challenge {
      padding: 0 15px; } }
  .product-description-challenge .product-description-thumb {
    z-index: 5;
    margin-top: -60px;
    margin-left: -30px;
    position: relative; }
    @media (max-width: 640px) {
      .product-description-challenge .product-description-thumb {
        margin-left: 0; } }
  .product-description-challenge .product-description-content {
    padding: 95px 0 40px; }
    .product-description-challenge .product-description-content .heading .heading-title {
      line-height: 1; }
    .product-description-challenge .product-description-content .heading p {
      line-height: 1.4; }
  .product-description-challenge .product-description-border {
    border: 6px solid #f7f9f9;
    position: absolute;
    height: 100%;
    width: 80%;
    top: 0;
    right: 0; }
    @media (max-width: 640px) {
      .product-description-challenge .product-description-border {
        width: 100%; } }

.product-description-solution {
  position: relative;
  margin-top: 60px; }
  @media (max-width: 640px) {
    .product-description-solution {
      padding-left: 20px;
      margin-top: 0; } }
  .product-description-solution .product-description-thumb {
    z-index: 5;
    margin-top: -60px;
    margin-left: 60px;
    position: relative; }
    @media (max-width: 640px) {
      .product-description-solution .product-description-thumb img {
        margin-bottom: -30px; } }
    @media (max-width: 640px) {
      .product-description-solution .product-description-thumb {
        margin-top: 0;
        margin-left: 0; } }
  .product-description-solution .product-description-content {
    padding: 95px 0 40px; }
    @media (max-width: 640px) {
      .product-description-solution .product-description-content {
        padding-top: 25px; } }
    .product-description-solution .product-description-content .heading .heading-title {
      line-height: 1; }
    .product-description-solution .product-description-content .heading p {
      line-height: 1.4;
      margin-bottom: 30px; }
      .product-description-solution .product-description-content .heading p:last-child {
        margin-bottom: auto; }
  .product-description-solution .product-description-border {
    border: 6px solid #f7f9f9;
    position: absolute;
    height: 100%;
    width: 80%;
    top: 0;
    left: 0; }
    @media (max-width: 640px) {
      .product-description-solution .product-description-border {
        width: 100%; } }

.seo-results-ver2 .seo-results-content .list {
  padding-left: 60px; }
  @media (max-width: 1024px) {
    .seo-results-ver2 .seo-results-content .list {
      padding-left: 0; } }

.seo-results-ver2 .seo-results-thumb {
  border-radius: 10px;
  border-color: transparent;
  box-shadow: 24px 50px 60px rgba(0, 0, 0, 0.3); }

.seo-results-ver2 .results {
  padding-left: 100px; }
  @media (max-width: 1024px) {
    .seo-results-ver2 .results {
      padding-left: 0; } }
  .seo-results-ver2 .results .results-item {
    display: flex;
    align-items: center;
    margin-bottom: 40px;
    width: 33.33%;
    float: left; }
    @media (max-width: 980px) {
      .seo-results-ver2 .results .results-item {
        width: 100%; } }
    @media (max-width: 768px) {
      .seo-results-ver2 .results .results-item {
        margin-bottom: 15px; } }
    .seo-results-ver2 .results .results-item i {
      display: inline-block;
      margin-right: 30px;
      font-size: 70px;
      color: #4cc2c0; }
    .seo-results-ver2 .results .results-item .results-item-info {
      display: inline-block;
      font-size: 30px;
      color: #2f2c2c; }
      @media (max-width: 768px) {
        .seo-results-ver2 .results .results-item .results-item-info {
          font-size: 24px; } }

/*------------- #COMMENTS --------------*/
.comments {
  overflow: hidden;
  float: none; }
  .comments .heading {
    margin-bottom: 45px; }
    .comments .heading .heading-title {
      margin-bottom: 0; }
  .comments .comments__list {
    list-style: none;
    margin: 0 0 73px 0;
    padding: 0; }
    .comments .comments__list .comments__item .comments__article {
      border-bottom: 2px solid #f1f3f3;
      padding-bottom: 40px;
      margin-bottom: 30px; }
      .comments .comments__list .comments__item .comments__article .comment-content {
        margin-bottom: 30px; }
      .comments .comments__list .comments__item .comments__article .comments__header .comments__author {
        margin-right: 15px;
        font-size: 18px;
        color: #2f2c2c;
        font-style: normal; }
        .comments .comments__list .comments__item .comments__article .comments__header .comments__author a {
          color: #2f2c2c; }
        .comments .comments__list .comments__item .comments__article .comments__header .comments__author .replied {
          font-size: 16px;
          color: #acacac; }
      .comments .comments__list .comments__item .comments__article .comments__header .comments__time {
        position: relative;
        color: #ccc;
        font-size: 14px;
        display: block; }
      .comments .comments__list .comments__item .comments__article .comments__avatar {
        float: left;
        margin-right: 30px; }
        .comments .comments__list .comments__item .comments__article .comments__avatar .avatar {
          border-radius: 100%; }
      .comments .comments__list .comments__item .comments__article .comments__body {
        overflow: hidden; }
        .comments .comments__list .comments__item .comments__article .comments__body .reply {
          float: left;
          font-size: 26px;
          color: #d7d7d7;
          margin-right: 30px; }
          .comments .comments__list .comments__item .comments__article .comments__body .reply:hover {
            color: #4cc2c0; }
    .comments .comments__list .comments__item .children {
      margin: 30px 0 0 60px;
      list-style: none;
      padding: 0; }
      @media (max-width: 980px) {
        .comments .comments__list .comments__item .children {
          margin-left: 30px;
          padding-left: 0; } }

.comments__item-review {
  margin-bottom: 40px;
  border-bottom: 2px solid #f1f3f3; }
  .comments__item-review .ratings {
    color: #ccc; }
    .comments__item-review .ratings .fa-star {
      color: #fcd846; }

.comments__list-review {
  list-style: none;
  margin: 0 0 73px 0;
  padding: 0; }

.comments__avatar-review {
  float: left;
  margin-right: 30px; }

.comments__author-review {
  margin-right: 15px;
  font-size: 18px;
  color: #2f2c2c;
  font-style: normal; }
  .comments__author-review a {
    color: #2f2c2c; }

.comments__header-review {
  margin-bottom: 15px; }
  .comments__header-review > a {
    position: relative;
    color: #ccc;
    font-size: 14px; }

.leave-reply {
  background-color: #f7f9f9;
  overflow: hidden;
  padding: 70px 60px 80px; }
  @media (max-width: 800px) {
    .leave-reply {
      padding: 30px; } }
  .leave-reply .heading {
    margin-bottom: 60px; }
  .leave-reply input, .leave-reply textarea {
    background-color: #fff; }
  .leave-reply textarea {
    margin-bottom: 40px; }
  @media (max-width: 360px) {
    .leave-reply .submit-block {
      display: block; } }
  .leave-reply .submit-block .btn {
    width: 100%;
    text-align: center; }
    @media (max-width: 360px) {
      .leave-reply .submit-block .btn {
        margin-bottom: 30px; } }
  .leave-reply .submit-block .submit-block-text {
    font-size: 12px;
    line-height: 1.2;
    color: #acacac; }
    .leave-reply .submit-block .submit-block-text span {
      color: #cccccc; }

#comment-nav-above,
#comment-nav-below {
  padding: 0 0 60px 0; }

/*------------- #SOCIALS-PANEL --------------*/
.socials-panel .socials-panel-item {
  width: 20%;
  text-align: center;
  padding: 25px;
  display: inline-block;
  float: left;
  min-height: 80px; }
  @media (max-width: 1024px) {
    .socials-panel .socials-panel-item {
      width: 33.33%; } }
  @media (max-width: 570px) {
    .socials-panel .socials-panel-item {
      width: 50%; } }
  @media (max-width: 480px) {
    .socials-panel .socials-panel-item {
      width: 100%; } }
  .socials-panel .socials-panel-item .social__item {
    margin-right: 15px;
    display: inline-block; }
    .socials-panel .socials-panel-item .social__item i {
      font-size: 25px;
      color: #fff; }
  .socials-panel .socials-panel-item .socials-panel-title {
    display: inline-block;
    color: #fff; }

/*------------- #SHOP-USER-FORM --------------*/
.shop-user-form .item-title {
  font-size: 30px;
  padding-bottom: 40px;
  display: block;
  position: relative; }
  @media (max-width: 640px) {
    .shop-user-form .item-title {
      font-size: 20px; } }
  .shop-user-form .item-title:after {
    content: '';
    display: block;
    border: 30px solid transparent;
    border-bottom: 20px solid #f7f9f9;
    position: absolute;
    bottom: 0;
    left: 0;
    opacity: 0; }
  .shop-user-form .item-title.active {
    color: #4cc2c0; }
    .shop-user-form .item-title.active:after {
      opacity: 1; }

.shop-user-form input {
  background-color: #fff;
  margin-bottom: 30px; }

.shop-user-form .helped {
  padding: 20px 0;
  color: #4cc2c0;
  display: block; }

.shop-user-form .login-btn-wrap {
  overflow: hidden;
  padding-bottom: 20px;
  display: table; }
  .shop-user-form .login-btn-wrap .btn {
    float: left;
    margin-right: 20px; }
    @media (max-width: 360px) {
      .shop-user-form .login-btn-wrap .btn {
        margin-bottom: 30px; } }
  .shop-user-form .login-btn-wrap .remember-wrap {
    display: table-cell;
    vertical-align: middle; }
    @media (max-width: 320px) {
      .shop-user-form .login-btn-wrap .remember-wrap {
        display: block; } }
    .shop-user-form .login-btn-wrap .remember-wrap .checkbox {
      position: relative; }
      .shop-user-form .login-btn-wrap .remember-wrap .checkbox input[type=checkbox] {
        display: none; }
      .shop-user-form .login-btn-wrap .remember-wrap .checkbox label {
        padding-left: 30px;
        color: #2f2c2c; }
      .shop-user-form .login-btn-wrap .remember-wrap .checkbox label:before {
        content: "";
        display: inline-block;
        width: 14px;
        height: 14px;
        position: absolute;
        left: 0;
        bottom: 5px;
        border-radius: 3px;
        background-color: #4cc2c0;
        border: none; }
      .shop-user-form .login-btn-wrap .remember-wrap .checkbox input[type=checkbox]:checked + label:before {
        content: "\2714";
        font-size: 14px;
        color: #fff;
        text-align: center;
        line-height: 14px; }

.shop-user-form .shop-user-form-return p {
  margin-bottom: 30px; }

.billing-details .billing-details-title {
  margin-bottom: 60px; }

/*------------- #ORDER --------------*/
.order .order-title {
  margin-bottom: 60px; }

.order .cart-main .cart_item td {
  padding-left: 100px; }
  @media (max-width: 640px) {
    .order .cart-main .cart_item td {
      padding-left: 20px; } }

.order .cart-main .cart_item.subtotal {
  background-color: #f7f9f9; }
  .order .cart-main .cart_item.subtotal .cart-product-title {
    text-transform: uppercase; }
  .order .cart-main .cart_item.subtotal .product-subtotal .total {
    color: #2f2c2c; }
  .order .cart-main .cart_item.subtotal:after {
    display: none; }

.order .cart-main .cart_item.total {
  background-color: #4cc2c0; }
  .order .cart-main .cart_item.total .cart-product-title {
    color: #fff;
    text-transform: uppercase; }
  .order .cart-main .cart_item.total .product-subtotal .total {
    color: #fff; }
  .order .cart-main .cart_item.total:after {
    display: none; }
  .order .cart-main .cart_item.total .product-thumbnail:after {
    content: '';
    display: block;
    border: 30px solid transparent;
    border-top: 20px solid #4cc2c0;
    position: absolute;
    bottom: -50px;
    left: 100px;
    opacity: 1; }

.order .cart-main .cart-product-wrap-title-main tr > th {
  padding-left: 100px; }
  @media (max-width: 640px) {
    .order .cart-main .cart-product-wrap-title-main tr > th {
      padding-left: 20px; } }

.order .cart-main .product-quantity .quantity {
  font-size: 18px;
  color: #2f2c2c; }

.order .cart-main .actions {
  padding: 40px 100px; }

.order .cheque {
  padding: 85px 100px;
  overflow: hidden; }
  @media (max-width: 460px) {
    .order .cheque {
      padding: 30px; } }
  .order .cheque .cheque-content .cheque-content-title {
    margin-bottom: 15px; }
  .order .cheque .cheque-content .cheque-content-subtitle {
    font-size: 16px;
    margin-bottom: 30px; }
  .order .cheque .logos a {
    margin-right: 8px;
    margin-top: 22px;
    display: inline-block; }
    @media (max-width: 480px) {
      .order .cheque .logos a {
        float: left; } }
    .order .cheque .logos a.pay-pal {
      margin-right: 60px;
      margin-top: 9px; }
  .order .cheque .logos .btn {
    float: right;
    padding: 25px 80px; }
    @media (max-width: 800px) {
      .order .cheque .logos .btn {
        float: left;
        margin-top: 30px; } }
    @media (max-width: 480px) {
      .order .cheque .logos .btn {
        padding: 25px 30px; } }

/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJInNvdXJjZVJvb3QiOiAiLi4vc2FzcyIsCgkiZmlsZSI6ICJtb2R1bGVzLmNzcyIsCgkic291cmNlcyI6IFsKCQkibW9kdWxlcy5zY3NzIiwKCQkiLi4vYmFzZS9fdmFyaWFibGVzLnNjc3MiLAoJCSJfaGVhZGluZy5zY3NzIiwKCQkiX2hlYWRlci5zY3NzIiwKCQkiX3NsaWRlcnMuc2NzcyIsCgkJIl9zZW8tc2NvcmUuc2NzcyIsCgkJIl9vdXItdmlkZW8uc2NzcyIsCgkJIl9jb3VudGVycy5zY3NzIiwKCQkiX3JlY2VudC1jYXNlLnNjc3MiLAoJCSJfcHJpY2luZy10YWJsZXMuc2NzcyIsCgkJIl9yZWNlbnQtcG9zdC5zY3NzIiwKCQkiX2NsaWVudHMuc2NzcyIsCgkJIl9zdWJzY3JpYmUuc2NzcyIsCgkJIl9mb290ZXIuc2NzcyIsCgkJIl9vdmVybGF5LW1lbnUuc2NzcyIsCgkJIl9mZWF0dXJlcy5zY3NzIiwKCQkiX2NvbnRhY3RzLnNjc3MiLAoJCSJfY29udGFjdC1mb3JtLnNjc3MiLAoJCSJfY2FydC5zY3NzIiwKCQkiX2ludGVyZXN0ZWQtcHJvZHVjdHMuc2NzcyIsCgkJIl90aW1lLWxpbmUuc2NzcyIsCgkJIl90ZWFtbWVtYmVycy5zY3NzIiwKCQkiX3NraWxscy5zY3NzIiwKCQkiX2Jvb2tzLnNjc3MiLAoJCSJfcGllLWNoYXJ0cy5zY3NzIiwKCQkiX3Byb2R1Y3QtZGV0YWlscy5zY3NzIiwKCQkiX2NvbW1lbnRzLnNjc3MiLAoJCSJfc29jaWFscy1wYW5lbC5zY3NzIiwKCQkiX3Nob3AtdXNlci1mb3JtLnNjc3MiLAoJCSJfb3JkZXIuc2NzcyIKCV0sCgkibWFwcGluZ3MiOiAiQUFBQSx5Q0FBeUM7QUNBekMsMkNBQTJDO0FDQTNDLHlDQUF5QztBQUl6QyxBQUFBLFFBQVEsQ0FBQztFQUNQLFFBQVEsRUFBRSxRQUFTO0VBQ25CLE9BQU8sRUFBRSxDQUFFLEdBdUhaO0VBekhELEFBSUUsUUFKTSxDQUlOLGNBQWMsQ0FBQztJQUNmLFdBQVcsRUFBRSxHQUFJ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 */
