/* ------------------------------------------------
 * ------------------------------------------------
 *
 * ------------------------------------------------
 * Table of Contents
 * ------------------------------------------------
 *  1. Loader Styles
 * ------------------------------------------------
 * Table of Contents End
 * ------------------------------------------------ */
/* ------------------------------------------------*/
/* Loader Styles Start */
/* ------------------------------------------------*/
.loader {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10000;
    background-color: #1f1f1f;
    opacity: 1;
    visibility: visible;
    -webkit-transition: visibility 0.4s 0s, opacity 0.4s, background-color 0.6s ease-in-out;
    -o-transition: visibility 0.4s 0s, opacity 0.4s, background-color 0.6s ease-in-out;
    -moz-transition: visibility 0.4s 0s, opacity 0.4s, background-color 0.6s ease-in-out;
    transition: visibility 0.4s 0s, opacity 0.4s, background-color 0.6s ease-in-out;
  }
  .loader.fade-dark {
    background-color: #151515;
  }
  .loader.loaded {
    opacity: 0;
    visibility: hidden;
  }
  
  .loader__content {
    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;
    width: 6rem;
    height: 6rem;
    margin: 0 auto 2.4rem;
  }
  .loader__logo img {
    display: block;
    width: 100%;
    height: auto;
  }
  
  .loader__caption {
    margin: 0 auto;
    text-align: center;
  }
  .loader__caption .loading-text {
    display: block;
    color: rgba(255, 255, 255, 0.6);
    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: 0.4rem;
    height: 0.4rem;
    margin: 0 0.4rem;
    background: #FFFFFF;
    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;
  }
  
  @-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: 0.6s;
       -moz-animation-duration: 0.6s;
            animation-duration: 0.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: 0.6s;
       -moz-animation-duration: 0.6s;
            animation-duration: 0.6s;
    -webkit-animation-fill-mode: both;
       -moz-animation-fill-mode: both;
            animation-fill-mode: both;
  }
  
  @-webkit-keyframes flipOutY {
    from {
      -webkit-transform: perspective(400px);
              transform: perspective(400px);
    }
    to {
      -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
              transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
      opacity: 0;
    }
  }
  
  @-moz-keyframes flipOutY {
    from {
      -moz-transform: perspective(400px);
           transform: perspective(400px);
    }
    to {
      -moz-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
           transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
      opacity: 0;
    }
  }
  
  @keyframes flipOutY {
    from {
      -webkit-transform: perspective(400px);
         -moz-transform: perspective(400px);
              transform: perspective(400px);
    }
    to {
      -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
         -moz-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
              transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
      opacity: 0;
    }
  }
  .flipOutY {
    -webkit-backface-visibility: visible;
       -moz-backface-visibility: visible;
            backface-visibility: visible;
    -webkit-animation-name: flipOutY;
       -moz-animation-name: flipOutY;
            animation-name: flipOutY;
    -webkit-animation-duration: 0.6s;
       -moz-animation-duration: 0.6s;
            animation-duration: 0.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 0.6s 1;
       -moz-animation: fadeOutDown 0.6s 1;
            animation: fadeOutDown 0.6s 1;
    -webkit-animation-fill-mode: both;
       -moz-animation-fill-mode: both;
            animation-fill-mode: both;
  }
  
  /* ------------------------------------------------*/
  /* Loader Styles End */
  /* ------------------------------------------------*/