@import "variables"; vn-spinner { display: inline-block; min-height: 28px; min-width: 28px; & > .loader { position: relative; margin: 0 auto; width: 100%; height: 100%; &:before { content: ''; display: block; padding-top: 100%; } & > .circular { animation: rotate 2s linear infinite; transform-origin: center center; height: 100%; width: 100%; position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; & > .path { stroke: $color-main; stroke-dasharray: 1, 200; stroke-dashoffset: 0; stroke-linecap: square; stroke-width: 6px; animation: dash 1.5s ease-in-out infinite; } } } @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; } } }