/* Portal SVG icons. Artwork inherits text colour; no icon font is required. */
.portal-icon {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    text-rendering: auto;
    flex-shrink: 0;
}

.portal-icon::before {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: var(--portal-icon-mask) center / contain no-repeat;
    mask: var(--portal-icon-mask) center / contain no-repeat;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
}

.portal-icon-spin { animation: portal-icon-spin 1s linear infinite; }
.portal-icon-sm { font-size: .875em; }
@keyframes portal-icon-spin { to { transform: rotate(360deg); } }

.portal-icon-archive { --portal-icon-mask: url("../img/portal-icons/archive.svg"); }
.portal-icon-arrow-down { --portal-icon-mask: url("../img/portal-icons/arrow-down.svg"); }
.portal-icon-arrow-up { --portal-icon-mask: url("../img/portal-icons/arrow-up.svg"); }
.portal-icon-camera { --portal-icon-mask: url("../img/portal-icons/camera.svg"); }
.portal-icon-check { --portal-icon-mask: url("../img/portal-icons/check.svg"); }
.portal-icon-check-double { --portal-icon-mask: url("../img/portal-icons/check-double.svg"); }
.portal-icon-cogs { --portal-icon-mask: url("../img/portal-icons/gear.svg"); }
.portal-icon-comments { --portal-icon-mask: url("../img/portal-icons/sms.svg"); }
.portal-icon-download { --portal-icon-mask: url("../img/portal-icons/download.svg"); }
.portal-icon-ellipsis-v { --portal-icon-mask: url("../img/portal-icons/ellipsis.svg"); }
.portal-icon-exchange-alt { --portal-icon-mask: url("../img/portal-icons/exchange.svg"); }
.portal-icon-exclamation { --portal-icon-mask: url("../img/portal-icons/exclamation.svg"); }
.portal-icon-exclamation-circle { --portal-icon-mask: url("../img/portal-icons/warning-circle.svg"); }
.portal-icon-exclamation-triangle { --portal-icon-mask: url("../img/portal-icons/warning.svg"); }
.portal-icon-external-link-alt { --portal-icon-mask: url("../img/portal-icons/external-link.svg"); }
.portal-icon-eye { --portal-icon-mask: url("../img/portal-icons/eye.svg"); }
.portal-icon-file { --portal-icon-mask: url("../img/portal-icons/file.svg"); }
.portal-icon-file-contract { --portal-icon-mask: url("../img/portal-icons/contract.svg"); }
.portal-icon-file-pdf { --portal-icon-mask: url("../img/portal-icons/pdf.svg"); }
.portal-icon-file-upload { --portal-icon-mask: url("../img/portal-icons/file-upload.svg"); }
.portal-icon-frown { --portal-icon-mask: url("../img/portal-icons/frown.svg"); }
.portal-icon-globe { --portal-icon-mask: url("../img/portal-icons/globe.svg"); }
.portal-icon-history { --portal-icon-mask: url("../img/portal-icons/history.svg"); }
.portal-icon-images { --portal-icon-mask: url("../img/portal-icons/images.svg"); }
.portal-icon-info { --portal-icon-mask: url("../img/portal-icons/info.svg"); }
.portal-icon-info-circle { --portal-icon-mask: url("../img/portal-icons/info-circle.svg"); }
.portal-icon-link { --portal-icon-mask: url("../img/portal-icons/link.svg"); }
.portal-icon-magic { --portal-icon-mask: url("../img/portal-icons/magic.svg"); }
.portal-icon-meh { --portal-icon-mask: url("../img/portal-icons/meh.svg"); }
.portal-icon-paper-plane { --portal-icon-mask: url("../img/portal-icons/send.svg"); }
.portal-icon-paperclip { --portal-icon-mask: url("../img/portal-icons/paperclip.svg"); }
.portal-icon-pencil-alt { --portal-icon-mask: url("../img/portal-icons/pencil.svg"); }
.portal-icon-phone { --portal-icon-mask: url("../img/portal-icons/phone.svg"); }
.portal-icon-phone-slash { --portal-icon-mask: url("../img/portal-icons/phone-slash.svg"); }
.portal-icon-play { --portal-icon-mask: url("../img/portal-icons/play.svg"); }
.portal-icon-plus { --portal-icon-mask: url("../img/portal-icons/plus.svg"); }
.portal-icon-qrcode { --portal-icon-mask: url("../img/portal-icons/qr-code.svg"); }
.portal-icon-question { --portal-icon-mask: url("../img/portal-icons/question.svg"); }
.portal-icon-robot { --portal-icon-mask: url("../img/portal-icons/robot.svg"); }
.portal-icon-search { --portal-icon-mask: url("../img/portal-icons/search.svg"); }
.portal-icon-server { --portal-icon-mask: url("../img/portal-icons/server.svg"); }
.portal-icon-share-alt { --portal-icon-mask: url("../img/portal-icons/share.svg"); }
.portal-icon-smile { --portal-icon-mask: url("../img/portal-icons/smile.svg"); }
.portal-icon-sort { --portal-icon-mask: url("../img/portal-icons/sort.svg"); }
.portal-icon-sort-down { --portal-icon-mask: url("../img/portal-icons/sort-down.svg"); }
.portal-icon-sort-up { --portal-icon-mask: url("../img/portal-icons/sort-up.svg"); }
.portal-icon-spinner { --portal-icon-mask: url("../img/portal-icons/spinner.svg"); }
.portal-icon-sticky-note { --portal-icon-mask: url("../img/portal-icons/notes.svg"); }
.portal-icon-sync { --portal-icon-mask: url("../img/portal-icons/sync.svg"); }
.portal-icon-times { --portal-icon-mask: url("../img/portal-icons/close.svg"); }
.portal-icon-trash { --portal-icon-mask: url("../img/portal-icons/trash.svg"); }
.portal-icon-trash-alt { --portal-icon-mask: url("../img/portal-icons/trash.svg"); }
.portal-icon-undo { --portal-icon-mask: url("../img/portal-icons/restore.svg"); }
.portal-icon-upload { --portal-icon-mask: url("../img/portal-icons/upload.svg"); }
.portal-icon-user { --portal-icon-mask: url("../img/portal-icons/user.svg"); }
.portal-icon-video { --portal-icon-mask: url("../img/portal-icons/video.svg"); }
.portal-icon-wrench { --portal-icon-mask: url("../img/portal-icons/wrench.svg"); }

