/**
 * LoftLoader Lite Frontend Style
 *
 * Plugin Name: LoftLoader
 * Plugin URI: https://www.loftocean.com/loftloader
 * Author: The Loft.Ocean Team
 * Author URI: https://www.loftocean.com
 * Description: LoftLoader (Lite Version) is a plugin for adding beautiful and smooth preload animation to your WordPress website. With setting options, you can choose from preset animations, add custom logo image, choose colours to match your branding, and amuse and impress your visitors while loading site content.
 * Version: 2.3.8
*/
@-webkit-keyframes spinReturn {
  0% {
    -webkit-transform: rotate(0deg); }
  25% {
    -webkit-transform: rotate(225deg); }
  50% {
    -webkit-transform: rotate(180deg); }
  75% {
    -webkit-transform: rotate(405deg); }
  100% {
    -webkit-transform: rotate(360deg); } }
@keyframes spinReturn {
  0% {
    transform: rotate(0deg); }
  25% {
    transform: rotate(225deg); }
  50% {
    transform: rotate(180deg); }
  75% {
    transform: rotate(405deg); }
  100% {
    transform: rotate(360deg); } }
@-webkit-keyframes lightUp {
  0% {
    opacity: 0.2; }
  40% {
    opacity: 1; }
  60% {
    opacity: 0.2; }
  100% {
    opacity: 0.2; } }
@keyframes lightUp {
  0% {
    opacity: 0.2; }
  40% {
    opacity: 1; }
  60% {
    opacity: 0.2; }
  100% {
    opacity: 0.2; } }
@-webkit-keyframes wave {
  0% {
    -webkit-transform: scaleY(1); }
  40% {
    -webkit-transform: scaleY(0.1); }
  80% {
    -webkit-transform: scaleY(1); }
  100% {
    -webkit-transform: scaleY(1); } }
@keyframes wave {
  0% {
    transform: scaleY(1); }
  40% {
    transform: scaleY(0.1); }
  80% {
    transform: scaleY(1); }
  100% {
    transform: scaleY(1); } }
@-webkit-keyframes drawframeTop {
  0% {
    -webkit-transform: scaleX(1);
    transform-origin: 100% 0%; }
  12.5% {
    -webkit-transform: scaleX(0);
    transform-origin: 100% 0%; }
  50% {
    -webkit-transform: scaleX(0);
    transform-origin: 0% 0%; }
  62.5% {
    -webkit-transform: scaleX(1);
    transform-origin: 0% 0%; }
  100% {
    -webkit-transform: scaleX(1);
    transform-origin: 100% 0%; } }
@keyframes drawframeTop {
  0% {
    transform: scaleX(1);
    transform-origin: 100% 0%; }
  12.5% {
    transform: scaleX(0);
    transform-origin: 100% 0%; }
  50% {
    transform: scaleX(0);
    transform-origin: 0% 0%; }
  62.5% {
    transform: scaleX(1);
    transform-origin: 0% 0%; }
  100% {
    transform: scaleX(1);
    transform-origin: 100% 0%; } }
@-webkit-keyframes drawframeBottom {
  0% {
    -webkit-transform: scaleX(1);
    transform-origin: 0% 0%; }
  12.5% {
    -webkit-transform: scaleX(0);
    transform-origin: 0% 0%; }
  50% {
    -webkit-transform: scaleX(0);
    transform-origin: 100% 0%; }
  62.5% {
    -webkit-transform: scaleX(1);
    transform-origin: 100% 0%; }
  100% {
    -webkit-transform: scaleX(1);
    transform-origin: 0% 0%; } }
@keyframes drawframeBottom {
  0% {
    transform: scaleX(1);
    transform-origin: 0% 0%; }
  12.5% {
    transform: scaleX(0);
    transform-origin: 0% 0%; }
  50% {
    transform: scaleX(0);
    transform-origin: 100% 0%; }
  62.5% {
    transform: scaleX(1);
    transform-origin: 100% 0%; }
  100% {
    transform: scaleX(1);
    transform-origin: 0% 0%; } }
@-webkit-keyframes drawframeRight {
  0% {
    -webkit-transform: scaleY(1);
    transform-origin: 0% 100%; }
  12.5% {
    -webkit-transform: scaleY(0);
    transform-origin: 0% 100%; }
  50% {
    -webkit-transform: scaleY(0);
    transform-origin: 0% 0%; }
  62.5% {
    -webkit-transform: scaleY(1);
    transform-origin: 0% 0%; }
  100% {
    -webkit-transform: scaleY(1);
    transform-origin: 0% 100%; } }
