:host { display: inline-block; } .spinner { position: relative; width: 40px; height: 40px; } .spinner.s { width: 24px; height: 24px; } .border { box-sizing: border-box; position: absolute; width: 100%; height: 100%; border: 4px solid transparent; border-top-color: #0A8276; border-left-color: #0A8276; border-right-color: #0A8276; border-top-left-radius: 1px; border-top-right-radius: 1px; border-radius: 50%; animation: spin 2s linear infinite; } .border.inverted { border-top-color: #FFFFFF; border-left-color: #FFFFFF; border-right-color: #FFFFFF; } .semiconductor { width: 100%; height: 100%; animation: spin 2s linear infinite; } .semiconductor svg { fill: #0A8276; } .semiconductor.inverted svg { fill: #FFFFFF; } .semiconductor.s svg { width: 24px; height: 24px; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }