.ob-svg-icon {
  --ob-icon-scale: 1.14em;
  display: inline-grid;
  width: 1em;
  height: 1em;
  min-width: 1em;
  place-items: center;
  color: currentColor;
  font-size: inherit;
  font-style: normal;
  line-height: 1;
  vertical-align: -0.125em;
}

.ob-svg-icon::before {
  content: none !important;
}

.ob-svg-icon[hidden] {
  display: none !important;
}

.ob-svg-icon svg {
  display: block;
  width: var(--ob-icon-scale);
  height: var(--ob-icon-scale);
  margin: auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  overflow: visible;
}

button .ob-svg-icon,
[role="button"] .ob-svg-icon {
  flex: 0 0 auto;
  align-self: center;
  justify-self: center;
  margin: auto;
  vertical-align: 0;
}

.ob-svg-icon[data-icon-fill="true"] svg {
  fill: currentColor;
  stroke: none;
}

.ob-svg-icon[data-icon-stroke="false"] svg {
  stroke: none;
}

.ob-svg-icon[data-ob-icon="spinner"],
.ob-svg-icon.fa-spin {
  animation: ob-icon-spin 0.8s linear infinite;
}

@keyframes ob-icon-spin {
  to {
    transform: rotate(360deg);
  }
}
