.bi::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  background-color: currentColor;
  -webkit-mask: var(--bi-icon) center / contain no-repeat;
  mask: var(--bi-icon) center / contain no-repeat;
}

.bi-person::before,
.bi-person-plus::before,
.bi-person-vcard::before,
.bi-person-gear::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 8a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm0 1.5c-3.1 0-5.5 1.6-5.5 3.5V15h11v-2c0-1.9-2.4-3.5-5.5-3.5Z'/%3E%3C/svg%3E");
}

.bi-link-45deg::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.4 5.1 4.8 6.7a2.2 2.2 0 0 0 3.1 3.1l1.1-1.1 1.4 1.4-1.1 1.1a4.2 4.2 0 0 1-5.9-5.9L5 3.7l1.4 1.4Zm3.2 5.8 1.6-1.6a2.2 2.2 0 0 0-3.1-3.1L7 7.3 5.6 5.9l1.1-1.1a4.2 4.2 0 0 1 5.9 5.9L11 12.3l-1.4-1.4Z'/%3E%3C/svg%3E");
}

.bi-grid::before,
.bi-grid-1x2::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 2h5v5H2V2Zm7 0h5v5H9V2ZM2 9h5v5H2V9Zm7 0h5v5H9V9Z'/%3E%3C/svg%3E");
}

.bi-buildings::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 15V2h6v13H2Zm2-2h1v-1H4v1Zm0-3h1V9H4v1Zm0-3h1V6H4v1Zm0-3h1V3H4v1Zm3 9h1v-1H7v1Zm0-3h1V9H7v1Zm0-3h1V6H7v1Zm0-3h1V3H7v1Zm3 11V5h4v10h-4Zm1-2h1v-1h-1v1Zm0-3h1V9h-1v1Zm0-3h1V6h-1v1Z'/%3E%3C/svg%3E");
}

.bi-mortarboard::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1 0 5l8 4 8-4-8-4Zm-5 7v3c0 1.4 2.2 3 5 3s5-1.6 5-3V8l-5 2.5L3 8Z'/%3E%3C/svg%3E");
}

.bi-credit-card::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1 4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4Zm2 0v1h10V4H3Zm0 4v4h10V8H3Z'/%3E%3C/svg%3E");
}

.bi-clipboard::before,
.bi-clipboard-data::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5 1h6v2h2v12H3V3h2V1Zm1 2h4V2H6v1Zm-1 9h1V8H5v4Zm3 0h1V6H8v6Zm3 0h1v-3h-1v3Z'/%3E%3C/svg%3E");
}

.bi-receipt::before,
.bi-file-text::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 1h10v14l-2-1-2 1-2-1-2 1-2-1V1Zm2 3v1h6V4H5Zm0 3v1h6V7H5Zm0 3v1h4v-1H5Z'/%3E%3C/svg%3E");
}

.bi-trash::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6 1h4l1 2h4v2H1V3h4l1-2Zm-3 5h10l-.7 9H3.7L3 6Zm3 2v5h1V8H6Zm3 0v5h1V8H9Z'/%3E%3C/svg%3E");
}

.bi-eye-slash::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1 8s2.5-4 7-4 7 4 7 4-2.5 4-7 4-7-4-7-4Zm7 2.5A2.5 2.5 0 1 0 8 5a2.5 2.5 0 0 0 0 5.5ZM2 1l13 13-1.4 1.4-13-13L2 1Z'/%3E%3C/svg%3E");
}

.bi-lock::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 7V5a4 4 0 0 1 8 0v2h1v8H3V7h1Zm2 0h4V5a2 2 0 0 0-4 0v2Z'/%3E%3C/svg%3E");
}

.bi-arrow-left::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M7 2 1 8l6 6 1.4-1.4L4.8 9H15V7H4.8l3.6-3.6L7 2Z'/%3E%3C/svg%3E");
}

.bi-arrow-right::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m9 2 6 6-6 6-1.4-1.4L11.2 9H1V7h10.2L7.6 3.4 9 2Z'/%3E%3C/svg%3E");
}

