a.link,
a.link:active,
a.link:visited {
  position: relative;
  color: var(--gray900);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}

a.link span {
  border-bottom: 2px solid transparent;
}

a.link:hover span {
  border-bottom: 2px solid var(--primary400);
}

a.link.large {
  font-size: var(--font-size-large);
}

a.link.small {
  font-size: var(--font-size-small);
}

a.link.xsmall {
  font-size: var(--font-size-xsmall);
}

a.link .icon + * {
  margin-left: 10px;
}

a.link.iconRight .icon {
  order: 1;
  margin-left: 10px;
}

a.link.iconRight .icon + * {
  margin: 0;
}
