:root {
  --tu-icon-extra-large: 48px;
  --tu-icon-large: 32px;
  --tu-icon-medium: 24px;
  --tu-icon-small: 18px;
  --tu-icon-extra-small: 16px;
}

@media (min-width: 1440px) {
  :root {
    --tu-icon-extra-large: 48px;
    --tu-icon-large: 32px;
    --tu-icon-medium: 24px;
    --tu-icon-small: 18px;
    --tu-icon-extra-small: 16px;
  }
}
tu-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
tu-icon::before {
  content: "";
  display: block;
  width: var(--tu-icon-extra-large);
  height: var(--tu-icon-extra-large);
  -webkit-mask-image: url("./svgs/right.svg");
          mask-image: url("./svgs/right.svg");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background: var(--color-secondary-500);
}
tu-icon[size=l]::before {
  width: var(--tu-icon-large);
  height: var(--tu-icon-large);
}
tu-icon[size=m]::before {
  width: var(--tu-icon-medium);
  height: var(--tu-icon-medium);
}
tu-icon[size=s]::before {
  width: var(--tu-icon-small);
  height: var(--tu-icon-small);
}
tu-icon[size=xs]::before {
  width: var(--tu-icon-extra-small);
  height: var(--tu-icon-extra-small);
}
tu-icon[instance=left]::before {
  -webkit-mask-image: url("./svgs/left.svg");
          mask-image: url("./svgs/left.svg");
}