.bi-plus::before,
.bi-plus-lg::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M7 1h2v6h6v2H9v6H7V9H1V7h6V1Z'/%3E%3C/svg%3E");
}

.bi-x::before,
.bi-x-lg::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 1.6 8 6.6l5-5L14.4 3l-5 5 5 5-1.4 1.4-5-5-5 5L1.6 13l5-5-5-5L3 1.6Z'/%3E%3C/svg%3E");
}

.bi-check-circle::before,
.bi-check2-circle::before,
.bi-shield-check::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1Zm3.7 5.3-4.2 4.2-2.2-2.2 1.4-1.4.8.8 2.8-2.8 1.4 1.4Z'/%3E%3C/svg%3E");
}

.bi-calendar-event::before,
.bi-calendar-range::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 1h2v2h6V1h2v2h2v12H1V3h2V1Zm10 6H3v6h10V7Z'/%3E%3C/svg%3E");
}

.bi-clock::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1Zm1 3v4l3 2-1 1.5-4-2.5V4h2Z'/%3E%3C/svg%3E");
}

.bi-sun::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M7 0h2v3H7V0Zm0 13h2v3H7v-3ZM0 7h3v2H0V7Zm13 0h3v2h-3V7ZM2.2 1 4.3 3.1 3.1 4.3 1 2.2 2.2 1Zm10.7 10.7 2.1 2.1-1.2 1.2-2.1-2.1 1.2-1.2ZM13.8 1 15 2.2l-2.1 2.1-1.2-1.2L13.8 1ZM3.1 11.7l1.2 1.2L2.2 15 1 13.8l2.1-2.1ZM8 5a3 3 0 1 1 0 6 3 3 0 0 1 0-6Z'/%3E%3C/svg%3E");
}

.bi-telephone::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 1h3l1 4-2 1c1 2 3 4 5 5l1-2 4 1v3c0 1-1 2-2 2C6 15 1 10 1 3c0-1 1-2 2-2Z'/%3E%3C/svg%3E");
}

.bi-envelope::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1 3h14v10H1V3Zm2 2 5 4 5-4H3Zm10 6V7.5l-5 4-5-4V11h10Z'/%3E%3C/svg%3E");
}

.bi-download::before,
.bi-upload::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M7 1h2v7l2.5-2.5L13 7l-5 5-5-5 1.5-1.5L7 8V1Zm-5 12h12v2H2v-2Z'/%3E%3C/svg%3E");
}

.bi-qr-code::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1 1h6v6H1V1Zm2 2v2h2V3H3Zm6-2h6v6H9V1Zm2 2v2h2V3h-2ZM1 9h6v6H1V9Zm2 2v2h2v-2H3Zm6-2h2v2H9V9Zm3 0h3v2h-3V9Zm-3 3h2v3H9v-3Zm3 1h1v2h-1v-2Zm2-1h1v3h-1v-3Z'/%3E%3C/svg%3E");
}

.bi-image::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1 2h14v12H1V2Zm2 2v7l3-3 2 2 3-4 2 3V4H3Z'/%3E%3C/svg%3E");
}

.bi-info-circle::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1Zm1 11H7V7h2v5ZM7 4h2v2H7V4Z'/%3E%3C/svg%3E");
}

.bi-file-earmark-excel::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 1h7l3 3v11H3V1Zm3 5 1.5 2L9 6h2L8.8 9 11 12H9l-1.5-2L6 12H4l2.2-3L4 6h2Z'/%3E%3C/svg%3E");
}

.bi-gender-ambiguous::before,
.bi-people::before,
.bi-bar-chart-steps::before {
  --bi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5 7a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm6 1a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5ZM1 15c0-3 2-5 5-5s5 2 5 5H1Zm9-1c-.2-1.6-.9-2.8-2-3.6.8-.3 1.7-.4 2.5-.4 2.7 0 4.5 1.7 4.5 4H10Z'/%3E%3C/svg%3E");
}