@keyframes drawframeRight {
  0% {
    transform: scaleY(1);
    transform-origin: 0% 100%; }
  12.5% {
    transform: scaleY(0);
    transform-origin: 0% 100%; }
  50% {
    transform: scaleY(0);
    transform-origin: 0% 0%; }
  62.5% {
    transform: scaleY(1);
    transform-origin: 0% 0%; }
  100% {
    transform: scaleY(1);
    transform-origin: 0% 100%; } }
@-webkit-keyframes drawframeLeft {
  0% {
    -webkit-transform: scaleY(1);
    transform-origin: 0% 0%; }
  12.5% {
    -webkit-transform: scaleY(0);
    transform-origin: 0% 0%; }
  50% {
    -webkit-transform: scaleY(0);
    transform-origin: 0% 100%; }
  62.5% {
    -webkit-transform: scaleY(1);
    transform-origin: 0% 100%; }
  100% {
    -webkit-transform: scaleY(1);
    transform-origin: 0% 0%; } }
@keyframes drawframeLeft {
  0% {
    transform: scaleY(1);
    transform-origin: 0% 0%; }
  12.5% {
    transform: scaleY(0);
    transform-origin: 0% 0%; }
  50% {
    transform: scaleY(0);
    transform-origin: 0% 100%; }
  62.5% {
    transform: scaleY(1);
    transform-origin: 0% 100%; }
  100% {
    transform: scaleY(1);
    transform-origin: 0% 0%; } }
@-webkit-keyframes imgLoading {
  0% {
    height: 0%;
    opacity: 1; }
  95% {
    height: 100%;
    opacity: 1; }
  100% {
    height: 100%;
    opacity: 0; } }
@keyframes imgLoading {
  0% {
    height: 0%;
    opacity: 1; }
  95% {
    height: 100%;
    opacity: 1; }
  100% {
    height: 100%;
    opacity: 0; } }
@-webkit-keyframes beat {
  0% {
    transform: scale(0);
    opacity: 0; }
  80% {
    transform: scale(1);
    opacity: 0.7; }
  100% {
    transform: scale(1);
    opacity: 0; } }
@keyframes beat {
  0% {
    transform: scale(0);
    opacity: 0; }
  80% {
    transform: scale(1);
    opacity: 0.7; }
  100% {
    transform: scale(1);
    opacity: 0; } }
html,
body {
  opacity: 1 !important; }

#loftloader-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
  z-index: 999999;
  width: 100%;
  height: 100%;
  background: transparent !important; }
  .loaded #loftloader-wrapper {
    -webkit-transform: translateX(-200vw);
    -ms-transform: translateX(-200vw);
    transform: translateX(-200vw);
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.0001s 1s, transform 0.0001s 2s; }
    .loaded #loftloader-wrapper.slide-vertical {
      -webkit-transform: translate(-100%, 0);
      -ms-transform: translate(-100%, 0);
      transform: translate(-100%, 0); }
    .loaded #loftloader-wrapper #loader,
    .loaded #loftloader-wrapper .loader-close-button {
      opacity: 0;
      transition: all 0.3s ease-out; }
  #loftloader-wrapper .loader-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 1001;
    text-align: center;
    transition: all 0s;
    font-size: 0; }
    #loftloader-wrapper .loader-inner #loader {
      position: relative;
      z-index: 1002;
      top: auto;
      left: auto;
      display: inline-block;
      margin: 0 auto;
      padding: 0;
      border: none;
      border-radius: 0;
      background: none !important;
      color: #248acc; }
  #loftloader-wrapper .loader-section {
    position: fixed;
    z-index: 999;
    width: 50%;
    height: 100%;
    background: #000;
    opacity: 0.95;
    transition: all 0s;
    will-change: transform; }
    #loftloader-wrapper .loader-section.section-fade {
      top: 0;
      left: 0;
      width: 100%;
      will-change: opacity; }
      .loaded #loftloader-wrapper .loader-section.section-fade {
        opacity: 0 !important;
        transition: opacity 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
    #loftloader-wrapper .loader-section.section-slide-up {
      top: 0;
      left: 0;
      width: 100%; }
      .loaded #loftloader-wrapper .loader-section.section-slide-up {
        -webkit-transform: translateY(-100vh);
        -ms-transform: translateY(-100vh);
        transform: translateY(-100vh);
        transition: transform 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); }
    #loftloader-wrapper .loader-section.section-left, #loftloader-wrapper .loader-section.section-right {
      top: 0; }
    #loftloader-wrapper .loader-section.section-left {
      left: 0; }
      .loaded #loftloader-wrapper .loader-section.section-left {
        transition: transform 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
        -webkit-transform: translateX(-50vw);
        -ms-transform: translateX(-50vw);
        transform: translateX(-50vw); }
    #loftloader-wrapper .loader-section.section-right {
      right: 0; }
      .loaded #loftloader-wrapper .loader-section.section-right {
        transition: transform 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
        -webkit-transform: translateX(50vw);
        -ms-transform: translateX(50vw);
        transform: translateX(50vw); }
    #loftloader-wrapper .loader-section.section-up, #loftloader-wrapper .loader-section.section-down {
      left: 0;
      width: 100%;
      height: 50%; }
    #loftloader-wrapper .loader-section.section-up {
      top: 0; }
      .loaded #loftloader-wrapper .loader-section.section-up {
        transition: transform 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
        -webkit-transform: translateY(-50vh);
        -ms-transform: translateY(-50vh);
        transform: translateY(-50vh); }
    #loftloader-wrapper .loader-section.section-down {
      bottom: 0; }
      .loaded #loftloader-wrapper .loader-section.section-down {
        transition: transform 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
        -webkit-transform: translateY(50vh);
        -ms-transform: translateY(50vh);
        transform: translateY(50vh); }

