/*! ------------------------------------------------
 * Project Name: Punchy - Coming Soon and Landing Page Template with Morphing Effects
 * Project Description: Punchy - awesome coming soon template to kick-start your project
 * Tags: mix_design, punchy, coming soon, under construction, template, coming soon page, landing page, one page, html5, css3
 * Version: 2.0.3
 * Build Date: October 2018
 * Last Update: January 2024
 * This product is available exclusively on Themeforest
 * Author: mix_design
 * Author URI: https://themeforest.net/user/mix_design
 * File name: loader.css
 * ------------------------------------------------
 *
 * ------------------------------------------------
 * Table of Contents
 * ------------------------------------------------
 *  1. Loader Styles
 * ------------------------------------------------
 * Table of Contents End
 * ------------------------------------------------ */
/* ------------------------------------------------*/
/* Loader Styles Start */
/* ------------------------------------------------*/
.loader {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 200vh;
}

.loader__shape {
  position: relative;
  height: 100vh;
  z-index: 0;
}
.loader__shape .loader-transition-shape {
  fill: #f2ede6;
}

.loader__background {
  position: relative;
  width: 100%;
  height: 100vh;
  background-color: #f2ede6;
  z-index: 0;
}

.loader__content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #f2ede6;
  overflow-y: auto;
  z-index: 1;
}

.loader__container {
  position: absolute;
  left: 50%;
  top: 50%;
  bottom: auto;
  right: auto;
  -webkit-transform: translateX(-50%) translateY(-50%);
     -moz-transform: translateX(-50%) translateY(-50%);
      -ms-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}

.loader__logo {
  display: block;
  margin: 0 auto;
  -moz-border-radius: 50%;
       border-radius: 50%;
  max-width: 350px;
}
.loader__logo img {
  display: block;
  width: 100%;
  height: auto;
}

.loader__caption {
  margin: 0 auto;
  text-align: center;
}
.loader__caption .loading-text {
  display: block;
  color: #141414;
  text-transform: uppercase;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.4rem;
  letter-spacing: 0.2rem;
}
.loader__caption .loading-dots {
  position: relative;
  display: inline-block;
  text-align: center;
}
.loader__caption .loading-dots::after {
  clear: both;
  content: "";
  display: table;
}
.loader__caption .loading-dots .dot {
  float: left;
  width: 6px;
  height: 6px;
  -moz-border-radius: 50%;
       border-radius: 50%;
  margin: 0 2px;
  background: #f2ede6;
  opacity: 0;
  -webkit-animation: fade 1s infinite;
     -moz-animation: fade 1s infinite;
          animation: fade 1s infinite;
}
.loader__caption .loading-dots .dot:nth-of-type(1) {
  -webkit-animation-delay: 0s;
     -moz-animation-delay: 0s;
          animation-delay: 0s;
}
.loader__caption .loading-dots .dot:nth-of-type(2) {
  -webkit-animation-delay: 0.1s;
     -moz-animation-delay: 0.1s;
          animation-delay: 0.1s;
}
.loader__caption .loading-dots .dot:nth-of-type(3) {
  -webkit-animation-delay: 0.2s;
     -moz-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

.loader-content {
  position: absolute;
  top: 50%;
  bottom: auto;
  -webkit-transform: translateY(-50%);
     -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%;
  text-align: center;
}

.loader__slogan {
  max-width: 900px;
  margin: 0 auto;
  font: normal 700 2.8rem/1.2 "WorkSans", sans-serif;
  color: #788322;
}
.loader__slogan #slogan-strings {
  display: none;
}
.loader__slogan .typed-cursor {
  color: #788322;
  font-weight: 100;
}
@media only screen and (min-width: 768px) {
  .loader__slogan {
    font-size: 4rem;
  }
}

@-webkit-keyframes fade {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.8;
  }
  100% {
    opacity: 0;
  }
}

@-moz-keyframes fade {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.8;
  }
  100% {
    opacity: 0;
  }
}

@keyframes fade {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.8;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -50px, 0);
            transform: translate3d(0, -50px, 0);
    opacity: 0;
    visibility: visible;
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@-moz-keyframes slideInDown {
  from {
    -moz-transform: translate3d(0, -50px, 0);
         transform: translate3d(0, -50px, 0);
    opacity: 0;
    visibility: visible;
  }
  to {
    opacity: 1;
    -moz-transform: translate3d(0, 0, 0);
         transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -50px, 0);
       -moz-transform: translate3d(0, -50px, 0);
            transform: translate3d(0, -50px, 0);
    opacity: 0;
    visibility: visible;
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
.slideInDown {
  -webkit-animation-iteration-count: 1;
     -moz-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-name: slideInDown;
     -moz-animation-name: slideInDown;
          animation-name: slideInDown;
  -webkit-animation-duration: 1.1s;
     -moz-animation-duration: 1.1s;
          animation-duration: 1.1s;
  -webkit-animation-fill-mode: both;
     -moz-animation-fill-mode: both;
          animation-fill-mode: both;
}

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 50px, 0);
            transform: translate3d(0, 50px, 0);
    opacity: 0;
    visibility: visible;
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@-moz-keyframes slideInUp {
  from {
    -moz-transform: translate3d(0, 50px, 0);
         transform: translate3d(0, 50px, 0);
    opacity: 0;
    visibility: visible;
  }
  to {
    opacity: 1;
    -moz-transform: translate3d(0, 0, 0);
         transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 50px, 0);
       -moz-transform: translate3d(0, 50px, 0);
            transform: translate3d(0, 50px, 0);
    opacity: 0;
    visibility: visible;
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
.slideInUp {
  -webkit-animation-name: slideInUp;
     -moz-animation-name: slideInUp;
          animation-name: slideInUp;
  -webkit-animation-iteration-count: 1;
     -moz-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-duration: 1.1s;
     -moz-animation-duration: 1.1s;
          animation-duration: 1.1s;
  -webkit-animation-fill-mode: both;
     -moz-animation-fill-mode: both;
          animation-fill-mode: both;
}

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 50px, 0);
            transform: translate3d(0, 50px, 0);
  }
}

@-moz-keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -moz-transform: translate3d(0, 50px, 0);
         transform: translate3d(0, 50px, 0);
  }
}

@keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 50px, 0);
       -moz-transform: translate3d(0, 50px, 0);
            transform: translate3d(0, 50px, 0);
  }
}
.fadeOutDown {
  -webkit-animation: fadeOutDown 1.1s 1;
     -moz-animation: fadeOutDown 1.1s 1;
          animation: fadeOutDown 1.1s 1;
  -webkit-animation-fill-mode: both;
     -moz-animation-fill-mode: both;
          animation-fill-mode: both;
}

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -50px, 0);
            transform: translate3d(0, -50px, 0);
  }
}

@-moz-keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -moz-transform: translate3d(0, -50px, 0);
         transform: translate3d(0, -50px, 0);
  }
}

@keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -50px, 0);
       -moz-transform: translate3d(0, -50px, 0);
            transform: translate3d(0, -50px, 0);
  }
}
.fadeOutUp {
  -webkit-animation: fadeOutUp 1.1s 1;
     -moz-animation: fadeOutUp 1.1s 1;
          animation: fadeOutUp 1.1s 1;
  -webkit-animation-fill-mode: both;
     -moz-animation-fill-mode: both;
          animation-fill-mode: both;
}

/* ------------------------------------------------*/
/* Loader Styles End */
/* ------------------------------------------------*/