@keyframes revolve-animation {
    0% { transform: scale(1) rotate(0deg);}
    50% { transform: scale(0.9) rotate(90deg); }
    100% { transform: scale(1) rotate(0deg); }
}

@mixin revolve ($duration: 500ms) {
    transform-origin: center;
    animation: revolve-animation $duration infinite;
}

.revolve-500ms { @include revolve(500ms); }
.revolve-1s { @include revolve(1s); }
.revolve-1500ms { @include revolve(1500ms); }
.revolve-2s { @include revolve(2s); }
.revolve-2500ms { @include revolve(2500ms); }
.revolve-3s { @include revolve(3s); }
.revolve-3500ms { @include revolve(3500ms); }
.revolve-4s { @include revolve(4s); }
.revolve-4500ms { @include revolve(4500ms); }
.revolve-5s { @include revolve(5s); }

@keyframes swell-animation {
    0% { transform: scale(1);}
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

@mixin swell ($duration: 500ms) {
    transform-origin: center;
    animation: swell-animation $duration infinite;
}

.swell-500ms { @include swell(500ms); }
.swell-1s { @include swell(1s); }
.swell-1500ms { @include swell(1500ms); }
.swell-2s { @include swell(2s); }
.swell-2500ms { @include swell(2500ms); }
.swell-3s { @include swell(3s); }
.swell-3500ms { @include swell(3500ms); }
.swell-4s { @include swell(4s); }
.swell-4500ms { @include swell(4500ms); }
.swell-5s { @include swell(5s); }

@keyframes spin-animation {
    0% { transform: rotateZ(0); }
    100% { transform: rotate(360deg); }
}

@mixin spin ($duration: 500ms) {
    transform-origin: center;
    animation: spin-animation $duration infinite;
}

.spin-500ms { @include spin(500ms); }
.spin-1s { @include spin(1s); }
.spin-1500ms { @include spin(1500ms); }
.spin-2s { @include spin(2s); }
.spin-2500ms { @include spin(2500ms); }
.spin-3s { @include spin(3s); }
.spin-3500ms { @include spin(3500ms); }
.spin-4s { @include spin(4s); }
.spin-4500ms { @include spin(4500ms); }
.spin-5s { @include spin(5s); }