/* ==========================================================================
   Loading - Spinning Sun
   ========================================================================== */
#loftloader-wrapper.pl-sun #loader {
  width: 50px;
  height: 50px; }
  #loftloader-wrapper.pl-sun #loader span {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 50px;
    height: 50px;
    background: currentColor;
    opacity: 0.9;
    transform-origin: 50% 50%;
    -webkit-animation: spinReturn 4s ease infinite;
    animation: spinReturn 4s ease infinite; }
    #loftloader-wrapper.pl-sun #loader span:before {
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      width: 100%;
      height: 100%;
      background: inherit;
      opacity: 0.9;
      content: "";
      transform-origin: 50% 50%;
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg); }

/* ==========================================================================
   Loading - Luminous Circles
   ========================================================================== */
#loftloader-wrapper.pl-circles #loader {
  width: 100px;
  height: 60px; }
  #loftloader-wrapper.pl-circles #loader span, #loftloader-wrapper.pl-circles #loader:before, #loftloader-wrapper.pl-circles #loader:after {
    position: absolute;
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    opacity: 0.2;
    background: currentColor; }
  #loftloader-wrapper.pl-circles #loader span {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-animation: lightUp 1.5s linear infinite 0.5s;
    animation: lightUp 1.5s linear infinite 0.5s; }
  #loftloader-wrapper.pl-circles #loader:before, #loftloader-wrapper.pl-circles #loader:after {
    content: "";
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%); }
  #loftloader-wrapper.pl-circles #loader:before {
    left: 0;
    -webkit-animation: lightUp 1.5s linear infinite;
    animation: lightUp 1.5s linear infinite; }
  #loftloader-wrapper.pl-circles #loader:after {
    right: 0;
    -webkit-animation: lightUp 1.5s linear infinite 1s;
    animation: lightUp 1.5s linear infinite 1s; }

/* ==========================================================================
   Loading - Wave
   ========================================================================== */
#loftloader-wrapper.pl-wave #loader {
  width: 60px;
  height: 30px; }
  #loftloader-wrapper.pl-wave #loader span, #loftloader-wrapper.pl-wave #loader:before, #loftloader-wrapper.pl-wave #loader:after {
    position: relative;
    display: inline-block;
    width: 6px;
    height: 100%;
    background: currentColor; }
  #loftloader-wrapper.pl-wave #loader span {
    margin: 0 16px;
    -webkit-animation: wave 0.9s linear infinite 0.3s;
    animation: wave 0.9s linear infinite 0.3s; }
  #loftloader-wrapper.pl-wave #loader:before, #loftloader-wrapper.pl-wave #loader:after {
    content: ""; }
  #loftloader-wrapper.pl-wave #loader:before {
    -webkit-animation: wave 0.9s linear infinite;
    animation: wave 0.9s linear infinite; }
  #loftloader-wrapper.pl-wave #loader:after {
    -webkit-animation: wave 0.9s linear infinite 0.6s;
    animation: wave 0.9s linear infinite 0.6s; }

/* ==========================================================================
   Loading - Spinning Square
   ========================================================================== */
#loftloader-wrapper.pl-square #loader {
  width: 50px;
  height: 50px;
  transform-origin: 50% 50%;
  -webkit-animation: spinReturn 4s ease infinite;
  animation: spinReturn 4s ease infinite; }
  #loftloader-wrapper.pl-square #loader span {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    border: 4px solid currentColor;
    box-sizing: border-box;
    transform-origin: 50% 50%;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }

