/* Local Bootstrap Icons fallback using inline SVG masks (offline-safe) */
.bi {
	display: inline-block;
	font-style: normal;
	line-height: 1;
	vertical-align: -0.125em;
}

.bi::before {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	background-color: currentColor;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.bi-list::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><rect x='1' y='2' width='14' height='2' fill='black'/><rect x='1' y='7' width='14' height='2' fill='black'/><rect x='1' y='12' width='14' height='2' fill='black'/></svg>");
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><rect x='1' y='2' width='14' height='2' fill='black'/><rect x='1' y='7' width='14' height='2' fill='black'/><rect x='1' y='12' width='14' height='2' fill='black'/></svg>");
}

.bi-house-door::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M2 7.2L8 2l6 5.2V14H9.6V9.8H6.4V14H2V7.2z' fill='black'/></svg>");
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M2 7.2L8 2l6 5.2V14H9.6V9.8H6.4V14H2V7.2z' fill='black'/></svg>");
}

.bi-people::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><circle cx='6' cy='5' r='2.2' fill='black'/><circle cx='11' cy='6' r='1.8' fill='black'/><path d='M1.6 13c0-2.2 2-3.8 4.4-3.8s4.4 1.6 4.4 3.8H1.6z' fill='black'/><path d='M8.8 13c.1-1.5 1.4-2.6 3-2.6 1.5 0 2.6 1 2.8 2.6H8.8z' fill='black'/></svg>");
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><circle cx='6' cy='5' r='2.2' fill='black'/><circle cx='11' cy='6' r='1.8' fill='black'/><path d='M1.6 13c0-2.2 2-3.8 4.4-3.8s4.4 1.6 4.4 3.8H1.6z' fill='black'/><path d='M8.8 13c.1-1.5 1.4-2.6 3-2.6 1.5 0 2.6 1 2.8 2.6H8.8z' fill='black'/></svg>");
}

.bi-shield-lock::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M8 1l5 2v3.8c0 3-2 5.7-5 7.2-3-1.5-5-4.2-5-7.2V3l5-2z' fill='black'/><rect x='6' y='7.2' width='4' height='3.2' rx='.5' fill='white'/><path d='M6.8 7.2V6.5c0-.8.5-1.5 1.2-1.5s1.2.7 1.2 1.5v.7h-.8V6.5c0-.3-.2-.6-.4-.6s-.4.3-.4.6v.7h-.8z' fill='white'/></svg>");
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M8 1l5 2v3.8c0 3-2 5.7-5 7.2-3-1.5-5-4.2-5-7.2V3l5-2z' fill='black'/><rect x='6' y='7.2' width='4' height='3.2' rx='.5' fill='white'/><path d='M6.8 7.2V6.5c0-.8.5-1.5 1.2-1.5s1.2.7 1.2 1.5v.7h-.8V6.5c0-.3-.2-.6-.4-.6s-.4.3-.4.6v.7h-.8z' fill='white'/></svg>");
}

.bi-shield-check::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M8 1l5 2v3.8c0 3-2 5.7-5 7.2-3-1.5-5-4.2-5-7.2V3l5-2z' fill='black'/><path d='M5.2 8.1l1.5 1.6 3.1-3.2.9.9-4 4.1-2.4-2.5z' fill='white'/></svg>");
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M8 1l5 2v3.8c0 3-2 5.7-5 7.2-3-1.5-5-4.2-5-7.2V3l5-2z' fill='black'/><path d='M5.2 8.1l1.5 1.6 3.1-3.2.9.9-4 4.1-2.4-2.5z' fill='white'/></svg>");
}

.bi-diagram-3::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><rect x='6.5' y='1.5' width='3' height='3' fill='black'/><rect x='1.5' y='11.5' width='3' height='3' fill='black'/><rect x='11.5' y='11.5' width='3' height='3' fill='black'/><rect x='7.3' y='4.5' width='1.4' height='3.5' fill='black'/><rect x='3' y='8' width='10' height='1.4' fill='black'/></svg>");
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><rect x='6.5' y='1.5' width='3' height='3' fill='black'/><rect x='1.5' y='11.5' width='3' height='3' fill='black'/><rect x='11.5' y='11.5' width='3' height='3' fill='black'/><rect x='7.3' y='4.5' width='1.4' height='3.5' fill='black'/><rect x='3' y='8' width='10' height='1.4' fill='black'/></svg>");
}

