.page-loading {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-transition: 1s;
  transition: 1s;
  visibility: hidden;
  opacity: 0;
  top: 0;
  z-index: 101;
  position: fixed;
  background: #ffffff; }
  .page-loading.active {
    z-index: 101;
    visibility: visible;
    opacity: 1; }

.loading-bar {
  margin: auto;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 200px;
  height: 1px;
  background: rgba(51, 51, 51, 0.2);
  position: relative; }
  .loading-bar:before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    content: '';
    background: #333;
    width: 0;
    height: 2px;
    -webkit-animation: loadingBar 0.8s infinite forwards cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation: loadingBar 0.8s infinite forwards cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.loading-txt {
  padding-bottom: 10px;
  font-size: 20px;
  text-align: center; }

.loading-box {
  position: relative;
  z-index: 4; }

@-webkit-keyframes loadingBar {
  0% {
    left: 0;
    width: 0; }
  50% {
    left: 0;
    width: 100%; }
  100% {
    left: 100%;
    width: 0; } }

@keyframes loadingBar {
  0% {
    left: 0;
    width: 0; }
  50% {
    left: 0;
    width: 100%; }
  100% {
    left: 100%;
    width: 0; } }
