/* Keyframe animations */
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* Base class for all SVG icons */
.icon {
  display: inline-block;
  width: 1.35rem;
  height: 1.35rem;
  background-color: currentColor;
  vertical-align: middle;
  margin-bottom: 0.13rem;
}

/* Specific icons using CSS custom properties */
.icon-chart-line {
  mask: url("/assets/chart-line-5bfdb4a3.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/chart-line-5bfdb4a3.svg") no-repeat center / contain;
}

.icon-wand-stars {
  mask: url("/assets/wand-stars-2bc34201.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/wand-stars-2bc34201.svg") no-repeat center / contain;
}

.icon-brain {
  mask: url("/assets/brain-a2408275.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/brain-a2408275.svg") no-repeat center / contain;
}

.icon-building {
  mask: url("/assets/building-9fbd0d64.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/building-9fbd0d64.svg") no-repeat center / contain;
}

.icon-user-friends {
  mask: url("/assets/user-friends-6961298e.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/user-friends-6961298e.svg") no-repeat center / contain;
}

.icon-id-card {
  mask: url("/assets/id-card-1946283a.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/id-card-1946283a.svg") no-repeat center / contain;
}

.icon-user-clock {
  mask: url("/assets/user-clock-9808f4f2.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/user-clock-9808f4f2.svg") no-repeat center / contain;
}

.icon-list-alt {
  mask: url("/assets/list-alt-347403e5.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/list-alt-347403e5.svg") no-repeat center / contain;
}

.icon-user {
  mask: url("/assets/user-bdad4e18.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/user-bdad4e18.svg") no-repeat center / contain;
}

.icon-cog {
  mask: url("/assets/cog-f554b053.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/cog-f554b053.svg") no-repeat center / contain;
}

.icon-sitemap {
  mask: url("/assets/sitemap-00f0dad5.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/sitemap-00f0dad5.svg") no-repeat center / contain;
}

.icon-sign-out-alt {
  mask: url("/assets/sign-out-alt-d3ad00c0.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/sign-out-alt-d3ad00c0.svg") no-repeat center / contain;
}

.icon-sign-in-alt {
  mask: url("/assets/sign-in-alt-5e5a5f94.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/sign-in-alt-5e5a5f94.svg") no-repeat center / contain;
}

.icon-file-import {
  mask: url("/assets/file-import-47de9d6a.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/file-import-47de9d6a.svg") no-repeat center / contain;
}

.icon-plus {
  mask: url("/assets/plus-3b412070.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/plus-3b412070.svg") no-repeat center / contain;
  height: 1.25rem;
  width: 1.25rem;
}

.icon-pen {
  mask: url("/assets/pen-b4d5ec5a.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/pen-b4d5ec5a.svg") no-repeat center / contain;
}

.icon-trash {
  mask: url("/assets/trash-can-1ad1f9ee.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/trash-can-1ad1f9ee.svg") no-repeat center / contain;
}

.icon-eye {
  mask: url("/assets/eye-b042014a.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/eye-b042014a.svg") no-repeat center / contain;
}

.icon-file-export {
  mask: url("/assets/file-export-abefd588.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/file-export-abefd588.svg") no-repeat center / contain;
}

.icon-play {
  mask: url("/assets/play-270c0d43.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/play-270c0d43.svg") no-repeat center / contain;
}

.icon-search {
  mask: url("/assets/search-9fdac534.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/search-9fdac534.svg") no-repeat center / contain;
}

.icon-font {
  mask: url("/assets/font-034aae62.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/font-034aae62.svg") no-repeat center / contain;
}

.icon-filter {
  mask: url("/assets/filter-fec4f9f6.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/filter-fec4f9f6.svg") no-repeat center / contain;
}

.icon-star-half-alt {
  mask: url("/assets/star-half-alt-1d0be2b0.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/star-half-alt-1d0be2b0.svg") no-repeat center / contain;
}

.icon-code-branch {
  mask: url("/assets/code-branch-6fdc5519.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/code-branch-6fdc5519.svg") no-repeat center / contain;
}

.icon-sync {
  mask: url("/assets/sync-35ed636d.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/sync-35ed636d.svg") no-repeat center / contain;
}

.icon-save {
  mask: url("/assets/save-83ebde46.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/save-83ebde46.svg") no-repeat center / contain;
}