.bi-gear::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M9.8 1.2l.5 1.4a5.7 5.7 0 011.2.7l1.3-.6 1 1.8-1.1.9c.1.4.1.8.1 1.2s0 .8-.1 1.2l1.1.9-1 1.8-1.3-.6a5.7 5.7 0 01-1.2.7l-.5 1.4H6.2l-.5-1.4a5.7 5.7 0 01-1.2-.7l-1.3.6-1-1.8 1.1-.9a5 5 0 010-2.4l-1.1-.9 1-1.8 1.3.6c.4-.3.8-.5 1.2-.7l.5-1.4h3.6zM8 10.2A2.2 2.2 0 108 5.8a2.2 2.2 0 000 4.4z' fill='black'/></svg>");
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M9.8 1.2l.5 1.4a5.7 5.7 0 011.2.7l1.3-.6 1 1.8-1.1.9c.1.4.1.8.1 1.2s0 .8-.1 1.2l1.1.9-1 1.8-1.3-.6a5.7 5.7 0 01-1.2.7l-.5 1.4H6.2l-.5-1.4a5.7 5.7 0 01-1.2-.7l-1.3.6-1-1.8 1.1-.9a5 5 0 010-2.4l-1.1-.9 1-1.8 1.3.6c.4-.3.8-.5 1.2-.7l.5-1.4h3.6zM8 10.2A2.2 2.2 0 108 5.8a2.2 2.2 0 000 4.4z' fill='black'/></svg>");
}

.bi-person::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><circle cx='8' cy='5' r='2.6' fill='black'/><path d='M2.2 13.5c0-2.6 2.6-4.3 5.8-4.3s5.8 1.7 5.8 4.3H2.2z' fill='black'/></svg>");
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><circle cx='8' cy='5' r='2.6' fill='black'/><path d='M2.2 13.5c0-2.6 2.6-4.3 5.8-4.3s5.8 1.7 5.8 4.3H2.2z' fill='black'/></svg>");
}

.bi-person-lines-fill::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><circle cx='4.5' cy='5' r='2' fill='black'/><path d='M1 12.5c0-1.9 1.7-3.1 3.5-3.1S8 10.6 8 12.5H1z' fill='black'/><rect x='9' y='3.2' width='6' height='1.4' fill='black'/><rect x='9' y='6.2' width='6' height='1.4' fill='black'/><rect x='9' y='9.2' width='6' height='1.4' fill='black'/></svg>");
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><circle cx='4.5' cy='5' r='2' fill='black'/><path d='M1 12.5c0-1.9 1.7-3.1 3.5-3.1S8 10.6 8 12.5H1z' fill='black'/><rect x='9' y='3.2' width='6' height='1.4' fill='black'/><rect x='9' y='6.2' width='6' height='1.4' fill='black'/><rect x='9' y='9.2' width='6' height='1.4' fill='black'/></svg>");
}

.bi-box-arrow-right::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M2 2h7v2H4v8h5v2H2V2z' fill='black'/><path d='M8 7h6v2H8V7z' fill='black'/><path d='M11.6 4.8L14.8 8l-3.2 3.2-1.2-1.2L12.4 8l-2-2z' fill='black'/></svg>");
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M2 2h7v2H4v8h5v2H2V2z' fill='black'/><path d='M8 7h6v2H8V7z' fill='black'/><path d='M11.6 4.8L14.8 8l-3.2 3.2-1.2-1.2L12.4 8l-2-2z' fill='black'/></svg>");
}

.bi-trash::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><rect x='5' y='1.5' width='6' height='2' fill='black'/><rect x='2' y='3.5' width='12' height='1.5' fill='black'/><path d='M4 5h8l-.7 9H4.7L4 5z' fill='black'/><rect x='6.1' y='6.5' width='1.2' height='6' fill='white'/><rect x='8.7' y='6.5' width='1.2' height='6' fill='white'/></svg>");
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><rect x='5' y='1.5' width='6' height='2' fill='black'/><rect x='2' y='3.5' width='12' height='1.5' fill='black'/><path d='M4 5h8l-.7 9H4.7L4 5z' fill='black'/><rect x='6.1' y='6.5' width='1.2' height='6' fill='white'/><rect x='8.7' y='6.5' width='1.2' height='6' fill='white'/></svg>");
}

.bi-plus-circle::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><circle cx='8' cy='8' r='7' fill='black'/><rect x='7.2' y='4.2' width='1.6' height='7.6' fill='white'/><rect x='4.2' y='7.2' width='7.6' height='1.6' fill='white'/></svg>");
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><circle cx='8' cy='8' r='7' fill='black'/><rect x='7.2' y='4.2' width='1.6' height='7.6' fill='white'/><rect x='4.2' y='7.2' width='7.6' height='1.6' fill='white'/></svg>");
}

