.page-loader-container {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10000;
}

.page-loader-container .page-loader-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 0;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.page-loader-container .page-loader-wrapper .page-loader {
  display: block;
}

.page-loader-container .page-loader-wrapper .page-loader g {
  animation: loader-spin 1.4s linear infinite;
  -moz-animation: loader-spin 1.4s linear infinite;
  -webkit-animation: loader-spin 1.4s linear infinite;
  -o-animation: loader-spin 1.4s linear infinite;
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
  transform-origin: center;
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
}

.page-loader-container .page-loader-wrapper .page-loader g circle {
  animation: loader-grow 1.4s ease-in-out infinite;
  -moz-animation: loader-grow 1.4s ease-in-out infinite;
  -webkit-animation: loader-grow 1.4s ease-in-out infinite;
  -o-animation: loader-grow 1.4s ease-in-out infinite;
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
  transform-origin: center;
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
  fill: none;
  stroke-width: 4;
  stroke: #ffc107;
  stroke-dasharray: 100;
  stroke-dashoffset: 80;
  stroke-linecap: square;
}

.page-loader-container .page-loader-wrapper .ie-page-loader {
  animation: ie-loader-spin 0.7s ease infinite;
  -moz-animation: ie-loader-spin 0.7s ease infinite;
  -webkit-animation: ie-loader-spin 0.7s ease infinite;
  -o-animation: ie-loader-spin 0.7s ease infinite;
  display: none;
  position: relative;
  width: 56px;
  height: 56px;
}

.page-loader-container .page-loader-wrapper .ie-page-loader::after {
  content: '';
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
  transform-origin: center;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 4px solid transparent;
  border-top-color: #ffc107;
}

.no-smil .page-loader-container .page-loader {
  display: none;
}

.no-smil .page-loader-container .ie-page-loader {
  display: block;
}

@-webkit-keyframes loader-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
  }
}

@keyframes loader-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
  }
}

@-webkit-keyframes loader-grow {
  0% {
    stroke-dashoffset: 100;
  }
  50% {
    stroke-dashoffset: 20;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  100% {
    stroke-dashoffset: 100;
    -webkit-transform: rotate(420deg);
    transform: rotate(420deg);
  }
}

@keyframes loader-grow {
  0% {
    stroke-dashoffset: 100;
  }
  50% {
    stroke-dashoffset: 20;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  100% {
    stroke-dashoffset: 100;
    -webkit-transform: rotate(420deg);
    transform: rotate(420deg);
  }
}

@-webkit-keyframes ie-loader-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes ie-loader-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}