/*! ------------------------------------------------
   Project Name: Punchy Coming Soon Template
   Project Description: Punchy - awesome coming soon template to kick-start your project
   Tags: punchy, coming soon, under construction, template, coming soon page, html5, css3
   Version: 1.0.0
   Build Date: October 2018
   Last Update: October 2018
   This product is available exclusively on Themeforest
   Author: mix_design
   Author URI: http://mixdesign.club
   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 .loader_shape {
  position: relative;
  height: 100vh;
  z-index: 0;
}

.loader .loader_shape .loader-transition-shape {
  fill: #5300da;
}

.loader .loader_background {
  position: relative;
  width: 100%;
  height: 100vh;
  background-color: #5300da;
  z-index: 0;
}

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

.loader .loader_content .loader-logo-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 .loader_content .loader-logo {
  display: block;
  margin: 0 auto;
  -webkit-border-radius: 50%;
     -moz-border-radius: 50%;
          border-radius: 50%;
}

.loader .loader_content .loader-logo img {
  display: block;
  width: 100%;
  height: auto;
}

.loader .loader_content .loader-caption {
  margin: 0 auto;
  text-align: center;
}

.loader .loader_content .loader-caption .loading-text {
  display: block;
  color: #141414;
  text-transform: uppercase;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.4rem;
  letter-spacing: .2rem;
}

.loader .loader_content .loader-caption .loading-dots {
  position: relative;
  display: inline-block;
  text-align: center;
}

.loader .loader_content .loader-caption .loading-dots::after {
  clear: both;
  content: "";
  display: table;
}

.loader .loader_content .loader-caption .loading-dots .dot {
  float: left;
  width: .4rem;
  height: .4rem;
  margin: 0 0.4rem;
  background: #fff;
  opacity: 0;
  -webkit-animation: fade 1s infinite;
     -moz-animation: fade 1s infinite;
          animation: fade 1s infinite;
}

.loader .loader_content .loader-caption .loading-dots .dot:nth-of-type(1) {
  -webkit-animation-delay: 0s;
     -moz-animation-delay: 0s;
          animation-delay: 0s;
}

.loader .loader_content .loader-caption .loading-dots .dot:nth-of-type(2) {
  -webkit-animation-delay: .1s;
     -moz-animation-delay: .1s;
          animation-delay: .1s;
}

.loader .loader_content .loader-caption .loading-dots .dot:nth-of-type(3) {
  -webkit-animation-delay: .2s;
     -moz-animation-delay: .2s;
          animation-delay: .2s;
}

.loader .loader_content .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 .loader_content .loader-content .loader-slogan {
  max-width: 900px;
  margin: 0 auto;
  font: normal 700 2.8rem/1.2 "Poppins", sans-serif;
  letter-spacing: -0.025em;
  color: #272F7C;
}

.loader .loader_content .loader-content .loader-slogan #slogan-strings {
  display: none;
}

.loader .loader_content .loader-content .loader-slogan .typed-cursor {
  color: #BE65FF;
  font-weight: 100;
}

@media only screen and (min-width: 768px) {
  .loader .loader_content .loader-content .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: .6s;
     -moz-animation-duration: .6s;
          animation-duration: .6s;
  -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: .6s;
     -moz-animation-duration: .6s;
          animation-duration: .6s;
  -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 .6s 1;
     -moz-animation: fadeOutDown .6s 1;
          animation: fadeOutDown .6s 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 .6s 1;
     -moz-animation: fadeOutUp .6s 1;
          animation: fadeOutUp .6s 1;
  -webkit-animation-fill-mode: both;
     -moz-animation-fill-mode: both;
          animation-fill-mode: both;
}

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