/*!
 * Font Awesome Free 6.0.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2023 Fonticons, Inc.
 */
 
@font-face {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("/static/fontawesome/webfonts/fa-solid-900.woff2") format("woff2");
}

@font-face {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("/static/fontawesome/webfonts/fa-regular-400.woff2") format("woff2");
}

.fa,
.fas,
.far,
.fal,
.fad,
.fab,
.fak {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}

.fas {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}

.far {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}

/* 常用图标 */
.fa-home:before { content: "\f015"; }
.fa-user:before { content: "\f007"; }
.fa-cog:before { content: "\f013"; }
.fa-cogs:before { content: "\f085"; }
.fa-search:before { content: "\f002"; }
.fa-envelope:before { content: "\f0e0"; }
.fa-phone:before { content: "\f095"; }
.fa-calendar:before { content: "\f133"; }
.fa-clock:before { content: "\f017"; }
.fa-edit:before { content: "\f044"; }
.fa-trash:before { content: "\f1f8"; }
.fa-plus:before { content: "\f067"; }
.fa-minus:before { content: "\f068"; }
.fa-check:before { content: "\f00c"; }
.fa-times:before { content: "\f00d"; }
.fa-arrow-left:before { content: "\f060"; }
.fa-arrow-right:before { content: "\f061"; }
.fa-arrow-up:before { content: "\f062"; }
.fa-arrow-down:before { content: "\f063"; }
.fa-eye:before { content: "\f06e"; }
.fa-eye-slash:before { content: "\f070"; }
.fa-lock:before { content: "\f023"; }
.fa-unlock:before { content: "\f09c"; }
.fa-star:before { content: "\f005"; }
.fa-heart:before { content: "\f004"; }
.fa-thumbs-up:before { content: "\f164"; }
.fa-thumbs-down:before { content: "\f165"; }
.fa-ban:before { content: "\f05e"; }
.fa-comment:before { content: "\f075"; }
.fa-share:before { content: "\f064"; }
.fa-download:before { content: "\f019"; }
.fa-upload:before { content: "\f093"; }
.fa-file:before { content: "\f15b"; }
.fa-file-alt:before { content: "\f15c"; }
.fa-folder:before { content: "\f07b"; }
.fa-clipboard:before { content: "\f328"; }
.fa-clipboard-list:before { content: "\f46d"; }
.fa-list:before { content: "\f03a"; }
.fa-list-ul:before { content: "\f0ca"; }
.fa-list-ol:before { content: "\f0cb"; }
.fa-table:before { content: "\f0ce"; }
.fa-chart-bar:before { content: "\f080"; }
.fa-chart-line:before { content: "\f201"; }
.fa-chart-pie:before { content: "\f200"; }
.fa-shopping-cart:before { content: "\f07a"; }
.fa-money-check-alt:before { content: "\f53d"; }
.fa-credit-card:before { content: "\f09d"; }
.fa-receipt:before { content: "\f543"; }
.fa-tag:before { content: "\f02b"; }
.fa-tags:before { content: "\f02c"; }
.fa-truck:before { content: "\f0d1"; }
.fa-shipping-fast:before { content: "\f48b"; }
.fa-box:before { content: "\f466"; }
.fa-boxes:before { content: "\f468"; }
.fa-warehouse:before { content: "\f494"; }
.fa-industry:before { content: "\f275"; }
.fa-tools:before { content: "\f7d9"; }
.fa-wrench:before { content: "\f0ad"; }
.fa-screwdriver:before { content: "\f54a"; }
.fa-hammer:before { content: "\f6e3"; }
.fa-fire:before { content: "\f06d"; }
.fa-bolt:before { content: "\f0e7"; }
.fa-shield-alt:before { content: "\f3ed"; }
.fa-exclamation-triangle:before { content: "\f071"; }
.fa-info-circle:before { content: "\f05a"; }
.fa-question-circle:before { content: "\f059"; }
.fa-check-circle:before { content: "\f058"; }
.fa-times-circle:before { content: "\f057"; }
.fa-play:before { content: "\f04b"; }
.fa-pause:before { content: "\f04c"; }
.fa-stop:before { content: "\f04d"; }
.fa-forward:before { content: "\f04e"; }
.fa-backward:before { content: "\f04a"; }
.fa-step-forward:before { content: "\f051"; }
.fa-step-backward:before { content: "\f048"; }
.fa-volume-up:before { content: "\f028"; }
.fa-volume-down:before { content: "\f027"; }
.fa-volume-mute:before { content: "\f6a9"; }
.fa-microphone:before { content: "\f130"; }
.fa-camera:before { content: "\f030"; }
.fa-video:before { content: "\f03d"; }
.fa-image:before { content: "\f03e"; }
.fa-images:before { content: "\f302"; }
.fa-print:before { content: "\f02f"; }
.fa-save:before { content: "\f0c7"; }
.fa-undo:before { content: "\f0e2"; }
.fa-redo:before { content: "\f01e"; }
.fa-copy:before { content: "\f0c5"; }
.fa-cut:before { content: "\f0c4"; }
.fa-paste:before { content: "\f0ea"; }
.fa-link:before { content: "\f0c1"; }
.fa-unlink:before { content: "\f127"; }
.fa-external-link-alt:before { content: "\f35d"; }
.fa-wifi:before { content: "\f1eb"; }
.fa-signal:before { content: "\f012"; }
.fa-battery-full:before { content: "\f240"; }
.fa-battery-half:before { content: "\f242"; }
.fa-battery-empty:before { content: "\f244"; }
.fa-plug:before { content: "\f1e6"; }
.fa-power-off:before { content: "\f011"; }
.fa-sync:before { content: "\f021"; }
.fa-sync-alt:before { content: "\f2f1"; }
.fa-refresh:before { content: "\f021"; }
.fa-spinner:before { content: "\f110"; }
.fa-circle-notch:before { content: "\f1ce"; }
.fa-history:before { content: "\f1da"; }
.fa-expand:before { content: "\f065"; }
.fa-compress:before { content: "\f066"; }
.fa-expand-arrows-alt:before { content: "\f31e"; }
.fa-search-plus:before { content: "\f00e"; }
.fa-search-minus:before { content: "\f010"; }
.fa-filter:before { content: "\f0b0"; }
.fa-sort:before { content: "\f0dc"; }
.fa-sort-up:before { content: "\f0de"; }
.fa-sort-down:before { content: "\f0dd"; }
.fa-sort-alpha-up:before { content: "\f15e"; }
.fa-sort-alpha-down:before { content: "\f15d"; }
.fa-sort-numeric-up:before { content: "\f162"; }
.fa-sort-numeric-down:before { content: "\f163"; }
.fa-th:before { content: "\f00a"; }
.fa-th-list:before { content: "\f00b"; }
.fa-th-large:before { content: "\f009"; }
.fa-grip-horizontal:before { content: "\f58d"; }
.fa-grip-vertical:before { content: "\f58e"; }
.fa-ellipsis-h:before { content: "\f141"; }
.fa-ellipsis-v:before { content: "\f142"; }
.fa-bars:before { content: "\f0c9"; }
.fa-navicon:before { content: "\f0c9"; }
.fa-reorder:before { content: "\f0c9"; }