.bi-link-45deg::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M6.3 10.9L4.5 12.7a2.2 2.2 0 01-3.1-3.1l2-2a2.2 2.2 0 013.1 0l.8.8-1 .9-.8-.7a.8.8 0 00-1.2 0l-2 2a.8.8 0 101.2 1.2l1.8-1.8 1 .9z' fill='black'/><path d='M9.7 5.1l1-1 1.8-1.8a2.2 2.2 0 113.1 3.1l-2 2a2.2 2.2 0 01-3.1 0l-.8-.8 1-.9.8.7a.8.8 0 001.2 0l2-2a.8.8 0 10-1.2-1.2l-1.8 1.8-1-.9z' fill='black'/><rect x='4.9' y='7.3' width='6.2' height='1.4' transform='rotate(-45 8 8)' fill='black'/></svg>");
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M6.3 10.9L4.5 12.7a2.2 2.2 0 01-3.1-3.1l2-2a2.2 2.2 0 013.1 0l.8.8-1 .9-.8-.7a.8.8 0 00-1.2 0l-2 2a.8.8 0 101.2 1.2l1.8-1.8 1 .9z' fill='black'/><path d='M9.7 5.1l1-1 1.8-1.8a2.2 2.2 0 113.1 3.1l-2 2a2.2 2.2 0 01-3.1 0l-.8-.8 1-.9.8.7a.8.8 0 001.2 0l2-2a.8.8 0 10-1.2-1.2l-1.8 1.8-1-.9z' fill='black'/><rect x='4.9' y='7.3' width='6.2' height='1.4' transform='rotate(-45 8 8)' fill='black'/></svg>");
}

.bi-activity::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M1 8h2.4l1.5-3.1L7.2 11l1.9-4h1.8l.9 1.8H15v1.8h-4.3L9.9 9H8l-2.1 4.5L3.1 9.8H1z' fill='black'/></svg>");
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M1 8h2.4l1.5-3.1L7.2 11l1.9-4h1.8l.9 1.8H15v1.8h-4.3L9.9 9H8l-2.1 4.5L3.1 9.8H1z' fill='black'/></svg>");
}

.bi-calendar-check::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><rect x='2' y='3' width='12' height='11' rx='1.5' fill='black'/><rect x='2' y='5.3' width='12' height='1.5' fill='white'/><rect x='4' y='1.5' width='1.5' height='3' fill='black'/><rect x='10.5' y='1.5' width='1.5' height='3' fill='black'/><path d='M5.3 10.1l1.5 1.5 3.2-3.3.9.9-4.1 4.1-2.4-2.3z' fill='white'/></svg>");
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><rect x='2' y='3' width='12' height='11' rx='1.5' fill='black'/><rect x='2' y='5.3' width='12' height='1.5' fill='white'/><rect x='4' y='1.5' width='1.5' height='3' fill='black'/><rect x='10.5' y='1.5' width='1.5' height='3' fill='black'/><path d='M5.3 10.1l1.5 1.5 3.2-3.3.9.9-4.1 4.1-2.4-2.3z' fill='white'/></svg>");
}

.bi-bar-chart::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><rect x='2' y='9.5' width='2.5' height='4.5' fill='black'/><rect x='6.75' y='6.5' width='2.5' height='7.5' fill='black'/><rect x='11.5' y='3.5' width='2.5' height='10.5' fill='black'/></svg>");
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><rect x='2' y='9.5' width='2.5' height='4.5' fill='black'/><rect x='6.75' y='6.5' width='2.5' height='7.5' fill='black'/><rect x='11.5' y='3.5' width='2.5' height='10.5' fill='black'/></svg>");
}

.bi-speedometer2::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M8 2a7 7 0 017 7H1a7 7 0 017-7z' fill='black'/><path d='M8.7 7.4l3-2-.9 3.4z' fill='white'/><circle cx='8' cy='9' r='1.1' fill='white'/></svg>");
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M8 2a7 7 0 017 7H1a7 7 0 017-7z' fill='black'/><path d='M8.7 7.4l3-2-.9 3.4z' fill='white'/><circle cx='8' cy='9' r='1.1' fill='white'/></svg>");
}

.bi-lock::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><rect x='3' y='7' width='10' height='8' rx='1' fill='black'/><path d='M5 7V5.6A3 3 0 018 2.6a3 3 0 013 3V7h-1.5V5.6A1.5 1.5 0 008 4.1a1.5 1.5 0 00-1.5 1.5V7H5z' fill='black'/></svg>");
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><rect x='3' y='7' width='10' height='8' rx='1' fill='black'/><path d='M5 7V5.6A3 3 0 018 2.6a3 3 0 013 3V7h-1.5V5.6A1.5 1.5 0 008 4.1a1.5 1.5 0 00-1.5 1.5V7H5z' fill='black'/></svg>");
}
