.zw-icon {
  display: inline-block;
  color: inherit;
  font-style: normal;
  line-height: 0;
  text-align: center;
  text-transform: none;
  vertical-align: -0.125em;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* icon themes */
  /* icon sizes */
}
.zw-icon[type=search] {
  -webkit-appearance: initial !important;
}
.zw-icon--primary {
  color: var(--theme-primary);
}

.zw-icon--success {
  color: var(--theme-success);
}

.zw-icon--warning {
  color: var(--theme-warning);
}

.zw-icon--danger {
  color: var(--theme-danger);
}

.zw-icon--sm {
  font-size: var(--icon-font-size-sm);
}

.zw-icon--md {
  font-size: var(--icon-font-size-md);
}

.zw-icon--lg {
  font-size: var(--icon-font-size-lg);
}