﻿.ko-spinner.kos-spinner {
  width: 16px;
  height: 16px;
  display: block;
}

button .ko-spinner.kos-spinner {
  width: 16px;
  height: 16px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -8px;
  display: none;
}

button .ko-spinner.kos-show { 
   display: block;
  -webkit-animation: ko-spinner-show-anim 100ms ease-in;
  animation: ko-spinner-show-anim 100ms ease-in;
}

button .ko-spinner.kos-hide {
  opacity: 0;
  -webkit-animation: ko-spinner-hide-anim 100ms ease-out;
  animation: ko-spinner-hide-anim 100ms ease-out;
}

button .ko-spinner svg.spinner {
    -webkit-animation: rotator 1.4s linear infinite;
    animation: rotator 1.4s linear infinite;
}

button .ko-spinner svg .path {
    stroke-dasharray: 187;
    stroke-dashoffset: 0;
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-animation: dash 1.4s ease-in-out infinite;
    animation: dash 1.4s ease-in-out infinite;
}

/* Show animation */
@-webkit-keyframes ko-spinner-show-anim {
  from {
    opacity: 0;
    -webkit-transform: scale(2,2);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1,1);
  }
}

@keyframes ko-spinner-show-anim {
  from {
    opacity: 0;
    transform: scale(2,2);
  }
  to {
    opacity: 1;
    transform: scale(1,1);
  }
}

/* Hide animation */
@-webkit-keyframes ko-spinner-hide-anim {
  from {
    opacity: 1;
    -webkit-transform: scale(1,1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.5,0.5);
  }
} 

@keyframes ko-spinner-hide-anim {
  from {
    opacity: 1;
    transform: scale(1,1);
  }
  to {
    opacity: 0;
    transform: scale(0.5,0.5);
  }
} 

/* Spinner animations */
@-webkit-keyframes rotator {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(270deg);
        transform: rotate(270deg);
    }
}

@keyframes rotator {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(270deg);
        transform: rotate(270deg);
    }
}

@-webkit-keyframes dash {
    0% {
        stroke-dashoffset: 187;
    }

    50% {
        stroke-dashoffset: 47;
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
    }

    100% {
        stroke-dashoffset: 187;
        -webkit-transform: rotate(450deg);
        transform: rotate(450deg);
    }
}

@keyframes dash {
    0% {
        stroke-dashoffset: 187;
    }

    50% {
        stroke-dashoffset: 47;
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
    }

    100% {
        stroke-dashoffset: 187;
        -webkit-transform: rotate(450deg);
        transform: rotate(450deg);
    }
}