/**
 * loader
 */

.loader {
  position: absolute;
  z-index: @index-top;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  border-radius: inherit !important;
  overflow: hidden;
}

// filler

.filler {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  span {
    position: absolute;
    top: 0;
    left: 0;
  }
}

// spinner

.spinner {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}

// direction

.loader-x {
  .filler {
    span {
      width: 100%;
      height: 100%;
    }
  }
}

.loader-y {
  .filler {
    span {
      width: 100%;
      height: 100%;
    }
  }
}

// size

.loader-size-top {
  .filler {
    bottom: auto;
    span {
      top: 0;
    }
  }
}

.loader-size-bottom {
  .filler {
    top: auto;
    span {
      bottom: 0;
    }
  }
}

.loader-size-left {
  .filler {
    right: auto;
    span {
      left: 0;
    }
  }
}

.loader-size-right {
  .filler {
    left: auto;
    span {
      right: 0;
    }
  }
}
