@-moz-keyframes preloader {
  0% {
    -moz-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -moz-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes preloader {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes preloader {
  0% {
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* :not(:required) hides this rule from IE9 and below */
.preloader:not(:required) {
  -moz-animation: preloader 1250ms infinite linear;
  -webkit-animation: preloader 1250ms infinite linear;
  animation: preloader 1250ms infinite linear;
  border: 8px solid #38e;
  border-right-color: transparent;
  border-radius: 16px;
  box-sizing: border-box;
  display: block;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  text-indent: -9999px;
  width: 32px;
  height: 32px;
}

.crm_loader_block{
  display: flex;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  padding: 30px;
  align-items: center;
  justify-content: center;
}
.crm_loader_overlay{
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  opacity: .7;
  z-index: 3;
}

.crm_loader {
  position: relative;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: conic-gradient(#83c150, transparent);
  animation: rotating 1s linear infinite;
  z-index: 4;
}

.crm_loader::before {
  content: '';
  position: absolute;
  width: 30px;
  height: 30px;
  top: 10px;
  left: 10px;
  border-radius: 50%;
  background: white;
}

@keyframes rotating {
  from {
    transform: rotate(360deg);

  }
  to {
    transform: rotate(0deg);
  }
}


/*dot inline loader*/
.crm__dots_inline_loader {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  display: block;
  margin: 15px auto;
  position: relative;
  background: #83c150;
  box-shadow: -24px 0 #83c150, 24px 0 #83c150;
  box-sizing: border-box;
  animation: shadowPulse 2s linear infinite;
  z-index: 3;
}
.crm__loader_overlay,
.crm__loader_overlay_back{
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
.crm__loader_overlay_back {
  z-index: 2;
  opacity: .7;
  background-color: #fff;
}

@keyframes shadowPulse {
  33% {
    background: #83c150;
    box-shadow: -24px 0 #61913a, 24px 0 #83c150;
  }
  66% {
    background: #61913a;
    box-shadow: -24px 0 #83c150, 24px 0 #83c150;
  }
  100% {
    background: #83c150;
    box-shadow: -24px 0 #83c150, 24px 0 #61913a;
  }
}