dvn-icon {
  display: inline-block;
  width: var(--icon-size);
  height: var(--icon-size);
  flex: 0 0 var(--icon-size);
}

dvn-icon.small {
  --icon-size: var(--font-size-small);
}

dvn-icon.medium {
  --icon-size: var(--font-size-medium);
}

dvn-icon.large {
  --icon-size: var(--font-size-large);
}

i {
  vertical-align: top;
  font-size: var(--icon-size);
  line-height: var(--icon-size);
}

i:before {
  margin: 0;
}