/* ==========================================================================
   Loading - Drawing Frame
   ========================================================================== */
#loftloader-wrapper.pl-frame #loader {
  width: 80px;
  height: 80px;
  max-width: 90vw; }
  #loftloader-wrapper.pl-frame #loader:before, #loftloader-wrapper.pl-frame #loader:after {
    position: absolute;
    width: 100%;
    height: 4px;
    background: currentColor;
    content: ""; }
  #loftloader-wrapper.pl-frame #loader:before {
    top: 0;
    right: 0;
    left: auto;
    -webkit-animation: drawframeTop 4s linear infinite;
    animation: drawframeTop 4s linear infinite; }
  #loftloader-wrapper.pl-frame #loader:after {
    right: auto;
    bottom: 0;
    left: 0;
    -webkit-animation: drawframeBottom 4s linear infinite 1s;
    animation: drawframeBottom 4s linear infinite 1s; }
  #loftloader-wrapper.pl-frame #loader span {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%; }
    #loftloader-wrapper.pl-frame #loader span:before, #loftloader-wrapper.pl-frame #loader span:after {
      position: absolute;
      width: 4px;
      height: 100%;
      background: currentColor;
      content: ""; }
    #loftloader-wrapper.pl-frame #loader span:before {
      top: auto;
      right: 0;
      bottom: 0;
      -webkit-animation: drawframeRight 4s linear infinite 0.5s;
      animation: drawframeRight 4s linear infinite 0.5s; }
    #loftloader-wrapper.pl-frame #loader span:after {
      top: 0;
      bottom: auto;
      left: 0;
      -webkit-animation: drawframeLeft 4s linear infinite 1.5s;
      animation: drawframeLeft 4s linear infinite 1.5s; }
  #loftloader-wrapper.pl-frame #loader img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    display: block;
    max-width: 80%;
    max-height: 80%; }

/* ==========================================================================
   Loading - Loading Custom Image
   ========================================================================== */
#loftloader-wrapper.pl-imgloading #loader {
  width: auto;
  height: auto;
  max-width: 90vw; }
  #loftloader-wrapper.pl-imgloading #loader img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto; }
  #loftloader-wrapper.pl-imgloading #loader img {
    opacity: 0.3; }
  #loftloader-wrapper.pl-imgloading #loader .imgloading-container {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 3;
    display: block;
    width: 100%;
    height: 0%;
    transition: 0s;
    overflow: hidden;
    -webkit-animation: imgLoading 6s linear infinite;
    animation: imgLoading 6s linear infinite;
    will-change: height, opacity;
    transform-origin: 0 100%; }
  #loftloader-wrapper.pl-imgloading #loader span {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 3;
    display: block;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center bottom;
    transition: 0s; }

/* ==========================================================================
   Loading - Beating
   ========================================================================== */
#loftloader-wrapper.pl-beating #loader {
  width: 60px;
  height: 60px; }
  #loftloader-wrapper.pl-beating #loader span, #loftloader-wrapper.pl-beating #loader:before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 50px;
    opacity: 0; }
  #loftloader-wrapper.pl-beating #loader span {
    -webkit-animation: beat 1.5s linear infinite;
    animation: beat 1.5s linear infinite; }
  #loftloader-wrapper.pl-beating #loader:before {
    content: "";
    -webkit-animation: beat 1.5s linear infinite 1s;
    animation: beat 1.5s linear infinite 1s; }

/* ==========================================================================
   Close Button
   ========================================================================== */
.loader-close-button {
  position: fixed;
  right: 10px;
  top: 10px;
  z-index: 99999;
  box-sizing: border-box;
  width: auto;
  min-width: 35px;
  height: 35px;
  padding: 5px 30px 5px 5px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.3);
  color: #FFF;
  font-size: 12px;
  line-height: 25px;
  cursor: pointer; }
  .loader-close-button:hover {
    background: rgba(0, 0, 0, 0.7); }
  .loader-close-button:before, .loader-close-button:after {
    position: absolute;
    top: 16px;
    right: 9px;
    display: block;
    width: 18px;
    height: 2px;
    transform-origin: 50% 50%;
    content: "";
    background: #FFF; }
  .loader-close-button:before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }
  .loader-close-button:after {
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg); }
  .loader-close-button .screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    overflow: hidden;
    word-wrap: normal !important; }
  .loader-close-button .close-des {
    padding: 0 5px;
    font-size: 12px; }
