/* ============================================================
   MarsX — Self-Hosted Icon Subset (30 icons, ~12KB)
   Replaces Font Awesome CDN — zero external dependency
   SVG paths sourced from Font Awesome Free 6.x
   ============================================================ */

.fa-solid, .fa-brands, .fa-regular {
    display: inline-block;
    width: 1em; height: 1em;
    vertical-align: -0.125em;
    background-color: currentColor;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
}

/* ---- Solid Icons ---- */
.fa-shield-halved        { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2-.5 99.2-41.3 280.7-213.6 363.2-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8v378C394 378 431.1 230.1 432 141.4L256 66.8z'/%3E%3C/svg%3E"); }

.fa-bars                  { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M0 96c0-17.7 14.3-32 32-32h384c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zm0 160c0-17.7 14.3-32 32-32h384c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zm0 160c0-17.7 14.3-32 32-32h384c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z'/%3E%3C/svg%3E"); }

.fa-xmark                 { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3l105.4 105.3c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256l105.3-105.4z'/%3E%3C/svg%3E"); }

.fa-comments              { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M208 352c114.9 0 208-78.8 208-176S322.9 0 208 0S0 78.8 0 176c0 38.6 14.7 74.3 39.6 103.4c-3.5 9.4-8.7 17.7-14.2 24.7c-4.8 6.2-9.7 11-13.3 14.3c-1.8 1.6-3.3 2.9-4.3 3.7c-.5.4-.9.7-1.1.8l-.2.2.2.2c20.3 6.1 40 4.2 58.8-4.7C108.9 325.2 156.3 352 208 352zm208 32c85.3 0 160-58.7 160-130.7c0-42.9-24.4-81.5-62.4-108.3c.2-2.5.4-5 .4-7.7c0-34.1-20.4-64-51.2-83.5C467.2 17.9 489.4 0 512 0c114.9 0 208 78.8 208 176c0 41.8-18.8 79.6-49.3 107.2c2.8 6.9 5 13.7 5 20.8c0 29.9-18.5 56.1-46.9 66.8c17.6 11.1 37.5 17.2 58.5 17.2c24.3 0 46.5-7.6 65.1-20.8c18.8 8.9 38.5 10.8 58.8 4.7l.2-.2-.2-.2c-.2-.1-.6-.4-1.1-.8c-1-.8-2.5-2-4.3-3.7c-3.6-3.3-8.5-8.1-13.3-14.3c-5.5-7-10.7-15.4-14.2-24.7c24.9-29 39.6-64.7 39.6-103.4z'/%3E%3C/svg%3E"); }

.fa-magnifying-glass-chart { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208zm-272 8v96c0 8.8 7.2 16 16 16s16-7.2 16-16v-96c0-8.8-7.2-16-16-16s-16 7.2-16 16zm80-48v144c0 8.8 7.2 16 16 16s16-7.2 16-16V168c0-8.8-7.2-16-16-16s-16 7.2-16 16zm80 32v112c0 8.8 7.2 16 16 16s16-7.2 16-16V200c0-8.8-7.2-16-16-16s-16 7.2-16 16z'/%3E%3C/svg%3E"); }

.fa-chevron-down          { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E"); }

.fa-sitemap               { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M208 80c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48h-8v40h152c30.9 0 56 25.1 56 56v32h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48h-64c-26.5 0-48-21.5-48-48v-64c0-26.5 21.5-48 48-48h8v-32c0-4.4-3.6-8-8-8H312v40h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48h-64c-26.5 0-48-21.5-48-48v-64c0-26.5 21.5-48 48-48h8v-40H112c-4.4 0-8 3.6-8 8v32h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H56c-26.5 0-48-21.5-48-48v-64c0-26.5 21.5-48 48-48h8v-32c0-30.9 25.1-56 56-56h152v-40h-8c-26.5 0-48-21.5-48-48V80z'/%3E%3C/svg%3E"); }

.fa-clipboard-check       { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128v320c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64h-37.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm88.9 178.6L176.1 356.1 103 281c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l88 88c9.4 9.4 24.6 9.4 33.9 0L312 276.5c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0z'/%3E%3C/svg%3E"); }

.fa-scale-balanced        { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M384 32h128c17.7 0 32 14.3 32 32s-14.3 32-32 32H398.4c-5.2 25.8-22.9 47.1-46.4 57.3V448h128c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32h128V153.3c-23.5-10.2-41.2-31.5-46.4-57.3H128c-17.7 0-32-14.3-32-32s14.3-32 32-32h128c14.6-19.4 37.8-32 64-32s49.4 12.6 64 32zm55.6 288h117.7L512 243.6 439.6 320zM128 320h117.7L200 396.4 154.6 320H128zm57.9-64l-48-76.8c-5.9-9.5-3-21.9 6.5-27.8s21.9-3 27.8 6.5L200 214.4l27.8-56.5c5.9-9.5 18.3-12.4 27.8-6.5s12.4 18.3 6.5 27.8l-48 76.8h-27.8zm197.8 0h-27.8l-48-76.8c-5.9-9.5-3-21.9 6.5-27.8s21.9-3 27.8 6.5L384 214.4l27.8-56.5c5.9-9.5 18.3-12.4 27.8-6.5s12.4 18.3 6.5 27.8l-48 76.8z'/%3E%3C/svg%3E"); }

.fa-mobile-screen-button  { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M16 64C16 28.7 44.7 0 80 0h224c35.3 0 64 28.7 64 64v384c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V64zm144 384a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM80 64v320h224V64H80z'/%3E%3C/svg%3E"); }

.fa-globe                 { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M352 256c0 22.2-1.2 43.6-3.3 64H163.3c-2.2-20.4-3.3-41.8-3.3-64s1.2-43.6 3.3-64h185.4c2.2 20.4 3.3 41.8 3.3 64zm28.8-64h123.3c5.3 20.5 8.1 41.9 8.1 64s-2.8 43.5-8.1 64H380.8c2.1-20.6 3.2-42 3.2-64s-1.1-43.4-3.2-64zm112.6-32H376.7c-10-63.9-29.8-117.4-55.3-151.6c78.3 20.7 142 77.5 171.9 151.6zm-177.3 0H195.9c-13.4-80.6-38.8-142.3-64.4-175.5C175.7 23.4 229.6 53.2 276.1 160h40.1zm0 192h-40.1c-46.5 106.8-100.4 136.6-144.5 175.5c25.6-33.2 51-94.9 64.4-175.5h120.2zm-320 0c-5.3-20.5-8.1-41.9-8.1-64s2.8-43.5 8.1-64h123.3c-2.1 20.6-3.2 42-3.2 64s1.1 43.4 3.2 64H15.9zm123.3 32c10 63.9 29.8 117.4 55.3 151.6C116.2 493.3 52.5 436.5 22.7 352H139.2zm233.6 0H512.5c-29.9 84.5-93.6 141.3-171.9 151.6c25.5-34.2 45.3-87.7 55.3-151.6z'/%3E%3C/svg%3E"); }

.fa-microchip             { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c-35.3 0-64 28.7-64 64H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h40v64H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h40v64H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h40c0 35.3 28.7 64 64 64v40c0 13.3 10.7 24 24 24s24-10.7 24-24v-40h64v40c0 13.3 10.7 24 24 24s24-10.7 24-24v-40h64v40c0 13.3 10.7 24 24 24s24-10.7 24-24v-40c35.3 0 64-28.7 64-64h40c13.3 0 24-10.7 24-24s-10.7-24-24-24h-40v-64h40c13.3 0 24-10.7 24-24s-10.7-24-24-24h-40v-64h40c13.3 0 24-10.7 24-24s-10.7-24-24-24h-40c0-35.3-28.7-64-64-64v-40c0-13.3-10.7-24-24-24s-24 10.7-24 24v40h-64v-40c0-13.3-10.7-24-24-24s-24 10.7-24 24v40h-64zM160 128h192c17.7 0 32 14.3 32 32v192c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32zm176 64H176v128h160V192z'/%3E%3C/svg%3E"); }

.fa-cloud                 { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4-4.1-61.4-54.6-110.6-117.2-110.6-48.4 0-89.6 27.5-110.6 67.4C262.8 160.6 224.2 144 184 144c-57.4 0-104 46.6-104 104 0 20.1 5.7 38.8 15.6 54.7C46.3 315.7 0 359.7 0 416c0 53 43 96 96 96h480c35.3 0 64-28.7 64-64s-28.7-64-64-64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32h464c53 0 96 43 96 96s-43 96-96 96H96c-53 0-96-43-96-96c0-30.2 13.9-57.2 35.7-75 3.5-29.2 14.1-56 30.3-78.3z'/%3E%3C/svg%3E"); }

.fa-brain                 { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M184 0c30.9 0 56 25.1 56 56v200c0 13.3-10.7 24-24 24s-24-10.7-24-24V128H144c-13.3 0-24 10.7-24 24v96c0 57.4 46.6 104 104 104h16v64h-16C117.5 416 32 330.5 32 224V152c0-39.8 32.2-72 72-72h80zm144 0h80c39.8 0 72 32.2 72 72v72c0 106.5-85.5 192-192 192h-16v-64h16c57.4 0 104-46.6 104-104v-96c0-13.3-10.7-24-24-24h-48v128c0 13.3-10.7 24-24 24s-24-10.7-24-24V56c0-30.9 25.1-56 56-56z'/%3E%3C/svg%3E"); }

.fa-file-shield           { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M64 0C28.7 0 0 28.7 0 64v384c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0v128h128L256 0zM144 208c0-8.8 7.2-16 16-16s16 7.2 16 16v16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32h-64c-8.8 0-16-7.2-16-16s7.2-16 16-16h56v-48h-8c-8.8 0-16-7.2-16-16s7.2-16 16-16h8v-32z'/%3E%3C/svg%3E"); }

.fa-building-columns      { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M243.4 2.6l-224 96c-14 6-21.8 21-18.7 35.8S16.8 160 32 160v320c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V160c15.2 0 28.3-10.7 31.3-25.6s-4.8-29.9-18.7-35.8l-224-96c-8.1-3.4-17.2-3.4-25.2 0zM128 224h64v192h-64V224zm96 0h64v192h-64V224zm160 0v192h-64V224h64z'/%3E%3C/svg%3E"); }

.fa-hospital              { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M192 48c0-26.5 21.5-48 48-48h160c26.5 0 48 21.5 48 48v464h-80V384H272v128h-80V48zM48 96h64v352H48c-26.5 0-48-21.5-48-48V320h80v-64H0V144c0-26.5 21.5-48 48-48zm544 0h64c26.5 0 48 21.5 48 48v112h-80v64h80v64c0 26.5-21.5 48-48 48h-64V96zM320 160h-32c-8.8 0-16 7.2-16 16v32h-32c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32v-32c0-8.8-7.2-16-16-16z'/%3E%3C/svg%3E"); }

.fa-wifi                  { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M54.2 202.9C123.2 136.7 216.8 96 320 96s196.8 40.7 265.8 106.9c12.5 12 12.8 32.1.9 44.6s-32.1 12.8-44.6.9C479.3 191.5 403.2 160 320 160s-159.3 31.5-222.1 88.4c-12.5 11.9-32.5 11.5-44.6-.9s-11.6-32.5.9-44.6zM320 256c53 0 102.2 18.8 140.8 50.2 11.3 9.2 13 26.2 3.8 37.5s-26.2 13-37.5 3.8C399.2 322.4 360.8 312 320 312s-79.2 10.4-107.1 35.5c-11.3 9.2-28.3 7.5-37.5-3.8s-7.4-28.3 3.8-37.5C217.8 274.8 267 256 320 256zm64 128a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z'/%3E%3C/svg%3E"); }

.fa-star                   { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L450.2 329l104.2-103.1c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L389.7 150.3 316.9 18z'/%3E%3C/svg%3E"); }

.fa-envelope              { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4 0-26.5-21.5-48-48-48H48zM0 176v208c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z'/%3E%3C/svg%3E"); }

.fa-location-dot          { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M215.7 499.2C267 435 384 279.4 384 192 384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2 12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z'/%3E%3C/svg%3E"); }

.fa-paper-plane           { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M498.1 5.6c10.1 7 15.4 19.1 13.5 31.2l-64 416c-1.5 9.7-7.4 18.2-16 23s-18.9 5.4-28 1.6L284 427.7l-68.5 74.1c-8.9 9.7-22.9 12.9-35.2 8.1S160 493.2 160 480v-96.6c0-4 1.5-7.8 4.2-10.7L331.8 202.8c5.8-6.3 5.6-16-.4-22s-15.7-6.4-22-.7L106 360.8 17.7 316.6C7.1 311.3.3 300.7 0 288.9s5.9-22.8 16.1-28.7l448-256c10.7-6.1 23.9-5.5 34 1.4z'/%3E%3C/svg%3E"); }

.fa-lock                  { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M144 144v48h160v-48c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192V144C80 64.5 144.5 0 224 0s144 64.5 144 144v48h16c35.3 0 64 28.7 64 64v192c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64h16z'/%3E%3C/svg%3E"); }

.fa-arrow-up              { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V141.3l105.4 105.3c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z'/%3E%3C/svg%3E"); }

.fa-bug                   { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 0c53 0 96 43 96 96v3.6c0 15.7-12.7 28.4-28.4 28.4H188.4c-15.7 0-28.4-12.7-28.4-28.4V96c0-53 43-96 96-96zM41.4 105.4c12.5-12.5 32.8-12.5 45.3 0l64 64c.7.7 1.3 1.4 1.9 2.1 14.2-7.3 30.4-11.5 47.4-11.5h112c17 0 33.2 4.2 47.4 11.5.6-.7 1.2-1.4 1.9-2.1l64-64c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-64 64c-.7.7-1.4 1.3-2.1 1.9 6.2 12.1 10.5 25.4 12.2 39.6H480c17.7 0 32 14.3 32 32s-14.3 32-32 32h-64c0 24.6-5.5 47.8-15.4 68.6 2.2 1.3 4.2 2.9 6 4.8l64 64c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-63.1-63.1c-24.5 21.8-55.3 36.4-89.2 41.7V512h-64V434.3c-33.9-5.3-64.6-19.9-89.2-41.7L105.4 470.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l64-64c1.8-1.9 3.8-3.4 6-4.8C117.5 336.8 112 313.6 112 288H48c-17.7 0-32-14.3-32-32s14.3-32 32-32h35.1c1.7-14.2 6-27.5 12.2-39.6-.7-.6-1.4-1.2-2.1-1.9l-64-64c-12.5-12.5-12.5-32.8 0-45.3z'/%3E%3C/svg%3E"); }

.fa-code-branch           { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M80 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm80-24c0 32.8-19.7 61-48 73.3v87.8c18.8-10.9 40.7-17.1 64-17.1h96c35.3 0 64-28.7 64-64v-6.7C307.7 141 288 112.8 288 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3V160c0 70.7-57.3 128-128 128h-96c-35.3 0-64 28.7-64 64v6.7c28.3 12.3 48 40.5 48 73.3 0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V153.3C19.7 141 0 112.8 0 80 0 35.8 35.8 0 80 0s80 35.8 80 80zm232-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM80 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z'/%3E%3C/svg%3E"); }

.fa-graduation-cap        { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M320 32c-8.1 0-16.1 1.4-23.7 4.1L15.8 137.4C6.3 140.9 0 149.9 0 160s6.3 19.1 15.8 22.6l57.9 20.9C57.3 229.3 48 259.8 48 288c0 32.8 16.9 61.5 42.2 78.6L56 407.8c-2.7 5.7-4.1 12-4.1 18.5C52 462.1 89.9 500 129.6 500c19.1 0 36.2-9.2 47.1-23.3L278 337.6c10.9 6.4 23.6 10.3 37.1 10.3h9.8c13.5 0 26.2-3.9 37.1-10.3l101.3 139.1c10.9 14.1 28 23.3 47.1 23.3 39.7 0 77.6-37.9 77.6-91.6 0-6.5-1.4-12.8-4.1-18.5l-34.2-41.2C575.1 349.5 592 320.8 592 288c0-28.2-9.3-58.7-25.7-84.5l57.9-20.9c9.5-3.5 15.8-12.5 15.8-22.6s-6.3-19.1-15.8-22.6L343.7 36.1C336.1 33.4 328.1 32 320 32z'/%3E%3C/svg%3E"); }

.fa-certificate           { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M211 7.3C205 1 196-1.4 187.6.8s-14.9 8.9-17.1 17.3L154.7 80.6l-62-17.5c-8.4-2.4-17.4 0-23.5 6.1s-8.5 15.1-6.1 23.5l17.5 62L18.1 170.6c-8.4 2.1-15 8.7-17.3 17.1s1 17.4 7.3 23.4l50.5 44.5-31.8 67.6c-4.4 9.4-1.6 20.5 6.8 26.9s19.9 6.1 28.4.4L128 314.5V416c0 17.7 14.3 32 32 32h192c17.7 0 32-14.3 32-32V314.5l69.9 36.3c8.5 5.7 19.9 5.7 28.4-.4s11.2-17.5 6.8-26.9l-31.8-67.6 50.5-44.5c6.3-6 9.3-14.9 7.3-23.4s-8.9-15-17.3-17.1l-62.5-15.6 17.5-62c2.4-8.4 0-17.4-6.1-23.5s-15.1-8.5-23.5-6.1l-62 17.5L341.4 18.1c-2.1-8.4-8.7-15-17.1-17.3S306.9 1 301 7.3L256 61.2 211 7.3z'/%3E%3C/svg%3E"); }

.fa-check                 { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z'/%3E%3C/svg%3E"); }

.fa-chevron-up            { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z'/%3E%3C/svg%3E"); }

/* ---- Brand Icons ---- */
.fa-weixin                { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M385.2 167.6c-55.9 0-101.2 39.1-101.2 87.3 0 15.5 4.6 29.8 12.2 41.3-22.4 11.2-47.2 19.1-74.4 20.1l-41.4-21.1-46.7 21.1 12.5-41.3C122.6 254.1 105 231.7 105 206.3c0-51.7 51.9-93.7 116.1-93.7 5.3 0 10.5.4 15.5 1.1-12.1-17.2-19.1-37.7-19.1-59.6C217.5 22.3 277.2 0 352.2 0c68.2 0 125.4 42.7 125.4 95.3 0 30.3-17.2 57.2-43.9 74.5 4.9.9 9.8 1.5 14.9 1.5 7.4 0 14.5-.8 21.3-2.2-2.8 9.4-4.5 19.3-4.5 29.5 0 7 .8 13.8 2.2 20.4C502.5 214.5 576 176.2 576 128c0-70.7-78.7-128-176-128C320 0 261 23.4 227.4 58.7 233.4 78 240 98.4 240 120c0 28.2-7.5 54.5-20.4 76.2 35.7-5.4 67.7-21.7 91.9-43.2 27.2 9.1 50.9 27.2 66.6 49.8 4.7-1.1 9.5-1.7 14.4-1.7 24.7 0 47.4 8.6 64.4 22.9C472.7 183.5 432.7 167.6 385.2 167.6zM184.2 85.3c-8.2 0-14.9 5.9-14.9 13.2 0 7.2 6.6 13.2 14.9 13.2h.1c8.2 0 14.9-5.9 14.9-13.2 0-7.2-6.7-13.2-14.9-13.2h-.1zm52.8 0c-8.2 0-14.9 5.9-14.9 13.2 0 7.2 6.6 13.2 14.9 13.2 8.2 0 14.9-5.9 14.9-13.2 0-7.2-6.6-13.2-14.9-13.2zm84.5 137.8c-8.2 0-14.9 5.9-14.9 13.2 0 7.2 6.7 13.2 14.9 13.2 8.2 0 14.9-5.9 14.9-13.2 0-7.2-6.6-13.2-14.9-13.2zm45.3 13.2c0-7.2 6.7-13.2 14.9-13.2 8.2 0 14.9 5.9 14.9 13.2 0 7.2-6.7 13.2-14.9 13.2s-14.9-5.9-14.9-13.2z'/%3E%3C/svg%3E"); }
