/* SVG Icon System CSS */
.icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  fill: currentColor;
  vertical-align: -0.125em; /* Aligns icon with text */
}

/* Standard icon sizes */
.icon-xs {
  width: 0.75em;
  height: 0.75em;
}

.icon-sm {
  width: 0.875em;
  height: 0.875em;
}

.icon-lg {
  width: 1.25em;
  height: 1.25em;
}

.icon-xl {
  width: 1.5em;
  height: 1.5em;
}

.icon-2xl {
  width: 2em;
  height: 2em;
}

/* Make icon fix with text */
.icon-text {
  margin-right: 0.25em;
}

/* Animations */
.icon-spin {
  animation: icon-spin 2s linear infinite;
}

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

/* Fix for certain browsers */
svg:not(:root) {
  overflow: hidden;
}