.preloader-container {
  position: fixed;
  left: 0;
  z-index: 100001;
}
.preloader {
  border: 4px solid transparent;
  border-radius: 50%;
  padding: 22px;
  -webkit-animation: spin 523ms linear infinite;
  animation: spin 523ms linear infinite;
}
.preloader-red {
  border-top: 4px solid #D32770;
}
.preloader-yellow {
  border-top: 4px solid #8021BA;
}
.preloader-blue {
  border-top: 4px solid #2237DD;
}
.preloader-dark {
  border-top: 4px solid #515151;
}
.preloader-white {
  border-top: 2px solid #fff;
}
.preloader-hide {
  -webkit-animation: hide 300ms linear forwards;
  animation: hide 300ms linear forwards;
}
@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@-webkit-keyframes hide {
  0% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes hide {
  0% { 
    opacity: 1; 
  }
  100% { 
    opacity: 0; 
    z-index: -1;
  }
}
.preloader-main {
  position: relative;
}
.preloader-main img {
  position: absolute;
  left: 37.5%;
  top: 37.5%;
  width: 25%;
  height: 25%;
  bottom: 0;
}
.preloader-logo {
  width: 152px;
  height: 152px;
}

.preloader-sm {
  width: 20px;
  height: 20px;
  border: 3px solid transparent;
  border-top: 3px solid #fff;
  border-radius: 50%;
  animation-name: girar;
  animation-duration: 500ms;
  animation-iteration-count: infinite;
  transition: all ease 200ms;
}


.preloader-sm-black {
  width: 20px;
  height: 20px;
  border: 3px solid transparent;
  border-top: 3px solid #222;
  border-radius: 50%;
  animation-name: girar;
  animation-duration: 500ms;
  animation-iteration-count: infinite;
  transition: all ease 200ms;
}

.preloader-sm-primary {
  width: 20px;
  height: 20px;
  border: 3px solid transparent;
  border-top: 3px solid #2c7be5;
  border-radius: 50%;
  animation-name: girar;
  animation-duration: 500ms;
  animation-iteration-count: infinite;
  transition: all ease 200ms;
}

.preloader-sm-success {
  width: 20px;
  height: 20px;
  border: 3px solid transparent;
  border-top: 3px solid #00d97e;
  border-radius: 50%;
  animation-name: girar;
  animation-duration: 500ms;
  animation-iteration-count: infinite;
  transition: all ease 200ms;
}

.preloader-md-white {
  width: 40px;
  height: 40px;
  border: 3px solid transparent;
  border-top: 3px solid #fff;
  border-radius: 50%;
  animation-name: girar;
  animation-duration: 500ms;
  animation-iteration-count: infinite;
  transition: all ease 200ms;
}

.preloader-md {
  width: 40px;
  height: 40px;
  border: 3px solid transparent;
  border-top: 3px solid #07A;
  border-radius: 50%;
  animation-name: girar;
  animation-duration: 500ms;
  animation-iteration-count: infinite;
  transition: all ease 200ms;
}

.preloader-lg {
  width: 60px;
  height: 60px;
  border: 6px solid transparent;
  border-top: 6px solid #07A;
  border-radius: 50%;
  animation-name: girar;
  animation-duration: 500ms;
  animation-iteration-count: infinite;
  transition: all ease 200ms;
}

@keyframes girar {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.sing {
  width: auto !important;
  transition: width 2s;
}


.overlay-loader-element,
.overlay-loader-element:before 
{
  transition: all ease 500ms;
}
.overlay-loader-element
{
  position: relative;
  overflow: hidden;
} 
.overlay-loader-element:before 
{
  content: '';
  width: 100%;
  height: 100%;
  background-color: #ffff;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 100;
  border-radius: 4px;
}
.table,
.overlay-loader-element:before {
  animation: showIn ease-out 500ms forwards;
}

@keyframes showIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* prealoader indeterminated */
.progress-mds .indeterminate:before {
    content: '';
    position: absolute;
    background-color: inherit;
    top: 0;
    left: 0;
    bottom: 0;
    will-change: left, right;
    -webkit-animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
    animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
}

.progress-mds .indeterminate:after {
    content: '';
    position: absolute;
    background-color: inherit;
    top: 0;
    left: 0;
    bottom: 0;
    will-change: left, right;
    -webkit-animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
    animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
    -webkit-animation-delay: 1.15s;
    animation-delay: 1.15s;
}

.progress-mds .indeterminate {
    background-color: #26a69a;
}

.progress-mds {
    position: relative;
    height: 4px;
    display: block;
    width: 100%;
    background-color: #acece6;
    border-radius: 2px;
    overflow: hidden;
}

@-webkit-keyframes indeterminate {
  0% {
    left: -35%;
    right: 100%;
  }
  60% {
    left: 100%;
    right: -90%;
  }
  100% {
    left: 100%;
    right: -90%;
  }
}

@keyframes indeterminate {
  0% {
    left: -35%;
    right: 100%;
  }
  60% {
    left: 100%;
    right: -90%;
  }
  100% {
    left: 100%;
    right: -90%;
  }
}

.floating-loader 
{
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
}