.spinner { -webkit-animation: rotator 1.5s linear infinite; animation: rotator 1.5s linear infinite; } @-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); } } .spinner-path { stroke-dasharray: 257; stroke-dashoffset: 0; -webkit-transform-origin: center; transform-origin: center; -webkit-animation: spinner-dash 1.5s ease-in-out infinite, spinner-colors 6s ease-in-out infinite; animation: spinner-dash 1.5s ease-in-out infinite, spinner-colors 6s ease-in-out infinite; } @-webkit-keyframes spinner-colors { 0% { stroke: #4285F4; } 25% { stroke: #DE3E35; } 50% { stroke: #F7C223; } 75% { stroke: #1B9A59; } 100% { stroke: #4285F4; } } @keyframes spinner-colors { 0% { stroke: #4285F4; } 25% { stroke: #DE3E35; } 50% { stroke: #F7C223; } 75% { stroke: #1B9A59; } 100% { stroke: #4285F4; } } @-webkit-keyframes spinner-dash { 0% { stroke-dashoffset: 257; } 50% { stroke-dashoffset: 64.25; -webkit-transform: rotate(135deg); transform: rotate(135deg); } 100% { stroke-dashoffset: 257; -webkit-transform: rotate(450deg); transform: rotate(450deg); } } @keyframes spinner-dash { 0% { stroke-dashoffset: 257; } 50% { stroke-dashoffset: 64.25; -webkit-transform: rotate(135deg); transform: rotate(135deg); } 100% { stroke-dashoffset: 257; -webkit-transform: rotate(450deg); transform: rotate(450deg); } }