/* HypeCity Icon System — pairs with /assets/scripts/ui/icon.js
 * Usage: <i data-icon="home"></i>
 * Sizes: add class hc-icon-sm | hc-icon-md (default) | hc-icon-lg
 */

:root {
  --icon-sm: 16px;
  --icon-md: 20px;
  --icon-lg: 24px;
}

i[data-icon] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--icon-md);
  height: var(--icon-md);
  vertical-align: middle;
  line-height: 1;
  font-style: normal;
  color: inherit;
}

i[data-icon] svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  display: block;
}

i[data-icon].hc-icon-sm,
i[data-icon].hc-icon-sm svg {
  width: var(--icon-sm);
  height: var(--icon-sm);
}

i[data-icon].hc-icon-lg,
i[data-icon].hc-icon-lg svg {
  width: var(--icon-lg);
  height: var(--icon-lg);
}

/* When used inline in text, give a small right-margin if followed by text */
i[data-icon] + span,
i[data-icon] + * {
  margin-left: 0.35em;
}