.portal-icon-apple { --portal-icon-mask: url("../img/portal-icons/apple.svg"); }
.portal-icon-battery { --portal-icon-mask: url("../img/portal-icons/battery.svg"); }
.portal-icon-book { --portal-icon-mask: url("../img/portal-icons/book.svg"); }
.portal-icon-calendar { --portal-icon-mask: url("../img/portal-icons/calendar.svg"); }
.portal-icon-calendar-check { --portal-icon-mask: url("../img/portal-icons/calendar-check.svg"); }
.portal-icon-chevron-down { --portal-icon-mask: url("../img/portal-icons/chevron-down.svg"); }
.portal-icon-chevron-left { --portal-icon-mask: url("../img/portal-icons/chevron-left.svg"); }
.portal-icon-chevron-right { --portal-icon-mask: url("../img/portal-icons/chevron-right.svg"); }
.portal-icon-close-circle { --portal-icon-mask: url("../img/portal-icons/close-circle.svg"); }
.portal-icon-copy { --portal-icon-mask: url("../img/portal-icons/copy.svg"); }
.portal-icon-credit-card { --portal-icon-mask: url("../img/portal-icons/credit-card.svg"); }
.portal-icon-email-lock { --portal-icon-mask: url("../img/portal-icons/email-lock.svg"); }
.portal-icon-file-text { --portal-icon-mask: url("../img/portal-icons/file-text.svg"); }
.portal-icon-files { --portal-icon-mask: url("../img/portal-icons/files.svg"); }
.portal-icon-filter { --portal-icon-mask: url("../img/portal-icons/filter.svg"); }
.portal-icon-gantt { --portal-icon-mask: url("../img/portal-icons/gantt.svg"); }
.portal-icon-google { --portal-icon-mask: url("../img/portal-icons/google.svg"); }
.portal-icon-hourglass { --portal-icon-mask: url("../img/portal-icons/hourglass.svg"); }
.portal-icon-incognito { --portal-icon-mask: url("../img/portal-icons/incognito.svg"); }
.portal-icon-lock-reset { --portal-icon-mask: url("../img/portal-icons/lock-reset.svg"); }
.portal-icon-logout { --portal-icon-mask: url("../img/portal-icons/logout.svg"); }
.portal-icon-menu { --portal-icon-mask: url("../img/portal-icons/menu.svg"); }
.portal-icon-merge { --portal-icon-mask: url("../img/portal-icons/merge.svg"); }
.portal-icon-minus { --portal-icon-mask: url("../img/portal-icons/minus.svg"); }
.portal-icon-phone-key { --portal-icon-mask: url("../img/portal-icons/phone-key.svg"); }
.portal-icon-save { --portal-icon-mask: url("../img/portal-icons/save.svg"); }
.portal-icon-sigma { --portal-icon-mask: url("../img/portal-icons/sigma.svg"); }
.portal-icon-star-box { --portal-icon-mask: url("../img/portal-icons/star-box.svg"); }
.portal-icon-table { --portal-icon-mask: url("../img/portal-icons/table.svg"); }
.portal-icon-timer-off { --portal-icon-mask: url("../img/portal-icons/timer-off.svg"); }
