/* Base Icon Style */
.icon {
  display: inline-block;
  background-color: currentColor;
  pointer-events: none;
  flex-shrink: 0;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  width: 20px;
  height: 20px;
}

/* Sizes */
.icon-sm { width: 16px; height: 16px; }
.icon-md { width: 24px; height: 24px; }
.icon-lg { width: 32px; height: 32px; }

/* Icon Masks pointing to local assets/icons svg files */
.icon-password-generator {
  -webkit-mask-image: url('assets/icons/password-generator.svg');
  mask-image: url('assets/icons/password-generator.svg');
}

.icon-copy {
  -webkit-mask-image: url('assets/icons/copy.svg');
  mask-image: url('assets/icons/copy.svg');
}

.icon-check {
  -webkit-mask-image: url('assets/icons/check.svg');
  mask-image: url('assets/icons/check.svg');
}

.icon-generate {
  -webkit-mask-image: url('assets/icons/generate.svg');
  mask-image: url('assets/icons/generate.svg');
}

.icon-arrow-left {
  -webkit-mask-image: url('assets/icons/arrow-left.svg');
  mask-image: url('assets/icons/arrow-left.svg');
}

.icon-layers {
  -webkit-mask-image: url('assets/icons/layers.svg');
  mask-image: url('assets/icons/layers.svg');
}

.icon-undo {
  -webkit-mask-image: url('assets/icons/undo.svg');
  mask-image: url('assets/icons/undo.svg');
}

.icon-redo {
  -webkit-mask-image: url('assets/icons/redo.svg');
  mask-image: url('assets/icons/redo.svg');
}
