.preloader {
  &-circular {
    animation: rotate 2s linear infinite;
    height: 100%;
    transform-origin: center center;
    /* width: 100%; */
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
  }

  &-path {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
    animation: dash 1.5s ease-in-out infinite/* , color 6s ease-in-out infinite */;
    stroke-linecap: round;
    stroke: white;
    stroke-width: 3;
  }

  &-container {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 50px;
    height: 50px;
    /* cursor: pointer; */
  }
}

.preloader-container {
  .you-spin-me-round {
    width: 100%;
    height: 100%;
    animation: rotate 2s linear infinite;
  }

  .preloader-circular {
    animation: none;
    cursor: pointer;
    background-color: rgba(0, 0, 0, .7);
    border-radius: 50%;
    width: 100%;
    height: 100%;
  }

  .preloader-path-new {
    stroke-dasharray: 5, 200;
    stroke-dashoffset: 0;
    transition: stroke-dasharray 400ms ease-in-out;
    stroke-linecap: round;
    stroke: white;
    stroke-width: 1.5;
  }

  &.preloader-swing {
    cursor: default;

    .preloader-circular {
      cursor: default;
    }

    .preloader-path-new {
      stroke-dasharray: 1, 200;
      stroke-dashoffset: 0;
      animation: dashNew 1.5s ease-in-out infinite/* , color 6s ease-in-out infinite */;
    }
  }

  .preloader-close {
    cursor: pointer;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    color: #fff;
    stroke: #fff;
    width: 34%;
    height: 34%;

    html.no-touch &:hover {
      background: none;
    }
  }

  &.preloader-streamable {
    &, svg {
      cursor: pointer !important;
    }

    circle {
      stroke-width: 2.5 !important;
      animation: dashNewStreamable 1.5s ease-in-out infinite !important;
    }

    &:after {
      content: "";
      position: absolute;
      width: .8125rem;
      height: .8125rem;
      border-radius: .125rem;
      background-color: #fff;
      left: 50%;
      top: 50%;
      transform: translate3d(-50%,-50%,0);
    }
  }
}

@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}

@keyframes dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -35px;
  }
  100% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -124px;
  }
}

@keyframes dashNew {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -35px;
  }
  100% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -286%;
  }
}

@keyframes dashNewStreamable {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -35px;
  }
  100% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -237%;
  }
}