:host {
  display: inline-block;
}

.spinner {
  position: relative;
}

.spinner.m {
  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;
}
.semiconductor.m svg {
  width: 40px;
  height: 40px;
}

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