.icon-tasks {
  mask: url("/assets/tasks-f712f62b.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/tasks-f712f62b.svg") no-repeat center / contain;
}

.icon-circle-xmark {
  mask: url("/assets/circle-xmark-0b249954.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/circle-xmark-0b249954.svg") no-repeat center / contain;
}

.icon-info-circle {
  mask: url("/assets/info-circle-9b60c4bd.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/info-circle-9b60c4bd.svg") no-repeat center / contain;
}

.icon-arrow-left {
  mask: url("/assets/arrow-left-c9f64da9.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/arrow-left-c9f64da9.svg") no-repeat center / contain;
}

.icon-triangle-exclamation {
  mask: url("/assets/triangle-exclamation-73638f2d.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/triangle-exclamation-73638f2d.svg") no-repeat center / contain;
}

.icon-chevron-down {
  mask: url("/assets/chevron-down-d037e9f7.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/chevron-down-d037e9f7.svg") no-repeat center / contain;
}

.icon-download {
  mask: url("/assets/download-5ebbea83.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/download-5ebbea83.svg") no-repeat center / contain;
}

.icon-times {
  mask: url("/assets/times-01033256.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/times-01033256.svg") no-repeat center / contain;
}

.icon-database {
  mask: url("/assets/database-aac561d3.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/database-aac561d3.svg") no-repeat center / contain;
}

.icon-check-circle {
  mask: url("/assets/check-circle-02d00227.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/check-circle-02d00227.svg") no-repeat center / contain;
}

.icon-times-circle {
  mask: url("times-circle.svg") no-repeat center / contain;
  -webkit-mask: url("times-circle.svg") no-repeat center / contain;
}

.icon-envelope {
  mask: url("/assets/envelope-a7bf43fb.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/envelope-a7bf43fb.svg") no-repeat center / contain;
}

.icon-phone {
  mask: url("/assets/phone-34a99727.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/phone-34a99727.svg") no-repeat center / contain;
}

.icon-file-alt {
  mask: url("/assets/file-alt-9f7bb9a9.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/file-alt-9f7bb9a9.svg") no-repeat center / contain;
}

.icon-link {
  mask: url("/assets/link-1e12838e.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/link-1e12838e.svg") no-repeat center / contain;
}

.icon-shield-alt {
  mask: url("/assets/shield-alt-b2c267ff.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/shield-alt-b2c267ff.svg") no-repeat center / contain;
}

.icon-check {
  mask: url("/assets/check-006b11f6.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/check-006b11f6.svg") no-repeat center / contain;
}

.icon-tags {
  mask: url("/assets/tags-72cce7e9.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/tags-72cce7e9.svg") no-repeat center / contain;
}

.icon-chevron-left {
  mask: url("/assets/chevron-left-f8538636.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/chevron-left-f8538636.svg") no-repeat center / contain;
}

.icon-list {
  mask: url("/assets/list-alt-347403e5.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/list-alt-347403e5.svg") no-repeat center / contain;
}

.icon-chevron-right {
  mask: url("/assets/chevron-right-f108808d.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/chevron-right-f108808d.svg") no-repeat center / contain;
}

.icon-ban {
  mask: url("/assets/ban-fac9f558.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/ban-fac9f558.svg") no-repeat center / contain;
}

.icon-hand-pointer {
  mask: url("/assets/hand-pointer-fb307e8e.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/hand-pointer-fb307e8e.svg") no-repeat center / contain;
}

.icon-circle-info {
  mask: url("/assets/info-circle-9b60c4bd.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/info-circle-9b60c4bd.svg") no-repeat center / contain;
}

.icon-clock {
  mask: url("/assets/clock-6afb16fb.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/clock-6afb16fb.svg") no-repeat center / contain;
}

.icon-trophy {
  mask: url("/assets/trophy-cb5d1b29.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/trophy-cb5d1b29.svg") no-repeat center / contain;
}

.icon-code {
  mask: url("/assets/code-16aacc96.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/code-16aacc96.svg") no-repeat center / contain;
}

.icon-choice-decision {
  mask: url("/assets/choice-decision-3b8bf9f9.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/choice-decision-3b8bf9f9.svg") no-repeat center / contain;
}

.icon-minus {
  mask: url("/assets/minus-834d23b5.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/minus-834d23b5.svg") no-repeat center / contain;
}