/* 动画 */
.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}

.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8);
}

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}

@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}

/* 大小调整 */
.fa-xs {
  font-size: .75em;
}

.fa-sm {
  font-size: .875em;
}

.fa-lg {
  font-size: 1.33333em;
  line-height: .75em;
  vertical-align: -.0667em;
}

.fa-xl {
  font-size: 1.5em;
  line-height: .0833em;
  vertical-align: -.125em;
}

.fa-2x {
  font-size: 2em;
}

.fa-3x {
  font-size: 3em;
}

.fa-4x {
  font-size: 4em;
}

.fa-5x {
  font-size: 5em;
}

.fa-6x {
  font-size: 6em;
}

.fa-7x {
  font-size: 7em;
}

.fa-8x {
  font-size: 8em;
}

.fa-9x {
  font-size: 9em;
}

.fa-10x {
  font-size: 10em;
}

/* 固定宽度 */
.fa-fw {
  text-align: center;
  width: 1.25em;
}

/* 边框 */
.fa-border {
  border: solid .08em #eee;
  border-radius: .1em;
  padding: .2em .25em .15em;
}

/* 拉取 */
.fa-pull-left {
  float: left;
}

.fa-pull-right {
  float: right;
}

/* 旋转和翻转 */
.fa-rotate-90 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.fa-rotate-180 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.fa-rotate-270 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}

.fa-flip-horizontal {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1);
}

.fa-flip-both,
.fa-flip-horizontal.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(-1, -1);
  -ms-transform: scale(-1, -1);
  transform: scale(-1, -1);
}

/* 堆叠 */
.fa-stack {
  display: inline-block;
  height: 2em;
  position: relative;
  width: 2.5em;
}

.fa-stack-1x,
.fa-stack-2x {
  bottom: 0;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
}

.fa-stack-1x {
  height: 1em;
  line-height: inherit;
}

.fa-stack-2x {
  font-size: 2em;
}

.fa-inverse {
  color: #fff;
}

/* 管理相关图标 */
.fa-users:before { content: "\f0c0"; }
.fa-tachometer-alt:before { content: "\f3fd"; }
.fa-dashboard:before { content: "\f3fd"; }
.fa-tasks:before { content: "\f0ae"; }
.fa-dollar-sign:before { content: "\f155"; }
.fa-toggle-on:before { content: "\f205"; }
.fa-toggle-off:before { content: "\f204"; }
.fa-sign-out-alt:before { content: "\f2f5"; }
.fa-puzzle-piece:before { content: "\f12e"; }