.vik-icon {
  --vik-rotate: 0deg;
  --vik-scale-x: 1;
  --vik-scale-y: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  line-height: 1;
  vertical-align: -.125em;
  transform: rotate(var(--vik-rotate)) scaleX(var(--vik-scale-x)) scaleY(var(--vik-scale-y));
  transform-origin: center;
  color: inherit;
  overflow: visible;
}

.vik-icon svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: currentColor;
  overflow: visible;
}

.vik-icon svg *:not([fill="none"]) {
  fill: currentColor!important;
}

.vik-icon svg *[stroke]:not([stroke="none"]) {
  stroke: currentColor!important;
}

.vik-xs {
  font-size: .75em;
}

.vik-sm {
  font-size: .875em;
}

.vik-lg {
  font-size: 1.25em;
}

.vik-xl {
  font-size: 1.5em;
}

.vik-2x {
  font-size: 2em;
}

.vik-3x {
  font-size: 3em;
}

.vik-4x {
  font-size: 4em;
}

.vik-5x {
  font-size: 5em;
}

.vik-fw {
  width: 1.25em;
  text-align: center;
}

.vik-rotate-45 {
  --vik-rotate: 45deg;
}

.vik-rotate-90, .vik-rotate-down {
  --vik-rotate: 90deg;
}

.vik-rotate-135 {
  --vik-rotate: 135deg;
}

.vik-rotate-180, .vik-rotate-left {
  --vik-rotate: 180deg;
}

.vik-rotate-225 {
  --vik-rotate: 225deg;
}

.vik-rotate-270, .vik-rotate-up {
  --vik-rotate: 270deg;
}

.vik-rotate-315 {
  --vik-rotate: 315deg;
}

.vik-flip-x {
  --vik-scale-x: -1;
}

.vik-flip-y {
  --vik-scale-y: -1;
}

.vik-flip-both {
  --vik-scale-x: -1;
  --vik-scale-y: -1;
}

.vik-spin {
  animation: vik-spin 1s linear infinite;
}

.vik-pulse {
  animation: vik-spin 1s steps(8) infinite;
}

.vik-border {
  padding: .2em .25em;
  border: .08em solid currentColor;
  border-radius: .15em;
}

.vik-circle {
  padding: .25em;
  border: .08em solid currentColor;
  border-radius: 50%;
}

.vik-muted {
  opacity: .5;
}

.vik-hidden {
  display: none!important;
}

.vik-icon-missing{
  color:red!important
}

.vik-mirror-h, .vik-mh {
  --vik-scale-x: -1;
}

.vik-mirror-v, .vik-mv {
  --vik-scale-y: -1;
}

@keyframes vik-spin {
  from {
    transform: rotate(0deg) scaleX(var(--vik-scale-x)) scaleY(var(--vik-scale-y));
  }

  to {
    transform: rotate(360deg) scaleX(var(--vik-scale-x)) scaleY(var(--vik-scale-y));
  }
}