.icon-spinner {
  mask: url("spinner.svg") no-repeat center / contain;
  -webkit-mask: url("spinner.svg") no-repeat center / contain;
  animation: spin 1s linear infinite;
}

.icon-report {
  mask: url("/assets/report-914e8dc3.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/report-914e8dc3.svg") no-repeat center / contain;
}

.icon-flag-empty {
  mask: url("/assets/flag-empty-52b961d5.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/flag-empty-52b961d5.svg") no-repeat center / contain;
}

.icon-flag-full {
  mask: url("/assets/flag-full-ea1c22fc.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/flag-full-ea1c22fc.svg") no-repeat center / contain;
}

.icon-brain-gear {
  mask: url("brain-gear.svg") no-repeat center / contain;
  -webkit-mask: url("brain-gear.svg") no-repeat center / contain;
}

.icon-robot {
  mask: url("/assets/robot-85ea1b21.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/robot-85ea1b21.svg") no-repeat center / contain;
}

.icon-cross {
  mask: url("/assets/cross-ff27e34e.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/cross-ff27e34e.svg") no-repeat center / contain;
}

.icon-cross-sqare {
  mask: url("/assets/cross-square-64896db6.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/cross-square-64896db6.svg") no-repeat center / contain;
}

.icon-warning {
  mask: url("/assets/warning-80b936c0.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/warning-80b936c0.svg") no-repeat center / contain;
}

.icon-reload {
  mask: url("/assets/reload-32b89d83.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/reload-32b89d83.svg") no-repeat center / contain;
}

.icon-history {
  mask: url("/assets/history-c8009f65.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/history-c8009f65.svg") no-repeat center / contain;
}

.icon-microchip {
  mask: url("/assets/microchip-c263efb1.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/microchip-c263efb1.svg") no-repeat center / contain;
}

.icon-arrow-up {
  mask: url("/assets/arrow-up-9dff25c6.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/arrow-up-9dff25c6.svg") no-repeat center / contain;
}

.icon-calendar-day {
  mask: url("/assets/calendar-day-5309ed91.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/calendar-day-5309ed91.svg") no-repeat center / contain;
}

.icon-calendar-plus {
  mask: url("/assets/calendar-plus-fe656c6e.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/calendar-plus-fe656c6e.svg") no-repeat center / contain;
}

.icon-car {
  mask: url("/assets/car-4ea7d500.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/car-4ea7d500.svg") no-repeat center / contain;
}

.icon-exclamation-circle {
  mask: url("/assets/exclamation-circle-9cfdbc8e.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/exclamation-circle-9cfdbc8e.svg") no-repeat center / contain;
}

.icon-hiking {
  mask: url("/assets/hiking-19e24ef7.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/hiking-19e24ef7.svg") no-repeat center / contain;
}

.icon-map {
  mask: url("/assets/map-5485ca57.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/map-5485ca57.svg") no-repeat center / contain;
}

.icon-map-marked-alt {
  mask: url("/assets/map-marked-alt-05fe8f3d.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/map-marked-alt-05fe8f3d.svg") no-repeat center / contain;
}

.icon-map-marker-alt {
  mask: url("/assets/map-marker-alt-b389cb3c.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/map-marker-alt-b389cb3c.svg") no-repeat center / contain;
}

.icon-mountain {
  mask: url("/assets/mountain-8671ff25.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/mountain-8671ff25.svg") no-repeat center / contain;
}

.icon-route {
  mask: url("/assets/route-76c69842.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/route-76c69842.svg") no-repeat center / contain;
}

.icon-undo {
  mask: url("/assets/undo-c4a65aa5.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/undo-c4a65aa5.svg") no-repeat center / contain;
}

.icon-users {
  mask: url("/assets/user-friends-6961298e.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/user-friends-6961298e.svg") no-repeat center / contain;
}

.icon-sync-alt {
  mask: url("/assets/sync-35ed636d.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/sync-35ed636d.svg") no-repeat center / contain;
}

.icon-sync-alt.spin {
  animation: spin 1s linear infinite;
}

.icon-users-cog {
  mask: url("/assets/users-cog-23544aac.svg") no-repeat center / contain;
  -webkit-mask: url("/assets/users-cog-23544aac.svg") no-repeat center / contain;
}
