.spinner_bg {
  background: white;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  display: block;
  z-index: 999;
  opacity: 1;
  visibility: visible;
}

.spinner_bg.loaded {
  opacity: 0;
  visibility: hidden;
  transition: all 1500ms ease;
  pointer-events: none;
}

.loader {
  font-size: 10px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #ffffff;
  background: -moz-linear-gradient(left, #45ba6b 10%, rgba(255, 255, 255, 0) 42%);
  background: -webkit-linear-gradient(left, #45ba6b 10%, rgba(255, 255, 255, 0) 42%);
  background: -o-linear-gradient(left, #45ba6b 10%, rgba(255, 255, 255, 0) 42%);
  background: -ms-linear-gradient(left, #45ba6b 10%, rgba(255, 255, 255, 0) 42%);
  background: linear-gradient(to right, #45ba6b 10%, rgba(255, 255, 255, 0) 42%);
  position: absolute;
  -webkit-animation: load3 1.4s infinite linear;
  animation: load3 1.4s infinite linear;
  transform: translate(-50%, -50%);
  top: 45%;
  left: 45%;
}

.loader:before {
  width: 50%;
  height: 50%;
  background: #45ba6b;
  border-radius: 100% 0 0 0;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
}
.loader:after {
  background: #fff;
  width: 85%;
  height: 85%;
  border-radius: 50%;
  content: '';
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
@-webkit-keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* Banner Background */
#banner[data-animation-spinner="false"] > div:not(.wpb_column) {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: rgb(4,171,116);
  background: -moz-linear-gradient(left, rgba(4,171,116,1) 0%, rgba(120,208,97,1) 100%);
  background: -webkit-linear-gradient(left, rgba(4,171,116,1) 0%,rgba(120,208,97,1) 100%);
  background: linear-gradient(to right, rgba(4,171,116,1) 0%,rgba(120,208,97,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#04ab74', endColorstr='#78d061',GradientType=1 );
  opacity: 0;
  visibility: hidden;
}

#banner[data-animation-spinner="true"] > div:not(.wpb_column) {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: rgb(4,171,116);
  background: -moz-linear-gradient(left, rgba(4,171,116,1) 0%, rgba(120,208,97,1) 100%);
  background: -webkit-linear-gradient(left, rgba(4,171,116,1) 0%,rgba(120,208,97,1) 100%);
  background: linear-gradient(to right, rgba(4,171,116,1) 0%,rgba(120,208,97,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#04ab74', endColorstr='#78d061',GradientType=1 );
  opacity: .65;
  visibility: visible;
  transition: all 800ms ease;
}

.logo-banner[data-animation-spinner="false"] {
  opacity: 0;
  visibility: hidden;
  transform: translateY(50px);
}

.logo-banner[data-animation-spinner="true"] {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: all 800ms ease;
}
