/*!
 * Font Awesome Free 6.4.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.
 */
/* line 7, vendor/assets/stylesheets/font-awesome.min.scss */
.fa {
  font-family: var(--fa-style-family, "Font Awesome 6 Free");
  font-weight: var(--fa-style, 900);
}

/* line 12, vendor/assets/stylesheets/font-awesome.min.scss */
.fa,
.fa-brands,
.fa-classic,
.fa-regular,
.fa-sharp,
.fa-solid,
.fab,
.far,
.fas {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: var(--fa-display, inline-block);
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
}

/* line 30, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-classic,
.fa-regular,
.fa-solid,
.far,
.fas {
  font-family: "Font Awesome 6 Free";
}

/* line 38, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-brands,
.fab {
  font-family: "Font Awesome 6 Brands";
}

/* line 43, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-1x {
  font-size: 1em;
}

/* line 47, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-2x {
  font-size: 2em;
}

/* line 51, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-3x {
  font-size: 3em;
}

/* line 55, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-4x {
  font-size: 4em;
}

/* line 59, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-5x {
  font-size: 5em;
}

/* line 63, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-6x {
  font-size: 6em;
}

/* line 67, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-7x {
  font-size: 7em;
}

/* line 71, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-8x {
  font-size: 8em;
}

/* line 75, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-9x {
  font-size: 9em;
}

/* line 79, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-10x {
  font-size: 10em;
}

/* line 83, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-2xs {
  font-size: .625em;
  line-height: .1em;
  vertical-align: .225em;
}

/* line 89, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-xs {
  font-size: .75em;
  line-height: .08333em;
  vertical-align: .125em;
}

/* line 95, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sm {
  font-size: .875em;
  line-height: .07143em;
  vertical-align: .05357em;
}

/* line 101, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-lg {
  font-size: 1.25em;
  line-height: .05em;
  vertical-align: -.075em;
}

/* line 107, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-xl {
  font-size: 1.5em;
  line-height: .04167em;
  vertical-align: -.125em;
}

/* line 113, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-2xl {
  font-size: 2em;
  line-height: .03125em;
  vertical-align: -.1875em;
}

/* line 119, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-fw {
  text-align: center;
  width: 1.25em;
}

/* line 124, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ul {
  list-style-type: none;
  margin-left: var(--fa-li-margin, 2.5em);
  padding-left: 0;
}

/* line 130, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ul > li {
  position: relative;
}

/* line 134, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-li {
  left: calc(var(--fa-li-width, 2em)*-1);
  position: absolute;
  text-align: center;
  width: var(--fa-li-width, 2em);
  line-height: inherit;
}

/* line 142, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-border {
  border-radius: var(--fa-border-radius, 0.1em);
  border: var(--fa-border-width, 0.08em) var(--fa-border-style, solid) var(--fa-border-color, #eee);
  padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);
}

/* line 148, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pull-left {
  float: left;
  margin-right: var(--fa-pull-margin, 0.3em);
}

/* line 153, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pull-right {
  float: right;
  margin-left: var(--fa-pull-margin, 0.3em);
}

/* line 158, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-beat {
  -webkit-animation-name: fa-beat;
  animation-name: fa-beat;
  -webkit-animation-delay: var(--fa-animation-delay, 0s);
  animation-delay: var(--fa-animation-delay, 0s);
  -webkit-animation-direction: var(--fa-animation-direction, normal);
  animation-direction: var(--fa-animation-direction, normal);
  -webkit-animation-duration: var(--fa-animation-duration, 1s);
  animation-duration: var(--fa-animation-duration, 1s);
  -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);
  animation-timing-function: var(--fa-animation-timing, ease-in-out);
}

/* line 173, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bounce {
  -webkit-animation-name: fa-bounce;
  animation-name: fa-bounce;
  -webkit-animation-delay: var(--fa-animation-delay, 0s);
  animation-delay: var(--fa-animation-delay, 0s);
  -webkit-animation-direction: var(--fa-animation-direction, normal);
  animation-direction: var(--fa-animation-direction, normal);
  -webkit-animation-duration: var(--fa-animation-duration, 1s);
  animation-duration: var(--fa-animation-duration, 1s);
  -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
  animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
}

/* line 188, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-fade {
  -webkit-animation-name: fa-fade;
  animation-name: fa-fade;
  -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
  animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
}

/* line 197, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-beat-fade,
.fa-fade {
  -webkit-animation-delay: var(--fa-animation-delay, 0s);
  animation-delay: var(--fa-animation-delay, 0s);
  -webkit-animation-direction: var(--fa-animation-direction, normal);
  animation-direction: var(--fa-animation-direction, normal);
  -webkit-animation-duration: var(--fa-animation-duration, 1s);
  animation-duration: var(--fa-animation-duration, 1s);
}

/* line 207, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-beat-fade {
  -webkit-animation-name: fa-beat-fade;
  animation-name: fa-beat-fade;
  -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
  animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
}

/* line 216, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-flip {
  -webkit-animation-name: fa-flip;
  animation-name: fa-flip;
  -webkit-animation-delay: var(--fa-animation-delay, 0s);
  animation-delay: var(--fa-animation-delay, 0s);
  -webkit-animation-direction: var(--fa-animation-direction, normal);
  animation-direction: var(--fa-animation-direction, normal);
  -webkit-animation-duration: var(--fa-animation-duration, 1s);
  animation-duration: var(--fa-animation-duration, 1s);
  -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);
  animation-timing-function: var(--fa-animation-timing, ease-in-out);
}

/* line 231, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-shake {
  -webkit-animation-name: fa-shake;
  animation-name: fa-shake;
  -webkit-animation-duration: var(--fa-animation-duration, 1s);
  animation-duration: var(--fa-animation-duration, 1s);
  -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  -webkit-animation-timing-function: var(--fa-animation-timing, linear);
  animation-timing-function: var(--fa-animation-timing, linear);
}

/* line 242, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-shake,
.fa-spin {
  -webkit-animation-delay: var(--fa-animation-delay, 0s);
  animation-delay: var(--fa-animation-delay, 0s);
  -webkit-animation-direction: var(--fa-animation-direction, normal);
  animation-direction: var(--fa-animation-direction, normal);
}

/* line 250, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-spin {
  -webkit-animation-name: fa-spin;
  animation-name: fa-spin;
  -webkit-animation-duration: var(--fa-animation-duration, 2s);
  animation-duration: var(--fa-animation-duration, 2s);
  -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  -webkit-animation-timing-function: var(--fa-animation-timing, linear);
  animation-timing-function: var(--fa-animation-timing, linear);
}

/* line 261, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-spin-reverse {
  --fa-animation-direction: reverse
;
}

/* line 265, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pulse,
.fa-spin-pulse {
  -webkit-animation-name: fa-spin;
  animation-name: fa-spin;
  -webkit-animation-direction: var(--fa-animation-direction, normal);
  animation-direction: var(--fa-animation-direction, normal);
  -webkit-animation-duration: var(--fa-animation-duration, 1s);
  animation-duration: var(--fa-animation-duration, 1s);
  -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  -webkit-animation-timing-function: var(--fa-animation-timing, steps(8));
  animation-timing-function: var(--fa-animation-timing, steps(8));
}

@media (prefers-reduced-motion: reduce) {
  /* line 281, vendor/assets/stylesheets/font-awesome.min.scss */
  .fa-beat,
.fa-beat-fade,
.fa-bounce,
.fa-fade,
.fa-flip,
.fa-pulse,
.fa-shake,
.fa-spin,
.fa-spin-pulse {
    -webkit-animation-delay: -1ms;
    animation-delay: -1ms;
    -webkit-animation-duration: 1ms;
    animation-duration: 1ms;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transition-duration: 0s;
    transition-duration: 0s;
  }
}

@-webkit-keyframes fa-beat {
  0%,
90% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  45% {
    -webkit-transform: scale(var(--fa-beat-scale, 1.25));
    transform: scale(var(--fa-beat-scale, 1.25));
  }
}

@keyframes fa-beat {
  0%,
90% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  45% {
    -webkit-transform: scale(var(--fa-beat-scale, 1.25));
    transform: scale(var(--fa-beat-scale, 1.25));
  }
}

@-webkit-keyframes fa-bounce {
  0% {
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
  }
  10% {
    -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
    transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
  }
  30% {
    -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
    transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
  }
  50% {
    -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
    transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
  }
  57% {
    -webkit-transform: scale(1) translateY(var(--fa-bounce-rebound, -0.125em));
    transform: scale(1) translateY(var(--fa-bounce-rebound, -0.125em));
  }
  64% {
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
  }
  to {
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
  }
}

@keyframes fa-bounce {
  0% {
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
  }
  10% {
    -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
    transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
  }
  30% {
    -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
    transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
  }
  50% {
    -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
    transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
  }
  57% {
    -webkit-transform: scale(1) translateY(var(--fa-bounce-rebound, -0.125em));
    transform: scale(1) translateY(var(--fa-bounce-rebound, -0.125em));
  }
  64% {
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
  }
  to {
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
  }
}

@-webkit-keyframes fa-fade {
  50% {
    opacity: var(--fa-fade-opacity, 0.4);
  }
}

@keyframes fa-fade {
  50% {
    opacity: var(--fa-fade-opacity, 0.4);
  }
}

@-webkit-keyframes fa-beat-fade {
  0%,
to {
    opacity: var(--fa-beat-fade-opacity, 0.4);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));
    transform: scale(var(--fa-beat-fade-scale, 1.125));
  }
}

@keyframes fa-beat-fade {
  0%,
to {
    opacity: var(--fa-beat-fade-opacity, 0.4);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));
    transform: scale(var(--fa-beat-fade-scale, 1.125));
  }
}

@-webkit-keyframes fa-flip {
  50% {
    -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
    transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
  }
}

@keyframes fa-flip {
  50% {
    -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
    transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
  }
}

@-webkit-keyframes fa-shake {
  0% {
    -webkit-transform: rotate(-15deg);
    transform: rotate(-15deg);
  }
  4% {
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg);
  }
  8%,
24% {
    -webkit-transform: rotate(-18deg);
    transform: rotate(-18deg);
  }
  12%,
28% {
    -webkit-transform: rotate(18deg);
    transform: rotate(18deg);
  }
  16% {
    -webkit-transform: rotate(-22deg);
    transform: rotate(-22deg);
  }
  20% {
    -webkit-transform: rotate(22deg);
    transform: rotate(22deg);
  }
  32% {
    -webkit-transform: rotate(-12deg);
    transform: rotate(-12deg);
  }
  36% {
    -webkit-transform: rotate(12deg);
    transform: rotate(12deg);
  }
  40%,
to {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}

@keyframes fa-shake {
  0% {
    -webkit-transform: rotate(-15deg);
    transform: rotate(-15deg);
  }
  4% {
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg);
  }
  8%,
24% {
    -webkit-transform: rotate(-18deg);
    transform: rotate(-18deg);
  }
  12%,
28% {
    -webkit-transform: rotate(18deg);
    transform: rotate(18deg);
  }
  16% {
    -webkit-transform: rotate(-22deg);
    transform: rotate(-22deg);
  }
  20% {
    -webkit-transform: rotate(22deg);
    transform: rotate(22deg);
  }
  32% {
    -webkit-transform: rotate(-12deg);
    transform: rotate(-12deg);
  }
  36% {
    -webkit-transform: rotate(12deg);
    transform: rotate(12deg);
  }
  40%,
to {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn);
  }
}

@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn);
  }
}

/* line 587, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-rotate-90 {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

/* line 592, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-rotate-180 {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

/* line 597, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-rotate-270 {
  -webkit-transform: rotate(270deg);
  transform: rotate(270deg);
}

/* line 602, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-flip-horizontal {
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}

/* line 607, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-flip-vertical {
  -webkit-transform: scaleY(-1);
  transform: scaleY(-1);
}

/* line 612, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-flip-both,
.fa-flip-horizontal.fa-flip-vertical {
  -webkit-transform: scale(-1);
  transform: scale(-1);
}

/* line 618, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-rotate-by {
  -webkit-transform: rotate(var(--fa-rotate-angle, none));
  transform: rotate(var(--fa-rotate-angle, none));
}

/* line 623, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-stack {
  display: inline-block;
  height: 2em;
  line-height: 2em;
  position: relative;
  vertical-align: middle;
  width: 2.5em;
}

/* line 632, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-stack-1x,
.fa-stack-2x {
  left: 0;
  position: absolute;
  text-align: center;
  width: 100%;
  z-index: var(--fa-stack-z-index, auto);
}

/* line 641, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-stack-1x {
  line-height: inherit;
}

/* line 645, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-stack-2x {
  font-size: 2em;
}

/* line 649, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-inverse {
  color: var(--fa-inverse, #fff);
}

/* line 653, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-0:before {
  content: "\30";
}

/* line 657, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-1:before {
  content: "\31";
}

/* line 661, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-2:before {
  content: "\32";
}

/* line 665, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-3:before {
  content: "\33";
}

/* line 669, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-4:before {
  content: "\34";
}

/* line 673, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-5:before {
  content: "\35";
}

/* line 677, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-6:before {
  content: "\36";
}

/* line 681, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-7:before {
  content: "\37";
}

/* line 685, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-8:before {
  content: "\38";
}

/* line 689, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-9:before {
  content: "\39";
}

/* line 693, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-fill-drip:before {
  content: "\f576";
}

/* line 697, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrows-to-circle:before {
  content: "\e4bd";
}

/* line 701, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chevron-circle-right:before,
.fa-circle-chevron-right:before {
  content: "\f138";
}

/* line 706, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-at:before {
  content: "\40";
}

/* line 710, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-trash-alt:before,
.fa-trash-can:before {
  content: "\f2ed";
}

/* line 715, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-text-height:before {
  content: "\f034";
}

/* line 719, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-user-times:before,
.fa-user-xmark:before {
  content: "\f235";
}

/* line 724, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-stethoscope:before {
  content: "\f0f1";
}

/* line 728, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-comment-alt:before,
.fa-message:before {
  content: "\f27a";
}

/* line 733, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-info:before {
  content: "\f129";
}

/* line 737, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-compress-alt:before,
.fa-down-left-and-up-right-to-center:before {
  content: "\f422";
}

/* line 742, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-explosion:before {
  content: "\e4e9";
}

/* line 746, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-alt:before,
.fa-file-lines:before,
.fa-file-text:before {
  content: "\f15c";
}

/* line 752, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-wave-square:before {
  content: "\f83e";
}

/* line 756, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ring:before {
  content: "\f70b";
}

/* line 760, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-building-un:before {
  content: "\e4d9";
}

/* line 764, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dice-three:before {
  content: "\f527";
}

/* line 768, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-calendar-alt:before,
.fa-calendar-days:before {
  content: "\f073";
}

/* line 773, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-anchor-circle-check:before {
  content: "\e4aa";
}

/* line 777, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-building-circle-arrow-right:before {
  content: "\e4d1";
}

/* line 781, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-volleyball-ball:before,
.fa-volleyball:before {
  content: "\f45f";
}

/* line 786, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrows-up-to-line:before {
  content: "\e4c2";
}

/* line 790, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sort-desc:before,
.fa-sort-down:before {
  content: "\f0dd";
}

/* line 795, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-circle-minus:before,
.fa-minus-circle:before {
  content: "\f056";
}

/* line 800, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-door-open:before {
  content: "\f52b";
}

/* line 804, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-right-from-bracket:before,
.fa-sign-out-alt:before {
  content: "\f2f5";
}

/* line 809, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-atom:before {
  content: "\f5d2";
}

/* line 813, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-soap:before {
  content: "\e06e";
}

/* line 817, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-heart-music-camera-bolt:before,
.fa-icons:before {
  content: "\f86d";
}

/* line 822, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-microphone-alt-slash:before,
.fa-microphone-lines-slash:before {
  content: "\f539";
}

/* line 827, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bridge-circle-check:before {
  content: "\e4c9";
}

/* line 831, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pump-medical:before {
  content: "\e06a";
}

/* line 835, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-fingerprint:before {
  content: "\f577";
}

/* line 839, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hand-point-right:before {
  content: "\f0a4";
}

/* line 843, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-magnifying-glass-location:before,
.fa-search-location:before {
  content: "\f689";
}

/* line 848, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-forward-step:before,
.fa-step-forward:before {
  content: "\f051";
}

/* line 853, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-smile-beam:before,
.fa-smile-beam:before {
  content: "\f5b8";
}

/* line 858, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-flag-checkered:before {
  content: "\f11e";
}

/* line 862, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-football-ball:before,
.fa-football:before {
  content: "\f44e";
}

/* line 867, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-school-circle-exclamation:before {
  content: "\e56c";
}

/* line 871, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-crop:before {
  content: "\f125";
}

/* line 875, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-angle-double-down:before,
.fa-angles-down:before {
  content: "\f103";
}

/* line 880, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-users-rectangle:before {
  content: "\e594";
}

/* line 884, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-people-roof:before {
  content: "\e537";
}

/* line 888, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-people-line:before {
  content: "\e534";
}

/* line 892, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-beer-mug-empty:before,
.fa-beer:before {
  content: "\f0fc";
}

/* line 897, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-diagram-predecessor:before {
  content: "\e477";
}

/* line 901, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-up-long:before,
.fa-long-arrow-up:before {
  content: "\f176";
}

/* line 906, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-burn:before,
.fa-fire-flame-simple:before {
  content: "\f46a";
}

/* line 911, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-male:before,
.fa-person:before {
  content: "\f183";
}

/* line 916, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-laptop:before {
  content: "\f109";
}

/* line 920, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-csv:before {
  content: "\f6dd";
}

/* line 924, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-menorah:before {
  content: "\f676";
}

/* line 928, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-truck-plane:before {
  content: "\e58f";
}

/* line 932, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-record-vinyl:before {
  content: "\f8d9";
}

/* line 936, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-grin-stars:before,
.fa-grin-stars:before {
  content: "\f587";
}

/* line 941, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bong:before {
  content: "\f55c";
}

/* line 945, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pastafarianism:before,
.fa-spaghetti-monster-flying:before {
  content: "\f67b";
}

/* line 950, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-down-up-across-line:before {
  content: "\e4af";
}

/* line 954, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-spoon:before,
.fa-utensil-spoon:before {
  content: "\f2e5";
}

/* line 959, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-jar-wheat:before {
  content: "\e517";
}

/* line 963, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-envelopes-bulk:before,
.fa-mail-bulk:before {
  content: "\f674";
}

/* line 968, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-circle-exclamation:before {
  content: "\e4eb";
}

/* line 972, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-circle-h:before,
.fa-hospital-symbol:before {
  content: "\f47e";
}

/* line 977, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pager:before {
  content: "\f815";
}

/* line 981, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-address-book:before,
.fa-contact-book:before {
  content: "\f2b9";
}

/* line 986, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-strikethrough:before {
  content: "\f0cc";
}

/* line 990, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-k:before {
  content: "\4b";
}

/* line 994, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-landmark-flag:before {
  content: "\e51c";
}

/* line 998, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pencil-alt:before,
.fa-pencil:before {
  content: "\f303";
}

/* line 1003, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-backward:before {
  content: "\f04a";
}

/* line 1007, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-caret-right:before {
  content: "\f0da";
}

/* line 1011, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-comments:before {
  content: "\f086";
}

/* line 1015, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-clipboard:before,
.fa-paste:before {
  content: "\f0ea";
}

/* line 1020, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-code-pull-request:before {
  content: "\e13c";
}

/* line 1024, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-clipboard-list:before {
  content: "\f46d";
}

/* line 1028, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-truck-loading:before,
.fa-truck-ramp-box:before {
  content: "\f4de";
}

/* line 1033, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-user-check:before {
  content: "\f4fc";
}

/* line 1037, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-vial-virus:before {
  content: "\e597";
}

/* line 1041, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sheet-plastic:before {
  content: "\e571";
}

/* line 1045, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-blog:before {
  content: "\f781";
}

/* line 1049, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-user-ninja:before {
  content: "\f504";
}

/* line 1053, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-arrow-up-from-line:before {
  content: "\e539";
}

/* line 1057, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-scroll-torah:before,
.fa-torah:before {
  content: "\f6a0";
}

/* line 1062, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-broom-ball:before,
.fa-quidditch-broom-ball:before,
.fa-quidditch:before {
  content: "\f458";
}

/* line 1068, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-toggle-off:before {
  content: "\f204";
}

/* line 1072, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-archive:before,
.fa-box-archive:before {
  content: "\f187";
}

/* line 1077, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-drowning:before {
  content: "\e545";
}

/* line 1081, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-down-9-1:before,
.fa-sort-numeric-desc:before,
.fa-sort-numeric-down-alt:before {
  content: "\f886";
}

/* line 1087, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-grin-tongue-squint:before,
.fa-grin-tongue-squint:before {
  content: "\f58a";
}

/* line 1092, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-spray-can:before {
  content: "\f5bd";
}

/* line 1096, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-truck-monster:before {
  content: "\f63b";
}

/* line 1100, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-w:before {
  content: "\57";
}

/* line 1104, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-earth-africa:before,
.fa-globe-africa:before {
  content: "\f57c";
}

/* line 1109, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-rainbow:before {
  content: "\f75b";
}

/* line 1113, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-circle-notch:before {
  content: "\f1ce";
}

/* line 1117, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tablet-alt:before,
.fa-tablet-screen-button:before {
  content: "\f3fa";
}

/* line 1122, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-paw:before {
  content: "\f1b0";
}

/* line 1126, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cloud:before {
  content: "\f0c2";
}

/* line 1130, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-trowel-bricks:before {
  content: "\e58a";
}

/* line 1134, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-flushed:before,
.fa-flushed:before {
  content: "\f579";
}

/* line 1139, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hospital-user:before {
  content: "\f80d";
}

/* line 1143, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tent-arrow-left-right:before {
  content: "\e57f";
}

/* line 1147, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-gavel:before,
.fa-legal:before {
  content: "\f0e3";
}

/* line 1152, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-binoculars:before {
  content: "\f1e5";
}

/* line 1156, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-microphone-slash:before {
  content: "\f131";
}

/* line 1160, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-box-tissue:before {
  content: "\e05b";
}

/* line 1164, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-motorcycle:before {
  content: "\f21c";
}

/* line 1168, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bell-concierge:before,
.fa-concierge-bell:before {
  content: "\f562";
}

/* line 1173, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pen-ruler:before,
.fa-pencil-ruler:before {
  content: "\f5ae";
}

/* line 1178, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-people-arrows-left-right:before,
.fa-people-arrows:before {
  content: "\e068";
}

/* line 1183, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mars-and-venus-burst:before {
  content: "\e523";
}

/* line 1187, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-caret-square-right:before,
.fa-square-caret-right:before {
  content: "\f152";
}

/* line 1192, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cut:before,
.fa-scissors:before {
  content: "\f0c4";
}

/* line 1197, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sun-plant-wilt:before {
  content: "\e57a";
}

/* line 1201, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-toilets-portable:before {
  content: "\e584";
}

/* line 1205, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hockey-puck:before {
  content: "\f453";
}

/* line 1209, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-table:before {
  content: "\f0ce";
}

/* line 1213, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-magnifying-glass-arrow-right:before {
  content: "\e521";
}

/* line 1217, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-digital-tachograph:before,
.fa-tachograph-digital:before {
  content: "\f566";
}

/* line 1222, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-users-slash:before {
  content: "\e073";
}

/* line 1226, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-clover:before {
  content: "\e139";
}

/* line 1230, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mail-reply:before,
.fa-reply:before {
  content: "\f3e5";
}

/* line 1235, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-star-and-crescent:before {
  content: "\f699";
}

/* line 1239, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-house-fire:before {
  content: "\e50c";
}

/* line 1243, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-minus-square:before,
.fa-square-minus:before {
  content: "\f146";
}

/* line 1248, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-helicopter:before {
  content: "\f533";
}

/* line 1252, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-compass:before {
  content: "\f14e";
}

/* line 1256, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-caret-square-down:before,
.fa-square-caret-down:before {
  content: "\f150";
}

/* line 1261, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-circle-question:before {
  content: "\e4ef";
}

/* line 1265, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-laptop-code:before {
  content: "\f5fc";
}

/* line 1269, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-swatchbook:before {
  content: "\f5c3";
}

/* line 1273, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-prescription-bottle:before {
  content: "\f485";
}

/* line 1277, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bars:before,
.fa-navicon:before {
  content: "\f0c9";
}

/* line 1282, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-people-group:before {
  content: "\e533";
}

/* line 1286, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hourglass-3:before,
.fa-hourglass-end:before {
  content: "\f253";
}

/* line 1291, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-heart-broken:before,
.fa-heart-crack:before {
  content: "\f7a9";
}

/* line 1296, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-external-link-square-alt:before,
.fa-square-up-right:before {
  content: "\f360";
}

/* line 1301, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-kiss-beam:before,
.fa-kiss-beam:before {
  content: "\f597";
}

/* line 1306, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-film:before {
  content: "\f008";
}

/* line 1310, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ruler-horizontal:before {
  content: "\f547";
}

/* line 1314, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-people-robbery:before {
  content: "\e536";
}

/* line 1318, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-lightbulb:before {
  content: "\f0eb";
}

/* line 1322, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-caret-left:before {
  content: "\f0d9";
}

/* line 1326, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-circle-exclamation:before,
.fa-exclamation-circle:before {
  content: "\f06a";
}

/* line 1331, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-school-circle-xmark:before {
  content: "\e56d";
}

/* line 1335, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-right-from-bracket:before,
.fa-sign-out:before {
  content: "\f08b";
}

/* line 1340, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chevron-circle-down:before,
.fa-circle-chevron-down:before {
  content: "\f13a";
}

/* line 1345, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-unlock-alt:before,
.fa-unlock-keyhole:before {
  content: "\f13e";
}

/* line 1350, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cloud-showers-heavy:before {
  content: "\f740";
}

/* line 1354, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-headphones-alt:before,
.fa-headphones-simple:before {
  content: "\f58f";
}

/* line 1359, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sitemap:before {
  content: "\f0e8";
}

/* line 1363, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-circle-dollar-to-slot:before,
.fa-donate:before {
  content: "\f4b9";
}

/* line 1368, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-memory:before {
  content: "\f538";
}

/* line 1372, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-road-spikes:before {
  content: "\e568";
}

/* line 1376, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-fire-burner:before {
  content: "\e4f1";
}

/* line 1380, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-flag:before {
  content: "\f024";
}

/* line 1384, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hanukiah:before {
  content: "\f6e6";
}

/* line 1388, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-feather:before {
  content: "\f52d";
}

/* line 1392, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-volume-down:before,
.fa-volume-low:before {
  content: "\f027";
}

/* line 1397, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-comment-slash:before {
  content: "\f4b3";
}

/* line 1401, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cloud-sun-rain:before {
  content: "\f743";
}

/* line 1405, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-compress:before {
  content: "\f066";
}

/* line 1409, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-wheat-alt:before,
.fa-wheat-awn:before {
  content: "\e2cd";
}

/* line 1414, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ankh:before {
  content: "\f644";
}

/* line 1418, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hands-holding-child:before {
  content: "\e4fa";
}

/* line 1422, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-asterisk:before {
  content: "\2a";
}

/* line 1426, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-check-square:before,
.fa-square-check:before {
  content: "\f14a";
}

/* line 1431, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-peseta-sign:before {
  content: "\e221";
}

/* line 1435, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-header:before,
.fa-heading:before {
  content: "\f1dc";
}

/* line 1440, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ghost:before {
  content: "\f6e2";
}

/* line 1444, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-list-squares:before,
.fa-list:before {
  content: "\f03a";
}

/* line 1449, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-phone-square-alt:before,
.fa-square-phone-flip:before {
  content: "\f87b";
}

/* line 1454, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cart-plus:before {
  content: "\f217";
}

/* line 1458, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-gamepad:before {
  content: "\f11b";
}

/* line 1462, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-circle-dot:before,
.fa-dot-circle:before {
  content: "\f192";
}

/* line 1467, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dizzy:before,
.fa-face-dizzy:before {
  content: "\f567";
}

/* line 1472, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-egg:before {
  content: "\f7fb";
}

/* line 1476, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-house-medical-circle-xmark:before {
  content: "\e513";
}

/* line 1480, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-campground:before {
  content: "\f6bb";
}

/* line 1484, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-folder-plus:before {
  content: "\f65e";
}

/* line 1488, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-futbol-ball:before,
.fa-futbol:before,
.fa-soccer-ball:before {
  content: "\f1e3";
}

/* line 1494, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-paint-brush:before,
.fa-paintbrush:before {
  content: "\f1fc";
}

/* line 1499, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-lock:before {
  content: "\f023";
}

/* line 1503, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-gas-pump:before {
  content: "\f52f";
}

/* line 1507, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hot-tub-person:before,
.fa-hot-tub:before {
  content: "\f593";
}

/* line 1512, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-map-location:before,
.fa-map-marked:before {
  content: "\f59f";
}

/* line 1517, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-house-flood-water:before {
  content: "\e50e";
}

/* line 1521, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tree:before {
  content: "\f1bb";
}

/* line 1525, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bridge-lock:before {
  content: "\e4cc";
}

/* line 1529, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sack-dollar:before {
  content: "\f81d";
}

/* line 1533, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-edit:before,
.fa-pen-to-square:before {
  content: "\f044";
}

/* line 1538, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-car-side:before {
  content: "\f5e4";
}

/* line 1542, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-share-alt:before,
.fa-share-nodes:before {
  content: "\f1e0";
}

/* line 1547, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-heart-circle-minus:before {
  content: "\e4ff";
}

/* line 1551, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hourglass-2:before,
.fa-hourglass-half:before {
  content: "\f252";
}

/* line 1556, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-microscope:before {
  content: "\f610";
}

/* line 1560, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sink:before {
  content: "\e06d";
}

/* line 1564, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bag-shopping:before,
.fa-shopping-bag:before {
  content: "\f290";
}

/* line 1569, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-down-z-a:before,
.fa-sort-alpha-desc:before,
.fa-sort-alpha-down-alt:before {
  content: "\f881";
}

/* line 1575, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mitten:before {
  content: "\f7b5";
}

/* line 1579, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-rays:before {
  content: "\e54d";
}

/* line 1583, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-users:before {
  content: "\f0c0";
}

/* line 1587, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-eye-slash:before {
  content: "\f070";
}

/* line 1591, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-flask-vial:before {
  content: "\e4f3";
}

/* line 1595, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hand-paper:before,
.fa-hand:before {
  content: "\f256";
}

/* line 1600, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-om:before {
  content: "\f679";
}

/* line 1604, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-worm:before {
  content: "\e599";
}

/* line 1608, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-house-circle-xmark:before {
  content: "\e50b";
}

/* line 1612, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-plug:before {
  content: "\f1e6";
}

/* line 1616, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chevron-up:before {
  content: "\f077";
}

/* line 1620, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hand-spock:before {
  content: "\f259";
}

/* line 1624, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-stopwatch:before {
  content: "\f2f2";
}

/* line 1628, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-kiss:before,
.fa-kiss:before {
  content: "\f596";
}

/* line 1633, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bridge-circle-xmark:before {
  content: "\e4cb";
}

/* line 1637, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-grin-tongue:before,
.fa-grin-tongue:before {
  content: "\f589";
}

/* line 1642, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chess-bishop:before {
  content: "\f43a";
}

/* line 1646, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-grin-wink:before,
.fa-grin-wink:before {
  content: "\f58c";
}

/* line 1651, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-deaf:before,
.fa-deafness:before,
.fa-ear-deaf:before,
.fa-hard-of-hearing:before {
  content: "\f2a4";
}

/* line 1658, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-road-circle-check:before {
  content: "\e564";
}

/* line 1662, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dice-five:before {
  content: "\f523";
}

/* line 1666, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-rss-square:before,
.fa-square-rss:before {
  content: "\f143";
}

/* line 1671, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-land-mine-on:before {
  content: "\e51b";
}

/* line 1675, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-i-cursor:before {
  content: "\f246";
}

/* line 1679, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-stamp:before {
  content: "\f5bf";
}

/* line 1683, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-stairs:before {
  content: "\e289";
}

/* line 1687, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-i:before {
  content: "\49";
}

/* line 1691, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hryvnia-sign:before,
.fa-hryvnia:before {
  content: "\f6f2";
}

/* line 1696, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pills:before {
  content: "\f484";
}

/* line 1700, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-grin-wide:before,
.fa-grin-alt:before {
  content: "\f581";
}

/* line 1705, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tooth:before {
  content: "\f5c9";
}

/* line 1709, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-v:before {
  content: "\56";
}

/* line 1713, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bangladeshi-taka-sign:before {
  content: "\e2e6";
}

/* line 1717, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bicycle:before {
  content: "\f206";
}

/* line 1721, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-rod-asclepius:before,
.fa-rod-snake:before,
.fa-staff-aesculapius:before,
.fa-staff-snake:before {
  content: "\e579";
}

/* line 1728, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-head-side-cough-slash:before {
  content: "\e062";
}

/* line 1732, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ambulance:before,
.fa-truck-medical:before {
  content: "\f0f9";
}

/* line 1737, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-wheat-awn-circle-exclamation:before {
  content: "\e598";
}

/* line 1741, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-snowman:before {
  content: "\f7d0";
}

/* line 1745, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mortar-pestle:before {
  content: "\f5a7";
}

/* line 1749, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-road-barrier:before {
  content: "\e562";
}

/* line 1753, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-school:before {
  content: "\f549";
}

/* line 1757, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-igloo:before {
  content: "\f7ae";
}

/* line 1761, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-joint:before {
  content: "\f595";
}

/* line 1765, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-angle-right:before {
  content: "\f105";
}

/* line 1769, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-horse:before {
  content: "\f6f0";
}

/* line 1773, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-q:before {
  content: "\51";
}

/* line 1777, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-g:before {
  content: "\47";
}

/* line 1781, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-notes-medical:before {
  content: "\f481";
}

/* line 1785, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-temperature-2:before,
.fa-temperature-half:before,
.fa-thermometer-2:before,
.fa-thermometer-half:before {
  content: "\f2c9";
}

/* line 1792, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dong-sign:before {
  content: "\e169";
}

/* line 1796, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-capsules:before {
  content: "\f46b";
}

/* line 1800, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-poo-bolt:before,
.fa-poo-storm:before {
  content: "\f75a";
}

/* line 1805, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-frown-open:before,
.fa-frown-open:before {
  content: "\f57a";
}

/* line 1810, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hand-point-up:before {
  content: "\f0a6";
}

/* line 1814, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-money-bill:before {
  content: "\f0d6";
}

/* line 1818, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bookmark:before {
  content: "\f02e";
}

/* line 1822, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-align-justify:before {
  content: "\f039";
}

/* line 1826, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-umbrella-beach:before {
  content: "\f5ca";
}

/* line 1830, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-helmet-un:before {
  content: "\e503";
}

/* line 1834, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bullseye:before {
  content: "\f140";
}

/* line 1838, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bacon:before {
  content: "\f7e5";
}

/* line 1842, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hand-point-down:before {
  content: "\f0a7";
}

/* line 1846, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-up-from-bracket:before {
  content: "\e09a";
}

/* line 1850, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-folder-blank:before,
.fa-folder:before {
  content: "\f07b";
}

/* line 1855, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-medical-alt:before,
.fa-file-waveform:before {
  content: "\f478";
}

/* line 1860, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-radiation:before {
  content: "\f7b9";
}

/* line 1864, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chart-simple:before {
  content: "\e473";
}

/* line 1868, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mars-stroke:before {
  content: "\f229";
}

/* line 1872, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-vial:before {
  content: "\f492";
}

/* line 1876, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dashboard:before,
.fa-gauge-med:before,
.fa-gauge:before,
.fa-tachometer-alt-average:before {
  content: "\f624";
}

/* line 1883, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-magic-wand-sparkles:before,
.fa-wand-magic-sparkles:before {
  content: "\e2ca";
}

/* line 1888, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-e:before {
  content: "\45";
}

/* line 1892, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pen-alt:before,
.fa-pen-clip:before {
  content: "\f305";
}

/* line 1897, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bridge-circle-exclamation:before {
  content: "\e4ca";
}

/* line 1901, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-user:before {
  content: "\f007";
}

/* line 1905, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-school-circle-check:before {
  content: "\e56b";
}

/* line 1909, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dumpster:before {
  content: "\f793";
}

/* line 1913, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-shuttle-van:before,
.fa-van-shuttle:before {
  content: "\f5b6";
}

/* line 1918, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-building-user:before {
  content: "\e4da";
}

/* line 1922, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-caret-square-left:before,
.fa-square-caret-left:before {
  content: "\f191";
}

/* line 1927, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-highlighter:before {
  content: "\f591";
}

/* line 1931, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-key:before {
  content: "\f084";
}

/* line 1935, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bullhorn:before {
  content: "\f0a1";
}

/* line 1939, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-globe:before {
  content: "\f0ac";
}

/* line 1943, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-synagogue:before {
  content: "\f69b";
}

/* line 1947, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-half-dress:before {
  content: "\e548";
}

/* line 1951, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-road-bridge:before {
  content: "\e563";
}

/* line 1955, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-location-arrow:before {
  content: "\f124";
}

/* line 1959, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-c:before {
  content: "\43";
}

/* line 1963, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tablet-button:before {
  content: "\f10a";
}

/* line 1967, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-building-lock:before {
  content: "\e4d6";
}

/* line 1971, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pizza-slice:before {
  content: "\f818";
}

/* line 1975, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-money-bill-wave:before {
  content: "\f53a";
}

/* line 1979, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-area-chart:before,
.fa-chart-area:before {
  content: "\f1fe";
}

/* line 1984, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-house-flag:before {
  content: "\e50d";
}

/* line 1988, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-circle-minus:before {
  content: "\e540";
}

/* line 1992, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ban:before,
.fa-cancel:before {
  content: "\f05e";
}

/* line 1997, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-camera-rotate:before {
  content: "\e0d8";
}

/* line 2001, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-air-freshener:before,
.fa-spray-can-sparkles:before {
  content: "\f5d0";
}

/* line 2006, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-star:before {
  content: "\f005";
}

/* line 2010, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-repeat:before {
  content: "\f363";
}

/* line 2014, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cross:before {
  content: "\f654";
}

/* line 2018, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-box:before {
  content: "\f466";
}

/* line 2022, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-venus-mars:before {
  content: "\f228";
}

/* line 2026, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-pointer:before,
.fa-mouse-pointer:before {
  content: "\f245";
}

/* line 2031, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-expand-arrows-alt:before,
.fa-maximize:before {
  content: "\f31e";
}

/* line 2036, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-charging-station:before {
  content: "\f5e7";
}

/* line 2040, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-shapes:before,
.fa-triangle-circle-square:before {
  content: "\f61f";
}

/* line 2045, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-random:before,
.fa-shuffle:before {
  content: "\f074";
}

/* line 2050, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-running:before,
.fa-running:before {
  content: "\f70c";
}

/* line 2055, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mobile-retro:before {
  content: "\e527";
}

/* line 2059, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-grip-lines-vertical:before {
  content: "\f7a5";
}

/* line 2063, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-spider:before {
  content: "\f717";
}

/* line 2067, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hands-bound:before {
  content: "\e4f9";
}

/* line 2071, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-invoice-dollar:before {
  content: "\f571";
}

/* line 2075, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-plane-circle-exclamation:before {
  content: "\e556";
}

/* line 2079, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-x-ray:before {
  content: "\f497";
}

/* line 2083, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-spell-check:before {
  content: "\f891";
}

/* line 2087, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-slash:before {
  content: "\f715";
}

/* line 2091, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-computer-mouse:before,
.fa-mouse:before {
  content: "\f8cc";
}

/* line 2096, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-right-to-bracket:before,
.fa-sign-in:before {
  content: "\f090";
}

/* line 2101, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-shop-slash:before,
.fa-store-alt-slash:before {
  content: "\e070";
}

/* line 2106, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-server:before {
  content: "\f233";
}

/* line 2110, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-virus-covid-slash:before {
  content: "\e4a9";
}

/* line 2114, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-shop-lock:before {
  content: "\e4a5";
}

/* line 2118, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hourglass-1:before,
.fa-hourglass-start:before {
  content: "\f251";
}

/* line 2123, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-blender-phone:before {
  content: "\f6b6";
}

/* line 2127, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-building-wheat:before {
  content: "\e4db";
}

/* line 2131, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-breastfeeding:before {
  content: "\e53a";
}

/* line 2135, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-right-to-bracket:before,
.fa-sign-in-alt:before {
  content: "\f2f6";
}

/* line 2140, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-venus:before {
  content: "\f221";
}

/* line 2144, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-passport:before {
  content: "\f5ab";
}

/* line 2148, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-heart-pulse:before,
.fa-heartbeat:before {
  content: "\f21e";
}

/* line 2153, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-people-carry-box:before,
.fa-people-carry:before {
  content: "\f4ce";
}

/* line 2158, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-temperature-high:before {
  content: "\f769";
}

/* line 2162, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-microchip:before {
  content: "\f2db";
}

/* line 2166, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-crown:before {
  content: "\f521";
}

/* line 2170, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-weight-hanging:before {
  content: "\f5cd";
}

/* line 2174, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-xmarks-lines:before {
  content: "\e59a";
}

/* line 2178, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-prescription:before {
  content: "\f572";
}

/* line 2182, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-weight-scale:before,
.fa-weight:before {
  content: "\f496";
}

/* line 2187, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-user-friends:before,
.fa-user-group:before {
  content: "\f500";
}

/* line 2192, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-up-a-z:before,
.fa-sort-alpha-up:before {
  content: "\f15e";
}

/* line 2197, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chess-knight:before {
  content: "\f441";
}

/* line 2201, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-laugh-squint:before,
.fa-laugh-squint:before {
  content: "\f59b";
}

/* line 2206, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-wheelchair:before {
  content: "\f193";
}

/* line 2210, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-circle-up:before,
.fa-circle-arrow-up:before {
  content: "\f0aa";
}

/* line 2215, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-toggle-on:before {
  content: "\f205";
}

/* line 2219, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-walking:before,
.fa-walking:before {
  content: "\f554";
}

/* line 2224, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-l:before {
  content: "\4c";
}

/* line 2228, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-fire:before {
  content: "\f06d";
}

/* line 2232, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bed-pulse:before,
.fa-procedures:before {
  content: "\f487";
}

/* line 2237, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-shuttle-space:before,
.fa-space-shuttle:before {
  content: "\f197";
}

/* line 2242, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-laugh:before,
.fa-laugh:before {
  content: "\f599";
}

/* line 2247, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-folder-open:before {
  content: "\f07c";
}

/* line 2251, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-heart-circle-plus:before {
  content: "\e500";
}

/* line 2255, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-code-fork:before {
  content: "\e13b";
}

/* line 2259, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-city:before {
  content: "\f64f";
}

/* line 2263, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-microphone-alt:before,
.fa-microphone-lines:before {
  content: "\f3c9";
}

/* line 2268, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pepper-hot:before {
  content: "\f816";
}

/* line 2272, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-unlock:before {
  content: "\f09c";
}

/* line 2276, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-colon-sign:before {
  content: "\e140";
}

/* line 2280, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-headset:before {
  content: "\f590";
}

/* line 2284, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-store-slash:before {
  content: "\e071";
}

/* line 2288, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-road-circle-xmark:before {
  content: "\e566";
}

/* line 2292, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-user-minus:before {
  content: "\f503";
}

/* line 2296, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mars-stroke-up:before,
.fa-mars-stroke-v:before {
  content: "\f22a";
}

/* line 2301, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-champagne-glasses:before,
.fa-glass-cheers:before {
  content: "\f79f";
}

/* line 2306, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-clipboard:before {
  content: "\f328";
}

/* line 2310, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-house-circle-exclamation:before {
  content: "\e50a";
}

/* line 2314, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-arrow-up:before,
.fa-file-upload:before {
  content: "\f574";
}

/* line 2319, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-wifi-3:before,
.fa-wifi-strong:before,
.fa-wifi:before {
  content: "\f1eb";
}

/* line 2325, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bath:before,
.fa-bathtub:before {
  content: "\f2cd";
}

/* line 2330, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-underline:before {
  content: "\f0cd";
}

/* line 2334, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-user-edit:before,
.fa-user-pen:before {
  content: "\f4ff";
}

/* line 2339, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-signature:before {
  content: "\f5b7";
}

/* line 2343, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-stroopwafel:before {
  content: "\f551";
}

/* line 2347, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bold:before {
  content: "\f032";
}

/* line 2351, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-anchor-lock:before {
  content: "\e4ad";
}

/* line 2355, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-building-ngo:before {
  content: "\e4d7";
}

/* line 2359, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-manat-sign:before {
  content: "\e1d5";
}

/* line 2363, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-not-equal:before {
  content: "\f53e";
}

/* line 2367, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-border-style:before,
.fa-border-top-left:before {
  content: "\f853";
}

/* line 2372, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-map-location-dot:before,
.fa-map-marked-alt:before {
  content: "\f5a0";
}

/* line 2377, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-jedi:before {
  content: "\f669";
}

/* line 2381, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-poll:before,
.fa-square-poll-vertical:before {
  content: "\f681";
}

/* line 2386, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mug-hot:before {
  content: "\f7b6";
}

/* line 2390, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-battery-car:before,
.fa-car-battery:before {
  content: "\f5df";
}

/* line 2395, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-gift:before {
  content: "\f06b";
}

/* line 2399, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dice-two:before {
  content: "\f528";
}

/* line 2403, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chess-queen:before {
  content: "\f445";
}

/* line 2407, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-glasses:before {
  content: "\f530";
}

/* line 2411, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chess-board:before {
  content: "\f43c";
}

/* line 2415, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-building-circle-check:before {
  content: "\e4d2";
}

/* line 2419, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-chalkboard:before {
  content: "\e53d";
}

/* line 2423, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mars-stroke-h:before,
.fa-mars-stroke-right:before {
  content: "\f22b";
}

/* line 2428, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hand-back-fist:before,
.fa-hand-rock:before {
  content: "\f255";
}

/* line 2433, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-caret-square-up:before,
.fa-square-caret-up:before {
  content: "\f151";
}

/* line 2438, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cloud-showers-water:before {
  content: "\e4e4";
}

/* line 2442, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bar-chart:before,
.fa-chart-bar:before {
  content: "\f080";
}

/* line 2447, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hands-bubbles:before,
.fa-hands-wash:before {
  content: "\e05e";
}

/* line 2452, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-less-than-equal:before {
  content: "\f537";
}

/* line 2456, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-train:before {
  content: "\f238";
}

/* line 2460, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-eye-low-vision:before,
.fa-low-vision:before {
  content: "\f2a8";
}

/* line 2465, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-crow:before {
  content: "\f520";
}

/* line 2469, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sailboat:before {
  content: "\e445";
}

/* line 2473, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-window-restore:before {
  content: "\f2d2";
}

/* line 2477, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-plus-square:before,
.fa-square-plus:before {
  content: "\f0fe";
}

/* line 2482, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-torii-gate:before {
  content: "\f6a1";
}

/* line 2486, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-frog:before {
  content: "\f52e";
}

/* line 2490, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bucket:before {
  content: "\e4cf";
}

/* line 2494, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-image:before {
  content: "\f03e";
}

/* line 2498, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-microphone:before {
  content: "\f130";
}

/* line 2502, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cow:before {
  content: "\f6c8";
}

/* line 2506, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-caret-up:before {
  content: "\f0d8";
}

/* line 2510, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-screwdriver:before {
  content: "\f54a";
}

/* line 2514, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-folder-closed:before {
  content: "\e185";
}

/* line 2518, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-house-tsunami:before {
  content: "\e515";
}

/* line 2522, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-square-nfi:before {
  content: "\e576";
}

/* line 2526, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-up-from-ground-water:before {
  content: "\e4b5";
}

/* line 2530, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-glass-martini-alt:before,
.fa-martini-glass:before {
  content: "\f57b";
}

/* line 2535, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-rotate-back:before,
.fa-rotate-backward:before,
.fa-rotate-left:before,
.fa-undo-alt:before {
  content: "\f2ea";
}

/* line 2542, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-columns:before,
.fa-table-columns:before {
  content: "\f0db";
}

/* line 2547, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-lemon:before {
  content: "\f094";
}

/* line 2551, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-head-side-mask:before {
  content: "\e063";
}

/* line 2555, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-handshake:before {
  content: "\f2b5";
}

/* line 2559, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-gem:before {
  content: "\f3a5";
}

/* line 2563, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dolly-box:before,
.fa-dolly:before {
  content: "\f472";
}

/* line 2568, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-smoking:before {
  content: "\f48d";
}

/* line 2572, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-compress-arrows-alt:before,
.fa-minimize:before {
  content: "\f78c";
}

/* line 2577, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-monument:before {
  content: "\f5a6";
}

/* line 2581, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-snowplow:before {
  content: "\f7d2";
}

/* line 2585, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-angle-double-right:before,
.fa-angles-right:before {
  content: "\f101";
}

/* line 2590, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cannabis:before {
  content: "\f55f";
}

/* line 2594, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-circle-play:before,
.fa-play-circle:before {
  content: "\f144";
}

/* line 2599, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tablets:before {
  content: "\f490";
}

/* line 2603, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ethernet:before {
  content: "\f796";
}

/* line 2607, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-eur:before,
.fa-euro-sign:before,
.fa-euro:before {
  content: "\f153";
}

/* line 2613, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chair:before {
  content: "\f6c0";
}

/* line 2617, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-check-circle:before,
.fa-circle-check:before {
  content: "\f058";
}

/* line 2622, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-circle-stop:before,
.fa-stop-circle:before {
  content: "\f28d";
}

/* line 2627, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-compass-drafting:before,
.fa-drafting-compass:before {
  content: "\f568";
}

/* line 2632, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-plate-wheat:before {
  content: "\e55a";
}

/* line 2636, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-icicles:before {
  content: "\f7ad";
}

/* line 2640, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-shelter:before {
  content: "\e54f";
}

/* line 2644, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-neuter:before {
  content: "\f22c";
}

/* line 2648, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-id-badge:before {
  content: "\f2c1";
}

/* line 2652, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-marker:before {
  content: "\f5a1";
}

/* line 2656, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-laugh-beam:before,
.fa-laugh-beam:before {
  content: "\f59a";
}

/* line 2661, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-helicopter-symbol:before {
  content: "\e502";
}

/* line 2665, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-universal-access:before {
  content: "\f29a";
}

/* line 2669, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chevron-circle-up:before,
.fa-circle-chevron-up:before {
  content: "\f139";
}

/* line 2674, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-lari-sign:before {
  content: "\e1c8";
}

/* line 2678, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-volcano:before {
  content: "\f770";
}

/* line 2682, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-walking-dashed-line-arrow-right:before {
  content: "\e553";
}

/* line 2686, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-gbp:before,
.fa-pound-sign:before,
.fa-sterling-sign:before {
  content: "\f154";
}

/* line 2692, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-viruses:before {
  content: "\e076";
}

/* line 2696, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-square-person-confined:before {
  content: "\e577";
}

/* line 2700, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-user-tie:before {
  content: "\f508";
}

/* line 2704, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-down-long:before,
.fa-long-arrow-down:before {
  content: "\f175";
}

/* line 2709, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tent-arrow-down-to-line:before {
  content: "\e57e";
}

/* line 2713, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-certificate:before {
  content: "\f0a3";
}

/* line 2717, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "\f122";
}

/* line 2722, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-suitcase:before {
  content: "\f0f2";
}

/* line 2726, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-skating:before,
.fa-skating:before {
  content: "\f7c5";
}

/* line 2731, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-filter-circle-dollar:before,
.fa-funnel-dollar:before {
  content: "\f662";
}

/* line 2736, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-camera-retro:before {
  content: "\f083";
}

/* line 2740, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-circle-down:before,
.fa-circle-arrow-down:before {
  content: "\f0ab";
}

/* line 2745, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-right-to-file:before,
.fa-file-import:before {
  content: "\f56f";
}

/* line 2750, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-external-link-square:before,
.fa-square-arrow-up-right:before {
  content: "\f14c";
}

/* line 2755, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-box-open:before {
  content: "\f49e";
}

/* line 2759, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-scroll:before {
  content: "\f70e";
}

/* line 2763, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-spa:before {
  content: "\f5bb";
}

/* line 2767, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-location-pin-lock:before {
  content: "\e51f";
}

/* line 2771, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pause:before {
  content: "\f04c";
}

/* line 2775, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hill-avalanche:before {
  content: "\e507";
}

/* line 2779, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-temperature-0:before,
.fa-temperature-empty:before,
.fa-thermometer-0:before,
.fa-thermometer-empty:before {
  content: "\f2cb";
}

/* line 2786, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bomb:before {
  content: "\f1e2";
}

/* line 2790, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-registered:before {
  content: "\f25d";
}

/* line 2794, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-address-card:before,
.fa-contact-card:before,
.fa-vcard:before {
  content: "\f2bb";
}

/* line 2800, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-balance-scale-right:before,
.fa-scale-unbalanced-flip:before {
  content: "\f516";
}

/* line 2805, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-subscript:before {
  content: "\f12c";
}

/* line 2809, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-diamond-turn-right:before,
.fa-directions:before {
  content: "\f5eb";
}

/* line 2814, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-burst:before {
  content: "\e4dc";
}

/* line 2818, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-house-laptop:before,
.fa-laptop-house:before {
  content: "\e066";
}

/* line 2823, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-tired:before,
.fa-tired:before {
  content: "\f5c8";
}

/* line 2828, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-money-bills:before {
  content: "\e1f3";
}

/* line 2832, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-smog:before {
  content: "\f75f";
}

/* line 2836, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-crutch:before {
  content: "\f7f7";
}

/* line 2840, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cloud-arrow-up:before,
.fa-cloud-upload-alt:before,
.fa-cloud-upload:before {
  content: "\f0ee";
}

/* line 2846, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-palette:before {
  content: "\f53f";
}

/* line 2850, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrows-turn-right:before {
  content: "\e4c0";
}

/* line 2854, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-vest:before {
  content: "\e085";
}

/* line 2858, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ferry:before {
  content: "\e4ea";
}

/* line 2862, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrows-down-to-people:before {
  content: "\e4b9";
}

/* line 2866, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-seedling:before,
.fa-sprout:before {
  content: "\f4d8";
}

/* line 2871, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrows-alt-h:before,
.fa-left-right:before {
  content: "\f337";
}

/* line 2876, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-boxes-packing:before {
  content: "\e4c7";
}

/* line 2880, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-circle-left:before,
.fa-circle-arrow-left:before {
  content: "\f0a8";
}

/* line 2885, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-group-arrows-rotate:before {
  content: "\e4f6";
}

/* line 2889, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bowl-food:before {
  content: "\e4c6";
}

/* line 2893, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-candy-cane:before {
  content: "\f786";
}

/* line 2897, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-down-wide-short:before,
.fa-sort-amount-asc:before,
.fa-sort-amount-down:before {
  content: "\f160";
}

/* line 2903, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cloud-bolt:before,
.fa-thunderstorm:before {
  content: "\f76c";
}

/* line 2908, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-remove-format:before,
.fa-text-slash:before {
  content: "\f87d";
}

/* line 2913, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-smile-wink:before,
.fa-smile-wink:before {
  content: "\f4da";
}

/* line 2918, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-word:before {
  content: "\f1c2";
}

/* line 2922, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-powerpoint:before {
  content: "\f1c4";
}

/* line 2926, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrows-h:before,
.fa-arrows-left-right:before {
  content: "\f07e";
}

/* line 2931, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-house-lock:before {
  content: "\e510";
}

/* line 2935, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cloud-arrow-down:before,
.fa-cloud-download-alt:before,
.fa-cloud-download:before {
  content: "\f0ed";
}

/* line 2941, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-children:before {
  content: "\e4e1";
}

/* line 2945, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-blackboard:before,
.fa-chalkboard:before {
  content: "\f51b";
}

/* line 2950, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-user-alt-slash:before,
.fa-user-large-slash:before {
  content: "\f4fa";
}

/* line 2955, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-envelope-open:before {
  content: "\f2b6";
}

/* line 2959, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-handshake-alt-slash:before,
.fa-handshake-simple-slash:before {
  content: "\e05f";
}

/* line 2964, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mattress-pillow:before {
  content: "\e525";
}

/* line 2968, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-guarani-sign:before {
  content: "\e19a";
}

/* line 2972, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrows-rotate:before,
.fa-refresh:before,
.fa-sync:before {
  content: "\f021";
}

/* line 2978, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-fire-extinguisher:before {
  content: "\f134";
}

/* line 2982, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cruzeiro-sign:before {
  content: "\e152";
}

/* line 2986, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-greater-than-equal:before {
  content: "\f532";
}

/* line 2990, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-shield-alt:before,
.fa-shield-halved:before {
  content: "\f3ed";
}

/* line 2995, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-atlas:before,
.fa-book-atlas:before {
  content: "\f558";
}

/* line 3000, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-virus:before {
  content: "\e074";
}

/* line 3004, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-envelope-circle-check:before {
  content: "\e4e8";
}

/* line 3008, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-layer-group:before {
  content: "\f5fd";
}

/* line 3012, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrows-to-dot:before {
  content: "\e4be";
}

/* line 3016, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-archway:before {
  content: "\f557";
}

/* line 3020, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-heart-circle-check:before {
  content: "\e4fd";
}

/* line 3024, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-house-chimney-crack:before,
.fa-house-damage:before {
  content: "\f6f1";
}

/* line 3029, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-archive:before,
.fa-file-zipper:before {
  content: "\f1c6";
}

/* line 3034, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-square:before {
  content: "\f0c8";
}

/* line 3038, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-glass-martini:before,
.fa-martini-glass-empty:before {
  content: "\f000";
}

/* line 3043, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-couch:before {
  content: "\f4b8";
}

/* line 3047, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cedi-sign:before {
  content: "\e0df";
}

/* line 3051, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-italic:before {
  content: "\f033";
}

/* line 3055, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-church:before {
  content: "\f51d";
}

/* line 3059, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-comments-dollar:before {
  content: "\f653";
}

/* line 3063, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-democrat:before {
  content: "\f747";
}

/* line 3067, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-z:before {
  content: "\5a";
}

/* line 3071, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-skiing:before,
.fa-skiing:before {
  content: "\f7c9";
}

/* line 3076, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-road-lock:before {
  content: "\e567";
}

/* line 3080, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-a:before {
  content: "\41";
}

/* line 3084, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-temperature-arrow-down:before,
.fa-temperature-down:before {
  content: "\e03f";
}

/* line 3089, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-feather-alt:before,
.fa-feather-pointed:before {
  content: "\f56b";
}

/* line 3094, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-p:before {
  content: "\50";
}

/* line 3098, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-snowflake:before {
  content: "\f2dc";
}

/* line 3102, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-newspaper:before {
  content: "\f1ea";
}

/* line 3106, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ad:before,
.fa-rectangle-ad:before {
  content: "\f641";
}

/* line 3111, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-circle-right:before,
.fa-circle-arrow-right:before {
  content: "\f0a9";
}

/* line 3116, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-filter-circle-xmark:before {
  content: "\e17b";
}

/* line 3120, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-locust:before {
  content: "\e520";
}

/* line 3124, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sort:before,
.fa-unsorted:before {
  content: "\f0dc";
}

/* line 3129, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-list-1-2:before,
.fa-list-numeric:before,
.fa-list-ol:before {
  content: "\f0cb";
}

/* line 3135, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-dress-burst:before {
  content: "\e544";
}

/* line 3139, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-money-check-alt:before,
.fa-money-check-dollar:before {
  content: "\f53d";
}

/* line 3144, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-vector-square:before {
  content: "\f5cb";
}

/* line 3148, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bread-slice:before {
  content: "\f7ec";
}

/* line 3152, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-language:before {
  content: "\f1ab";
}

/* line 3156, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-kiss-wink-heart:before,
.fa-kiss-wink-heart:before {
  content: "\f598";
}

/* line 3161, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-filter:before {
  content: "\f0b0";
}

/* line 3165, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-question:before {
  content: "\3f";
}

/* line 3169, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-signature:before {
  content: "\f573";
}

/* line 3173, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrows-alt:before,
.fa-up-down-left-right:before {
  content: "\f0b2";
}

/* line 3178, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-house-chimney-user:before {
  content: "\e065";
}

/* line 3182, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hand-holding-heart:before {
  content: "\f4be";
}

/* line 3186, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-puzzle-piece:before {
  content: "\f12e";
}

/* line 3190, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-money-check:before {
  content: "\f53c";
}

/* line 3194, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-star-half-alt:before,
.fa-star-half-stroke:before {
  content: "\f5c0";
}

/* line 3199, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-code:before {
  content: "\f121";
}

/* line 3203, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-glass-whiskey:before,
.fa-whiskey-glass:before {
  content: "\f7a0";
}

/* line 3208, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-building-circle-exclamation:before {
  content: "\e4d3";
}

/* line 3212, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-magnifying-glass-chart:before {
  content: "\e522";
}

/* line 3216, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-up-right-from-square:before,
.fa-external-link:before {
  content: "\f08e";
}

/* line 3221, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cubes-stacked:before {
  content: "\e4e6";
}

/* line 3225, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-krw:before,
.fa-won-sign:before,
.fa-won:before {
  content: "\f159";
}

/* line 3231, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-virus-covid:before {
  content: "\e4a8";
}

/* line 3235, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-austral-sign:before {
  content: "\e0a9";
}

/* line 3239, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-f:before {
  content: "\46";
}

/* line 3243, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-leaf:before {
  content: "\f06c";
}

/* line 3247, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-road:before {
  content: "\f018";
}

/* line 3251, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cab:before,
.fa-taxi:before {
  content: "\f1ba";
}

/* line 3256, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-circle-plus:before {
  content: "\e541";
}

/* line 3260, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chart-pie:before,
.fa-pie-chart:before {
  content: "\f200";
}

/* line 3265, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bolt-lightning:before {
  content: "\e0b7";
}

/* line 3269, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sack-xmark:before {
  content: "\e56a";
}

/* line 3273, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-excel:before {
  content: "\f1c3";
}

/* line 3277, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-contract:before {
  content: "\f56c";
}

/* line 3281, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-fish-fins:before {
  content: "\e4f2";
}

/* line 3285, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-building-flag:before {
  content: "\e4d5";
}

/* line 3289, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-grin-beam:before,
.fa-grin-beam:before {
  content: "\f582";
}

/* line 3294, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-object-ungroup:before {
  content: "\f248";
}

/* line 3298, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-poop:before {
  content: "\f619";
}

/* line 3302, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-location-pin:before,
.fa-map-marker:before {
  content: "\f041";
}

/* line 3307, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-kaaba:before {
  content: "\f66b";
}

/* line 3311, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-toilet-paper:before {
  content: "\f71e";
}

/* line 3315, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hard-hat:before,
.fa-hat-hard:before,
.fa-helmet-safety:before {
  content: "\f807";
}

/* line 3321, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-eject:before {
  content: "\f052";
}

/* line 3325, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-alt-circle-right:before,
.fa-circle-right:before {
  content: "\f35a";
}

/* line 3330, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-plane-circle-check:before {
  content: "\e555";
}

/* line 3334, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-rolling-eyes:before,
.fa-meh-rolling-eyes:before {
  content: "\f5a5";
}

/* line 3339, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-object-group:before {
  content: "\f247";
}

/* line 3343, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chart-line:before,
.fa-line-chart:before {
  content: "\f201";
}

/* line 3348, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mask-ventilator:before {
  content: "\e524";
}

/* line 3352, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-right:before {
  content: "\f061";
}

/* line 3356, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-map-signs:before,
.fa-signs-post:before {
  content: "\f277";
}

/* line 3361, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cash-register:before {
  content: "\f788";
}

/* line 3365, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-circle-question:before {
  content: "\e542";
}

/* line 3369, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-h:before {
  content: "\48";
}

/* line 3373, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tarp:before {
  content: "\e57b";
}

/* line 3377, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-screwdriver-wrench:before,
.fa-tools:before {
  content: "\f7d9";
}

/* line 3382, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrows-to-eye:before {
  content: "\e4bf";
}

/* line 3386, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-plug-circle-bolt:before {
  content: "\e55b";
}

/* line 3390, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-heart:before {
  content: "\f004";
}

/* line 3394, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mars-and-venus:before {
  content: "\f224";
}

/* line 3398, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-home-user:before,
.fa-house-user:before {
  content: "\e1b0";
}

/* line 3403, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dumpster-fire:before {
  content: "\f794";
}

/* line 3407, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-house-crack:before {
  content: "\e3b1";
}

/* line 3411, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cocktail:before,
.fa-martini-glass-citrus:before {
  content: "\f561";
}

/* line 3416, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-surprise:before,
.fa-surprise:before {
  content: "\f5c2";
}

/* line 3421, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bottle-water:before {
  content: "\e4c5";
}

/* line 3425, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-circle-pause:before,
.fa-pause-circle:before {
  content: "\f28b";
}

/* line 3430, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-toilet-paper-slash:before {
  content: "\e072";
}

/* line 3434, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-apple-alt:before,
.fa-apple-whole:before {
  content: "\f5d1";
}

/* line 3439, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-kitchen-set:before {
  content: "\e51a";
}

/* line 3443, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-r:before {
  content: "\52";
}

/* line 3447, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-temperature-1:before,
.fa-temperature-quarter:before,
.fa-thermometer-1:before,
.fa-thermometer-quarter:before {
  content: "\f2ca";
}

/* line 3454, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cube:before {
  content: "\f1b2";
}

/* line 3458, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bitcoin-sign:before {
  content: "\e0b4";
}

/* line 3462, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-shield-dog:before {
  content: "\e573";
}

/* line 3466, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-solar-panel:before {
  content: "\f5ba";
}

/* line 3470, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-lock-open:before {
  content: "\f3c1";
}

/* line 3474, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-elevator:before {
  content: "\e16d";
}

/* line 3478, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-money-bill-transfer:before {
  content: "\e528";
}

/* line 3482, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-money-bill-trend-up:before {
  content: "\e529";
}

/* line 3486, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-house-flood-water-circle-arrow-right:before {
  content: "\e50f";
}

/* line 3490, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-poll-h:before,
.fa-square-poll-horizontal:before {
  content: "\f682";
}

/* line 3495, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-circle:before {
  content: "\f111";
}

/* line 3499, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-backward-fast:before,
.fa-fast-backward:before {
  content: "\f049";
}

/* line 3504, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-recycle:before {
  content: "\f1b8";
}

/* line 3508, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-user-astronaut:before {
  content: "\f4fb";
}

/* line 3512, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-plane-slash:before {
  content: "\e069";
}

/* line 3516, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-trademark:before {
  content: "\f25c";
}

/* line 3520, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-basketball-ball:before,
.fa-basketball:before {
  content: "\f434";
}

/* line 3525, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-satellite-dish:before {
  content: "\f7c0";
}

/* line 3529, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-alt-circle-up:before,
.fa-circle-up:before {
  content: "\f35b";
}

/* line 3534, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mobile-alt:before,
.fa-mobile-screen-button:before {
  content: "\f3cd";
}

/* line 3539, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-volume-high:before,
.fa-volume-up:before {
  content: "\f028";
}

/* line 3544, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-users-rays:before {
  content: "\e593";
}

/* line 3548, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-wallet:before {
  content: "\f555";
}

/* line 3552, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-clipboard-check:before {
  content: "\f46c";
}

/* line 3556, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-audio:before {
  content: "\f1c7";
}

/* line 3560, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-burger:before,
.fa-hamburger:before {
  content: "\f805";
}

/* line 3565, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-wrench:before {
  content: "\f0ad";
}

/* line 3569, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bugs:before {
  content: "\e4d0";
}

/* line 3573, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-rupee-sign:before,
.fa-rupee:before {
  content: "\f156";
}

/* line 3578, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-image:before {
  content: "\f1c5";
}

/* line 3582, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-circle-question:before,
.fa-question-circle:before {
  content: "\f059";
}

/* line 3587, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-plane-departure:before {
  content: "\f5b0";
}

/* line 3591, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-handshake-slash:before {
  content: "\e060";
}

/* line 3595, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-book-bookmark:before {
  content: "\e0bb";
}

/* line 3599, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-code-branch:before {
  content: "\f126";
}

/* line 3603, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hat-cowboy:before {
  content: "\f8c0";
}

/* line 3607, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bridge:before {
  content: "\e4c8";
}

/* line 3611, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-phone-alt:before,
.fa-phone-flip:before {
  content: "\f879";
}

/* line 3616, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-truck-front:before {
  content: "\e2b7";
}

/* line 3620, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cat:before {
  content: "\f6be";
}

/* line 3624, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-anchor-circle-exclamation:before {
  content: "\e4ab";
}

/* line 3628, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-truck-field:before {
  content: "\e58d";
}

/* line 3632, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-route:before {
  content: "\f4d7";
}

/* line 3636, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-clipboard-question:before {
  content: "\e4e3";
}

/* line 3640, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-panorama:before {
  content: "\e209";
}

/* line 3644, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-comment-medical:before {
  content: "\f7f5";
}

/* line 3648, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-teeth-open:before {
  content: "\f62f";
}

/* line 3652, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-circle-minus:before {
  content: "\e4ed";
}

/* line 3656, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tags:before {
  content: "\f02c";
}

/* line 3660, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-wine-glass:before {
  content: "\f4e3";
}

/* line 3664, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-fast-forward:before,
.fa-forward-fast:before {
  content: "\f050";
}

/* line 3669, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-meh-blank:before,
.fa-meh-blank:before {
  content: "\f5a4";
}

/* line 3674, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-parking:before,
.fa-square-parking:before {
  content: "\f540";
}

/* line 3679, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-house-signal:before {
  content: "\e012";
}

/* line 3683, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bars-progress:before,
.fa-tasks-alt:before {
  content: "\f828";
}

/* line 3688, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-faucet-drip:before {
  content: "\e006";
}

/* line 3692, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cart-flatbed:before,
.fa-dolly-flatbed:before {
  content: "\f474";
}

/* line 3697, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ban-smoking:before,
.fa-smoking-ban:before {
  content: "\f54d";
}

/* line 3702, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-terminal:before {
  content: "\f120";
}

/* line 3706, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mobile-button:before {
  content: "\f10b";
}

/* line 3710, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-house-medical-flag:before {
  content: "\e514";
}

/* line 3714, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-basket-shopping:before,
.fa-shopping-basket:before {
  content: "\f291";
}

/* line 3719, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tape:before {
  content: "\f4db";
}

/* line 3723, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bus-alt:before,
.fa-bus-simple:before {
  content: "\f55e";
}

/* line 3728, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-eye:before {
  content: "\f06e";
}

/* line 3732, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-sad-cry:before,
.fa-sad-cry:before {
  content: "\f5b3";
}

/* line 3737, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-audio-description:before {
  content: "\f29e";
}

/* line 3741, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-military-to-person:before {
  content: "\e54c";
}

/* line 3745, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-shield:before {
  content: "\e4f0";
}

/* line 3749, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-user-slash:before {
  content: "\f506";
}

/* line 3753, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pen:before {
  content: "\f304";
}

/* line 3757, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tower-observation:before {
  content: "\e586";
}

/* line 3761, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-code:before {
  content: "\f1c9";
}

/* line 3765, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-signal-5:before,
.fa-signal-perfect:before,
.fa-signal:before {
  content: "\f012";
}

/* line 3771, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bus:before {
  content: "\f207";
}

/* line 3775, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-heart-circle-xmark:before {
  content: "\e501";
}

/* line 3779, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-home-lg:before,
.fa-house-chimney:before {
  content: "\e3af";
}

/* line 3784, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-window-maximize:before {
  content: "\f2d0";
}

/* line 3788, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-frown:before,
.fa-frown:before {
  content: "\f119";
}

/* line 3793, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-prescription:before {
  content: "\f5b1";
}

/* line 3797, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-shop:before,
.fa-store-alt:before {
  content: "\f54f";
}

/* line 3802, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-floppy-disk:before,
.fa-save:before {
  content: "\f0c7";
}

/* line 3807, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-vihara:before {
  content: "\f6a7";
}

/* line 3811, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-balance-scale-left:before,
.fa-scale-unbalanced:before {
  content: "\f515";
}

/* line 3816, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sort-asc:before,
.fa-sort-up:before {
  content: "\f0de";
}

/* line 3821, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-comment-dots:before,
.fa-commenting:before {
  content: "\f4ad";
}

/* line 3826, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-plant-wilt:before {
  content: "\e5aa";
}

/* line 3830, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-diamond:before {
  content: "\f219";
}

/* line 3834, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-grin-squint:before,
.fa-grin-squint:before {
  content: "\f585";
}

/* line 3839, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hand-holding-dollar:before,
.fa-hand-holding-usd:before {
  content: "\f4c0";
}

/* line 3844, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bacterium:before {
  content: "\e05a";
}

/* line 3848, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hand-pointer:before {
  content: "\f25a";
}

/* line 3852, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-drum-steelpan:before {
  content: "\f56a";
}

/* line 3856, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hand-scissors:before {
  content: "\f257";
}

/* line 3860, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hands-praying:before,
.fa-praying-hands:before {
  content: "\f684";
}

/* line 3865, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-right-rotate:before,
.fa-arrow-rotate-forward:before,
.fa-arrow-rotate-right:before,
.fa-redo:before {
  content: "\f01e";
}

/* line 3872, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-biohazard:before {
  content: "\f780";
}

/* line 3876, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-location-crosshairs:before,
.fa-location:before {
  content: "\f601";
}

/* line 3881, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mars-double:before {
  content: "\f227";
}

/* line 3885, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-child-dress:before {
  content: "\e59c";
}

/* line 3889, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-users-between-lines:before {
  content: "\e591";
}

/* line 3893, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-lungs-virus:before {
  content: "\e067";
}

/* line 3897, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-grin-tears:before,
.fa-grin-tears:before {
  content: "\f588";
}

/* line 3902, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-phone:before {
  content: "\f095";
}

/* line 3906, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-calendar-times:before,
.fa-calendar-xmark:before {
  content: "\f273";
}

/* line 3911, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-child-reaching:before {
  content: "\e59d";
}

/* line 3915, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-head-side-virus:before {
  content: "\e064";
}

/* line 3919, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-user-cog:before,
.fa-user-gear:before {
  content: "\f4fe";
}

/* line 3924, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-up-1-9:before,
.fa-sort-numeric-up:before {
  content: "\f163";
}

/* line 3929, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-door-closed:before {
  content: "\f52a";
}

/* line 3933, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-shield-virus:before {
  content: "\e06c";
}

/* line 3937, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dice-six:before {
  content: "\f526";
}

/* line 3941, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mosquito-net:before {
  content: "\e52c";
}

/* line 3945, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bridge-water:before {
  content: "\e4ce";
}

/* line 3949, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-booth:before {
  content: "\f756";
}

/* line 3953, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-text-width:before {
  content: "\f035";
}

/* line 3957, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hat-wizard:before {
  content: "\f6e8";
}

/* line 3961, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pen-fancy:before {
  content: "\f5ac";
}

/* line 3965, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-digging:before,
.fa-person-digging:before {
  content: "\f85e";
}

/* line 3970, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-trash:before {
  content: "\f1f8";
}

/* line 3974, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-gauge-simple-med:before,
.fa-gauge-simple:before,
.fa-tachometer-average:before {
  content: "\f629";
}

/* line 3980, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-book-medical:before {
  content: "\f7e6";
}

/* line 3984, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-poo:before {
  content: "\f2fe";
}

/* line 3988, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-quote-right-alt:before,
.fa-quote-right:before {
  content: "\f10e";
}

/* line 3993, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-shirt:before,
.fa-t-shirt:before,
.fa-tshirt:before {
  content: "\f553";
}

/* line 3999, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cubes:before {
  content: "\f1b3";
}

/* line 4003, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-divide:before {
  content: "\f529";
}

/* line 4007, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tenge-sign:before,
.fa-tenge:before {
  content: "\f7d7";
}

/* line 4012, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-headphones:before {
  content: "\f025";
}

/* line 4016, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hands-holding:before {
  content: "\f4c2";
}

/* line 4020, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hands-clapping:before {
  content: "\e1a8";
}

/* line 4024, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-republican:before {
  content: "\f75e";
}

/* line 4028, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-left:before {
  content: "\f060";
}

/* line 4032, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-circle-xmark:before {
  content: "\e543";
}

/* line 4036, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ruler:before {
  content: "\f545";
}

/* line 4040, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-align-left:before {
  content: "\f036";
}

/* line 4044, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dice-d6:before {
  content: "\f6d1";
}

/* line 4048, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-restroom:before {
  content: "\f7bd";
}

/* line 4052, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-j:before {
  content: "\4a";
}

/* line 4056, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-users-viewfinder:before {
  content: "\e595";
}

/* line 4060, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-video:before {
  content: "\f1c8";
}

/* line 4064, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-external-link-alt:before,
.fa-up-right-from-square:before {
  content: "\f35d";
}

/* line 4069, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-table-cells:before,
.fa-th:before {
  content: "\f00a";
}

/* line 4074, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-pdf:before {
  content: "\f1c1";
}

/* line 4078, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bible:before,
.fa-book-bible:before {
  content: "\f647";
}

/* line 4083, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-o:before {
  content: "\4f";
}

/* line 4087, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-medkit:before,
.fa-suitcase-medical:before {
  content: "\f0fa";
}

/* line 4092, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-user-secret:before {
  content: "\f21b";
}

/* line 4096, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-otter:before {
  content: "\f700";
}

/* line 4100, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-female:before,
.fa-person-dress:before {
  content: "\f182";
}

/* line 4105, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-comment-dollar:before {
  content: "\f651";
}

/* line 4109, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-briefcase-clock:before,
.fa-business-time:before {
  content: "\f64a";
}

/* line 4114, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-table-cells-large:before,
.fa-th-large:before {
  content: "\f009";
}

/* line 4119, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-book-tanakh:before,
.fa-tanakh:before {
  content: "\f827";
}

/* line 4124, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-phone-volume:before,
.fa-volume-control-phone:before {
  content: "\f2a0";
}

/* line 4129, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hat-cowboy-side:before {
  content: "\f8c1";
}

/* line 4133, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-clipboard-user:before {
  content: "\f7f3";
}

/* line 4137, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-child:before {
  content: "\f1ae";
}

/* line 4141, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-lira-sign:before {
  content: "\f195";
}

/* line 4145, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-satellite:before {
  content: "\f7bf";
}

/* line 4149, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-plane-lock:before {
  content: "\e558";
}

/* line 4153, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tag:before {
  content: "\f02b";
}

/* line 4157, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-comment:before {
  content: "\f075";
}

/* line 4161, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-birthday-cake:before,
.fa-cake-candles:before,
.fa-cake:before {
  content: "\f1fd";
}

/* line 4167, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-envelope:before {
  content: "\f0e0";
}

/* line 4171, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-angle-double-up:before,
.fa-angles-up:before {
  content: "\f102";
}

/* line 4176, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-paperclip:before {
  content: "\f0c6";
}

/* line 4180, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-right-to-city:before {
  content: "\e4b3";
}

/* line 4184, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ribbon:before {
  content: "\f4d6";
}

/* line 4188, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-lungs:before {
  content: "\f604";
}

/* line 4192, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-up-9-1:before,
.fa-sort-numeric-up-alt:before {
  content: "\f887";
}

/* line 4197, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-litecoin-sign:before {
  content: "\e1d3";
}

/* line 4201, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-border-none:before {
  content: "\f850";
}

/* line 4205, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-circle-nodes:before {
  content: "\e4e2";
}

/* line 4209, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-parachute-box:before {
  content: "\f4cd";
}

/* line 4213, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-indent:before {
  content: "\f03c";
}

/* line 4217, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-truck-field-un:before {
  content: "\e58e";
}

/* line 4221, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hourglass-empty:before,
.fa-hourglass:before {
  content: "\f254";
}

/* line 4226, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mountain:before {
  content: "\f6fc";
}

/* line 4230, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-user-doctor:before,
.fa-user-md:before {
  content: "\f0f0";
}

/* line 4235, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-circle-info:before,
.fa-info-circle:before {
  content: "\f05a";
}

/* line 4240, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cloud-meatball:before {
  content: "\f73b";
}

/* line 4244, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-camera-alt:before,
.fa-camera:before {
  content: "\f030";
}

/* line 4249, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-square-virus:before {
  content: "\e578";
}

/* line 4253, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-meteor:before {
  content: "\f753";
}

/* line 4257, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-car-on:before {
  content: "\e4dd";
}

/* line 4261, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sleigh:before {
  content: "\f7cc";
}

/* line 4265, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-down-1-9:before,
.fa-sort-numeric-asc:before,
.fa-sort-numeric-down:before {
  content: "\f162";
}

/* line 4271, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hand-holding-droplet:before,
.fa-hand-holding-water:before {
  content: "\f4c1";
}

/* line 4276, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-water:before {
  content: "\f773";
}

/* line 4280, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-calendar-check:before {
  content: "\f274";
}

/* line 4284, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-braille:before {
  content: "\f2a1";
}

/* line 4288, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-prescription-bottle-alt:before,
.fa-prescription-bottle-medical:before {
  content: "\f486";
}

/* line 4293, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-landmark:before {
  content: "\f66f";
}

/* line 4297, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-truck:before {
  content: "\f0d1";
}

/* line 4301, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-crosshairs:before {
  content: "\f05b";
}

/* line 4305, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-cane:before {
  content: "\e53c";
}

/* line 4309, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tent:before {
  content: "\e57d";
}

/* line 4313, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-vest-patches:before {
  content: "\e086";
}

/* line 4317, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-check-double:before {
  content: "\f560";
}

/* line 4321, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-down-a-z:before,
.fa-sort-alpha-asc:before,
.fa-sort-alpha-down:before {
  content: "\f15d";
}

/* line 4327, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-money-bill-wheat:before {
  content: "\e52a";
}

/* line 4331, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cookie:before {
  content: "\f563";
}

/* line 4335, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-left-rotate:before,
.fa-arrow-rotate-back:before,
.fa-arrow-rotate-backward:before,
.fa-arrow-rotate-left:before,
.fa-undo:before {
  content: "\f0e2";
}

/* line 4343, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hard-drive:before,
.fa-hdd:before {
  content: "\f0a0";
}

/* line 4348, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-grin-squint-tears:before,
.fa-grin-squint-tears:before {
  content: "\f586";
}

/* line 4353, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dumbbell:before {
  content: "\f44b";
}

/* line 4357, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-list-alt:before,
.fa-rectangle-list:before {
  content: "\f022";
}

/* line 4362, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tarp-droplet:before {
  content: "\e57c";
}

/* line 4366, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-house-medical-circle-check:before {
  content: "\e511";
}

/* line 4370, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-skiing-nordic:before,
.fa-skiing-nordic:before {
  content: "\f7ca";
}

/* line 4375, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-calendar-plus:before {
  content: "\f271";
}

/* line 4379, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-plane-arrival:before {
  content: "\f5af";
}

/* line 4383, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-alt-circle-left:before,
.fa-circle-left:before {
  content: "\f359";
}

/* line 4388, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-subway:before,
.fa-train-subway:before {
  content: "\f239";
}

/* line 4393, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chart-gantt:before {
  content: "\e0e4";
}

/* line 4397, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-indian-rupee-sign:before,
.fa-indian-rupee:before,
.fa-inr:before {
  content: "\e1bc";
}

/* line 4403, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-crop-alt:before,
.fa-crop-simple:before {
  content: "\f565";
}

/* line 4408, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-money-bill-1:before,
.fa-money-bill-alt:before {
  content: "\f3d1";
}

/* line 4413, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-left-long:before,
.fa-long-arrow-alt-left:before {
  content: "\f30a";
}

/* line 4418, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dna:before {
  content: "\f471";
}

/* line 4422, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-virus-slash:before {
  content: "\e075";
}

/* line 4426, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-minus:before,
.fa-subtract:before {
  content: "\f068";
}

/* line 4431, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chess:before {
  content: "\f439";
}

/* line 4435, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-left-long:before,
.fa-long-arrow-left:before {
  content: "\f177";
}

/* line 4440, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-plug-circle-check:before {
  content: "\e55c";
}

/* line 4444, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-street-view:before {
  content: "\f21d";
}

/* line 4448, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-franc-sign:before {
  content: "\e18f";
}

/* line 4452, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-volume-off:before {
  content: "\f026";
}

/* line 4456, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-american-sign-language-interpreting:before,
.fa-asl-interpreting:before,
.fa-hands-american-sign-language-interpreting:before,
.fa-hands-asl-interpreting:before {
  content: "\f2a3";
}

/* line 4463, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cog:before,
.fa-gear:before {
  content: "\f013";
}

/* line 4468, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-droplet-slash:before,
.fa-tint-slash:before {
  content: "\f5c7";
}

/* line 4473, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mosque:before {
  content: "\f678";
}

/* line 4477, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mosquito:before {
  content: "\e52b";
}

/* line 4481, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-star-of-david:before {
  content: "\f69a";
}

/* line 4485, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-military-rifle:before {
  content: "\e54b";
}

/* line 4489, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cart-shopping:before,
.fa-shopping-cart:before {
  content: "\f07a";
}

/* line 4494, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-vials:before {
  content: "\f493";
}

/* line 4498, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-plug-circle-plus:before {
  content: "\e55f";
}

/* line 4502, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-place-of-worship:before {
  content: "\f67f";
}

/* line 4506, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-grip-vertical:before {
  content: "\f58e";
}

/* line 4510, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-turn-up:before,
.fa-level-up:before {
  content: "\f148";
}

/* line 4515, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-u:before {
  content: "\55";
}

/* line 4519, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-square-root-alt:before,
.fa-square-root-variable:before {
  content: "\f698";
}

/* line 4524, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-clock-four:before,
.fa-clock:before {
  content: "\f017";
}

/* line 4529, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-backward-step:before,
.fa-step-backward:before {
  content: "\f048";
}

/* line 4534, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pallet:before {
  content: "\f482";
}

/* line 4538, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-faucet:before {
  content: "\e005";
}

/* line 4542, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-baseball-bat-ball:before {
  content: "\f432";
}

/* line 4546, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-s:before {
  content: "\53";
}

/* line 4550, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-timeline:before {
  content: "\e29c";
}

/* line 4554, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-keyboard:before {
  content: "\f11c";
}

/* line 4558, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-caret-down:before {
  content: "\f0d7";
}

/* line 4562, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-clinic-medical:before,
.fa-house-chimney-medical:before {
  content: "\f7f2";
}

/* line 4567, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-temperature-3:before,
.fa-temperature-three-quarters:before,
.fa-thermometer-3:before,
.fa-thermometer-three-quarters:before {
  content: "\f2c8";
}

/* line 4574, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mobile-android-alt:before,
.fa-mobile-screen:before {
  content: "\f3cf";
}

/* line 4579, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-plane-up:before {
  content: "\e22d";
}

/* line 4583, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-piggy-bank:before {
  content: "\f4d3";
}

/* line 4587, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-battery-3:before,
.fa-battery-half:before {
  content: "\f242";
}

/* line 4592, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mountain-city:before {
  content: "\e52e";
}

/* line 4596, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-coins:before {
  content: "\f51e";
}

/* line 4600, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-khanda:before {
  content: "\f66d";
}

/* line 4604, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sliders-h:before,
.fa-sliders:before {
  content: "\f1de";
}

/* line 4609, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-folder-tree:before {
  content: "\f802";
}

/* line 4613, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-network-wired:before {
  content: "\f6ff";
}

/* line 4617, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-map-pin:before {
  content: "\f276";
}

/* line 4621, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hamsa:before {
  content: "\f665";
}

/* line 4625, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cent-sign:before {
  content: "\e3f5";
}

/* line 4629, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-flask:before {
  content: "\f0c3";
}

/* line 4633, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-pregnant:before {
  content: "\e31e";
}

/* line 4637, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-wand-sparkles:before {
  content: "\f72b";
}

/* line 4641, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ellipsis-v:before,
.fa-ellipsis-vertical:before {
  content: "\f142";
}

/* line 4646, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ticket:before {
  content: "\f145";
}

/* line 4650, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-power-off:before {
  content: "\f011";
}

/* line 4654, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-long-arrow-alt-right:before,
.fa-right-long:before {
  content: "\f30b";
}

/* line 4659, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-flag-usa:before {
  content: "\f74d";
}

/* line 4663, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-laptop-file:before {
  content: "\e51d";
}

/* line 4667, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-teletype:before,
.fa-tty:before {
  content: "\f1e4";
}

/* line 4672, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-diagram-next:before {
  content: "\e476";
}

/* line 4676, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-rifle:before {
  content: "\e54e";
}

/* line 4680, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-house-medical-circle-exclamation:before {
  content: "\e512";
}

/* line 4684, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-closed-captioning:before {
  content: "\f20a";
}

/* line 4688, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hiking:before,
.fa-person-hiking:before {
  content: "\f6ec";
}

/* line 4693, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-venus-double:before {
  content: "\f226";
}

/* line 4697, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-images:before {
  content: "\f302";
}

/* line 4701, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-calculator:before {
  content: "\f1ec";
}

/* line 4705, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-people-pulling:before {
  content: "\e535";
}

/* line 4709, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-n:before {
  content: "\4e";
}

/* line 4713, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cable-car:before,
.fa-tram:before {
  content: "\f7da";
}

/* line 4718, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cloud-rain:before {
  content: "\f73d";
}

/* line 4722, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-building-circle-xmark:before {
  content: "\e4d4";
}

/* line 4726, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ship:before {
  content: "\f21a";
}

/* line 4730, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrows-down-to-line:before {
  content: "\e4b8";
}

/* line 4734, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-download:before {
  content: "\f019";
}

/* line 4738, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-grin:before,
.fa-grin:before {
  content: "\f580";
}

/* line 4743, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-backspace:before,
.fa-delete-left:before {
  content: "\f55a";
}

/* line 4748, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-eye-dropper-empty:before,
.fa-eye-dropper:before,
.fa-eyedropper:before {
  content: "\f1fb";
}

/* line 4754, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-circle-check:before {
  content: "\e5a0";
}

/* line 4758, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-forward:before {
  content: "\f04e";
}

/* line 4762, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mobile-android:before,
.fa-mobile-phone:before,
.fa-mobile:before {
  content: "\f3ce";
}

/* line 4768, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-meh:before,
.fa-meh:before {
  content: "\f11a";
}

/* line 4773, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-align-center:before {
  content: "\f037";
}

/* line 4777, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-book-dead:before,
.fa-book-skull:before {
  content: "\f6b7";
}

/* line 4782, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-drivers-license:before,
.fa-id-card:before {
  content: "\f2c2";
}

/* line 4787, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dedent:before,
.fa-outdent:before {
  content: "\f03b";
}

/* line 4792, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-heart-circle-exclamation:before {
  content: "\e4fe";
}

/* line 4796, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-home-alt:before,
.fa-home-lg-alt:before,
.fa-home:before,
.fa-house:before {
  content: "\f015";
}

/* line 4803, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-calendar-week:before {
  content: "\f784";
}

/* line 4807, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-laptop-medical:before {
  content: "\f812";
}

/* line 4811, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-b:before {
  content: "\42";
}

/* line 4815, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-medical:before {
  content: "\f477";
}

/* line 4819, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dice-one:before {
  content: "\f525";
}

/* line 4823, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-kiwi-bird:before {
  content: "\f535";
}

/* line 4827, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-right-arrow-left:before,
.fa-exchange:before {
  content: "\f0ec";
}

/* line 4832, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-redo-alt:before,
.fa-rotate-forward:before,
.fa-rotate-right:before {
  content: "\f2f9";
}

/* line 4838, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cutlery:before,
.fa-utensils:before {
  content: "\f2e7";
}

/* line 4843, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-up-wide-short:before,
.fa-sort-amount-up:before {
  content: "\f161";
}

/* line 4848, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mill-sign:before {
  content: "\e1ed";
}

/* line 4852, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bowl-rice:before {
  content: "\e2eb";
}

/* line 4856, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-skull:before {
  content: "\f54c";
}

/* line 4860, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-broadcast-tower:before,
.fa-tower-broadcast:before {
  content: "\f519";
}

/* line 4865, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-truck-pickup:before {
  content: "\f63c";
}

/* line 4869, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-long-arrow-alt-up:before,
.fa-up-long:before {
  content: "\f30c";
}

/* line 4874, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-stop:before {
  content: "\f04d";
}

/* line 4878, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-code-merge:before {
  content: "\f387";
}

/* line 4882, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-upload:before {
  content: "\f093";
}

/* line 4886, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hurricane:before {
  content: "\f751";
}

/* line 4890, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mound:before {
  content: "\e52d";
}

/* line 4894, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-toilet-portable:before {
  content: "\e583";
}

/* line 4898, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-compact-disc:before {
  content: "\f51f";
}

/* line 4902, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-arrow-down:before,
.fa-file-download:before {
  content: "\f56d";
}

/* line 4907, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-caravan:before {
  content: "\f8ff";
}

/* line 4911, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-shield-cat:before {
  content: "\e572";
}

/* line 4915, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bolt:before,
.fa-zap:before {
  content: "\f0e7";
}

/* line 4920, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-glass-water:before {
  content: "\e4f4";
}

/* line 4924, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-oil-well:before {
  content: "\e532";
}

/* line 4928, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-vault:before {
  content: "\e2c5";
}

/* line 4932, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mars:before {
  content: "\f222";
}

/* line 4936, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-toilet:before {
  content: "\f7d8";
}

/* line 4940, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-plane-circle-xmark:before {
  content: "\e557";
}

/* line 4944, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cny:before,
.fa-jpy:before,
.fa-rmb:before,
.fa-yen-sign:before,
.fa-yen:before {
  content: "\f157";
}

/* line 4952, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-rouble:before,
.fa-rub:before,
.fa-ruble-sign:before,
.fa-ruble:before {
  content: "\f158";
}

/* line 4959, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sun:before {
  content: "\f185";
}

/* line 4963, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-guitar:before {
  content: "\f7a6";
}

/* line 4967, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-laugh-wink:before,
.fa-laugh-wink:before {
  content: "\f59c";
}

/* line 4972, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-horse-head:before {
  content: "\f7ab";
}

/* line 4976, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bore-hole:before {
  content: "\e4c3";
}

/* line 4980, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-industry:before {
  content: "\f275";
}

/* line 4984, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-alt-circle-down:before,
.fa-circle-down:before {
  content: "\f358";
}

/* line 4989, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrows-turn-to-dots:before {
  content: "\e4c1";
}

/* line 4993, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-florin-sign:before {
  content: "\e184";
}

/* line 4997, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-down-short-wide:before,
.fa-sort-amount-desc:before,
.fa-sort-amount-down-alt:before {
  content: "\f884";
}

/* line 5003, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-less-than:before {
  content: "\3c";
}

/* line 5007, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-angle-down:before {
  content: "\f107";
}

/* line 5011, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-car-tunnel:before {
  content: "\e4de";
}

/* line 5015, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-head-side-cough:before {
  content: "\e061";
}

/* line 5019, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-grip-lines:before {
  content: "\f7a4";
}

/* line 5023, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-thumbs-down:before {
  content: "\f165";
}

/* line 5027, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-user-lock:before {
  content: "\f502";
}

/* line 5031, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-right-long:before,
.fa-long-arrow-right:before {
  content: "\f178";
}

/* line 5036, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-anchor-circle-xmark:before {
  content: "\e4ac";
}

/* line 5040, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ellipsis-h:before,
.fa-ellipsis:before {
  content: "\f141";
}

/* line 5045, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chess-pawn:before {
  content: "\f443";
}

/* line 5049, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-first-aid:before,
.fa-kit-medical:before {
  content: "\f479";
}

/* line 5054, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-through-window:before {
  content: "\e5a9";
}

/* line 5058, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-toolbox:before {
  content: "\f552";
}

/* line 5062, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hands-holding-circle:before {
  content: "\e4fb";
}

/* line 5066, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bug:before {
  content: "\f188";
}

/* line 5070, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-credit-card-alt:before,
.fa-credit-card:before {
  content: "\f09d";
}

/* line 5075, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-automobile:before,
.fa-car:before {
  content: "\f1b9";
}

/* line 5080, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hand-holding-hand:before {
  content: "\e4f7";
}

/* line 5084, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-book-open-reader:before,
.fa-book-reader:before {
  content: "\f5da";
}

/* line 5089, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mountain-sun:before {
  content: "\e52f";
}

/* line 5093, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrows-left-right-to-line:before {
  content: "\e4ba";
}

/* line 5097, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dice-d20:before {
  content: "\f6cf";
}

/* line 5101, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-truck-droplet:before {
  content: "\e58c";
}

/* line 5105, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-circle-xmark:before {
  content: "\e5a1";
}

/* line 5109, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-temperature-arrow-up:before,
.fa-temperature-up:before {
  content: "\e040";
}

/* line 5114, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-medal:before {
  content: "\f5a2";
}

/* line 5118, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bed:before {
  content: "\f236";
}

/* line 5122, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-h-square:before,
.fa-square-h:before {
  content: "\f0fd";
}

/* line 5127, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-podcast:before {
  content: "\f2ce";
}

/* line 5131, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-temperature-4:before,
.fa-temperature-full:before,
.fa-thermometer-4:before,
.fa-thermometer-full:before {
  content: "\f2c7";
}

/* line 5138, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bell:before {
  content: "\f0f3";
}

/* line 5142, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-superscript:before {
  content: "\f12b";
}

/* line 5146, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-plug-circle-xmark:before {
  content: "\e560";
}

/* line 5150, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-star-of-life:before {
  content: "\f621";
}

/* line 5154, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-phone-slash:before {
  content: "\f3dd";
}

/* line 5158, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-paint-roller:before {
  content: "\f5aa";
}

/* line 5162, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hands-helping:before,
.fa-handshake-angle:before {
  content: "\f4c4";
}

/* line 5167, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-location-dot:before,
.fa-map-marker-alt:before {
  content: "\f3c5";
}

/* line 5172, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file:before {
  content: "\f15b";
}

/* line 5176, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-greater-than:before {
  content: "\3e";
}

/* line 5180, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-swimming:before,
.fa-swimmer:before {
  content: "\f5c4";
}

/* line 5185, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-down:before {
  content: "\f063";
}

/* line 5189, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-droplet:before,
.fa-tint:before {
  content: "\f043";
}

/* line 5194, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-eraser:before {
  content: "\f12d";
}

/* line 5198, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-earth-america:before,
.fa-earth-americas:before,
.fa-earth:before,
.fa-globe-americas:before {
  content: "\f57d";
}

/* line 5205, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-burst:before {
  content: "\e53b";
}

/* line 5209, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dove:before {
  content: "\f4ba";
}

/* line 5213, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-battery-0:before,
.fa-battery-empty:before {
  content: "\f244";
}

/* line 5218, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-socks:before {
  content: "\f696";
}

/* line 5222, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-inbox:before {
  content: "\f01c";
}

/* line 5226, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-section:before {
  content: "\e447";
}

/* line 5230, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-gauge-high:before,
.fa-tachometer-alt-fast:before,
.fa-tachometer-alt:before {
  content: "\f625";
}

/* line 5236, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-envelope-open-text:before {
  content: "\f658";
}

/* line 5240, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hospital-alt:before,
.fa-hospital-wide:before,
.fa-hospital:before {
  content: "\f0f8";
}

/* line 5246, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-wine-bottle:before {
  content: "\f72f";
}

/* line 5250, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chess-rook:before {
  content: "\f447";
}

/* line 5254, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bars-staggered:before,
.fa-reorder:before,
.fa-stream:before {
  content: "\f550";
}

/* line 5260, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dharmachakra:before {
  content: "\f655";
}

/* line 5264, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hotdog:before {
  content: "\f80f";
}

/* line 5268, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-blind:before,
.fa-person-walking-with-cane:before {
  content: "\f29d";
}

/* line 5273, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-drum:before {
  content: "\f569";
}

/* line 5277, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ice-cream:before {
  content: "\f810";
}

/* line 5281, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-heart-circle-bolt:before {
  content: "\e4fc";
}

/* line 5285, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-fax:before {
  content: "\f1ac";
}

/* line 5289, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-paragraph:before {
  content: "\f1dd";
}

/* line 5293, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-check-to-slot:before,
.fa-vote-yea:before {
  content: "\f772";
}

/* line 5298, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-star-half:before {
  content: "\f089";
}

/* line 5302, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-boxes-alt:before,
.fa-boxes-stacked:before,
.fa-boxes:before {
  content: "\f468";
}

/* line 5308, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chain:before,
.fa-link:before {
  content: "\f0c1";
}

/* line 5313, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-assistive-listening-systems:before,
.fa-ear-listen:before {
  content: "\f2a2";
}

/* line 5318, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tree-city:before {
  content: "\e587";
}

/* line 5322, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-play:before {
  content: "\f04b";
}

/* line 5326, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-font:before {
  content: "\f031";
}

/* line 5330, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-rupiah-sign:before {
  content: "\e23d";
}

/* line 5334, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-magnifying-glass:before,
.fa-search:before {
  content: "\f002";
}

/* line 5339, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ping-pong-paddle-ball:before,
.fa-table-tennis-paddle-ball:before,
.fa-table-tennis:before {
  content: "\f45d";
}

/* line 5345, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-diagnoses:before,
.fa-person-dots-from-line:before {
  content: "\f470";
}

/* line 5350, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-trash-can-arrow-up:before,
.fa-trash-restore-alt:before {
  content: "\f82a";
}

/* line 5355, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-naira-sign:before {
  content: "\e1f6";
}

/* line 5359, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cart-arrow-down:before {
  content: "\f218";
}

/* line 5363, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-walkie-talkie:before {
  content: "\f8ef";
}

/* line 5367, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-edit:before,
.fa-file-pen:before {
  content: "\f31c";
}

/* line 5372, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-receipt:before {
  content: "\f543";
}

/* line 5376, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pen-square:before,
.fa-pencil-square:before,
.fa-square-pen:before {
  content: "\f14b";
}

/* line 5382, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-suitcase-rolling:before {
  content: "\f5c1";
}

/* line 5386, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-circle-exclamation:before {
  content: "\e53f";
}

/* line 5390, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chevron-down:before {
  content: "\f078";
}

/* line 5394, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-battery-5:before,
.fa-battery-full:before,
.fa-battery:before {
  content: "\f240";
}

/* line 5400, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-skull-crossbones:before {
  content: "\f714";
}

/* line 5404, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-code-compare:before {
  content: "\e13a";
}

/* line 5408, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-list-dots:before,
.fa-list-ul:before {
  content: "\f0ca";
}

/* line 5413, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-school-lock:before {
  content: "\e56f";
}

/* line 5417, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tower-cell:before {
  content: "\e585";
}

/* line 5421, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-down-long:before,
.fa-long-arrow-alt-down:before {
  content: "\f309";
}

/* line 5426, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ranking-star:before {
  content: "\e561";
}

/* line 5430, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chess-king:before {
  content: "\f43f";
}

/* line 5434, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-harassing:before {
  content: "\e549";
}

/* line 5438, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-brazilian-real-sign:before {
  content: "\e46c";
}

/* line 5442, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-landmark-alt:before,
.fa-landmark-dome:before {
  content: "\f752";
}

/* line 5447, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-up:before {
  content: "\f062";
}

/* line 5451, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-television:before,
.fa-tv-alt:before,
.fa-tv:before {
  content: "\f26c";
}

/* line 5457, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-shrimp:before {
  content: "\e448";
}

/* line 5461, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-list-check:before,
.fa-tasks:before {
  content: "\f0ae";
}

/* line 5466, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-jug-detergent:before {
  content: "\e519";
}

/* line 5470, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-circle-user:before,
.fa-user-circle:before {
  content: "\f2bd";
}

/* line 5475, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-user-shield:before {
  content: "\f505";
}

/* line 5479, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-wind:before {
  content: "\f72e";
}

/* line 5483, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-car-burst:before,
.fa-car-crash:before {
  content: "\f5e1";
}

/* line 5488, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-y:before {
  content: "\59";
}

/* line 5492, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-snowboarding:before,
.fa-snowboarding:before {
  content: "\f7ce";
}

/* line 5497, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-shipping-fast:before,
.fa-truck-fast:before {
  content: "\f48b";
}

/* line 5502, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-fish:before {
  content: "\f578";
}

/* line 5506, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-user-graduate:before {
  content: "\f501";
}

/* line 5510, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-adjust:before,
.fa-circle-half-stroke:before {
  content: "\f042";
}

/* line 5515, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-clapperboard:before {
  content: "\e131";
}

/* line 5519, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-circle-radiation:before,
.fa-radiation-alt:before {
  content: "\f7ba";
}

/* line 5524, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-baseball-ball:before,
.fa-baseball:before {
  content: "\f433";
}

/* line 5529, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-jet-fighter-up:before {
  content: "\e518";
}

/* line 5533, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-diagram-project:before,
.fa-project-diagram:before {
  content: "\f542";
}

/* line 5538, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-copy:before {
  content: "\f0c5";
}

/* line 5542, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-volume-mute:before,
.fa-volume-times:before,
.fa-volume-xmark:before {
  content: "\f6a9";
}

/* line 5548, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hand-sparkles:before {
  content: "\e05d";
}

/* line 5552, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-grip-horizontal:before,
.fa-grip:before {
  content: "\f58d";
}

/* line 5557, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-share-from-square:before,
.fa-share-square:before {
  content: "\f14d";
}

/* line 5562, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-child-combatant:before,
.fa-child-rifle:before {
  content: "\e4e0";
}

/* line 5567, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-gun:before {
  content: "\e19b";
}

/* line 5571, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-phone-square:before,
.fa-square-phone:before {
  content: "\f098";
}

/* line 5576, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-add:before,
.fa-plus:before {
  content: "\2b";
}

/* line 5581, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-expand:before {
  content: "\f065";
}

/* line 5585, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-computer:before {
  content: "\e4e5";
}

/* line 5589, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-close:before,
.fa-multiply:before,
.fa-remove:before,
.fa-times:before,
.fa-xmark:before {
  content: "\f00d";
}

/* line 5597, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrows-up-down-left-right:before,
.fa-arrows:before {
  content: "\f047";
}

/* line 5602, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chalkboard-teacher:before,
.fa-chalkboard-user:before {
  content: "\f51c";
}

/* line 5607, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-peso-sign:before {
  content: "\e222";
}

/* line 5611, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-building-shield:before {
  content: "\e4d8";
}

/* line 5615, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-baby:before {
  content: "\f77c";
}

/* line 5619, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-users-line:before {
  content: "\e592";
}

/* line 5623, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-quote-left-alt:before,
.fa-quote-left:before {
  content: "\f10d";
}

/* line 5628, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tractor:before {
  content: "\f722";
}

/* line 5632, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-trash-arrow-up:before,
.fa-trash-restore:before {
  content: "\f829";
}

/* line 5637, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-down-up-lock:before {
  content: "\e4b0";
}

/* line 5641, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-lines-leaning:before {
  content: "\e51e";
}

/* line 5645, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ruler-combined:before {
  content: "\f546";
}

/* line 5649, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-copyright:before {
  content: "\f1f9";
}

/* line 5653, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-equals:before {
  content: "\3d";
}

/* line 5657, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-blender:before {
  content: "\f517";
}

/* line 5661, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-teeth:before {
  content: "\f62e";
}

/* line 5665, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ils:before,
.fa-shekel-sign:before,
.fa-shekel:before,
.fa-sheqel-sign:before,
.fa-sheqel:before {
  content: "\f20b";
}

/* line 5673, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-map:before {
  content: "\f279";
}

/* line 5677, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-rocket:before {
  content: "\f135";
}

/* line 5681, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-photo-film:before,
.fa-photo-video:before {
  content: "\f87c";
}

/* line 5686, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-folder-minus:before {
  content: "\f65d";
}

/* line 5690, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-store:before {
  content: "\f54e";
}

/* line 5694, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-trend-up:before {
  content: "\e098";
}

/* line 5698, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-plug-circle-minus:before {
  content: "\e55e";
}

/* line 5702, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sign-hanging:before,
.fa-sign:before {
  content: "\f4d9";
}

/* line 5707, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bezier-curve:before {
  content: "\f55b";
}

/* line 5711, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bell-slash:before {
  content: "\f1f6";
}

/* line 5715, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tablet-android:before,
.fa-tablet:before {
  content: "\f3fb";
}

/* line 5720, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-school-flag:before {
  content: "\e56e";
}

/* line 5724, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-fill:before {
  content: "\f575";
}

/* line 5728, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-angle-up:before {
  content: "\f106";
}

/* line 5732, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-drumstick-bite:before {
  content: "\f6d7";
}

/* line 5736, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-holly-berry:before {
  content: "\f7aa";
}

/* line 5740, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chevron-left:before {
  content: "\f053";
}

/* line 5744, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bacteria:before {
  content: "\e059";
}

/* line 5748, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hand-lizard:before {
  content: "\f258";
}

/* line 5752, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-notdef:before {
  content: "\e1fe";
}

/* line 5756, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-disease:before {
  content: "\f7fa";
}

/* line 5760, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-briefcase-medical:before {
  content: "\f469";
}

/* line 5764, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-genderless:before {
  content: "\f22d";
}

/* line 5768, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chevron-right:before {
  content: "\f054";
}

/* line 5772, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-retweet:before {
  content: "\f079";
}

/* line 5776, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-car-alt:before,
.fa-car-rear:before {
  content: "\f5de";
}

/* line 5781, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pump-soap:before {
  content: "\e06b";
}

/* line 5785, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-video-slash:before {
  content: "\f4e2";
}

/* line 5789, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-battery-2:before,
.fa-battery-quarter:before {
  content: "\f243";
}

/* line 5794, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-radio:before {
  content: "\f8d7";
}

/* line 5798, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-baby-carriage:before,
.fa-carriage-baby:before {
  content: "\f77d";
}

/* line 5803, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-traffic-light:before {
  content: "\f637";
}

/* line 5807, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-thermometer:before {
  content: "\f491";
}

/* line 5811, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-vr-cardboard:before {
  content: "\f729";
}

/* line 5815, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hand-middle-finger:before {
  content: "\f806";
}

/* line 5819, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-percent:before,
.fa-percentage:before {
  content: "\25";
}

/* line 5824, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-truck-moving:before {
  content: "\f4df";
}

/* line 5828, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-glass-water-droplet:before {
  content: "\e4f5";
}

/* line 5832, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-display:before {
  content: "\e163";
}

/* line 5836, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-smile:before,
.fa-smile:before {
  content: "\f118";
}

/* line 5841, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-thumb-tack:before,
.fa-thumbtack:before {
  content: "\f08d";
}

/* line 5846, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-trophy:before {
  content: "\f091";
}

/* line 5850, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-praying:before,
.fa-pray:before {
  content: "\f683";
}

/* line 5855, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hammer:before {
  content: "\f6e3";
}

/* line 5859, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hand-peace:before {
  content: "\f25b";
}

/* line 5863, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-rotate:before,
.fa-sync-alt:before {
  content: "\f2f1";
}

/* line 5868, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-spinner:before {
  content: "\f110";
}

/* line 5872, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-robot:before {
  content: "\f544";
}

/* line 5876, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-peace:before {
  content: "\f67c";
}

/* line 5880, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cogs:before,
.fa-gears:before {
  content: "\f085";
}

/* line 5885, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-warehouse:before {
  content: "\f494";
}

/* line 5889, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-up-right-dots:before {
  content: "\e4b7";
}

/* line 5893, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-splotch:before {
  content: "\f5bc";
}

/* line 5897, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-grin-hearts:before,
.fa-grin-hearts:before {
  content: "\f584";
}

/* line 5902, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dice-four:before {
  content: "\f524";
}

/* line 5906, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sim-card:before {
  content: "\f7c4";
}

/* line 5910, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-transgender-alt:before,
.fa-transgender:before {
  content: "\f225";
}

/* line 5915, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mercury:before {
  content: "\f223";
}

/* line 5919, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-turn-down:before,
.fa-level-down:before {
  content: "\f149";
}

/* line 5924, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-falling-burst:before {
  content: "\e547";
}

/* line 5928, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-award:before {
  content: "\f559";
}

/* line 5932, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ticket-alt:before,
.fa-ticket-simple:before {
  content: "\f3ff";
}

/* line 5937, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-building:before {
  content: "\f1ad";
}

/* line 5941, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-angle-double-left:before,
.fa-angles-left:before {
  content: "\f100";
}

/* line 5946, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-qrcode:before {
  content: "\f029";
}

/* line 5950, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-clock-rotate-left:before,
.fa-history:before {
  content: "\f1da";
}

/* line 5955, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-grin-beam-sweat:before,
.fa-grin-beam-sweat:before {
  content: "\f583";
}

/* line 5960, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-right-from-file:before,
.fa-file-export:before {
  content: "\f56e";
}

/* line 5965, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-shield-blank:before,
.fa-shield:before {
  content: "\f132";
}

/* line 5970, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-up-short-wide:before,
.fa-sort-amount-up-alt:before {
  content: "\f885";
}

/* line 5975, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-house-medical:before {
  content: "\e3b2";
}

/* line 5979, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-golf-ball-tee:before,
.fa-golf-ball:before {
  content: "\f450";
}

/* line 5984, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chevron-circle-left:before,
.fa-circle-chevron-left:before {
  content: "\f137";
}

/* line 5989, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-house-chimney-window:before {
  content: "\e00d";
}

/* line 5993, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pen-nib:before {
  content: "\f5ad";
}

/* line 5997, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tent-arrow-turn-left:before {
  content: "\e580";
}

/* line 6001, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tents:before {
  content: "\e582";
}

/* line 6005, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-magic:before,
.fa-wand-magic:before {
  content: "\f0d0";
}

/* line 6010, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dog:before {
  content: "\f6d3";
}

/* line 6014, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-carrot:before {
  content: "\f787";
}

/* line 6018, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-moon:before {
  content: "\f186";
}

/* line 6022, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-wine-glass-alt:before,
.fa-wine-glass-empty:before {
  content: "\f5ce";
}

/* line 6027, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cheese:before {
  content: "\f7ef";
}

/* line 6031, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-yin-yang:before {
  content: "\f6ad";
}

/* line 6035, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-music:before {
  content: "\f001";
}

/* line 6039, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-code-commit:before {
  content: "\f386";
}

/* line 6043, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-temperature-low:before {
  content: "\f76b";
}

/* line 6047, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-biking:before,
.fa-person-biking:before {
  content: "\f84a";
}

/* line 6052, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-broom:before {
  content: "\f51a";
}

/* line 6056, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-shield-heart:before {
  content: "\e574";
}

/* line 6060, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-gopuram:before {
  content: "\f664";
}

/* line 6064, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-earth-oceania:before,
.fa-globe-oceania:before {
  content: "\e47b";
}

/* line 6069, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-square-xmark:before,
.fa-times-square:before,
.fa-xmark-square:before {
  content: "\f2d3";
}

/* line 6075, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hashtag:before {
  content: "\23";
}

/* line 6079, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-expand-alt:before,
.fa-up-right-and-down-left-from-center:before {
  content: "\f424";
}

/* line 6084, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-oil-can:before {
  content: "\f613";
}

/* line 6088, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-t:before {
  content: "\54";
}

/* line 6092, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hippo:before {
  content: "\f6ed";
}

/* line 6096, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chart-column:before {
  content: "\e0e3";
}

/* line 6100, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-infinity:before {
  content: "\f534";
}

/* line 6104, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-vial-circle-check:before {
  content: "\e596";
}

/* line 6108, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-arrow-down-to-line:before {
  content: "\e538";
}

/* line 6112, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-voicemail:before {
  content: "\f897";
}

/* line 6116, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-fan:before {
  content: "\f863";
}

/* line 6120, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-walking-luggage:before {
  content: "\e554";
}

/* line 6124, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrows-alt-v:before,
.fa-up-down:before {
  content: "\f338";
}

/* line 6129, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cloud-moon-rain:before {
  content: "\f73c";
}

/* line 6133, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-calendar:before {
  content: "\f133";
}

/* line 6137, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-trailer:before {
  content: "\e041";
}

/* line 6141, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bahai:before,
.fa-haykal:before {
  content: "\f666";
}

/* line 6146, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sd-card:before {
  content: "\f7c2";
}

/* line 6150, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dragon:before {
  content: "\f6d5";
}

/* line 6154, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-shoe-prints:before {
  content: "\f54b";
}

/* line 6158, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-circle-plus:before,
.fa-plus-circle:before {
  content: "\f055";
}

/* line 6163, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-grin-tongue-wink:before,
.fa-grin-tongue-wink:before {
  content: "\f58b";
}

/* line 6168, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hand-holding:before {
  content: "\f4bd";
}

/* line 6172, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-plug-circle-exclamation:before {
  content: "\e55d";
}

/* line 6176, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chain-broken:before,
.fa-chain-slash:before,
.fa-link-slash:before,
.fa-unlink:before {
  content: "\f127";
}

/* line 6183, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-clone:before {
  content: "\f24d";
}

/* line 6187, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-walking-arrow-loop-left:before {
  content: "\e551";
}

/* line 6191, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-up-z-a:before,
.fa-sort-alpha-up-alt:before {
  content: "\f882";
}

/* line 6196, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-fire-alt:before,
.fa-fire-flame-curved:before {
  content: "\f7e4";
}

/* line 6201, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tornado:before {
  content: "\f76f";
}

/* line 6205, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-circle-plus:before {
  content: "\e494";
}

/* line 6209, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-book-quran:before,
.fa-quran:before {
  content: "\f687";
}

/* line 6214, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-anchor:before {
  content: "\f13d";
}

/* line 6218, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-border-all:before {
  content: "\f84c";
}

/* line 6222, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-angry:before,
.fa-face-angry:before {
  content: "\f556";
}

/* line 6227, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cookie-bite:before {
  content: "\f564";
}

/* line 6231, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-trend-down:before {
  content: "\e097";
}

/* line 6235, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-feed:before,
.fa-rss:before {
  content: "\f09e";
}

/* line 6240, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-draw-polygon:before {
  content: "\f5ee";
}

/* line 6244, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-balance-scale:before,
.fa-scale-balanced:before {
  content: "\f24e";
}

/* line 6249, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-gauge-simple-high:before,
.fa-tachometer-fast:before,
.fa-tachometer:before {
  content: "\f62a";
}

/* line 6255, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-shower:before {
  content: "\f2cc";
}

/* line 6259, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-desktop-alt:before,
.fa-desktop:before {
  content: "\f390";
}

/* line 6264, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-m:before {
  content: "\4d";
}

/* line 6268, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-table-list:before,
.fa-th-list:before {
  content: "\f00b";
}

/* line 6273, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-comment-sms:before,
.fa-sms:before {
  content: "\f7cd";
}

/* line 6278, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-book:before {
  content: "\f02d";
}

/* line 6282, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-user-plus:before {
  content: "\f234";
}

/* line 6286, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-check:before {
  content: "\f00c";
}

/* line 6290, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-battery-4:before,
.fa-battery-three-quarters:before {
  content: "\f241";
}

/* line 6295, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-house-circle-check:before {
  content: "\e509";
}

/* line 6299, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-angle-left:before {
  content: "\f104";
}

/* line 6303, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-diagram-successor:before {
  content: "\e47a";
}

/* line 6307, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-truck-arrow-right:before {
  content: "\e58b";
}

/* line 6311, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrows-split-up-and-left:before {
  content: "\e4bc";
}

/* line 6315, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-fist-raised:before,
.fa-hand-fist:before {
  content: "\f6de";
}

/* line 6320, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cloud-moon:before {
  content: "\f6c3";
}

/* line 6324, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-briefcase:before {
  content: "\f0b1";
}

/* line 6328, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-falling:before {
  content: "\e546";
}

/* line 6332, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-image-portrait:before,
.fa-portrait:before {
  content: "\f3e0";
}

/* line 6337, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-user-tag:before {
  content: "\f507";
}

/* line 6341, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-rug:before {
  content: "\e569";
}

/* line 6345, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-earth-europe:before,
.fa-globe-europe:before {
  content: "\f7a2";
}

/* line 6350, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cart-flatbed-suitcase:before,
.fa-luggage-cart:before {
  content: "\f59d";
}

/* line 6355, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-rectangle-times:before,
.fa-rectangle-xmark:before,
.fa-times-rectangle:before,
.fa-window-close:before {
  content: "\f410";
}

/* line 6362, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-baht-sign:before {
  content: "\e0ac";
}

/* line 6366, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-book-open:before {
  content: "\f518";
}

/* line 6370, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-book-journal-whills:before,
.fa-journal-whills:before {
  content: "\f66a";
}

/* line 6375, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-handcuffs:before {
  content: "\e4f8";
}

/* line 6379, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-exclamation-triangle:before,
.fa-triangle-exclamation:before,
.fa-warning:before {
  content: "\f071";
}

/* line 6385, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-database:before {
  content: "\f1c0";
}

/* line 6389, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-turn-right:before,
.fa-mail-forward:before,
.fa-share:before {
  content: "\f064";
}

/* line 6395, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bottle-droplet:before {
  content: "\e4c4";
}

/* line 6399, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mask-face:before {
  content: "\e1d7";
}

/* line 6403, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hill-rockslide:before {
  content: "\e508";
}

/* line 6407, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-exchange-alt:before,
.fa-right-left:before {
  content: "\f362";
}

/* line 6412, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-paper-plane:before {
  content: "\f1d8";
}

/* line 6416, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-road-circle-exclamation:before {
  content: "\e565";
}

/* line 6420, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dungeon:before {
  content: "\f6d9";
}

/* line 6424, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-align-right:before {
  content: "\f038";
}

/* line 6428, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-money-bill-1-wave:before,
.fa-money-bill-wave-alt:before {
  content: "\f53b";
}

/* line 6433, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-life-ring:before {
  content: "\f1cd";
}

/* line 6437, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hands:before,
.fa-sign-language:before,
.fa-signing:before {
  content: "\f2a7";
}

/* line 6443, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-calendar-day:before {
  content: "\f783";
}

/* line 6447, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ladder-water:before,
.fa-swimming-pool:before,
.fa-water-ladder:before {
  content: "\f5c5";
}

/* line 6453, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrows-up-down:before,
.fa-arrows-v:before {
  content: "\f07d";
}

/* line 6458, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-grimace:before,
.fa-grimace:before {
  content: "\f57f";
}

/* line 6463, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-wheelchair-alt:before,
.fa-wheelchair-move:before {
  content: "\e2ce";
}

/* line 6468, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-level-down-alt:before,
.fa-turn-down:before {
  content: "\f3be";
}

/* line 6473, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-walking-arrow-right:before {
  content: "\e552";
}

/* line 6477, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-envelope-square:before,
.fa-square-envelope:before {
  content: "\f199";
}

/* line 6482, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dice:before {
  content: "\f522";
}

/* line 6486, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bowling-ball:before {
  content: "\f436";
}

/* line 6490, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-brain:before {
  content: "\f5dc";
}

/* line 6494, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-band-aid:before,
.fa-bandage:before {
  content: "\f462";
}

/* line 6499, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-calendar-minus:before {
  content: "\f272";
}

/* line 6503, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-circle-xmark:before,
.fa-times-circle:before,
.fa-xmark-circle:before {
  content: "\f057";
}

/* line 6509, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-gifts:before {
  content: "\f79c";
}

/* line 6513, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hotel:before {
  content: "\f594";
}

/* line 6517, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-earth-asia:before,
.fa-globe-asia:before {
  content: "\f57e";
}

/* line 6522, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-id-card-alt:before,
.fa-id-card-clip:before {
  content: "\f47f";
}

/* line 6527, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-magnifying-glass-plus:before,
.fa-search-plus:before {
  content: "\f00e";
}

/* line 6532, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-thumbs-up:before {
  content: "\f164";
}

/* line 6536, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-user-clock:before {
  content: "\f4fd";
}

/* line 6540, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-allergies:before,
.fa-hand-dots:before {
  content: "\f461";
}

/* line 6545, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-file-invoice:before {
  content: "\f570";
}

/* line 6549, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-window-minimize:before {
  content: "\f2d1";
}

/* line 6553, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-coffee:before,
.fa-mug-saucer:before {
  content: "\f0f4";
}

/* line 6558, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-brush:before {
  content: "\f55d";
}

/* line 6562, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mask:before {
  content: "\f6fa";
}

/* line 6566, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-magnifying-glass-minus:before,
.fa-search-minus:before {
  content: "\f010";
}

/* line 6571, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ruler-vertical:before {
  content: "\f548";
}

/* line 6575, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-user-alt:before,
.fa-user-large:before {
  content: "\f406";
}

/* line 6580, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-train-tram:before {
  content: "\e5b4";
}

/* line 6584, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-user-nurse:before {
  content: "\f82f";
}

/* line 6588, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-syringe:before {
  content: "\f48e";
}

/* line 6592, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cloud-sun:before {
  content: "\f6c4";
}

/* line 6596, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-stopwatch-20:before {
  content: "\e06f";
}

/* line 6600, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-square-full:before {
  content: "\f45c";
}

/* line 6604, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-magnet:before {
  content: "\f076";
}

/* line 6608, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-jar:before {
  content: "\e516";
}

/* line 6612, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-note-sticky:before,
.fa-sticky-note:before {
  content: "\f249";
}

/* line 6617, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bug-slash:before {
  content: "\e490";
}

/* line 6621, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrow-up-from-water-pump:before {
  content: "\e4b6";
}

/* line 6625, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bone:before {
  content: "\f5d7";
}

/* line 6629, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-user-injured:before {
  content: "\f728";
}

/* line 6633, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-face-sad-tear:before,
.fa-sad-tear:before {
  content: "\f5b4";
}

/* line 6638, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-plane:before {
  content: "\f072";
}

/* line 6642, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tent-arrows-down:before {
  content: "\e581";
}

/* line 6646, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-exclamation:before {
  content: "\21";
}

/* line 6650, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-arrows-spin:before {
  content: "\e4bb";
}

/* line 6654, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-print:before {
  content: "\f02f";
}

/* line 6658, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-try:before,
.fa-turkish-lira-sign:before,
.fa-turkish-lira:before {
  content: "\e2bb";
}

/* line 6664, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dollar-sign:before,
.fa-dollar:before,
.fa-usd:before {
  content: "\24";
}

/* line 6670, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-x:before {
  content: "\58";
}

/* line 6674, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-magnifying-glass-dollar:before,
.fa-search-dollar:before {
  content: "\f688";
}

/* line 6679, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-users-cog:before,
.fa-users-gear:before {
  content: "\f509";
}

/* line 6684, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-military-pointing:before {
  content: "\e54a";
}

/* line 6688, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bank:before,
.fa-building-columns:before,
.fa-institution:before,
.fa-museum:before,
.fa-university:before {
  content: "\f19c";
}

/* line 6696, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-umbrella:before {
  content: "\f0e9";
}

/* line 6700, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-trowel:before {
  content: "\e589";
}

/* line 6704, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-d:before {
  content: "\44";
}

/* line 6708, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-stapler:before {
  content: "\e5af";
}

/* line 6712, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-masks-theater:before,
.fa-theater-masks:before {
  content: "\f630";
}

/* line 6717, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-kip-sign:before {
  content: "\e1c4";
}

/* line 6721, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hand-point-left:before {
  content: "\f0a5";
}

/* line 6725, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-handshake-alt:before,
.fa-handshake-simple:before {
  content: "\f4c6";
}

/* line 6730, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-fighter-jet:before,
.fa-jet-fighter:before {
  content: "\f0fb";
}

/* line 6735, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-share-alt-square:before,
.fa-square-share-nodes:before {
  content: "\f1e1";
}

/* line 6740, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-barcode:before {
  content: "\f02a";
}

/* line 6744, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-plus-minus:before {
  content: "\e43c";
}

/* line 6748, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-video-camera:before,
.fa-video:before {
  content: "\f03d";
}

/* line 6753, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-graduation-cap:before,
.fa-mortar-board:before {
  content: "\f19d";
}

/* line 6758, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hand-holding-medical:before {
  content: "\e05c";
}

/* line 6762, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-person-circle-check:before {
  content: "\e53e";
}

/* line 6766, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-level-up-alt:before,
.fa-turn-up:before {
  content: "\f3bf";
}

/* line 6771, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sr-only,
.fa-sr-only-focusable:not(:focus),
.sr-only,
.sr-only-focusable:not(:focus) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* line 6786, vendor/assets/stylesheets/font-awesome.min.scss */
:host,
:root {
  --fa-style-family-brands: "Font Awesome 6 Brands";
  --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"
;
}

@font-face {
  font-family: "Font Awesome 6 Brands";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(/assets/fa-brands-400-71069435092e2b6c23cd74d2dcbb1b2f2f12e0da5f79f9a978d19c863c7b2846.woff2) format("woff2");
}

/* line 6800, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-brands,
.fab {
  font-weight: 400;
}

/* line 6805, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-monero:before {
  content: "\f3d0";
}

/* line 6809, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hooli:before {
  content: "\f427";
}

/* line 6813, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-yelp:before {
  content: "\f1e9";
}

/* line 6817, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cc-visa:before {
  content: "\f1f0";
}

/* line 6821, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-lastfm:before {
  content: "\f202";
}

/* line 6825, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-shopware:before {
  content: "\f5b5";
}

/* line 6829, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-creative-commons-nc:before {
  content: "\f4e8";
}

/* line 6833, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-aws:before {
  content: "\f375";
}

/* line 6837, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-redhat:before {
  content: "\f7bc";
}

/* line 6841, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-yoast:before {
  content: "\f2b1";
}

/* line 6845, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cloudflare:before {
  content: "\e07d";
}

/* line 6849, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ups:before {
  content: "\f7e0";
}

/* line 6853, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-wpexplorer:before {
  content: "\f2de";
}

/* line 6857, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dyalog:before {
  content: "\f399";
}

/* line 6861, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bity:before {
  content: "\f37a";
}

/* line 6865, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-stackpath:before {
  content: "\f842";
}

/* line 6869, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-buysellads:before {
  content: "\f20d";
}

/* line 6873, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-first-order:before {
  content: "\f2b0";
}

/* line 6877, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-modx:before {
  content: "\f285";
}

/* line 6881, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-guilded:before {
  content: "\e07e";
}

/* line 6885, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-vnv:before {
  content: "\f40b";
}

/* line 6889, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-js-square:before,
.fa-square-js:before {
  content: "\f3b9";
}

/* line 6894, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-microsoft:before {
  content: "\f3ca";
}

/* line 6898, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-qq:before {
  content: "\f1d6";
}

/* line 6902, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-orcid:before {
  content: "\f8d2";
}

/* line 6906, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-java:before {
  content: "\f4e4";
}

/* line 6910, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-invision:before {
  content: "\f7b0";
}

/* line 6914, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-creative-commons-pd-alt:before {
  content: "\f4ed";
}

/* line 6918, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-centercode:before {
  content: "\f380";
}

/* line 6922, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-glide-g:before {
  content: "\f2a6";
}

/* line 6926, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-drupal:before {
  content: "\f1a9";
}

/* line 6930, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hire-a-helper:before {
  content: "\f3b0";
}

/* line 6934, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-creative-commons-by:before {
  content: "\f4e7";
}

/* line 6938, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-unity:before {
  content: "\e049";
}

/* line 6942, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-whmcs:before {
  content: "\f40d";
}

/* line 6946, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-rocketchat:before {
  content: "\f3e8";
}

/* line 6950, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-vk:before {
  content: "\f189";
}

/* line 6954, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-untappd:before {
  content: "\f405";
}

/* line 6958, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mailchimp:before {
  content: "\f59e";
}

/* line 6962, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-css3-alt:before {
  content: "\f38b";
}

/* line 6966, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-reddit-square:before,
.fa-square-reddit:before {
  content: "\f1a2";
}

/* line 6971, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-vimeo-v:before {
  content: "\f27d";
}

/* line 6975, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-contao:before {
  content: "\f26d";
}

/* line 6979, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-square-font-awesome:before {
  content: "\e5ad";
}

/* line 6983, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-deskpro:before {
  content: "\f38f";
}

/* line 6987, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sistrix:before {
  content: "\f3ee";
}

/* line 6991, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-instagram-square:before,
.fa-square-instagram:before {
  content: "\e055";
}

/* line 6996, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-battle-net:before {
  content: "\f835";
}

/* line 7000, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-the-red-yeti:before {
  content: "\f69d";
}

/* line 7004, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hacker-news-square:before,
.fa-square-hacker-news:before {
  content: "\f3af";
}

/* line 7009, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-edge:before {
  content: "\f282";
}

/* line 7013, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-napster:before {
  content: "\f3d2";
}

/* line 7017, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-snapchat-square:before,
.fa-square-snapchat:before {
  content: "\f2ad";
}

/* line 7022, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-google-plus-g:before {
  content: "\f0d5";
}

/* line 7026, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-artstation:before {
  content: "\f77a";
}

/* line 7030, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-markdown:before {
  content: "\f60f";
}

/* line 7034, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sourcetree:before {
  content: "\f7d3";
}

/* line 7038, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-google-plus:before {
  content: "\f2b3";
}

/* line 7042, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-diaspora:before {
  content: "\f791";
}

/* line 7046, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-foursquare:before {
  content: "\f180";
}

/* line 7050, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-stack-overflow:before {
  content: "\f16c";
}

/* line 7054, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-github-alt:before {
  content: "\f113";
}

/* line 7058, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-phoenix-squadron:before {
  content: "\f511";
}

/* line 7062, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pagelines:before {
  content: "\f18c";
}

/* line 7066, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-algolia:before {
  content: "\f36c";
}

/* line 7070, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-red-river:before {
  content: "\f3e3";
}

/* line 7074, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-creative-commons-sa:before {
  content: "\f4ef";
}

/* line 7078, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-safari:before {
  content: "\f267";
}

/* line 7082, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-google:before {
  content: "\f1a0";
}

/* line 7086, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-font-awesome-alt:before,
.fa-square-font-awesome-stroke:before {
  content: "\f35c";
}

/* line 7091, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-atlassian:before {
  content: "\f77b";
}

/* line 7095, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-linkedin-in:before {
  content: "\f0e1";
}

/* line 7099, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-digital-ocean:before {
  content: "\f391";
}

/* line 7103, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-nimblr:before {
  content: "\f5a8";
}

/* line 7107, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chromecast:before {
  content: "\f838";
}

/* line 7111, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-evernote:before {
  content: "\f839";
}

/* line 7115, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hacker-news:before {
  content: "\f1d4";
}

/* line 7119, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-creative-commons-sampling:before {
  content: "\f4f0";
}

/* line 7123, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-adversal:before {
  content: "\f36a";
}

/* line 7127, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-creative-commons:before {
  content: "\f25e";
}

/* line 7131, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-watchman-monitoring:before {
  content: "\e087";
}

/* line 7135, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-fonticons:before {
  content: "\f280";
}

/* line 7139, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-weixin:before {
  content: "\f1d7";
}

/* line 7143, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-shirtsinbulk:before {
  content: "\f214";
}

/* line 7147, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-codepen:before {
  content: "\f1cb";
}

/* line 7151, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-git-alt:before {
  content: "\f841";
}

/* line 7155, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-lyft:before {
  content: "\f3c3";
}

/* line 7159, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-rev:before {
  content: "\f5b2";
}

/* line 7163, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-windows:before {
  content: "\f17a";
}

/* line 7167, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-wizards-of-the-coast:before {
  content: "\f730";
}

/* line 7171, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-square-viadeo:before,
.fa-viadeo-square:before {
  content: "\f2aa";
}

/* line 7176, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-meetup:before {
  content: "\f2e0";
}

/* line 7180, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-centos:before {
  content: "\f789";
}

/* line 7184, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-adn:before {
  content: "\f170";
}

/* line 7188, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cloudsmith:before {
  content: "\f384";
}

/* line 7192, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pied-piper-alt:before {
  content: "\f1a8";
}

/* line 7196, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dribbble-square:before,
.fa-square-dribbble:before {
  content: "\f397";
}

/* line 7201, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-codiepie:before {
  content: "\f284";
}

/* line 7205, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-node:before {
  content: "\f419";
}

/* line 7209, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mix:before {
  content: "\f3cb";
}

/* line 7213, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-steam:before {
  content: "\f1b6";
}

/* line 7217, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cc-apple-pay:before {
  content: "\f416";
}

/* line 7221, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-scribd:before {
  content: "\f28a";
}

/* line 7225, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-openid:before {
  content: "\f19b";
}

/* line 7229, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-instalod:before {
  content: "\e081";
}

/* line 7233, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-expeditedssl:before {
  content: "\f23e";
}

/* line 7237, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sellcast:before {
  content: "\f2da";
}

/* line 7241, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-square-twitter:before,
.fa-twitter-square:before {
  content: "\f081";
}

/* line 7246, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-r-project:before {
  content: "\f4f7";
}

/* line 7250, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-delicious:before {
  content: "\f1a5";
}

/* line 7254, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-freebsd:before {
  content: "\f3a4";
}

/* line 7258, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-vuejs:before {
  content: "\f41f";
}

/* line 7262, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-accusoft:before {
  content: "\f369";
}

/* line 7266, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ioxhost:before {
  content: "\f208";
}

/* line 7270, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-fonticons-fi:before {
  content: "\f3a2";
}

/* line 7274, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-app-store:before {
  content: "\f36f";
}

/* line 7278, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cc-mastercard:before {
  content: "\f1f1";
}

/* line 7282, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-itunes-note:before {
  content: "\f3b5";
}

/* line 7286, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-golang:before {
  content: "\e40f";
}

/* line 7290, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-kickstarter:before {
  content: "\f3bb";
}

/* line 7294, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-grav:before {
  content: "\f2d6";
}

/* line 7298, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-weibo:before {
  content: "\f18a";
}

/* line 7302, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-uncharted:before {
  content: "\e084";
}

/* line 7306, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-firstdraft:before {
  content: "\f3a1";
}

/* line 7310, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-square-youtube:before,
.fa-youtube-square:before {
  content: "\f431";
}

/* line 7315, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-wikipedia-w:before {
  content: "\f266";
}

/* line 7319, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-rendact:before,
.fa-wpressr:before {
  content: "\f3e4";
}

/* line 7324, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-angellist:before {
  content: "\f209";
}

/* line 7328, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-galactic-republic:before {
  content: "\f50c";
}

/* line 7332, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-nfc-directional:before {
  content: "\e530";
}

/* line 7336, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-skype:before {
  content: "\f17e";
}

/* line 7340, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-joget:before {
  content: "\f3b7";
}

/* line 7344, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-fedora:before {
  content: "\f798";
}

/* line 7348, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-stripe-s:before {
  content: "\f42a";
}

/* line 7352, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-meta:before {
  content: "\e49b";
}

/* line 7356, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-laravel:before {
  content: "\f3bd";
}

/* line 7360, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hotjar:before {
  content: "\f3b1";
}

/* line 7364, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bluetooth-b:before {
  content: "\f294";
}

/* line 7368, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sticker-mule:before {
  content: "\f3f7";
}

/* line 7372, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-creative-commons-zero:before {
  content: "\f4f3";
}

/* line 7376, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hips:before {
  content: "\f452";
}

/* line 7380, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-behance:before {
  content: "\f1b4";
}

/* line 7384, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-reddit:before {
  content: "\f1a1";
}

/* line 7388, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-discord:before {
  content: "\f392";
}

/* line 7392, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-chrome:before {
  content: "\f268";
}

/* line 7396, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-app-store-ios:before {
  content: "\f370";
}

/* line 7400, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cc-discover:before {
  content: "\f1f2";
}

/* line 7404, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-wpbeginner:before {
  content: "\f297";
}

/* line 7408, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-confluence:before {
  content: "\f78d";
}

/* line 7412, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mdb:before {
  content: "\f8ca";
}

/* line 7416, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dochub:before {
  content: "\f394";
}

/* line 7420, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-accessible-icon:before {
  content: "\f368";
}

/* line 7424, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ebay:before {
  content: "\f4f4";
}

/* line 7428, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-amazon:before {
  content: "\f270";
}

/* line 7432, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-unsplash:before {
  content: "\e07c";
}

/* line 7436, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-yarn:before {
  content: "\f7e3";
}

/* line 7440, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-square-steam:before,
.fa-steam-square:before {
  content: "\f1b7";
}

/* line 7445, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-500px:before {
  content: "\f26e";
}

/* line 7449, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-square-vimeo:before,
.fa-vimeo-square:before {
  content: "\f194";
}

/* line 7454, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-asymmetrik:before {
  content: "\f372";
}

/* line 7458, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-font-awesome-flag:before,
.fa-font-awesome-logo-full:before,
.fa-font-awesome:before {
  content: "\f2b4";
}

/* line 7464, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-gratipay:before {
  content: "\f184";
}

/* line 7468, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-apple:before {
  content: "\f179";
}

/* line 7472, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hive:before {
  content: "\e07f";
}

/* line 7476, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-gitkraken:before {
  content: "\f3a6";
}

/* line 7480, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-keybase:before {
  content: "\f4f5";
}

/* line 7484, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-apple-pay:before {
  content: "\f415";
}

/* line 7488, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-padlet:before {
  content: "\e4a0";
}

/* line 7492, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-amazon-pay:before {
  content: "\f42c";
}

/* line 7496, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-github-square:before,
.fa-square-github:before {
  content: "\f092";
}

/* line 7501, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-stumbleupon:before {
  content: "\f1a4";
}

/* line 7505, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-fedex:before {
  content: "\f797";
}

/* line 7509, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-phoenix-framework:before {
  content: "\f3dc";
}

/* line 7513, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-shopify:before {
  content: "\e057";
}

/* line 7517, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-neos:before {
  content: "\f612";
}

/* line 7521, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hackerrank:before {
  content: "\f5f7";
}

/* line 7525, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-researchgate:before {
  content: "\f4f8";
}

/* line 7529, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-swift:before {
  content: "\f8e1";
}

/* line 7533, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-angular:before {
  content: "\f420";
}

/* line 7537, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-speakap:before {
  content: "\f3f3";
}

/* line 7541, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-angrycreative:before {
  content: "\f36e";
}

/* line 7545, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-y-combinator:before {
  content: "\f23b";
}

/* line 7549, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-empire:before {
  content: "\f1d1";
}

/* line 7553, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-envira:before {
  content: "\f299";
}

/* line 7557, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-gitlab-square:before,
.fa-square-gitlab:before {
  content: "\e5ae";
}

/* line 7562, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-studiovinari:before {
  content: "\f3f8";
}

/* line 7566, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pied-piper:before {
  content: "\f2ae";
}

/* line 7570, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-wordpress:before {
  content: "\f19a";
}

/* line 7574, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-product-hunt:before {
  content: "\f288";
}

/* line 7578, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-firefox:before {
  content: "\f269";
}

/* line 7582, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-linode:before {
  content: "\f2b8";
}

/* line 7586, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-goodreads:before {
  content: "\f3a8";
}

/* line 7590, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-odnoklassniki-square:before,
.fa-square-odnoklassniki:before {
  content: "\f264";
}

/* line 7595, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-jsfiddle:before {
  content: "\f1cc";
}

/* line 7599, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sith:before {
  content: "\f512";
}

/* line 7603, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-themeisle:before {
  content: "\f2b2";
}

/* line 7607, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-page4:before {
  content: "\f3d7";
}

/* line 7611, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hashnode:before {
  content: "\e499";
}

/* line 7615, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-react:before {
  content: "\f41b";
}

/* line 7619, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cc-paypal:before {
  content: "\f1f4";
}

/* line 7623, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-squarespace:before {
  content: "\f5be";
}

/* line 7627, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cc-stripe:before {
  content: "\f1f5";
}

/* line 7631, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-creative-commons-share:before {
  content: "\f4f2";
}

/* line 7635, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bitcoin:before {
  content: "\f379";
}

/* line 7639, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-keycdn:before {
  content: "\f3ba";
}

/* line 7643, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-opera:before {
  content: "\f26a";
}

/* line 7647, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-itch-io:before {
  content: "\f83a";
}

/* line 7651, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-umbraco:before {
  content: "\f8e8";
}

/* line 7655, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-galactic-senate:before {
  content: "\f50d";
}

/* line 7659, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ubuntu:before {
  content: "\f7df";
}

/* line 7663, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-draft2digital:before {
  content: "\f396";
}

/* line 7667, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-stripe:before {
  content: "\f429";
}

/* line 7671, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-houzz:before {
  content: "\f27c";
}

/* line 7675, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-gg:before {
  content: "\f260";
}

/* line 7679, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dhl:before {
  content: "\f790";
}

/* line 7683, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pinterest-square:before,
.fa-square-pinterest:before {
  content: "\f0d3";
}

/* line 7688, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-xing:before {
  content: "\f168";
}

/* line 7692, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-blackberry:before {
  content: "\f37b";
}

/* line 7696, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-creative-commons-pd:before {
  content: "\f4ec";
}

/* line 7700, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-playstation:before {
  content: "\f3df";
}

/* line 7704, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-quinscape:before {
  content: "\f459";
}

/* line 7708, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-less:before {
  content: "\f41d";
}

/* line 7712, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-blogger-b:before {
  content: "\f37d";
}

/* line 7716, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-opencart:before {
  content: "\f23d";
}

/* line 7720, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-vine:before {
  content: "\f1ca";
}

/* line 7724, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-paypal:before {
  content: "\f1ed";
}

/* line 7728, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-gitlab:before {
  content: "\f296";
}

/* line 7732, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-typo3:before {
  content: "\f42b";
}

/* line 7736, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-reddit-alien:before {
  content: "\f281";
}

/* line 7740, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-yahoo:before {
  content: "\f19e";
}

/* line 7744, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dailymotion:before {
  content: "\e052";
}

/* line 7748, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-affiliatetheme:before {
  content: "\f36b";
}

/* line 7752, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pied-piper-pp:before {
  content: "\f1a7";
}

/* line 7756, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bootstrap:before {
  content: "\f836";
}

/* line 7760, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-odnoklassniki:before {
  content: "\f263";
}

/* line 7764, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-nfc-symbol:before {
  content: "\e531";
}

/* line 7768, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ethereum:before {
  content: "\f42e";
}

/* line 7772, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-speaker-deck:before {
  content: "\f83c";
}

/* line 7776, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-creative-commons-nc-eu:before {
  content: "\f4e9";
}

/* line 7780, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-patreon:before {
  content: "\f3d9";
}

/* line 7784, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-avianex:before {
  content: "\f374";
}

/* line 7788, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ello:before {
  content: "\f5f1";
}

/* line 7792, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-gofore:before {
  content: "\f3a7";
}

/* line 7796, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bimobject:before {
  content: "\f378";
}

/* line 7800, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-facebook-f:before {
  content: "\f39e";
}

/* line 7804, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-google-plus-square:before,
.fa-square-google-plus:before {
  content: "\f0d4";
}

/* line 7809, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mandalorian:before {
  content: "\f50f";
}

/* line 7813, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-first-order-alt:before {
  content: "\f50a";
}

/* line 7817, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-osi:before {
  content: "\f41a";
}

/* line 7821, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-google-wallet:before {
  content: "\f1ee";
}

/* line 7825, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-d-and-d-beyond:before {
  content: "\f6ca";
}

/* line 7829, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-periscope:before {
  content: "\f3da";
}

/* line 7833, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-fulcrum:before {
  content: "\f50b";
}

/* line 7837, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cloudscale:before {
  content: "\f383";
}

/* line 7841, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-forumbee:before {
  content: "\f211";
}

/* line 7845, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mizuni:before {
  content: "\f3cc";
}

/* line 7849, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-schlix:before {
  content: "\f3ea";
}

/* line 7853, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-square-xing:before,
.fa-xing-square:before {
  content: "\f169";
}

/* line 7858, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bandcamp:before {
  content: "\f2d5";
}

/* line 7862, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-wpforms:before {
  content: "\f298";
}

/* line 7866, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cloudversify:before {
  content: "\f385";
}

/* line 7870, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-usps:before {
  content: "\f7e1";
}

/* line 7874, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-megaport:before {
  content: "\f5a3";
}

/* line 7878, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-magento:before {
  content: "\f3c4";
}

/* line 7882, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-spotify:before {
  content: "\f1bc";
}

/* line 7886, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-optin-monster:before {
  content: "\f23c";
}

/* line 7890, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-fly:before {
  content: "\f417";
}

/* line 7894, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-aviato:before {
  content: "\f421";
}

/* line 7898, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-itunes:before {
  content: "\f3b4";
}

/* line 7902, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cuttlefish:before {
  content: "\f38c";
}

/* line 7906, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-blogger:before {
  content: "\f37c";
}

/* line 7910, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-flickr:before {
  content: "\f16e";
}

/* line 7914, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-viber:before {
  content: "\f409";
}

/* line 7918, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-soundcloud:before {
  content: "\f1be";
}

/* line 7922, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-digg:before {
  content: "\f1a6";
}

/* line 7926, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tencent-weibo:before {
  content: "\f1d5";
}

/* line 7930, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-symfony:before {
  content: "\f83d";
}

/* line 7934, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-maxcdn:before {
  content: "\f136";
}

/* line 7938, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-etsy:before {
  content: "\f2d7";
}

/* line 7942, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-facebook-messenger:before {
  content: "\f39f";
}

/* line 7946, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-audible:before {
  content: "\f373";
}

/* line 7950, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-think-peaks:before {
  content: "\f731";
}

/* line 7954, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bilibili:before {
  content: "\e3d9";
}

/* line 7958, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-erlang:before {
  content: "\f39d";
}

/* line 7962, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cotton-bureau:before {
  content: "\f89e";
}

/* line 7966, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dashcube:before {
  content: "\f210";
}

/* line 7970, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-42-group:before,
.fa-innosoft:before {
  content: "\e080";
}

/* line 7975, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-stack-exchange:before {
  content: "\f18d";
}

/* line 7979, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-elementor:before {
  content: "\f430";
}

/* line 7983, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pied-piper-square:before,
.fa-square-pied-piper:before {
  content: "\e01e";
}

/* line 7988, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-creative-commons-nd:before {
  content: "\f4eb";
}

/* line 7992, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-palfed:before {
  content: "\f3d8";
}

/* line 7996, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-superpowers:before {
  content: "\f2dd";
}

/* line 8000, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-resolving:before {
  content: "\f3e7";
}

/* line 8004, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-xbox:before {
  content: "\f412";
}

/* line 8008, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-searchengin:before {
  content: "\f3eb";
}

/* line 8012, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tiktok:before {
  content: "\e07b";
}

/* line 8016, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-facebook-square:before,
.fa-square-facebook:before {
  content: "\f082";
}

/* line 8021, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-renren:before {
  content: "\f18b";
}

/* line 8025, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-linux:before {
  content: "\f17c";
}

/* line 8029, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-glide:before {
  content: "\f2a5";
}

/* line 8033, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-linkedin:before {
  content: "\f08c";
}

/* line 8037, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hubspot:before {
  content: "\f3b2";
}

/* line 8041, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-deploydog:before {
  content: "\f38e";
}

/* line 8045, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-twitch:before {
  content: "\f1e8";
}

/* line 8049, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ravelry:before {
  content: "\f2d9";
}

/* line 8053, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mixer:before {
  content: "\e056";
}

/* line 8057, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-lastfm-square:before,
.fa-square-lastfm:before {
  content: "\f203";
}

/* line 8062, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-vimeo:before {
  content: "\f40a";
}

/* line 8066, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mendeley:before {
  content: "\f7b3";
}

/* line 8070, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-uniregistry:before {
  content: "\f404";
}

/* line 8074, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-figma:before {
  content: "\f799";
}

/* line 8078, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-creative-commons-remix:before {
  content: "\f4ee";
}

/* line 8082, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cc-amazon-pay:before {
  content: "\f42d";
}

/* line 8086, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dropbox:before {
  content: "\f16b";
}

/* line 8090, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-instagram:before {
  content: "\f16d";
}

/* line 8094, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cmplid:before {
  content: "\e360";
}

/* line 8098, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-facebook:before {
  content: "\f09a";
}

/* line 8102, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-gripfire:before {
  content: "\f3ac";
}

/* line 8106, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-jedi-order:before {
  content: "\f50e";
}

/* line 8110, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-uikit:before {
  content: "\f403";
}

/* line 8114, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-fort-awesome-alt:before {
  content: "\f3a3";
}

/* line 8118, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-phabricator:before {
  content: "\f3db";
}

/* line 8122, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ussunnah:before {
  content: "\f407";
}

/* line 8126, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-earlybirds:before {
  content: "\f39a";
}

/* line 8130, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-trade-federation:before {
  content: "\f513";
}

/* line 8134, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-autoprefixer:before {
  content: "\f41c";
}

/* line 8138, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-whatsapp:before {
  content: "\f232";
}

/* line 8142, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-slideshare:before {
  content: "\f1e7";
}

/* line 8146, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-google-play:before {
  content: "\f3ab";
}

/* line 8150, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-viadeo:before {
  content: "\f2a9";
}

/* line 8154, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-line:before {
  content: "\f3c0";
}

/* line 8158, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-google-drive:before {
  content: "\f3aa";
}

/* line 8162, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-servicestack:before {
  content: "\f3ec";
}

/* line 8166, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-simplybuilt:before {
  content: "\f215";
}

/* line 8170, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bitbucket:before {
  content: "\f171";
}

/* line 8174, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-imdb:before {
  content: "\f2d8";
}

/* line 8178, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-deezer:before {
  content: "\e077";
}

/* line 8182, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-raspberry-pi:before {
  content: "\f7bb";
}

/* line 8186, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-jira:before {
  content: "\f7b1";
}

/* line 8190, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-docker:before {
  content: "\f395";
}

/* line 8194, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-screenpal:before {
  content: "\e570";
}

/* line 8198, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bluetooth:before {
  content: "\f293";
}

/* line 8202, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-gitter:before {
  content: "\f426";
}

/* line 8206, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-d-and-d:before {
  content: "\f38d";
}

/* line 8210, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-microblog:before {
  content: "\e01a";
}

/* line 8214, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cc-diners-club:before {
  content: "\f24c";
}

/* line 8218, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-gg-circle:before {
  content: "\f261";
}

/* line 8222, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pied-piper-hat:before {
  content: "\f4e5";
}

/* line 8226, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-kickstarter-k:before {
  content: "\f3bc";
}

/* line 8230, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-yandex:before {
  content: "\f413";
}

/* line 8234, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-readme:before {
  content: "\f4d5";
}

/* line 8238, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-html5:before {
  content: "\f13b";
}

/* line 8242, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sellsy:before {
  content: "\f213";
}

/* line 8246, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sass:before {
  content: "\f41e";
}

/* line 8250, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-wirsindhandwerk:before,
.fa-wsh:before {
  content: "\e2d0";
}

/* line 8255, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-buromobelexperte:before {
  content: "\f37f";
}

/* line 8259, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-salesforce:before {
  content: "\f83b";
}

/* line 8263, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-octopus-deploy:before {
  content: "\e082";
}

/* line 8267, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-medapps:before {
  content: "\f3c6";
}

/* line 8271, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ns8:before {
  content: "\f3d5";
}

/* line 8275, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pinterest-p:before {
  content: "\f231";
}

/* line 8279, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-apper:before {
  content: "\f371";
}

/* line 8283, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-fort-awesome:before {
  content: "\f286";
}

/* line 8287, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-waze:before {
  content: "\f83f";
}

/* line 8291, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cc-jcb:before {
  content: "\f24b";
}

/* line 8295, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-snapchat-ghost:before,
.fa-snapchat:before {
  content: "\f2ab";
}

/* line 8300, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-fantasy-flight-games:before {
  content: "\f6dc";
}

/* line 8304, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-rust:before {
  content: "\e07a";
}

/* line 8308, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-wix:before {
  content: "\f5cf";
}

/* line 8312, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-behance-square:before,
.fa-square-behance:before {
  content: "\f1b5";
}

/* line 8317, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-supple:before {
  content: "\f3f9";
}

/* line 8321, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-rebel:before {
  content: "\f1d0";
}

/* line 8325, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-css3:before {
  content: "\f13c";
}

/* line 8329, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-staylinked:before {
  content: "\f3f5";
}

/* line 8333, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-kaggle:before {
  content: "\f5fa";
}

/* line 8337, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-space-awesome:before {
  content: "\e5ac";
}

/* line 8341, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-deviantart:before {
  content: "\f1bd";
}

/* line 8345, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cpanel:before {
  content: "\f388";
}

/* line 8349, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-goodreads-g:before {
  content: "\f3a9";
}

/* line 8353, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-git-square:before,
.fa-square-git:before {
  content: "\f1d2";
}

/* line 8358, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-square-tumblr:before,
.fa-tumblr-square:before {
  content: "\f174";
}

/* line 8363, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-trello:before {
  content: "\f181";
}

/* line 8367, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-creative-commons-nc-jp:before {
  content: "\f4ea";
}

/* line 8371, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-get-pocket:before {
  content: "\f265";
}

/* line 8375, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-perbyte:before {
  content: "\e083";
}

/* line 8379, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-grunt:before {
  content: "\f3ad";
}

/* line 8383, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-weebly:before {
  content: "\f5cc";
}

/* line 8387, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-connectdevelop:before {
  content: "\f20e";
}

/* line 8391, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-leanpub:before {
  content: "\f212";
}

/* line 8395, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-black-tie:before {
  content: "\f27e";
}

/* line 8399, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-themeco:before {
  content: "\f5c6";
}

/* line 8403, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-python:before {
  content: "\f3e2";
}

/* line 8407, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-android:before {
  content: "\f17b";
}

/* line 8411, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-bots:before {
  content: "\e340";
}

/* line 8415, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-free-code-camp:before {
  content: "\f2c5";
}

/* line 8419, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-hornbill:before {
  content: "\f592";
}

/* line 8423, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-js:before {
  content: "\f3b8";
}

/* line 8427, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ideal:before {
  content: "\e013";
}

/* line 8431, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-git:before {
  content: "\f1d3";
}

/* line 8435, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dev:before {
  content: "\f6cc";
}

/* line 8439, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sketch:before {
  content: "\f7c6";
}

/* line 8443, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-yandex-international:before {
  content: "\f414";
}

/* line 8447, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-cc-amex:before {
  content: "\f1f3";
}

/* line 8451, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-uber:before {
  content: "\f402";
}

/* line 8455, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-github:before {
  content: "\f09b";
}

/* line 8459, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-php:before {
  content: "\f457";
}

/* line 8463, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-alipay:before {
  content: "\f642";
}

/* line 8467, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-youtube:before {
  content: "\f167";
}

/* line 8471, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-skyatlas:before {
  content: "\f216";
}

/* line 8475, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-firefox-browser:before {
  content: "\e007";
}

/* line 8479, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-replyd:before {
  content: "\f3e6";
}

/* line 8483, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-suse:before {
  content: "\f7d6";
}

/* line 8487, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-jenkins:before {
  content: "\f3b6";
}

/* line 8491, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-twitter:before {
  content: "\f099";
}

/* line 8495, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-rockrms:before {
  content: "\f3e9";
}

/* line 8499, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pinterest:before {
  content: "\f0d2";
}

/* line 8503, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-buffer:before {
  content: "\f837";
}

/* line 8507, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-npm:before {
  content: "\f3d4";
}

/* line 8511, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-yammer:before {
  content: "\f840";
}

/* line 8515, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-btc:before {
  content: "\f15a";
}

/* line 8519, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-dribbble:before {
  content: "\f17d";
}

/* line 8523, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-stumbleupon-circle:before {
  content: "\f1a3";
}

/* line 8527, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-internet-explorer:before {
  content: "\f26b";
}

/* line 8531, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-stubber:before {
  content: "\e5c7";
}

/* line 8535, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-telegram-plane:before,
.fa-telegram:before {
  content: "\f2c6";
}

/* line 8540, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-old-republic:before {
  content: "\f510";
}

/* line 8544, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-odysee:before {
  content: "\e5c6";
}

/* line 8548, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-square-whatsapp:before,
.fa-whatsapp-square:before {
  content: "\f40c";
}

/* line 8553, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-node-js:before {
  content: "\f3d3";
}

/* line 8557, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-edge-legacy:before {
  content: "\e078";
}

/* line 8561, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-slack-hash:before,
.fa-slack:before {
  content: "\f198";
}

/* line 8566, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-medrt:before {
  content: "\f3c8";
}

/* line 8570, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-usb:before {
  content: "\f287";
}

/* line 8574, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-tumblr:before {
  content: "\f173";
}

/* line 8578, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-vaadin:before {
  content: "\f408";
}

/* line 8582, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-quora:before {
  content: "\f2c4";
}

/* line 8586, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-reacteurope:before {
  content: "\f75d";
}

/* line 8590, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-medium-m:before,
.fa-medium:before {
  content: "\f23a";
}

/* line 8595, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-amilia:before {
  content: "\f36d";
}

/* line 8599, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mixcloud:before {
  content: "\f289";
}

/* line 8603, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-flipboard:before {
  content: "\f44d";
}

/* line 8607, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-viacoin:before {
  content: "\f237";
}

/* line 8611, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-critical-role:before {
  content: "\f6c9";
}

/* line 8615, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-sitrox:before {
  content: "\e44a";
}

/* line 8619, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-discourse:before {
  content: "\f393";
}

/* line 8623, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-joomla:before {
  content: "\f1aa";
}

/* line 8627, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-mastodon:before {
  content: "\f4f6";
}

/* line 8631, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-airbnb:before {
  content: "\f834";
}

/* line 8635, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-wolf-pack-battalion:before {
  content: "\f514";
}

/* line 8639, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-buy-n-large:before {
  content: "\f8a6";
}

/* line 8643, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-gulp:before {
  content: "\f3ae";
}

/* line 8647, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-creative-commons-sampling-plus:before {
  content: "\f4f1";
}

/* line 8651, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-strava:before {
  content: "\f428";
}

/* line 8655, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-ember:before {
  content: "\f423";
}

/* line 8659, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-canadian-maple-leaf:before {
  content: "\f785";
}

/* line 8663, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-teamspeak:before {
  content: "\f4f9";
}

/* line 8667, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pushed:before {
  content: "\f3e1";
}

/* line 8671, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-wordpress-simple:before {
  content: "\f411";
}

/* line 8675, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-nutritionix:before {
  content: "\f3d6";
}

/* line 8679, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-wodu:before {
  content: "\e088";
}

/* line 8683, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-google-pay:before {
  content: "\e079";
}

/* line 8687, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-intercom:before {
  content: "\f7af";
}

/* line 8691, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-zhihu:before {
  content: "\f63f";
}

/* line 8695, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-korvue:before {
  content: "\f42f";
}

/* line 8699, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-pix:before {
  content: "\e43a";
}

/* line 8703, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-steam-symbol:before {
  content: "\f3f6";
}

/* line 8707, vendor/assets/stylesheets/font-awesome.min.scss */
:host,
:root {
  --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"
;
}

@font-face {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(/assets/fa-regular-400-a8e60933a8668c0e241ce5db08b97219c42151fd0a1d54d1eaf0fbc25c17c778.woff2) format("woff2");
}

/* line 8720, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-regular,
.far {
  font-weight: 400;
}

/* line 8725, vendor/assets/stylesheets/font-awesome.min.scss */
:host,
:root {
  --fa-style-family-classic: "Font Awesome 6 Free";
  --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"
;
}

@font-face {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url(/assets/fa-solid-900-c15a3b77a1df1d41545fcaa78bca78411ba2c1dd2f1a08f61be156bf463a4925.woff2) format("woff2");
}

/* line 8739, vendor/assets/stylesheets/font-awesome.min.scss */
.fa-solid,
.fas {
  font-weight: 900;
}

@font-face {
  font-family: "Font Awesome 5 Brands";
  font-display: block;
  font-weight: 400;
  src: url(/assets/fa-brands-400-71069435092e2b6c23cd74d2dcbb1b2f2f12e0da5f79f9a978d19c863c7b2846.woff2) format("woff2");
}

@font-face {
  font-family: "Font Awesome 5 Free";
  font-display: block;
  font-weight: 900;
  src: url(/assets/fa-solid-900-c15a3b77a1df1d41545fcaa78bca78411ba2c1dd2f1a08f61be156bf463a4925.woff2) format("woff2");
}

@font-face {
  font-family: "Font Awesome 5 Free";
  font-display: block;
  font-weight: 400;
  src: url(/assets/fa-regular-400-a8e60933a8668c0e241ce5db08b97219c42151fd0a1d54d1eaf0fbc25c17c778.woff2) format("woff2");
}

@font-face {
  font-family: "FontAwesome";
  font-display: block;
  src: url(/assets/fa-solid-900-c15a3b77a1df1d41545fcaa78bca78411ba2c1dd2f1a08f61be156bf463a4925.woff2) format("woff2");
}

@font-face {
  font-family: "FontAwesome";
  font-display: block;
  src: url(/assets/fa-brands-400-71069435092e2b6c23cd74d2dcbb1b2f2f12e0da5f79f9a978d19c863c7b2846.woff2) format("woff2");
}

@font-face {
  font-family: "FontAwesome";
  font-display: block;
  src: url(/assets/fa-regular-400-a8e60933a8668c0e241ce5db08b97219c42151fd0a1d54d1eaf0fbc25c17c778.woff2) format("woff2");
  unicode-range: u+f003, u+f006, u+f014, u+f016-f017, u+f01a-f01b, u+f01d, u+f022, u+f03e, u+f044, u+f046, u+f05c-f05d, u+f06e, u+f070, u+f087-f088, u+f08a, u+f094, u+f096-f097, u+f09d, u+f0a0, u+f0a2, u+f0a4-f0a7, u+f0c5, u+f0c7, u+f0e5-f0e6, u+f0eb, u+f0f6-f0f8, u+f10c, u+f114-f115, u+f118-f11a, u+f11c-f11d, u+f133, u+f147, u+f14e, u+f150-f152, u+f185-f186, u+f18e, u+f190-f192, u+f196, u+f1c1-f1c9, u+f1d9, u+f1db, u+f1e3, u+f1ea, u+f1f7, u+f1f9, u+f20a, u+f247-f248, u+f24a, u+f24d, u+f255-f25b, u+f25d, u+f271-f274, u+f278, u+f27b, u+f28c, u+f28e, u+f29c, u+f2b5, u+f2b7, u+f2ba, u+f2bc, u+f2be, u+f2c0-f2c1, u+f2c3, u+f2d0, u+f2d2, u+f2d4, u+f2dc;
}

@font-face {
  font-family: "FontAwesome";
  font-display: block;
  src: url(/assets/fa-v4compatibility-f7d660e777fb1353296fd78ee48f58c6519ea5c4e36536954ec366ad8a0c3b37.woff2) format("woff2");
  unicode-range: u+f041, u+f047, u+f065-f066, u+f07d-f07e, u+f080, u+f08b, u+f08e, u+f090, u+f09a, u+f0ac, u+f0ae, u+f0b2, u+f0d0, u+f0d6, u+f0e4, u+f0ec, u+f10a-f10b, u+f123, u+f13e, u+f148-f149, u+f14c, u+f156, u+f15e, u+f160-f161, u+f163, u+f175-f178, u+f195, u+f1f8, u+f219, u+f27a;
}

/*!
 * Bootstrap  v5.3.8 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root,
[data-bs-theme=light] {
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #212529;
  --bs-primary: #0d6efd;
  --bs-secondary: #6c757d;
  --bs-success: #198754;
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 13, 110, 253;
  --bs-secondary-rgb: 108, 117, 125;
  --bs-success-rgb: 25, 135, 84;
  --bs-info-rgb: 13, 202, 240;
  --bs-warning-rgb: 255, 193, 7;
  --bs-danger-rgb: 220, 53, 69;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --bs-primary-text-emphasis: #052c65;
  --bs-secondary-text-emphasis: #2b2f32;
  --bs-success-text-emphasis: #0a3622;
  --bs-info-text-emphasis: #055160;
  --bs-warning-text-emphasis: #664d03;
  --bs-danger-text-emphasis: #58151c;
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: #cfe2ff;
  --bs-secondary-bg-subtle: #e2e3e5;
  --bs-success-bg-subtle: #d1e7dd;
  --bs-info-bg-subtle: #cff4fc;
  --bs-warning-bg-subtle: #fff3cd;
  --bs-danger-bg-subtle: #f8d7da;
  --bs-light-bg-subtle: #fcfcfd;
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: #9ec5fe;
  --bs-secondary-border-subtle: #c4c8cb;
  --bs-success-border-subtle: #a3cfbb;
  --bs-info-border-subtle: #9eeaf9;
  --bs-warning-border-subtle: #ffe69c;
  --bs-danger-border-subtle: #f1aeb5;
  --bs-light-border-subtle: #e9ecef;
  --bs-dark-border-subtle: #adb5bd;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #212529;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-body-bg: #fff;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-emphasis-color: #000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-secondary-color: rgba(33, 37, 41, 0.75);
  --bs-secondary-color-rgb: 33, 37, 41;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;
  --bs-tertiary-color: rgba(33, 37, 41, 0.5);
  --bs-tertiary-color-rgb: 33, 37, 41;
  --bs-tertiary-bg: #f8f9fa;
  --bs-tertiary-bg-rgb: 248, 249, 250;
  --bs-heading-color: inherit;
  --bs-link-color: #0d6efd;
  --bs-link-color-rgb: 13, 110, 253;
  --bs-link-decoration: underline;
  --bs-link-hover-color: #0a58ca;
  --bs-link-hover-color-rgb: 10, 88, 202;
  --bs-code-color: #d63384;
  --bs-highlight-color: #212529;
  --bs-highlight-bg: #fff3cd;
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #dee2e6;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
  --bs-form-valid-color: #198754;
  --bs-form-valid-border-color: #198754;
  --bs-form-invalid-color: #dc3545;
  --bs-form-invalid-border-color: #dc3545;
}

[data-bs-theme=dark] {
  color-scheme: dark;
  --bs-body-color: #dee2e6;
  --bs-body-color-rgb: 222, 226, 230;
  --bs-body-bg: #212529;
  --bs-body-bg-rgb: 33, 37, 41;
  --bs-emphasis-color: #fff;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-secondary-color: rgba(222, 226, 230, 0.75);
  --bs-secondary-color-rgb: 222, 226, 230;
  --bs-secondary-bg: #343a40;
  --bs-secondary-bg-rgb: 52, 58, 64;
  --bs-tertiary-color: rgba(222, 226, 230, 0.5);
  --bs-tertiary-color-rgb: 222, 226, 230;
  --bs-tertiary-bg: #2b3035;
  --bs-tertiary-bg-rgb: 43, 48, 53;
  --bs-primary-text-emphasis: #6ea8fe;
  --bs-secondary-text-emphasis: #a7acb1;
  --bs-success-text-emphasis: #75b798;
  --bs-info-text-emphasis: #6edff6;
  --bs-warning-text-emphasis: #ffda6a;
  --bs-danger-text-emphasis: #ea868f;
  --bs-light-text-emphasis: #f8f9fa;
  --bs-dark-text-emphasis: #dee2e6;
  --bs-primary-bg-subtle: #031633;
  --bs-secondary-bg-subtle: #161719;
  --bs-success-bg-subtle: #051b11;
  --bs-info-bg-subtle: #032830;
  --bs-warning-bg-subtle: #332701;
  --bs-danger-bg-subtle: #2c0b0e;
  --bs-light-bg-subtle: #343a40;
  --bs-dark-bg-subtle: #1a1d20;
  --bs-primary-border-subtle: #084298;
  --bs-secondary-border-subtle: #41464b;
  --bs-success-border-subtle: #0f5132;
  --bs-info-border-subtle: #087990;
  --bs-warning-border-subtle: #997404;
  --bs-danger-border-subtle: #842029;
  --bs-light-border-subtle: #495057;
  --bs-dark-border-subtle: #343a40;
  --bs-heading-color: inherit;
  --bs-link-color: #6ea8fe;
  --bs-link-hover-color: #8bb9fe;
  --bs-link-color-rgb: 110, 168, 254;
  --bs-link-hover-color-rgb: 139, 185, 254;
  --bs-code-color: #e685b5;
  --bs-highlight-color: #dee2e6;
  --bs-highlight-bg: #664d03;
  --bs-border-color: #495057;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
  --bs-form-valid-color: #75b798;
  --bs-form-valid-border-color: #75b798;
  --bs-form-invalid-color: #ea868f;
  --bs-form-invalid-border-color: #ea868f;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}

body {
  margin: 0;
  font-family: var(--bs-body-font-family);
  font-size: var(--bs-body-font-size);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--bs-body-line-height);
  color: var(--bs-body-color);
  text-align: var(--bs-body-text-align);
  background-color: var(--bs-body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

hr {
  margin: 1rem 0;
  color: inherit;
  border: 0;
  border-top: var(--bs-border-width) solid;
  opacity: 0.25;
}

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--bs-heading-color);
}

h1, .h1 {
  font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
  h1, .h1 {
    font-size: 2.5rem;
  }
}

h2, .h2 {
  font-size: calc(1.325rem + 0.9vw);
}
@media (min-width: 1200px) {
  h2, .h2 {
    font-size: 2rem;
  }
}

h3, .h3 {
  font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
  h3, .h3 {
    font-size: 1.75rem;
  }
}

h4, .h4 {
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  h4, .h4 {
    font-size: 1.5rem;
  }
}

h5, .h5 {
  font-size: 1.25rem;
}

h6, .h6 {
  font-size: 1rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul {
  padding-left: 2rem;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small, .small {
  font-size: 0.875em;
}

mark, .mark {
  padding: 0.1875em;
  color: var(--bs-highlight-color);
  background-color: var(--bs-highlight-bg);
}

sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
  text-decoration: underline;
}
a:hover {
  --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
}

a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

pre,
code,
kbd,
samp {
  font-family: var(--bs-font-monospace);
  font-size: 1em;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em;
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

code {
  font-size: 0.875em;
  color: var(--bs-code-color);
  word-wrap: break-word;
}
a > code {
  color: inherit;
}

kbd {
  padding: 0.1875rem 0.375rem;
  font-size: 0.875em;
  color: var(--bs-body-bg);
  background-color: var(--bs-body-color);
  border-radius: 0.25rem;
}
kbd kbd {
  padding: 0;
  font-size: 1em;
}

figure {
  margin: 0 0 1rem;
}

img,
svg {
  vertical-align: middle;
}

table {
  caption-side: bottom;
  border-collapse: collapse;
}

caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--bs-secondary-color);
  text-align: left;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}
select:disabled {
  opacity: 1;
}

[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
  display: none !important;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

textarea {
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  line-height: inherit;
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  legend {
    font-size: 1.5rem;
  }
}
legend + * {
  clear: left;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}

::-webkit-inner-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
[type=search]::-webkit-search-cancel-button {
  cursor: pointer;
  filter: grayscale(1);
}

/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
  padding: 0;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

::file-selector-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

iframe {
  border: 0;
}

summary {
  display: list-item;
  cursor: pointer;
}

progress {
  vertical-align: baseline;
}

[hidden] {
  display: none !important;
}

.lead {
  font-size: 1.25rem;
  font-weight: 300;
}

.display-1 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.625rem + 4.5vw);
}
@media (min-width: 1200px) {
  .display-1 {
    font-size: 5rem;
  }
}

.display-2 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.575rem + 3.9vw);
}
@media (min-width: 1200px) {
  .display-2 {
    font-size: 4.5rem;
  }
}

.display-3 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.525rem + 3.3vw);
}
@media (min-width: 1200px) {
  .display-3 {
    font-size: 4rem;
  }
}

.display-4 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.475rem + 2.7vw);
}
@media (min-width: 1200px) {
  .display-4 {
    font-size: 3.5rem;
  }
}

.display-5 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.425rem + 2.1vw);
}
@media (min-width: 1200px) {
  .display-5 {
    font-size: 3rem;
  }
}

.display-6 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
  .display-6 {
    font-size: 2.5rem;
  }
}

.list-unstyled {
  padding-left: 0;
  list-style: none;
}

.list-inline {
  padding-left: 0;
  list-style: none;
}

.list-inline-item {
  display: inline-block;
}
.list-inline-item:not(:last-child) {
  margin-right: 0.5rem;
}

.initialism {
  font-size: 0.875em;
  text-transform: uppercase;
}

.blockquote {
  margin-bottom: 1rem;
  font-size: 1.25rem;
}
.blockquote > :last-child {
  margin-bottom: 0;
}

.blockquote-footer {
  margin-top: -1rem;
  margin-bottom: 1rem;
  font-size: 0.875em;
  color: #6c757d;
}
.blockquote-footer::before {
  content: "— ";
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

.img-thumbnail {
  padding: 0.25rem;
  background-color: var(--bs-body-bg);
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  max-width: 100%;
  height: auto;
}

.figure {
  display: inline-block;
}

.figure-img {
  margin-bottom: 0.5rem;
  line-height: 1;
}

.figure-caption {
  font-size: 0.875em;
  color: var(--bs-secondary-color);
}

.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1320px;
  }
}
:root {
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px;
}

.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

.col {
  flex: 1 0 0;
}

.row-cols-auto > * {
  flex: 0 0 auto;
  width: auto;
}

.row-cols-1 > * {
  flex: 0 0 auto;
  width: 100%;
}

.row-cols-2 > * {
  flex: 0 0 auto;
  width: 50%;
}

.row-cols-3 > * {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.row-cols-4 > * {
  flex: 0 0 auto;
  width: 25%;
}

.row-cols-5 > * {
  flex: 0 0 auto;
  width: 20%;
}

.row-cols-6 > * {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
}

.col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
}

.col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-3 {
  flex: 0 0 auto;
  width: 25%;
}

.col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
}

.col-6 {
  flex: 0 0 auto;
  width: 50%;
}

.col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
}

.col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
}

.col-9 {
  flex: 0 0 auto;
  width: 75%;
}

.col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
}

.col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
}

.col-12 {
  flex: 0 0 auto;
  width: 100%;
}

.offset-1 {
  margin-left: 8.33333333%;
}

.offset-2 {
  margin-left: 16.66666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.33333333%;
}

.offset-5 {
  margin-left: 41.66666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.33333333%;
}

.offset-8 {
  margin-left: 66.66666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.33333333%;
}

.offset-11 {
  margin-left: 91.66666667%;
}

.g-0,
.gx-0 {
  --bs-gutter-x: 0;
}

.g-0,
.gy-0 {
  --bs-gutter-y: 0;
}

.g-1,
.gx-1 {
  --bs-gutter-x: 0.25rem;
}

.g-1,
.gy-1 {
  --bs-gutter-y: 0.25rem;
}

.g-2,
.gx-2 {
  --bs-gutter-x: 0.5rem;
}

.g-2,
.gy-2 {
  --bs-gutter-y: 0.5rem;
}

.g-3,
.gx-3 {
  --bs-gutter-x: 1rem;
}

.g-3,
.gy-3 {
  --bs-gutter-y: 1rem;
}

.g-4,
.gx-4 {
  --bs-gutter-x: 1.5rem;
}

.g-4,
.gy-4 {
  --bs-gutter-y: 1.5rem;
}

.g-5,
.gx-5 {
  --bs-gutter-x: 3rem;
}

.g-5,
.gy-5 {
  --bs-gutter-y: 3rem;
}

@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0;
  }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333333%;
  }
  .offset-sm-2 {
    margin-left: 16.66666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333333%;
  }
  .offset-sm-5 {
    margin-left: 41.66666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333333%;
  }
  .offset-sm-8 {
    margin-left: 66.66666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333333%;
  }
  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
  .g-sm-0,
  .gx-sm-0 {
    --bs-gutter-x: 0;
  }
  .g-sm-0,
  .gy-sm-0 {
    --bs-gutter-y: 0;
  }
  .g-sm-1,
  .gx-sm-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-sm-1,
  .gy-sm-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-sm-2,
  .gx-sm-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-sm-2,
  .gy-sm-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-sm-3,
  .gx-sm-3 {
    --bs-gutter-x: 1rem;
  }
  .g-sm-3,
  .gy-sm-3 {
    --bs-gutter-y: 1rem;
  }
  .g-sm-4,
  .gx-sm-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-sm-4,
  .gy-sm-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-sm-5,
  .gx-sm-5 {
    --bs-gutter-x: 3rem;
  }
  .g-sm-5,
  .gy-sm-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0;
  }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333333%;
  }
  .offset-md-2 {
    margin-left: 16.66666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333333%;
  }
  .offset-md-5 {
    margin-left: 41.66666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333333%;
  }
  .offset-md-8 {
    margin-left: 66.66666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333333%;
  }
  .offset-md-11 {
    margin-left: 91.66666667%;
  }
  .g-md-0,
  .gx-md-0 {
    --bs-gutter-x: 0;
  }
  .g-md-0,
  .gy-md-0 {
    --bs-gutter-y: 0;
  }
  .g-md-1,
  .gx-md-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-md-1,
  .gy-md-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-md-2,
  .gx-md-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-md-2,
  .gy-md-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-md-3,
  .gx-md-3 {
    --bs-gutter-x: 1rem;
  }
  .g-md-3,
  .gy-md-3 {
    --bs-gutter-y: 1rem;
  }
  .g-md-4,
  .gx-md-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-md-4,
  .gy-md-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-md-5,
  .gx-md-5 {
    --bs-gutter-x: 3rem;
  }
  .g-md-5,
  .gy-md-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0;
  }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333333%;
  }
  .offset-lg-2 {
    margin-left: 16.66666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333333%;
  }
  .offset-lg-5 {
    margin-left: 41.66666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333333%;
  }
  .offset-lg-8 {
    margin-left: 66.66666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333333%;
  }
  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
  .g-lg-0,
  .gx-lg-0 {
    --bs-gutter-x: 0;
  }
  .g-lg-0,
  .gy-lg-0 {
    --bs-gutter-y: 0;
  }
  .g-lg-1,
  .gx-lg-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-lg-1,
  .gy-lg-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-lg-2,
  .gx-lg-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-lg-2,
  .gy-lg-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-lg-3,
  .gx-lg-3 {
    --bs-gutter-x: 1rem;
  }
  .g-lg-3,
  .gy-lg-3 {
    --bs-gutter-y: 1rem;
  }
  .g-lg-4,
  .gx-lg-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-lg-4,
  .gy-lg-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-lg-5,
  .gx-lg-5 {
    --bs-gutter-x: 3rem;
  }
  .g-lg-5,
  .gy-lg-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex: 1 0 0;
  }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
  .g-xl-0,
  .gx-xl-0 {
    --bs-gutter-x: 0;
  }
  .g-xl-0,
  .gy-xl-0 {
    --bs-gutter-y: 0;
  }
  .g-xl-1,
  .gx-xl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xl-1,
  .gy-xl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xl-2,
  .gx-xl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xl-2,
  .gy-xl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xl-3,
  .gx-xl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xl-3,
  .gy-xl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xl-4,
  .gx-xl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xl-4,
  .gy-xl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xl-5,
  .gx-xl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xl-5,
  .gy-xl-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1400px) {
  .col-xxl {
    flex: 1 0 0;
  }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }
  .g-xxl-0,
  .gx-xxl-0 {
    --bs-gutter-x: 0;
  }
  .g-xxl-0,
  .gy-xxl-0 {
    --bs-gutter-y: 0;
  }
  .g-xxl-1,
  .gx-xxl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xxl-1,
  .gy-xxl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xxl-2,
  .gx-xxl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xxl-2,
  .gy-xxl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xxl-3,
  .gx-xxl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xxl-3,
  .gy-xxl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xxl-4,
  .gx-xxl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xxl-4,
  .gy-xxl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xxl-5,
  .gx-xxl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xxl-5,
  .gy-xxl-5 {
    --bs-gutter-y: 3rem;
  }
}
.table {
  --bs-table-color-type: initial;
  --bs-table-bg-type: initial;
  --bs-table-color-state: initial;
  --bs-table-bg-state: initial;
  --bs-table-color: var(--bs-emphasis-color);
  --bs-table-bg: var(--bs-body-bg);
  --bs-table-border-color: var(--bs-border-color);
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: var(--bs-emphasis-color);
  --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
  --bs-table-active-color: var(--bs-emphasis-color);
  --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
  --bs-table-hover-color: var(--bs-emphasis-color);
  --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border-color: var(--bs-table-border-color);
}
.table > :not(caption) > * > * {
  padding: 0.5rem 0.5rem;
  color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
  background-color: var(--bs-table-bg);
  border-bottom-width: var(--bs-border-width);
  box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
}
.table > tbody {
  vertical-align: inherit;
}
.table > thead {
  vertical-align: bottom;
}

.table-group-divider {
  border-top: calc(var(--bs-border-width) * 2) solid currentcolor;
}

.caption-top {
  caption-side: top;
}

.table-sm > :not(caption) > * > * {
  padding: 0.25rem 0.25rem;
}

.table-bordered > :not(caption) > * {
  border-width: var(--bs-border-width) 0;
}
.table-bordered > :not(caption) > * > * {
  border-width: 0 var(--bs-border-width);
}

.table-borderless > :not(caption) > * > * {
  border-bottom-width: 0;
}
.table-borderless > :not(:first-child) {
  border-top-width: 0;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}

.table-striped-columns > :not(caption) > tr > :nth-child(even) {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}

.table-active {
  --bs-table-color-state: var(--bs-table-active-color);
  --bs-table-bg-state: var(--bs-table-active-bg);
}

.table-hover > tbody > tr:hover > * {
  --bs-table-color-state: var(--bs-table-hover-color);
  --bs-table-bg-state: var(--bs-table-hover-bg);
}

.table-primary {
  --bs-table-color: #000;
  --bs-table-bg: #cfe2ff;
  --bs-table-border-color: #a6b5cc;
  --bs-table-striped-bg: #c5d7f2;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #bacbe6;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #bfd1ec;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-secondary {
  --bs-table-color: #000;
  --bs-table-bg: #e2e3e5;
  --bs-table-border-color: #b5b6b7;
  --bs-table-striped-bg: #d7d8da;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #cbccce;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #d1d2d4;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-success {
  --bs-table-color: #000;
  --bs-table-bg: #d1e7dd;
  --bs-table-border-color: #a7b9b1;
  --bs-table-striped-bg: #c7dbd2;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #bcd0c7;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #c1d6cc;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-info {
  --bs-table-color: #000;
  --bs-table-bg: #cff4fc;
  --bs-table-border-color: #a6c3ca;
  --bs-table-striped-bg: #c5e8ef;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #badce3;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #bfe2e9;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-warning {
  --bs-table-color: #000;
  --bs-table-bg: #fff3cd;
  --bs-table-border-color: #ccc2a4;
  --bs-table-striped-bg: #f2e7c3;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #e6dbb9;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #ece1be;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-danger {
  --bs-table-color: #000;
  --bs-table-bg: #f8d7da;
  --bs-table-border-color: #c6acae;
  --bs-table-striped-bg: #eccccf;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #dfc2c4;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #e5c7ca;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-light {
  --bs-table-color: #000;
  --bs-table-bg: #f8f9fa;
  --bs-table-border-color: #c6c7c8;
  --bs-table-striped-bg: #ecedee;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #dfe0e1;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #e5e6e7;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-dark {
  --bs-table-color: #fff;
  --bs-table-bg: #212529;
  --bs-table-border-color: #4d5154;
  --bs-table-striped-bg: #2c3034;
  --bs-table-striped-color: #fff;
  --bs-table-active-bg: #373b3e;
  --bs-table-active-color: #fff;
  --bs-table-hover-bg: #323539;
  --bs-table-hover-color: #fff;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 575.98px) {
  .table-responsive-sm {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1199.98px) {
  .table-responsive-xl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1399.98px) {
  .table-responsive-xxl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.form-label {
  margin-bottom: 0.5rem;
}

.col-form-label {
  padding-top: calc(0.375rem + var(--bs-border-width));
  padding-bottom: calc(0.375rem + var(--bs-border-width));
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}

.col-form-label-lg {
  padding-top: calc(0.5rem + var(--bs-border-width));
  padding-bottom: calc(0.5rem + var(--bs-border-width));
  font-size: 1.25rem;
}

.col-form-label-sm {
  padding-top: calc(0.25rem + var(--bs-border-width));
  padding-bottom: calc(0.25rem + var(--bs-border-width));
  font-size: 0.875rem;
}

.form-text {
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-secondary-color);
}

.form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--bs-body-bg);
  background-clip: padding-box;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}
.form-control[type=file] {
  overflow: hidden;
}
.form-control[type=file]:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control:focus {
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-control::-webkit-date-and-time-value {
  min-width: 85px;
  height: 1.5em;
  margin: 0;
}
.form-control::-webkit-datetime-edit {
  display: block;
  padding: 0;
}
.form-control::placeholder {
  color: var(--bs-secondary-color);
  opacity: 1;
}
.form-control:disabled {
  background-color: var(--bs-secondary-bg);
  opacity: 1;
}
.form-control::-webkit-file-upload-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  -webkit-margin-end: 0.75rem;
  margin-inline-end: 0.75rem;
  color: var(--bs-body-color);
  background-color: var(--bs-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--bs-border-width);
  border-radius: 0;
  -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.form-control::file-selector-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  -webkit-margin-end: 0.75rem;
  margin-inline-end: 0.75rem;
  color: var(--bs-body-color);
  background-color: var(--bs-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--bs-border-width);
  border-radius: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control::-webkit-file-upload-button {
    -webkit-transition: none;
    transition: none;
  }
  .form-control::file-selector-button {
    transition: none;
  }
}
.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
  background-color: var(--bs-secondary-bg);
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--bs-secondary-bg);
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.375rem 0;
  margin-bottom: 0;
  line-height: 1.5;
  color: var(--bs-body-color);
  background-color: transparent;
  border: solid transparent;
  border-width: var(--bs-border-width) 0;
}
.form-control-plaintext:focus {
  outline: 0;
}
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}

.form-control-sm {
  min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--bs-border-radius-sm);
}
.form-control-sm::-webkit-file-upload-button {
  padding: 0.25rem 0.5rem;
  margin: -0.25rem -0.5rem;
  -webkit-margin-end: 0.5rem;
  margin-inline-end: 0.5rem;
}
.form-control-sm::file-selector-button {
  padding: 0.25rem 0.5rem;
  margin: -0.25rem -0.5rem;
  -webkit-margin-end: 0.5rem;
  margin-inline-end: 0.5rem;
}

.form-control-lg {
  min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: var(--bs-border-radius-lg);
}
.form-control-lg::-webkit-file-upload-button {
  padding: 0.5rem 1rem;
  margin: -0.5rem -1rem;
  -webkit-margin-end: 1rem;
  margin-inline-end: 1rem;
}
.form-control-lg::file-selector-button {
  padding: 0.5rem 1rem;
  margin: -0.5rem -1rem;
  -webkit-margin-end: 1rem;
  margin-inline-end: 1rem;
}

textarea.form-control {
  min-height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-sm {
  min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-lg {
  min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
}

.form-control-color {
  width: 3rem;
  height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
  padding: 0.375rem;
}
.form-control-color:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control-color::-moz-color-swatch {
  border: 0 !important;
  border-radius: var(--bs-border-radius);
}
.form-control-color::-webkit-color-swatch {
  border: 0 !important;
  border-radius: var(--bs-border-radius);
}
.form-control-color.form-control-sm {
  height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
}
.form-control-color.form-control-lg {
  height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
}

.form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  display: block;
  width: 100%;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--bs-body-bg);
  background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-select {
    transition: none;
  }
}
.form-select:focus {
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-right: 0.75rem;
  background-image: none;
}
.form-select:disabled {
  background-color: var(--bs-secondary-bg);
}
.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--bs-body-color);
}

.form-select-sm {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--bs-border-radius-sm);
}

.form-select-lg {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.25rem;
  border-radius: var(--bs-border-radius-lg);
}

[data-bs-theme=dark] .form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

.form-check {
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5em;
  margin-bottom: 0.125rem;
}
.form-check .form-check-input {
  float: left;
  margin-left: -1.5em;
}

.form-check-reverse {
  padding-right: 1.5em;
  padding-left: 0;
  text-align: right;
}
.form-check-reverse .form-check-input {
  float: right;
  margin-right: -1.5em;
  margin-left: 0;
}

.form-check-input {
  --bs-form-check-bg: var(--bs-body-bg);
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  margin-top: 0.25em;
  vertical-align: top;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--bs-form-check-bg);
  background-image: var(--bs-form-check-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: var(--bs-border-width) solid var(--bs-border-color);
  -webkit-print-color-adjust: exact;
  color-adjust: exact;
  print-color-adjust: exact;
}
.form-check-input[type=checkbox] {
  border-radius: 0.25em;
}
.form-check-input[type=radio] {
  border-radius: 50%;
}
.form-check-input:active {
  filter: brightness(90%);
}
.form-check-input:focus {
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-check-input:checked {
  background-color: #0d6efd;
  border-color: #0d6efd;
}
.form-check-input:checked[type=checkbox] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}
.form-check-input:checked[type=radio] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}
.form-check-input[type=checkbox]:indeterminate {
  background-color: #0d6efd;
  border-color: #0d6efd;
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}
.form-check-input:disabled {
  pointer-events: none;
  filter: none;
  opacity: 0.5;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
  cursor: default;
  opacity: 0.5;
}

.form-switch {
  padding-left: 2.5em;
}
.form-switch .form-check-input {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
  width: 2em;
  margin-left: -2.5em;
  background-image: var(--bs-form-switch-bg);
  background-position: left center;
  border-radius: 2em;
  transition: background-position 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-switch .form-check-input {
    transition: none;
  }
}
.form-switch .form-check-input:focus {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
  background-position: right center;
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}
.form-switch.form-check-reverse {
  padding-right: 2.5em;
  padding-left: 0;
}
.form-switch.form-check-reverse .form-check-input {
  margin-right: -2.5em;
  margin-left: 0;
}

.form-check-inline {
  display: inline-block;
  margin-right: 1rem;
}

.btn-check {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
  pointer-events: none;
  filter: none;
  opacity: 0.65;
}

[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e");
}

.form-range {
  width: 100%;
  height: 1.5rem;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
}
.form-range:focus {
  outline: 0;
}
.form-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-range::-moz-focus-outer {
  border: 0;
}
.form-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  -webkit-appearance: none;
  appearance: none;
  background-color: #0d6efd;
  border: 0;
  border-radius: 1rem;
  -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-webkit-slider-thumb {
    -webkit-transition: none;
    transition: none;
  }
}
.form-range::-webkit-slider-thumb:active {
  background-color: #b6d4fe;
}
.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  -moz-appearance: none;
  appearance: none;
  background-color: #0d6efd;
  border: 0;
  border-radius: 1rem;
  -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-moz-range-thumb {
    -moz-transition: none;
    transition: none;
  }
}
.form-range::-moz-range-thumb:active {
  background-color: #b6d4fe;
}
.form-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range:disabled {
  pointer-events: none;
}
.form-range:disabled::-webkit-slider-thumb {
  background-color: var(--bs-secondary-color);
}
.form-range:disabled::-moz-range-thumb {
  background-color: var(--bs-secondary-color);
}

.form-floating {
  position: relative;
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext,
.form-floating > .form-select {
  height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  line-height: 1.25;
}
.form-floating > label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  max-width: 100%;
  height: 100%;
  padding: 1rem 0.75rem;
  overflow: hidden;
  color: rgba(var(--bs-body-color-rgb), 0.65);
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: var(--bs-border-width) solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-floating > label {
    transition: none;
  }
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext {
  padding: 1rem 0.75rem;
}
.form-floating > .form-control::placeholder,
.form-floating > .form-control-plaintext::placeholder {
  color: transparent;
}
.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
.form-floating > .form-control-plaintext:focus,
.form-floating > .form-control-plaintext:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:-webkit-autofill,
.form-floating > .form-control-plaintext:-webkit-autofill {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-select {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
  padding-left: 0.75rem;
}
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-select ~ label {
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:-webkit-autofill ~ label {
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > textarea:focus ~ label::after,
.form-floating > textarea:not(:placeholder-shown) ~ label::after {
  position: absolute;
  inset: 1rem 0.375rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: var(--bs-body-bg);
  border-radius: var(--bs-border-radius);
}
.form-floating > textarea:disabled ~ label::after {
  background-color: var(--bs-secondary-bg);
}
.form-floating > .form-control-plaintext ~ label {
  border-width: var(--bs-border-width) 0;
}
.form-floating > :disabled ~ label,
.form-floating > .form-control:disabled ~ label {
  color: #6c757d;
}

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control,
.input-group > .form-select,
.input-group > .form-floating {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.input-group > .form-control:focus,
.input-group > .form-select:focus,
.input-group > .form-floating:focus-within {
  z-index: 5;
}
.input-group .btn {
  position: relative;
  z-index: 2;
}
.input-group .btn:focus {
  z-index: 5;
}

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--bs-tertiary-bg);
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
}

.input-group-lg > .form-control,
.input-group-lg > .form-select,
.input-group-lg > .input-group-text,
.input-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: var(--bs-border-radius-lg);
}

.input-group-sm > .form-control,
.input-group-sm > .form-select,
.input-group-sm > .input-group-text,
.input-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--bs-border-radius-sm);
}

.input-group-lg > .form-select,
.input-group-sm > .form-select {
  padding-right: 3rem;
}

.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-left: calc(-1 * var(--bs-border-width));
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .form-floating:not(:first-child) > .form-control,
.input-group > .form-floating:not(:first-child) > .form-select {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-form-valid-color);
}

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: var(--bs-success);
  border-radius: var(--bs-border-radius);
}

.was-validated :valid ~ .valid-feedback,
.was-validated :valid ~ .valid-tooltip,
.is-valid ~ .valid-feedback,
.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .form-control:valid, .form-control.is-valid {
  border-color: var(--bs-form-valid-border-color);
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .form-select:valid, .form-select.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}

.was-validated .form-control-color:valid, .form-control-color.is-valid {
  width: calc(3rem + calc(1.5em + 0.75rem));
}

.was-validated .form-check-input:valid, .form-check-input.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
  background-color: var(--bs-form-valid-color);
}
.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: var(--bs-form-valid-color);
}

.form-check-inline .form-check-input ~ .valid-feedback {
  margin-left: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,
.was-validated .input-group > .form-select:not(:focus):valid,
.input-group > .form-select:not(:focus).is-valid,
.was-validated .input-group > .form-floating:not(:focus-within):valid,
.input-group > .form-floating:not(:focus-within).is-valid {
  z-index: 3;
}

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-form-invalid-color);
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: var(--bs-danger);
  border-radius: var(--bs-border-radius);
}

.was-validated :invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-tooltip,
.is-invalid ~ .invalid-feedback,
.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .form-select:invalid, .form-select.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}

.was-validated .form-control-color:invalid, .form-control-color.is-invalid {
  width: calc(3rem + calc(1.5em + 0.75rem));
}

.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
  background-color: var(--bs-form-invalid-color);
}
.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: var(--bs-form-invalid-color);
}

.form-check-inline .form-check-input ~ .invalid-feedback {
  margin-left: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,
.was-validated .input-group > .form-select:not(:focus):invalid,
.input-group > .form-select:not(:focus).is-invalid,
.was-validated .input-group > .form-floating:not(:focus-within):invalid,
.input-group > .form-floating:not(:focus-within).is-invalid {
  z-index: 4;
}

.btn {
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-font-family: ;
  --bs-btn-font-size: 1rem;
  --bs-btn-font-weight: 400;
  --bs-btn-line-height: 1.5;
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-color: transparent;
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-disabled-opacity: 0.65;
  --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
  display: inline-block;
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  font-family: var(--bs-btn-font-family);
  font-size: var(--bs-btn-font-size);
  font-weight: var(--bs-btn-font-weight);
  line-height: var(--bs-btn-line-height);
  color: var(--bs-btn-color);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius: var(--bs-btn-border-radius);
  background-color: var(--bs-btn-bg);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}
.btn:hover {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
}
.btn-check + .btn:hover {
  color: var(--bs-btn-color);
  background-color: var(--bs-btn-bg);
  border-color: var(--bs-btn-border-color);
}
.btn:focus-visible {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:focus-visible + .btn {
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
  color: var(--bs-btn-active-color);
  background-color: var(--bs-btn-active-bg);
  border-color: var(--bs-btn-active-border-color);
}
.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked:focus-visible + .btn {
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
  color: var(--bs-btn-disabled-color);
  pointer-events: none;
  background-color: var(--bs-btn-disabled-bg);
  border-color: var(--bs-btn-disabled-border-color);
  opacity: var(--bs-btn-disabled-opacity);
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #0d6efd;
  --bs-btn-border-color: #0d6efd;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0b5ed7;
  --bs-btn-hover-border-color: #0a58ca;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0a58ca;
  --bs-btn-active-border-color: #0a53be;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #0d6efd;
  --bs-btn-disabled-border-color: #0d6efd;
}

.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #6c757d;
  --bs-btn-border-color: #6c757d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #5c636a;
  --bs-btn-hover-border-color: #565e64;
  --bs-btn-focus-shadow-rgb: 130, 138, 145;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #565e64;
  --bs-btn-active-border-color: #51585e;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #6c757d;
  --bs-btn-disabled-border-color: #6c757d;
}

.btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: #198754;
  --bs-btn-border-color: #198754;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #157347;
  --bs-btn-hover-border-color: #146c43;
  --bs-btn-focus-shadow-rgb: 60, 153, 110;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #146c43;
  --bs-btn-active-border-color: #13653f;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #198754;
  --bs-btn-disabled-border-color: #198754;
}

.btn-info {
  --bs-btn-color: #000;
  --bs-btn-bg: #0dcaf0;
  --bs-btn-border-color: #0dcaf0;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #31d2f2;
  --bs-btn-hover-border-color: #25cff2;
  --bs-btn-focus-shadow-rgb: 11, 172, 204;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #3dd5f3;
  --bs-btn-active-border-color: #25cff2;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #0dcaf0;
  --bs-btn-disabled-border-color: #0dcaf0;
}

.btn-warning {
  --bs-btn-color: #000;
  --bs-btn-bg: #ffc107;
  --bs-btn-border-color: #ffc107;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ffca2c;
  --bs-btn-hover-border-color: #ffc720;
  --bs-btn-focus-shadow-rgb: 217, 164, 6;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ffcd39;
  --bs-btn-active-border-color: #ffc720;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #ffc107;
  --bs-btn-disabled-border-color: #ffc107;
}

.btn-danger {
  --bs-btn-color: #fff;
  --bs-btn-bg: #dc3545;
  --bs-btn-border-color: #dc3545;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #bb2d3b;
  --bs-btn-hover-border-color: #b02a37;
  --bs-btn-focus-shadow-rgb: 225, 83, 97;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #b02a37;
  --bs-btn-active-border-color: #a52834;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #dc3545;
  --bs-btn-disabled-border-color: #dc3545;
}

.btn-light {
  --bs-btn-color: #000;
  --bs-btn-bg: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #d3d4d5;
  --bs-btn-hover-border-color: #c6c7c8;
  --bs-btn-focus-shadow-rgb: 211, 212, 213;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #c6c7c8;
  --bs-btn-active-border-color: #babbbc;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #f8f9fa;
  --bs-btn-disabled-border-color: #f8f9fa;
}

.btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #424649;
  --bs-btn-hover-border-color: #373b3e;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #4d5154;
  --bs-btn-active-border-color: #373b3e;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #212529;
  --bs-btn-disabled-border-color: #212529;
}

.btn-outline-primary {
  --bs-btn-color: #0d6efd;
  --bs-btn-border-color: #0d6efd;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0d6efd;
  --bs-btn-hover-border-color: #0d6efd;
  --bs-btn-focus-shadow-rgb: 13, 110, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0d6efd;
  --bs-btn-active-border-color: #0d6efd;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #0d6efd;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #0d6efd;
  --bs-gradient: none;
}

.btn-outline-secondary {
  --bs-btn-color: #6c757d;
  --bs-btn-border-color: #6c757d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #6c757d;
  --bs-btn-hover-border-color: #6c757d;
  --bs-btn-focus-shadow-rgb: 108, 117, 125;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #6c757d;
  --bs-btn-active-border-color: #6c757d;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #6c757d;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #6c757d;
  --bs-gradient: none;
}

.btn-outline-success {
  --bs-btn-color: #198754;
  --bs-btn-border-color: #198754;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #198754;
  --bs-btn-hover-border-color: #198754;
  --bs-btn-focus-shadow-rgb: 25, 135, 84;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #198754;
  --bs-btn-active-border-color: #198754;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #198754;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #198754;
  --bs-gradient: none;
}

.btn-outline-info {
  --bs-btn-color: #0dcaf0;
  --bs-btn-border-color: #0dcaf0;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #0dcaf0;
  --bs-btn-hover-border-color: #0dcaf0;
  --bs-btn-focus-shadow-rgb: 13, 202, 240;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #0dcaf0;
  --bs-btn-active-border-color: #0dcaf0;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #0dcaf0;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #0dcaf0;
  --bs-gradient: none;
}

.btn-outline-warning {
  --bs-btn-color: #ffc107;
  --bs-btn-border-color: #ffc107;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ffc107;
  --bs-btn-hover-border-color: #ffc107;
  --bs-btn-focus-shadow-rgb: 255, 193, 7;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ffc107;
  --bs-btn-active-border-color: #ffc107;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #ffc107;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #ffc107;
  --bs-gradient: none;
}

.btn-outline-danger {
  --bs-btn-color: #dc3545;
  --bs-btn-border-color: #dc3545;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #dc3545;
  --bs-btn-hover-border-color: #dc3545;
  --bs-btn-focus-shadow-rgb: 220, 53, 69;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #dc3545;
  --bs-btn-active-border-color: #dc3545;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #dc3545;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #dc3545;
  --bs-gradient: none;
}

.btn-outline-light {
  --bs-btn-color: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #f8f9fa;
  --bs-btn-hover-border-color: #f8f9fa;
  --bs-btn-focus-shadow-rgb: 248, 249, 250;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #f8f9fa;
  --bs-btn-active-border-color: #f8f9fa;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #f8f9fa;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #f8f9fa;
  --bs-gradient: none;
}

.btn-outline-dark {
  --bs-btn-color: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #212529;
  --bs-btn-hover-border-color: #212529;
  --bs-btn-focus-shadow-rgb: 33, 37, 41;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #212529;
  --bs-btn-active-border-color: #212529;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #212529;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #212529;
  --bs-gradient: none;
}

.btn-link {
  --bs-btn-font-weight: 400;
  --bs-btn-color: var(--bs-link-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: var(--bs-link-hover-color);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: var(--bs-link-hover-color);
  --bs-btn-active-border-color: transparent;
  --bs-btn-disabled-color: #6c757d;
  --bs-btn-disabled-border-color: transparent;
  --bs-btn-box-shadow: 0 0 0 #000;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  text-decoration: underline;
}
.btn-link:focus-visible {
  color: var(--bs-btn-color);
}
.btn-link:hover {
  color: var(--bs-btn-hover-color);
}

.btn-lg, .btn-group-lg > .btn {
  --bs-btn-padding-y: 0.5rem;
  --bs-btn-padding-x: 1rem;
  --bs-btn-font-size: 1.25rem;
  --bs-btn-border-radius: var(--bs-border-radius-lg);
}

.btn-sm, .btn-group-sm > .btn {
  --bs-btn-padding-y: 0.25rem;
  --bs-btn-padding-x: 0.5rem;
  --bs-btn-font-size: 0.875rem;
  --bs-btn-border-radius: var(--bs-border-radius-sm);
}

.fade {
  transition: opacity 0.15s linear;
}
@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}
.fade:not(.show) {
  opacity: 0;
}

.collapse:not(.show) {
  display: none;
}

.collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}
.collapsing.collapse-horizontal {
  width: 0;
  height: auto;
  transition: width 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing.collapse-horizontal {
    transition: none;
  }
}

.dropup,
.dropend,
.dropdown,
.dropstart,
.dropup-center,
.dropdown-center {
  position: relative;
}

.dropdown-toggle {
  white-space: nowrap;
}
.dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}
.dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropdown-menu {
  --bs-dropdown-zindex: 1000;
  --bs-dropdown-min-width: 10rem;
  --bs-dropdown-padding-x: 0;
  --bs-dropdown-padding-y: 0.5rem;
  --bs-dropdown-spacer: 0.125rem;
  --bs-dropdown-font-size: 1rem;
  --bs-dropdown-color: var(--bs-body-color);
  --bs-dropdown-bg: var(--bs-body-bg);
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-border-radius: var(--bs-border-radius);
  --bs-dropdown-border-width: var(--bs-border-width);
  --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-divider-margin-y: 0.5rem;
  --bs-dropdown-box-shadow: var(--bs-box-shadow);
  --bs-dropdown-link-color: var(--bs-body-color);
  --bs-dropdown-link-hover-color: var(--bs-body-color);
  --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: #0d6efd;
  --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
  --bs-dropdown-item-padding-x: 1rem;
  --bs-dropdown-item-padding-y: 0.25rem;
  --bs-dropdown-header-color: #6c757d;
  --bs-dropdown-header-padding-x: 1rem;
  --bs-dropdown-header-padding-y: 0.5rem;
  position: absolute;
  z-index: var(--bs-dropdown-zindex);
  display: none;
  min-width: var(--bs-dropdown-min-width);
  padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
  margin: 0;
  font-size: var(--bs-dropdown-font-size);
  color: var(--bs-dropdown-color);
  text-align: left;
  list-style: none;
  background-color: var(--bs-dropdown-bg);
  background-clip: padding-box;
  border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
  border-radius: var(--bs-dropdown-border-radius);
}
.dropdown-menu[data-bs-popper] {
  top: 100%;
  left: 0;
  margin-top: var(--bs-dropdown-spacer);
}

.dropdown-menu-start {
  --bs-position: start;
}
.dropdown-menu-start[data-bs-popper] {
  right: auto;
  left: 0;
}

.dropdown-menu-end {
  --bs-position: end;
}
.dropdown-menu-end[data-bs-popper] {
  right: 0;
  left: auto;
}

@media (min-width: 576px) {
  .dropdown-menu-sm-start {
    --bs-position: start;
  }
  .dropdown-menu-sm-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-sm-end {
    --bs-position: end;
  }
  .dropdown-menu-sm-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 768px) {
  .dropdown-menu-md-start {
    --bs-position: start;
  }
  .dropdown-menu-md-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-md-end {
    --bs-position: end;
  }
  .dropdown-menu-md-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 992px) {
  .dropdown-menu-lg-start {
    --bs-position: start;
  }
  .dropdown-menu-lg-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-lg-end {
    --bs-position: end;
  }
  .dropdown-menu-lg-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1200px) {
  .dropdown-menu-xl-start {
    --bs-position: start;
  }
  .dropdown-menu-xl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xl-end {
    --bs-position: end;
  }
  .dropdown-menu-xl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1400px) {
  .dropdown-menu-xxl-start {
    --bs-position: start;
  }
  .dropdown-menu-xxl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xxl-end {
    --bs-position: end;
  }
  .dropdown-menu-xxl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
.dropup .dropdown-menu[data-bs-popper] {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: var(--bs-dropdown-spacer);
}
.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent;
}
.dropup .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropend .dropdown-menu[data-bs-popper] {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: var(--bs-dropdown-spacer);
}
.dropend .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid;
}
.dropend .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropend .dropdown-toggle::after {
  vertical-align: 0;
}

.dropstart .dropdown-menu[data-bs-popper] {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: var(--bs-dropdown-spacer);
}
.dropstart .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
}
.dropstart .dropdown-toggle::after {
  display: none;
}
.dropstart .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent;
}
.dropstart .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropstart .dropdown-toggle::before {
  vertical-align: 0;
}

.dropdown-divider {
  height: 0;
  margin: var(--bs-dropdown-divider-margin-y) 0;
  overflow: hidden;
  border-top: 1px solid var(--bs-dropdown-divider-bg);
  opacity: 1;
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  clear: both;
  font-weight: 400;
  color: var(--bs-dropdown-link-color);
  text-align: inherit;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  border-radius: var(--bs-dropdown-item-border-radius, 0);
}
.dropdown-item:hover, .dropdown-item:focus {
  color: var(--bs-dropdown-link-hover-color);
  background-color: var(--bs-dropdown-link-hover-bg);
}
.dropdown-item.active, .dropdown-item:active {
  color: var(--bs-dropdown-link-active-color);
  text-decoration: none;
  background-color: var(--bs-dropdown-link-active-bg);
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: var(--bs-dropdown-link-disabled-color);
  pointer-events: none;
  background-color: transparent;
}

.dropdown-menu.show {
  display: block;
}

.dropdown-header {
  display: block;
  padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);
  margin-bottom: 0;
  font-size: 0.875rem;
  color: var(--bs-dropdown-header-color);
  white-space: nowrap;
}

.dropdown-item-text {
  display: block;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  color: var(--bs-dropdown-link-color);
}

.dropdown-menu-dark {
  --bs-dropdown-color: #dee2e6;
  --bs-dropdown-bg: #343a40;
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-box-shadow: ;
  --bs-dropdown-link-color: #dee2e6;
  --bs-dropdown-link-hover-color: #fff;
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: #0d6efd;
  --bs-dropdown-link-disabled-color: #adb5bd;
  --bs-dropdown-header-color: #adb5bd;
}

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  flex: 1 1 auto;
}
.btn-group > .btn-check:checked + .btn,
.btn-group > .btn-check:focus + .btn,
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn-check:checked + .btn,
.btn-group-vertical > .btn-check:focus + .btn,
.btn-group-vertical > .btn:hover,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
  z-index: 1;
}

.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.btn-toolbar .input-group {
  width: auto;
}

.btn-group {
  border-radius: var(--bs-border-radius);
}
.btn-group > :not(.btn-check:first-child) + .btn,
.btn-group > .btn-group:not(:first-child) {
  margin-left: calc(-1 * var(--bs-border-width));
}
.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn.dropdown-toggle-split:first-child,
.btn-group > .btn-group:not(:last-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group > .btn:nth-child(n+3),
.btn-group > :not(.btn-check) + .btn,
.btn-group > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.dropdown-toggle-split {
  padding-right: 0.5625rem;
  padding-left: 0.5625rem;
}
.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
  margin-left: 0;
}
.dropstart .dropdown-toggle-split::before {
  margin-right: 0;
}

.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
}

.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}

.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group {
  width: 100%;
}
.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: calc(-1 * var(--bs-border-width));
}
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:nth-child(n+3),
.btn-group-vertical > :not(.btn-check) + .btn,
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav {
  --bs-nav-link-padding-x: 1rem;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--bs-link-color);
  --bs-nav-link-hover-color: var(--bs-link-hover-color);
  --bs-nav-link-disabled-color: var(--bs-secondary-color);
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.nav-link {
  display: block;
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-size: var(--bs-nav-link-font-size);
  font-weight: var(--bs-nav-link-font-weight);
  color: var(--bs-nav-link-color);
  text-decoration: none;
  background: none;
  border: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .nav-link {
    transition: none;
  }
}
.nav-link:hover, .nav-link:focus {
  color: var(--bs-nav-link-hover-color);
}
.nav-link:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.nav-link.disabled, .nav-link:disabled {
  color: var(--bs-nav-link-disabled-color);
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  --bs-nav-tabs-border-width: var(--bs-border-width);
  --bs-nav-tabs-border-color: var(--bs-border-color);
  --bs-nav-tabs-border-radius: var(--bs-border-radius);
  --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
  --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);
  --bs-nav-tabs-link-active-bg: var(--bs-body-bg);
  --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
  border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
}
.nav-tabs .nav-link {
  margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
  border: var(--bs-nav-tabs-border-width) solid transparent;
  border-top-left-radius: var(--bs-nav-tabs-border-radius);
  border-top-right-radius: var(--bs-nav-tabs-border-radius);
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  isolation: isolate;
  border-color: var(--bs-nav-tabs-link-hover-border-color);
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--bs-nav-tabs-link-active-color);
  background-color: var(--bs-nav-tabs-link-active-bg);
  border-color: var(--bs-nav-tabs-link-active-border-color);
}
.nav-tabs .dropdown-menu {
  margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills {
  --bs-nav-pills-border-radius: var(--bs-border-radius);
  --bs-nav-pills-link-active-color: #fff;
  --bs-nav-pills-link-active-bg: #0d6efd;
}
.nav-pills .nav-link {
  border-radius: var(--bs-nav-pills-border-radius);
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: var(--bs-nav-pills-link-active-color);
  background-color: var(--bs-nav-pills-link-active-bg);
}

.nav-underline {
  --bs-nav-underline-gap: 1rem;
  --bs-nav-underline-border-width: 0.125rem;
  --bs-nav-underline-link-active-color: var(--bs-emphasis-color);
  gap: var(--bs-nav-underline-gap);
}
.nav-underline .nav-link {
  padding-right: 0;
  padding-left: 0;
  border-bottom: var(--bs-nav-underline-border-width) solid transparent;
}
.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {
  border-bottom-color: currentcolor;
}
.nav-underline .nav-link.active,
.nav-underline .show > .nav-link {
  font-weight: 700;
  color: var(--bs-nav-underline-link-active-color);
  border-bottom-color: currentcolor;
}

.nav-fill > .nav-link,
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}

.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-grow: 1;
  flex-basis: 0;
  text-align: center;
}

.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
  width: 100%;
}

.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}

.navbar {
  --bs-navbar-padding-x: 0;
  --bs-navbar-padding-y: 0.5rem;
  --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65);
  --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);
  --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);
  --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-brand-padding-y: 0.3125rem;
  --bs-navbar-brand-margin-end: 1rem;
  --bs-navbar-brand-font-size: 1.25rem;
  --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-nav-link-padding-x: 0.5rem;
  --bs-navbar-toggler-padding-y: 0.25rem;
  --bs-navbar-toggler-padding-x: 0.75rem;
  --bs-navbar-toggler-font-size: 1.25rem;
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);
  --bs-navbar-toggler-border-radius: var(--bs-border-radius);
  --bs-navbar-toggler-focus-width: 0.25rem;
  --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);
}
.navbar > .container,
.navbar > .container-fluid,
.navbar > .container-sm,
.navbar > .container-md,
.navbar > .container-lg,
.navbar > .container-xl,
.navbar > .container-xxl {
  display: flex;
  flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
}
.navbar-brand {
  padding-top: var(--bs-navbar-brand-padding-y);
  padding-bottom: var(--bs-navbar-brand-padding-y);
  margin-right: var(--bs-navbar-brand-margin-end);
  font-size: var(--bs-navbar-brand-font-size);
  color: var(--bs-navbar-brand-color);
  text-decoration: none;
  white-space: nowrap;
}
.navbar-brand:hover, .navbar-brand:focus {
  color: var(--bs-navbar-brand-hover-color);
}

.navbar-nav {
  --bs-nav-link-padding-x: 0;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--bs-navbar-color);
  --bs-nav-link-hover-color: var(--bs-navbar-hover-color);
  --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
  color: var(--bs-navbar-active-color);
}
.navbar-nav .dropdown-menu {
  position: static;
}

.navbar-text {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--bs-navbar-color);
}
.navbar-text a,
.navbar-text a:hover,
.navbar-text a:focus {
  color: var(--bs-navbar-active-color);
}

.navbar-collapse {
  flex-grow: 1;
  flex-basis: 100%;
  align-items: center;
}

.navbar-toggler {
  padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
  font-size: var(--bs-navbar-toggler-font-size);
  line-height: 1;
  color: var(--bs-navbar-color);
  background-color: transparent;
  border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
  border-radius: var(--bs-navbar-toggler-border-radius);
  transition: var(--bs-navbar-toggler-transition);
}
@media (prefers-reduced-motion: reduce) {
  .navbar-toggler {
    transition: none;
  }
}
.navbar-toggler:hover {
  text-decoration: none;
}
.navbar-toggler:focus {
  text-decoration: none;
  outline: 0;
  box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);
}

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  background-image: var(--bs-navbar-toggler-icon-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

.navbar-nav-scroll {
  max-height: var(--bs-scroll-height, 75vh);
  overflow-y: auto;
}

@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-sm .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-sm .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-sm .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-sm .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-sm .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
  .navbar-expand-sm .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 768px) {
  .navbar-expand-md {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-md .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-md .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-md .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-md .navbar-toggler {
    display: none;
  }
  .navbar-expand-md .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-lg .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-lg .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
  .navbar-expand-lg .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xl .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-xl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xl .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 1400px) {
  .navbar-expand-xxl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xxl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xxl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xxl .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-xxl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xxl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xxl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xxl .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
.navbar-expand {
  flex-wrap: nowrap;
  justify-content: flex-start;
}
.navbar-expand .navbar-nav {
  flex-direction: row;
}
.navbar-expand .navbar-nav .dropdown-menu {
  position: absolute;
}
.navbar-expand .navbar-nav .nav-link {
  padding-right: var(--bs-navbar-nav-link-padding-x);
  padding-left: var(--bs-navbar-nav-link-padding-x);
}
.navbar-expand .navbar-nav-scroll {
  overflow: visible;
}
.navbar-expand .navbar-collapse {
  display: flex !important;
  flex-basis: auto;
}
.navbar-expand .navbar-toggler {
  display: none;
}
.navbar-expand .offcanvas {
  position: static;
  z-index: auto;
  flex-grow: 1;
  width: auto !important;
  height: auto !important;
  visibility: visible !important;
  background-color: transparent !important;
  border: 0 !important;
  transform: none !important;
  transition: none;
}
.navbar-expand .offcanvas .offcanvas-header {
  display: none;
}
.navbar-expand .offcanvas .offcanvas-body {
  display: flex;
  flex-grow: 0;
  padding: 0;
  overflow-y: visible;
}

.navbar-dark,
.navbar[data-bs-theme=dark] {
  --bs-navbar-color: rgba(255, 255, 255, 0.55);
  --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);
  --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);
  --bs-navbar-active-color: #fff;
  --bs-navbar-brand-color: #fff;
  --bs-navbar-brand-hover-color: #fff;
  --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

[data-bs-theme=dark] .navbar-toggler-icon {
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.card {
  --bs-card-spacer-y: 1rem;
  --bs-card-spacer-x: 1rem;
  --bs-card-title-spacer-y: 0.5rem;
  --bs-card-title-color: ;
  --bs-card-subtitle-color: ;
  --bs-card-border-width: var(--bs-border-width);
  --bs-card-border-color: var(--bs-border-color-translucent);
  --bs-card-border-radius: var(--bs-border-radius);
  --bs-card-box-shadow: ;
  --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-card-cap-padding-y: 0.5rem;
  --bs-card-cap-padding-x: 1rem;
  --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
  --bs-card-cap-color: ;
  
  
  --bs-card-bg: var(--bs-body-bg);
  --bs-card-img-overlay-padding: 1rem;
  --bs-card-group-margin: 0.75rem;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: var(--bs-card-height);
  color: var(--bs-body-color);
  word-wrap: break-word;
  background-color: var(--bs-card-bg);
  background-clip: border-box;
  border: var(--bs-card-border-width) solid var(--bs-card-border-color);
  border-radius: var(--bs-card-border-radius);
}
.card > hr {
  margin-right: 0;
  margin-left: 0;
}
.card > .list-group {
  border-top: inherit;
  border-bottom: inherit;
}
.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius);
}
.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius);
}
.card > .card-header + .list-group,
.card > .list-group + .card-footer {
  border-top: 0;
}

.card-body {
  flex: 1 1 auto;
  padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
  color: var(--bs-card-color);
}

.card-title {
  margin-bottom: var(--bs-card-title-spacer-y);
  color: var(--bs-card-title-color);
}

.card-subtitle {
  margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));
  margin-bottom: 0;
  color: var(--bs-card-subtitle-color);
}

.card-text:last-child {
  margin-bottom: 0;
}

.card-link + .card-link {
  margin-left: var(--bs-card-spacer-x);
}

.card-header {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  margin-bottom: 0;
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);
}
.card-header:first-child {
  border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;
}

.card-footer {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);
}
.card-footer:last-child {
  border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);
}

.card-header-tabs {
  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
  margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
  border-bottom: 0;
}
.card-header-tabs .nav-link.active {
  background-color: var(--bs-card-bg);
  border-bottom-color: var(--bs-card-bg);
}

.card-header-pills {
  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
}

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: var(--bs-card-img-overlay-padding);
  border-radius: var(--bs-card-inner-border-radius);
}

.card-img,
.card-img-top,
.card-img-bottom {
  width: 100%;
}

.card-img,
.card-img-top {
  border-top-left-radius: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius);
}

.card-img,
.card-img-bottom {
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius);
}

.card-group > .card {
  margin-bottom: var(--bs-card-group-margin);
}
@media (min-width: 576px) {
  .card-group {
    display: flex;
    flex-flow: row wrap;
  }
  .card-group > .card {
    flex: 1 0 0;
    margin-bottom: 0;
  }
  .card-group > .card + .card {
    margin-left: 0;
    border-left: 0;
  }
  .card-group > .card:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:last-child) > .card-img-top,
  .card-group > .card:not(:last-child) > .card-header {
    border-top-right-radius: 0;
  }
  .card-group > .card:not(:last-child) > .card-img-bottom,
  .card-group > .card:not(:last-child) > .card-footer {
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .card-group > .card:not(:first-child) > .card-img-top,
  .card-group > .card:not(:first-child) > .card-header {
    border-top-left-radius: 0;
  }
  .card-group > .card:not(:first-child) > .card-img-bottom,
  .card-group > .card:not(:first-child) > .card-footer {
    border-bottom-left-radius: 0;
  }
}

.accordion {
  --bs-accordion-color: var(--bs-body-color);
  --bs-accordion-bg: var(--bs-body-bg);
  --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
  --bs-accordion-border-color: var(--bs-border-color);
  --bs-accordion-border-width: var(--bs-border-width);
  --bs-accordion-border-radius: var(--bs-border-radius);
  --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-accordion-btn-padding-x: 1.25rem;
  --bs-accordion-btn-padding-y: 1rem;
  --bs-accordion-btn-color: var(--bs-body-color);
  --bs-accordion-btn-bg: var(--bs-accordion-bg);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  --bs-accordion-btn-icon-width: 1.25rem;
  --bs-accordion-btn-icon-transform: rotate(-180deg);
  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  --bs-accordion-body-padding-x: 1.25rem;
  --bs-accordion-body-padding-y: 1rem;
  --bs-accordion-active-color: var(--bs-primary-text-emphasis);
  --bs-accordion-active-bg: var(--bs-primary-bg-subtle);
}

.accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
  font-size: 1rem;
  color: var(--bs-accordion-btn-color);
  text-align: left;
  background-color: var(--bs-accordion-btn-bg);
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: var(--bs-accordion-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button {
    transition: none;
  }
}
.accordion-button:not(.collapsed) {
  color: var(--bs-accordion-active-color);
  background-color: var(--bs-accordion-active-bg);
  box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}
.accordion-button:not(.collapsed)::after {
  background-image: var(--bs-accordion-btn-active-icon);
  transform: var(--bs-accordion-btn-icon-transform);
}
.accordion-button::after {
  flex-shrink: 0;
  width: var(--bs-accordion-btn-icon-width);
  height: var(--bs-accordion-btn-icon-width);
  margin-left: auto;
  content: "";
  background-image: var(--bs-accordion-btn-icon);
  background-repeat: no-repeat;
  background-size: var(--bs-accordion-btn-icon-width);
  transition: var(--bs-accordion-btn-icon-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button::after {
    transition: none;
  }
}
.accordion-button:hover {
  z-index: 2;
}
.accordion-button:focus {
  z-index: 3;
  outline: 0;
  box-shadow: var(--bs-accordion-btn-focus-box-shadow);
}

.accordion-header {
  margin-bottom: 0;
}

.accordion-item {
  color: var(--bs-accordion-color);
  background-color: var(--bs-accordion-bg);
  border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
}
.accordion-item:first-of-type {
  border-top-left-radius: var(--bs-accordion-border-radius);
  border-top-right-radius: var(--bs-accordion-border-radius);
}
.accordion-item:first-of-type > .accordion-header .accordion-button {
  border-top-left-radius: var(--bs-accordion-inner-border-radius);
  border-top-right-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:not(:first-of-type) {
  border-top: 0;
}
.accordion-item:last-of-type {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}
.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
  border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
  border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:last-of-type > .accordion-collapse {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}

.accordion-body {
  padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
}

.accordion-flush > .accordion-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}
.accordion-flush > .accordion-item:first-child {
  border-top: 0;
}
.accordion-flush > .accordion-item:last-child {
  border-bottom: 0;
}
.accordion-flush > .accordion-item > .accordion-collapse,
.accordion-flush > .accordion-item > .accordion-header .accordion-button,
.accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {
  border-radius: 0;
}

[data-bs-theme=dark] .accordion-button::after {
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
}

.breadcrumb {
  --bs-breadcrumb-padding-x: 0;
  --bs-breadcrumb-padding-y: 0;
  --bs-breadcrumb-margin-bottom: 1rem;
  
  --bs-breadcrumb-border-radius: ;
  --bs-breadcrumb-divider-color: var(--bs-secondary-color);
  --bs-breadcrumb-item-padding-x: 0.5rem;
  --bs-breadcrumb-item-active-color: var(--bs-secondary-color);
  display: flex;
  flex-wrap: wrap;
  padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
  margin-bottom: var(--bs-breadcrumb-margin-bottom);
  font-size: var(--bs-breadcrumb-font-size);
  list-style: none;
  background-color: var(--bs-breadcrumb-bg);
  border-radius: var(--bs-breadcrumb-border-radius);
}

.breadcrumb-item + .breadcrumb-item {
  padding-left: var(--bs-breadcrumb-item-padding-x);
}
.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: var(--bs-breadcrumb-item-padding-x);
  color: var(--bs-breadcrumb-divider-color);
  content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */;
}
.breadcrumb-item.active {
  color: var(--bs-breadcrumb-item-active-color);
}

.pagination {
  --bs-pagination-padding-x: 0.75rem;
  --bs-pagination-padding-y: 0.375rem;
  --bs-pagination-font-size: 1rem;
  --bs-pagination-color: var(--bs-link-color);
  --bs-pagination-bg: var(--bs-body-bg);
  --bs-pagination-border-width: var(--bs-border-width);
  --bs-pagination-border-color: var(--bs-border-color);
  --bs-pagination-border-radius: var(--bs-border-radius);
  --bs-pagination-hover-color: var(--bs-link-hover-color);
  --bs-pagination-hover-bg: var(--bs-tertiary-bg);
  --bs-pagination-hover-border-color: var(--bs-border-color);
  --bs-pagination-focus-color: var(--bs-link-hover-color);
  --bs-pagination-focus-bg: var(--bs-secondary-bg);
  --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  --bs-pagination-active-color: #fff;
  --bs-pagination-active-bg: #0d6efd;
  --bs-pagination-active-border-color: #0d6efd;
  --bs-pagination-disabled-color: var(--bs-secondary-color);
  --bs-pagination-disabled-bg: var(--bs-secondary-bg);
  --bs-pagination-disabled-border-color: var(--bs-border-color);
  display: flex;
  padding-left: 0;
  list-style: none;
}

.page-link {
  position: relative;
  display: block;
  padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
  font-size: var(--bs-pagination-font-size);
  color: var(--bs-pagination-color);
  text-decoration: none;
  background-color: var(--bs-pagination-bg);
  border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .page-link {
    transition: none;
  }
}
.page-link:hover {
  z-index: 2;
  color: var(--bs-pagination-hover-color);
  background-color: var(--bs-pagination-hover-bg);
  border-color: var(--bs-pagination-hover-border-color);
}
.page-link:focus {
  z-index: 3;
  color: var(--bs-pagination-focus-color);
  background-color: var(--bs-pagination-focus-bg);
  outline: 0;
  box-shadow: var(--bs-pagination-focus-box-shadow);
}
.page-link.active, .active > .page-link {
  z-index: 3;
  color: var(--bs-pagination-active-color);
  background-color: var(--bs-pagination-active-bg);
  border-color: var(--bs-pagination-active-border-color);
}
.page-link.disabled, .disabled > .page-link {
  color: var(--bs-pagination-disabled-color);
  pointer-events: none;
  background-color: var(--bs-pagination-disabled-bg);
  border-color: var(--bs-pagination-disabled-border-color);
}

.page-item:not(:first-child) .page-link {
  margin-left: calc(-1 * var(--bs-border-width));
}
.page-item:first-child .page-link {
  border-top-left-radius: var(--bs-pagination-border-radius);
  border-bottom-left-radius: var(--bs-pagination-border-radius);
}
.page-item:last-child .page-link {
  border-top-right-radius: var(--bs-pagination-border-radius);
  border-bottom-right-radius: var(--bs-pagination-border-radius);
}

.pagination-lg {
  --bs-pagination-padding-x: 1.5rem;
  --bs-pagination-padding-y: 0.75rem;
  --bs-pagination-font-size: 1.25rem;
  --bs-pagination-border-radius: var(--bs-border-radius-lg);
}

.pagination-sm {
  --bs-pagination-padding-x: 0.5rem;
  --bs-pagination-padding-y: 0.25rem;
  --bs-pagination-font-size: 0.875rem;
  --bs-pagination-border-radius: var(--bs-border-radius-sm);
}

.badge {
  --bs-badge-padding-x: 0.65em;
  --bs-badge-padding-y: 0.35em;
  --bs-badge-font-size: 0.75em;
  --bs-badge-font-weight: 700;
  --bs-badge-color: #fff;
  --bs-badge-border-radius: var(--bs-border-radius);
  display: inline-block;
  padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
  font-size: var(--bs-badge-font-size);
  font-weight: var(--bs-badge-font-weight);
  line-height: 1;
  color: var(--bs-badge-color);
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: var(--bs-badge-border-radius);
}
.badge:empty {
  display: none;
}

.btn .badge {
  position: relative;
  top: -1px;
}

.alert {
  --bs-alert-bg: transparent;
  --bs-alert-padding-x: 1rem;
  --bs-alert-padding-y: 1rem;
  --bs-alert-margin-bottom: 1rem;
  --bs-alert-color: inherit;
  --bs-alert-border-color: transparent;
  --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
  --bs-alert-border-radius: var(--bs-border-radius);
  --bs-alert-link-color: inherit;
  position: relative;
  padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
  margin-bottom: var(--bs-alert-margin-bottom);
  color: var(--bs-alert-color);
  background-color: var(--bs-alert-bg);
  border: var(--bs-alert-border);
  border-radius: var(--bs-alert-border-radius);
}

.alert-heading {
  color: inherit;
}

.alert-link {
  font-weight: 700;
  color: var(--bs-alert-link-color);
}

.alert-dismissible {
  padding-right: 3rem;
}
.alert-dismissible .btn-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 1.25rem 1rem;
}

.alert-primary {
  --bs-alert-color: var(--bs-primary-text-emphasis);
  --bs-alert-bg: var(--bs-primary-bg-subtle);
  --bs-alert-border-color: var(--bs-primary-border-subtle);
  --bs-alert-link-color: var(--bs-primary-text-emphasis);
}

.alert-secondary {
  --bs-alert-color: var(--bs-secondary-text-emphasis);
  --bs-alert-bg: var(--bs-secondary-bg-subtle);
  --bs-alert-border-color: var(--bs-secondary-border-subtle);
  --bs-alert-link-color: var(--bs-secondary-text-emphasis);
}

.alert-success {
  --bs-alert-color: var(--bs-success-text-emphasis);
  --bs-alert-bg: var(--bs-success-bg-subtle);
  --bs-alert-border-color: var(--bs-success-border-subtle);
  --bs-alert-link-color: var(--bs-success-text-emphasis);
}

.alert-info {
  --bs-alert-color: var(--bs-info-text-emphasis);
  --bs-alert-bg: var(--bs-info-bg-subtle);
  --bs-alert-border-color: var(--bs-info-border-subtle);
  --bs-alert-link-color: var(--bs-info-text-emphasis);
}

.alert-warning {
  --bs-alert-color: var(--bs-warning-text-emphasis);
  --bs-alert-bg: var(--bs-warning-bg-subtle);
  --bs-alert-border-color: var(--bs-warning-border-subtle);
  --bs-alert-link-color: var(--bs-warning-text-emphasis);
}

.alert-danger {
  --bs-alert-color: var(--bs-danger-text-emphasis);
  --bs-alert-bg: var(--bs-danger-bg-subtle);
  --bs-alert-border-color: var(--bs-danger-border-subtle);
  --bs-alert-link-color: var(--bs-danger-text-emphasis);
}

.alert-light {
  --bs-alert-color: var(--bs-light-text-emphasis);
  --bs-alert-bg: var(--bs-light-bg-subtle);
  --bs-alert-border-color: var(--bs-light-border-subtle);
  --bs-alert-link-color: var(--bs-light-text-emphasis);
}

.alert-dark {
  --bs-alert-color: var(--bs-dark-text-emphasis);
  --bs-alert-bg: var(--bs-dark-bg-subtle);
  --bs-alert-border-color: var(--bs-dark-border-subtle);
  --bs-alert-link-color: var(--bs-dark-text-emphasis);
}

@keyframes progress-bar-stripes {
  0% {
    background-position-x: var(--bs-progress-height);
  }
}
.progress,
.progress-stacked {
  --bs-progress-height: 1rem;
  --bs-progress-font-size: 0.75rem;
  --bs-progress-bg: var(--bs-secondary-bg);
  --bs-progress-border-radius: var(--bs-border-radius);
  --bs-progress-box-shadow: var(--bs-box-shadow-inset);
  --bs-progress-bar-color: #fff;
  --bs-progress-bar-bg: #0d6efd;
  --bs-progress-bar-transition: width 0.6s ease;
  display: flex;
  height: var(--bs-progress-height);
  overflow: hidden;
  font-size: var(--bs-progress-font-size);
  background-color: var(--bs-progress-bg);
  border-radius: var(--bs-progress-border-radius);
}

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: var(--bs-progress-bar-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--bs-progress-bar-bg);
  transition: var(--bs-progress-bar-transition);
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar {
    transition: none;
  }
}

.progress-bar-striped {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: var(--bs-progress-height) var(--bs-progress-height);
}

.progress-stacked > .progress {
  overflow: visible;
}

.progress-stacked > .progress > .progress-bar {
  width: 100%;
}

.progress-bar-animated {
  animation: 1s linear infinite progress-bar-stripes;
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar-animated {
    animation: none;
  }
}

.list-group {
  --bs-list-group-color: var(--bs-body-color);
  --bs-list-group-bg: var(--bs-body-bg);
  --bs-list-group-border-color: var(--bs-border-color);
  --bs-list-group-border-width: var(--bs-border-width);
  --bs-list-group-border-radius: var(--bs-border-radius);
  --bs-list-group-item-padding-x: 1rem;
  --bs-list-group-item-padding-y: 0.5rem;
  --bs-list-group-action-color: var(--bs-secondary-color);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);
  --bs-list-group-action-active-color: var(--bs-body-color);
  --bs-list-group-action-active-bg: var(--bs-secondary-bg);
  --bs-list-group-disabled-color: var(--bs-secondary-color);
  --bs-list-group-disabled-bg: var(--bs-body-bg);
  --bs-list-group-active-color: #fff;
  --bs-list-group-active-bg: #0d6efd;
  --bs-list-group-active-border-color: #0d6efd;
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: var(--bs-list-group-border-radius);
}

.list-group-numbered {
  list-style-type: none;
  counter-reset: section;
}
.list-group-numbered > .list-group-item::before {
  content: counters(section, ".") ". ";
  counter-increment: section;
}

.list-group-item {
  position: relative;
  display: block;
  padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
  color: var(--bs-list-group-color);
  text-decoration: none;
  background-color: var(--bs-list-group-bg);
  border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);
}
.list-group-item:first-child {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}
.list-group-item:last-child {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}
.list-group-item.disabled, .list-group-item:disabled {
  color: var(--bs-list-group-disabled-color);
  pointer-events: none;
  background-color: var(--bs-list-group-disabled-bg);
}
.list-group-item.active {
  z-index: 2;
  color: var(--bs-list-group-active-color);
  background-color: var(--bs-list-group-active-bg);
  border-color: var(--bs-list-group-active-border-color);
}
.list-group-item + .list-group-item {
  border-top-width: 0;
}
.list-group-item + .list-group-item.active {
  margin-top: calc(-1 * var(--bs-list-group-border-width));
  border-top-width: var(--bs-list-group-border-width);
}

.list-group-item-action {
  width: 100%;
  color: var(--bs-list-group-action-color);
  text-align: inherit;
}
.list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {
  z-index: 1;
  color: var(--bs-list-group-action-hover-color);
  text-decoration: none;
  background-color: var(--bs-list-group-action-hover-bg);
}
.list-group-item-action:not(.active):active {
  color: var(--bs-list-group-action-active-color);
  background-color: var(--bs-list-group-action-active-bg);
}

.list-group-horizontal {
  flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
  border-bottom-left-radius: var(--bs-list-group-border-radius);
  border-top-right-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child:not(:first-child) {
  border-top-right-radius: var(--bs-list-group-border-radius);
  border-bottom-left-radius: 0;
}
.list-group-horizontal > .list-group-item.active {
  margin-top: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item {
  border-top-width: var(--bs-list-group-border-width);
  border-left-width: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item.active {
  margin-left: calc(-1 * var(--bs-list-group-border-width));
  border-left-width: var(--bs-list-group-border-width);
}

@media (min-width: 576px) {
  .list-group-horizontal-sm {
    flex-direction: row;
  }
  .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 768px) {
  .list-group-horizontal-md {
    flex-direction: row;
  }
  .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 992px) {
  .list-group-horizontal-lg {
    flex-direction: row;
  }
  .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 1200px) {
  .list-group-horizontal-xl {
    flex-direction: row;
  }
  .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 1400px) {
  .list-group-horizontal-xxl {
    flex-direction: row;
  }
  .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
.list-group-flush {
  border-radius: 0;
}
.list-group-flush > .list-group-item {
  border-width: 0 0 var(--bs-list-group-border-width);
}
.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}

.list-group-item-primary {
  --bs-list-group-color: var(--bs-primary-text-emphasis);
  --bs-list-group-bg: var(--bs-primary-bg-subtle);
  --bs-list-group-border-color: var(--bs-primary-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-primary-border-subtle);
  --bs-list-group-active-color: var(--bs-primary-bg-subtle);
  --bs-list-group-active-bg: var(--bs-primary-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-primary-text-emphasis);
}

.list-group-item-secondary {
  --bs-list-group-color: var(--bs-secondary-text-emphasis);
  --bs-list-group-bg: var(--bs-secondary-bg-subtle);
  --bs-list-group-border-color: var(--bs-secondary-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);
  --bs-list-group-active-color: var(--bs-secondary-bg-subtle);
  --bs-list-group-active-bg: var(--bs-secondary-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis);
}

.list-group-item-success {
  --bs-list-group-color: var(--bs-success-text-emphasis);
  --bs-list-group-bg: var(--bs-success-bg-subtle);
  --bs-list-group-border-color: var(--bs-success-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-success-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-success-border-subtle);
  --bs-list-group-active-color: var(--bs-success-bg-subtle);
  --bs-list-group-active-bg: var(--bs-success-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-success-text-emphasis);
}

.list-group-item-info {
  --bs-list-group-color: var(--bs-info-text-emphasis);
  --bs-list-group-bg: var(--bs-info-bg-subtle);
  --bs-list-group-border-color: var(--bs-info-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-info-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-info-border-subtle);
  --bs-list-group-active-color: var(--bs-info-bg-subtle);
  --bs-list-group-active-bg: var(--bs-info-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-info-text-emphasis);
}

.list-group-item-warning {
  --bs-list-group-color: var(--bs-warning-text-emphasis);
  --bs-list-group-bg: var(--bs-warning-bg-subtle);
  --bs-list-group-border-color: var(--bs-warning-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-warning-border-subtle);
  --bs-list-group-active-color: var(--bs-warning-bg-subtle);
  --bs-list-group-active-bg: var(--bs-warning-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-warning-text-emphasis);
}

.list-group-item-danger {
  --bs-list-group-color: var(--bs-danger-text-emphasis);
  --bs-list-group-bg: var(--bs-danger-bg-subtle);
  --bs-list-group-border-color: var(--bs-danger-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-danger-border-subtle);
  --bs-list-group-active-color: var(--bs-danger-bg-subtle);
  --bs-list-group-active-bg: var(--bs-danger-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-danger-text-emphasis);
}

.list-group-item-light {
  --bs-list-group-color: var(--bs-light-text-emphasis);
  --bs-list-group-bg: var(--bs-light-bg-subtle);
  --bs-list-group-border-color: var(--bs-light-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-light-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-light-border-subtle);
  --bs-list-group-active-color: var(--bs-light-bg-subtle);
  --bs-list-group-active-bg: var(--bs-light-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-light-text-emphasis);
}

.list-group-item-dark {
  --bs-list-group-color: var(--bs-dark-text-emphasis);
  --bs-list-group-bg: var(--bs-dark-bg-subtle);
  --bs-list-group-border-color: var(--bs-dark-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-dark-border-subtle);
  --bs-list-group-active-color: var(--bs-dark-bg-subtle);
  --bs-list-group-active-bg: var(--bs-dark-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-dark-text-emphasis);
}

.btn-close {
  --bs-btn-close-color: #000;
  --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");
  --bs-btn-close-opacity: 0.5;
  --bs-btn-close-hover-opacity: 0.75;
  --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  --bs-btn-close-focus-opacity: 1;
  --bs-btn-close-disabled-opacity: 0.25;
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em 0.25em;
  color: var(--bs-btn-close-color);
  background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;
  filter: var(--bs-btn-close-filter);
  border: 0;
  border-radius: 0.375rem;
  opacity: var(--bs-btn-close-opacity);
}
.btn-close:hover {
  color: var(--bs-btn-close-color);
  text-decoration: none;
  opacity: var(--bs-btn-close-hover-opacity);
}
.btn-close:focus {
  outline: 0;
  box-shadow: var(--bs-btn-close-focus-shadow);
  opacity: var(--bs-btn-close-focus-opacity);
}
.btn-close:disabled, .btn-close.disabled {
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  opacity: var(--bs-btn-close-disabled-opacity);
}

.btn-close-white {
  --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%);
}

:root,
[data-bs-theme=light] {
  --bs-btn-close-filter: ;
}

[data-bs-theme=dark] {
  --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%);
}

.toast {
  --bs-toast-zindex: 1090;
  --bs-toast-padding-x: 0.75rem;
  --bs-toast-padding-y: 0.5rem;
  --bs-toast-spacing: 1.5rem;
  --bs-toast-max-width: 350px;
  --bs-toast-font-size: 0.875rem;
  
  --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);
  --bs-toast-border-width: var(--bs-border-width);
  --bs-toast-border-color: var(--bs-border-color-translucent);
  --bs-toast-border-radius: var(--bs-border-radius);
  --bs-toast-box-shadow: var(--bs-box-shadow);
  --bs-toast-header-color: var(--bs-secondary-color);
  --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);
  --bs-toast-header-border-color: var(--bs-border-color-translucent);
  width: var(--bs-toast-max-width);
  max-width: 100%;
  font-size: var(--bs-toast-font-size);
  color: var(--bs-toast-color);
  pointer-events: auto;
  background-color: var(--bs-toast-bg);
  background-clip: padding-box;
  border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);
  box-shadow: var(--bs-toast-box-shadow);
  border-radius: var(--bs-toast-border-radius);
}
.toast.showing {
  opacity: 0;
}
.toast:not(.show) {
  display: none;
}

.toast-container {
  --bs-toast-zindex: 1090;
  position: absolute;
  z-index: var(--bs-toast-zindex);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  pointer-events: none;
}
.toast-container > :not(:last-child) {
  margin-bottom: var(--bs-toast-spacing);
}

.toast-header {
  display: flex;
  align-items: center;
  padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);
  color: var(--bs-toast-header-color);
  background-color: var(--bs-toast-header-bg);
  background-clip: padding-box;
  border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);
  border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
  border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
}
.toast-header .btn-close {
  margin-right: calc(-0.5 * var(--bs-toast-padding-x));
  margin-left: var(--bs-toast-padding-x);
}

.toast-body {
  padding: var(--bs-toast-padding-x);
  word-wrap: break-word;
}

.modal {
  --bs-modal-zindex: 1055;
  --bs-modal-width: 500px;
  --bs-modal-padding: 1rem;
  --bs-modal-margin: 0.5rem;
  --bs-modal-color: var(--bs-body-color);
  --bs-modal-bg: var(--bs-body-bg);
  --bs-modal-border-color: var(--bs-border-color-translucent);
  --bs-modal-border-width: var(--bs-border-width);
  --bs-modal-border-radius: var(--bs-border-radius-lg);
  --bs-modal-box-shadow: var(--bs-box-shadow-sm);
  --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));
  --bs-modal-header-padding-x: 1rem;
  --bs-modal-header-padding-y: 1rem;
  --bs-modal-header-padding: 1rem 1rem;
  --bs-modal-header-border-color: var(--bs-border-color);
  --bs-modal-header-border-width: var(--bs-border-width);
  --bs-modal-title-line-height: 1.5;
  --bs-modal-footer-gap: 0.5rem;
  --bs-modal-footer-bg: ;
  --bs-modal-footer-border-color: var(--bs-border-color);
  --bs-modal-footer-border-width: var(--bs-border-width);
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-modal-zindex);
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: var(--bs-modal-margin);
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transform: translate(0, -50px);
  transition: transform 0.3s ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  height: calc(100% - var(--bs-modal-margin) * 2);
}
.modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - var(--bs-modal-margin) * 2);
}

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  color: var(--bs-modal-color);
  pointer-events: auto;
  background-color: var(--bs-modal-bg);
  background-clip: padding-box;
  border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
  border-radius: var(--bs-modal-border-radius);
  outline: 0;
}

.modal-backdrop {
  --bs-backdrop-zindex: 1050;
  --bs-backdrop-bg: #000;
  --bs-backdrop-opacity: 0.5;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-backdrop-zindex);
  width: 100vw;
  height: 100vh;
  background-color: var(--bs-backdrop-bg);
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: var(--bs-backdrop-opacity);
}

.modal-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  padding: var(--bs-modal-header-padding);
  border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
  border-top-left-radius: var(--bs-modal-inner-border-radius);
  border-top-right-radius: var(--bs-modal-inner-border-radius);
}
.modal-header .btn-close {
  padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);
  margin-top: calc(-0.5 * var(--bs-modal-header-padding-y));
  margin-right: calc(-0.5 * var(--bs-modal-header-padding-x));
  margin-bottom: calc(-0.5 * var(--bs-modal-header-padding-y));
  margin-left: auto;
}

.modal-title {
  margin-bottom: 0;
  line-height: var(--bs-modal-title-line-height);
}

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: var(--bs-modal-padding);
}

.modal-footer {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5);
  background-color: var(--bs-modal-footer-bg);
  border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
  border-bottom-right-radius: var(--bs-modal-inner-border-radius);
  border-bottom-left-radius: var(--bs-modal-inner-border-radius);
}
.modal-footer > * {
  margin: calc(var(--bs-modal-footer-gap) * 0.5);
}

@media (min-width: 576px) {
  .modal {
    --bs-modal-margin: 1.75rem;
    --bs-modal-box-shadow: var(--bs-box-shadow);
  }
  .modal-dialog {
    max-width: var(--bs-modal-width);
    margin-right: auto;
    margin-left: auto;
  }
  .modal-sm {
    --bs-modal-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    --bs-modal-width: 800px;
  }
}
@media (min-width: 1200px) {
  .modal-xl {
    --bs-modal-width: 1140px;
  }
}
.modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0;
}
.modal-fullscreen .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}
.modal-fullscreen .modal-header,
.modal-fullscreen .modal-footer {
  border-radius: 0;
}
.modal-fullscreen .modal-body {
  overflow-y: auto;
}

@media (max-width: 575.98px) {
  .modal-fullscreen-sm-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-sm-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-header,
  .modal-fullscreen-sm-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 767.98px) {
  .modal-fullscreen-md-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-md-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-header,
  .modal-fullscreen-md-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 991.98px) {
  .modal-fullscreen-lg-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-lg-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-header,
  .modal-fullscreen-lg-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1199.98px) {
  .modal-fullscreen-xl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-header,
  .modal-fullscreen-xl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1399.98px) {
  .modal-fullscreen-xxl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xxl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-header,
  .modal-fullscreen-xxl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-body {
    overflow-y: auto;
  }
}
.tooltip {
  --bs-tooltip-zindex: 1080;
  --bs-tooltip-max-width: 200px;
  --bs-tooltip-padding-x: 0.5rem;
  --bs-tooltip-padding-y: 0.25rem;
  
  --bs-tooltip-font-size: 0.875rem;
  --bs-tooltip-color: var(--bs-body-bg);
  --bs-tooltip-bg: var(--bs-emphasis-color);
  --bs-tooltip-border-radius: var(--bs-border-radius);
  --bs-tooltip-opacity: 0.9;
  --bs-tooltip-arrow-width: 0.8rem;
  --bs-tooltip-arrow-height: 0.4rem;
  z-index: var(--bs-tooltip-zindex);
  display: block;
  margin: var(--bs-tooltip-margin);
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--bs-tooltip-font-size);
  word-wrap: break-word;
  opacity: 0;
}
.tooltip.show {
  opacity: var(--bs-tooltip-opacity);
}
.tooltip .tooltip-arrow {
  display: block;
  width: var(--bs-tooltip-arrow-width);
  height: var(--bs-tooltip-arrow-height);
}
.tooltip .tooltip-arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
  bottom: calc(-1 * var(--bs-tooltip-arrow-height));
}
.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
  top: -1px;
  border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
  border-top-color: var(--bs-tooltip-bg);
}

/* rtl:begin:ignore */
.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
  left: calc(-1 * var(--bs-tooltip-arrow-height));
  width: var(--bs-tooltip-arrow-height);
  height: var(--bs-tooltip-arrow-width);
}
.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
  right: -1px;
  border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
  border-right-color: var(--bs-tooltip-bg);
}

/* rtl:end:ignore */
.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
  top: calc(-1 * var(--bs-tooltip-arrow-height));
}
.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
  bottom: -1px;
  border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
  border-bottom-color: var(--bs-tooltip-bg);
}

/* rtl:begin:ignore */
.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
  right: calc(-1 * var(--bs-tooltip-arrow-height));
  width: var(--bs-tooltip-arrow-height);
  height: var(--bs-tooltip-arrow-width);
}
.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
  left: -1px;
  border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
  border-left-color: var(--bs-tooltip-bg);
}

/* rtl:end:ignore */
.tooltip-inner {
  max-width: var(--bs-tooltip-max-width);
  padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
  color: var(--bs-tooltip-color);
  text-align: center;
  background-color: var(--bs-tooltip-bg);
  border-radius: var(--bs-tooltip-border-radius);
}

.popover {
  --bs-popover-zindex: 1070;
  --bs-popover-max-width: 276px;
  --bs-popover-font-size: 0.875rem;
  --bs-popover-bg: var(--bs-body-bg);
  --bs-popover-border-width: var(--bs-border-width);
  --bs-popover-border-color: var(--bs-border-color-translucent);
  --bs-popover-border-radius: var(--bs-border-radius-lg);
  --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
  --bs-popover-box-shadow: var(--bs-box-shadow);
  --bs-popover-header-padding-x: 1rem;
  --bs-popover-header-padding-y: 0.5rem;
  --bs-popover-header-font-size: 1rem;
  --bs-popover-header-color: inherit;
  --bs-popover-header-bg: var(--bs-secondary-bg);
  --bs-popover-body-padding-x: 1rem;
  --bs-popover-body-padding-y: 1rem;
  --bs-popover-body-color: var(--bs-body-color);
  --bs-popover-arrow-width: 1rem;
  --bs-popover-arrow-height: 0.5rem;
  --bs-popover-arrow-border: var(--bs-popover-border-color);
  z-index: var(--bs-popover-zindex);
  display: block;
  max-width: var(--bs-popover-max-width);
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--bs-popover-font-size);
  word-wrap: break-word;
  background-color: var(--bs-popover-bg);
  background-clip: padding-box;
  border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-radius: var(--bs-popover-border-radius);
}
.popover .popover-arrow {
  display: block;
  width: var(--bs-popover-arrow-width);
  height: var(--bs-popover-arrow-height);
}
.popover .popover-arrow::before, .popover .popover-arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
  border-width: 0;
}

.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
  bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
  border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {
  bottom: 0;
  border-top-color: var(--bs-popover-arrow-border);
}
.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
  bottom: var(--bs-popover-border-width);
  border-top-color: var(--bs-popover-bg);
}

/* rtl:begin:ignore */
.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
  left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
  width: var(--bs-popover-arrow-height);
  height: var(--bs-popover-arrow-width);
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
  border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
  left: 0;
  border-right-color: var(--bs-popover-arrow-border);
}
.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
  left: var(--bs-popover-border-width);
  border-right-color: var(--bs-popover-bg);
}

/* rtl:end:ignore */
.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
  top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
  border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {
  top: 0;
  border-bottom-color: var(--bs-popover-arrow-border);
}
.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
  top: var(--bs-popover-border-width);
  border-bottom-color: var(--bs-popover-bg);
}
.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: var(--bs-popover-arrow-width);
  margin-left: calc(-0.5 * var(--bs-popover-arrow-width));
  content: "";
  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);
}

/* rtl:begin:ignore */
.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
  right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
  width: var(--bs-popover-arrow-height);
  height: var(--bs-popover-arrow-width);
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
  border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
  right: 0;
  border-left-color: var(--bs-popover-arrow-border);
}
.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
  right: var(--bs-popover-border-width);
  border-left-color: var(--bs-popover-bg);
}

/* rtl:end:ignore */
.popover-header {
  padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);
  margin-bottom: 0;
  font-size: var(--bs-popover-header-font-size);
  color: var(--bs-popover-header-color);
  background-color: var(--bs-popover-header-bg);
  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-top-left-radius: var(--bs-popover-inner-border-radius);
  border-top-right-radius: var(--bs-popover-inner-border-radius);
}
.popover-header:empty {
  display: none;
}

.popover-body {
  padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);
  color: var(--bs-popover-body-color);
}

.carousel {
  position: relative;
}

.carousel.pointer-event {
  touch-action: pan-y;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
  transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start {
  transform: translateX(-100%);
}

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}
.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end {
  z-index: 1;
  opacity: 1;
}
.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-start,
  .carousel-fade .active.carousel-item-end {
    transition: none;
  }
}

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  padding: 0;
  color: #fff;
  text-align: center;
  background: none;
  filter: var(--bs-carousel-control-icon-filter);
  border: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
  .carousel-control-next {
    transition: none;
  }
}
.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}

.carousel-control-prev {
  left: 0;
}

.carousel-control-next {
  right: 0;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 100% 100%;
}

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")*/;
}

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")*/;
}

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  padding: 0;
  margin-right: 15%;
  margin-bottom: 1rem;
  margin-left: 15%;
}
.carousel-indicators [data-bs-target] {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  padding: 0;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: var(--bs-carousel-indicator-active-bg);
  background-clip: padding-box;
  border: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: 0.5;
  transition: opacity 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-indicators [data-bs-target] {
    transition: none;
  }
}
.carousel-indicators .active {
  opacity: 1;
}

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 1.25rem;
  left: 15%;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  color: var(--bs-carousel-caption-color);
  text-align: center;
}

.carousel-dark {
  --bs-carousel-indicator-active-bg: #000;
  --bs-carousel-caption-color: #000;
  --bs-carousel-control-icon-filter: invert(1) grayscale(100);
}

:root,
[data-bs-theme=light] {
  --bs-carousel-indicator-active-bg: #fff;
  --bs-carousel-caption-color: #fff;
  --bs-carousel-control-icon-filter: ;
}

[data-bs-theme=dark] {
  --bs-carousel-indicator-active-bg: #000;
  --bs-carousel-caption-color: #000;
  --bs-carousel-control-icon-filter: invert(1) grayscale(100);
}

.spinner-grow,
.spinner-border {
  display: inline-block;
  flex-shrink: 0;
  width: var(--bs-spinner-width);
  height: var(--bs-spinner-height);
  vertical-align: var(--bs-spinner-vertical-align);
  border-radius: 50%;
  animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg) /* rtl:ignore */;
  }
}
.spinner-border {
  --bs-spinner-width: 2rem;
  --bs-spinner-height: 2rem;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-border-width: 0.25em;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-animation-name: spinner-border;
  border: var(--bs-spinner-border-width) solid currentcolor;
  border-right-color: transparent;
}

.spinner-border-sm {
  --bs-spinner-width: 1rem;
  --bs-spinner-height: 1rem;
  --bs-spinner-border-width: 0.2em;
}

@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}
.spinner-grow {
  --bs-spinner-width: 2rem;
  --bs-spinner-height: 2rem;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-animation-name: spinner-grow;
  background-color: currentcolor;
  opacity: 0;
}

.spinner-grow-sm {
  --bs-spinner-width: 1rem;
  --bs-spinner-height: 1rem;
}

@media (prefers-reduced-motion: reduce) {
  .spinner-border,
  .spinner-grow {
    --bs-spinner-animation-speed: 1.5s;
  }
}
.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
  --bs-offcanvas-zindex: 1045;
  --bs-offcanvas-width: 400px;
  --bs-offcanvas-height: 30vh;
  --bs-offcanvas-padding-x: 1rem;
  --bs-offcanvas-padding-y: 1rem;
  --bs-offcanvas-color: var(--bs-body-color);
  --bs-offcanvas-bg: var(--bs-body-bg);
  --bs-offcanvas-border-width: var(--bs-border-width);
  --bs-offcanvas-border-color: var(--bs-border-color-translucent);
  --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);
  --bs-offcanvas-transition: transform 0.3s ease-in-out;
  --bs-offcanvas-title-line-height: 1.5;
}

@media (max-width: 575.98px) {
  .offcanvas-sm {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-sm {
    transition: none;
  }
}
@media (max-width: 575.98px) {
  .offcanvas-sm.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-sm.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-sm.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-sm.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {
    visibility: visible;
  }
}
@media (min-width: 576px) {
  .offcanvas-sm {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-sm .offcanvas-header {
    display: none;
  }
  .offcanvas-sm .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 767.98px) {
  .offcanvas-md {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-md {
    transition: none;
  }
}
@media (max-width: 767.98px) {
  .offcanvas-md.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-md.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-md.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-md.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {
    visibility: visible;
  }
}
@media (min-width: 768px) {
  .offcanvas-md {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-md .offcanvas-header {
    display: none;
  }
  .offcanvas-md .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 991.98px) {
  .offcanvas-lg {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-lg {
    transition: none;
  }
}
@media (max-width: 991.98px) {
  .offcanvas-lg.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-lg.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-lg.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-lg.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {
    visibility: visible;
  }
}
@media (min-width: 992px) {
  .offcanvas-lg {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-lg .offcanvas-header {
    display: none;
  }
  .offcanvas-lg .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 1199.98px) {
  .offcanvas-xl {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xl {
    transition: none;
  }
}
@media (max-width: 1199.98px) {
  .offcanvas-xl.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {
    visibility: visible;
  }
}
@media (min-width: 1200px) {
  .offcanvas-xl {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xl .offcanvas-header {
    display: none;
  }
  .offcanvas-xl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 1399.98px) {
  .offcanvas-xxl {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xxl {
    transition: none;
  }
}
@media (max-width: 1399.98px) {
  .offcanvas-xxl.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xxl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xxl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xxl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {
    visibility: visible;
  }
}
@media (min-width: 1400px) {
  .offcanvas-xxl {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xxl .offcanvas-header {
    display: none;
  }
  .offcanvas-xxl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

.offcanvas {
  position: fixed;
  bottom: 0;
  z-index: var(--bs-offcanvas-zindex);
  display: flex;
  flex-direction: column;
  max-width: 100%;
  color: var(--bs-offcanvas-color);
  visibility: hidden;
  background-color: var(--bs-offcanvas-bg);
  background-clip: padding-box;
  outline: 0;
  transition: var(--bs-offcanvas-transition);
}
@media (prefers-reduced-motion: reduce) {
  .offcanvas {
    transition: none;
  }
}
.offcanvas.offcanvas-start {
  top: 0;
  left: 0;
  width: var(--bs-offcanvas-width);
  border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateX(-100%);
}
.offcanvas.offcanvas-end {
  top: 0;
  right: 0;
  width: var(--bs-offcanvas-width);
  border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateX(100%);
}
.offcanvas.offcanvas-top {
  top: 0;
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateY(-100%);
}
.offcanvas.offcanvas-bottom {
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateY(100%);
}
.offcanvas.showing, .offcanvas.show:not(.hiding) {
  transform: none;
}
.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {
  visibility: visible;
}

.offcanvas-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000;
}
.offcanvas-backdrop.fade {
  opacity: 0;
}
.offcanvas-backdrop.show {
  opacity: 0.5;
}

.offcanvas-header {
  display: flex;
  align-items: center;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
}
.offcanvas-header .btn-close {
  padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);
  margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));
  margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x));
  margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));
  margin-left: auto;
}

.offcanvas-title {
  margin-bottom: 0;
  line-height: var(--bs-offcanvas-title-line-height);
}

.offcanvas-body {
  flex-grow: 1;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
  overflow-y: auto;
}

.placeholder {
  display: inline-block;
  min-height: 1em;
  vertical-align: middle;
  cursor: wait;
  background-color: currentcolor;
  opacity: 0.5;
}
.placeholder.btn::before {
  display: inline-block;
  content: "";
}

.placeholder-xs {
  min-height: 0.6em;
}

.placeholder-sm {
  min-height: 0.8em;
}

.placeholder-lg {
  min-height: 1.2em;
}

.placeholder-glow .placeholder {
  animation: placeholder-glow 2s ease-in-out infinite;
}

@keyframes placeholder-glow {
  50% {
    opacity: 0.2;
  }
}
.placeholder-wave {
  -webkit-mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
  mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
  -webkit-mask-size: 200% 100%;
  mask-size: 200% 100%;
  animation: placeholder-wave 2s linear infinite;
}

@keyframes placeholder-wave {
  100% {
    -webkit-mask-position: -200% 0%;
    mask-position: -200% 0%;
  }
}
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.text-bg-primary {
  color: #fff !important;
  background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-secondary {
  color: #fff !important;
  background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-success {
  color: #fff !important;
  background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-info {
  color: #000 !important;
  background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-warning {
  color: #000 !important;
  background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-danger {
  color: #fff !important;
  background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-light {
  color: #000 !important;
  background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-dark {
  color: #fff !important;
  background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
}

.link-primary {
  color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-primary:hover, .link-primary:focus {
  color: RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
}

.link-secondary {
  color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-secondary:hover, .link-secondary:focus {
  color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
}

.link-success {
  color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-success:hover, .link-success:focus {
  color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
}

.link-info {
  color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-info:hover, .link-info:focus {
  color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
}

.link-warning {
  color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-warning:hover, .link-warning:focus {
  color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
}

.link-danger {
  color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-danger:hover, .link-danger:focus {
  color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
}

.link-light {
  color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-light:hover, .link-light:focus {
  color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
}

.link-dark {
  color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-dark:hover, .link-dark:focus {
  color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
}

.link-body-emphasis {
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis:hover, .link-body-emphasis:focus {
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
}

.focus-ring:focus {
  outline: 0;
  box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
}

.icon-link {
  display: inline-flex;
  gap: 0.375rem;
  align-items: center;
  -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
  text-underline-offset: 0.25em;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.icon-link > .bi {
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  fill: currentcolor;
  transition: 0.2s ease-in-out transform;
}
@media (prefers-reduced-motion: reduce) {
  .icon-link > .bi {
    transition: none;
  }
}

.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
  transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
}

.ratio {
  position: relative;
  width: 100%;
}
.ratio::before {
  display: block;
  padding-top: var(--bs-aspect-ratio);
  content: "";
}
.ratio > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ratio-1x1 {
  --bs-aspect-ratio: 100%;
}

.ratio-4x3 {
  --bs-aspect-ratio: 75%;
}

.ratio-16x9 {
  --bs-aspect-ratio: 56.25%;
}

.ratio-21x9 {
  --bs-aspect-ratio: 42.8571428571%;
}

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}

.sticky-top {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1020;
}

.sticky-bottom {
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  z-index: 1020;
}

@media (min-width: 576px) {
  .sticky-sm-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-sm-bottom {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 768px) {
  .sticky-md-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-md-bottom {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 992px) {
  .sticky-lg-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-lg-bottom {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1200px) {
  .sticky-xl-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xl-bottom {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1400px) {
  .sticky-xxl-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xxl-bottom {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
.hstack {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-self: stretch;
}

.vstack {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-self: stretch;
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.visually-hidden:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
  position: absolute !important;
}
.visually-hidden *,
.visually-hidden-focusable:not(:focus):not(:focus-within) * {
  overflow: hidden !important;
}

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: "";
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vr {
  display: inline-block;
  align-self: stretch;
  width: var(--bs-border-width);
  min-height: 1em;
  background-color: currentcolor;
  opacity: 0.25;
}

.align-baseline {
  vertical-align: baseline !important;
}

.align-top {
  vertical-align: top !important;
}

.align-middle {
  vertical-align: middle !important;
}

.align-bottom {
  vertical-align: bottom !important;
}

.align-text-bottom {
  vertical-align: text-bottom !important;
}

.align-text-top {
  vertical-align: text-top !important;
}

.float-start {
  float: left !important;
}

.float-end {
  float: right !important;
}

.float-none {
  float: none !important;
}

.object-fit-contain {
  -o-object-fit: contain !important;
  object-fit: contain !important;
}

.object-fit-cover {
  -o-object-fit: cover !important;
  object-fit: cover !important;
}

.object-fit-fill {
  -o-object-fit: fill !important;
  object-fit: fill !important;
}

.object-fit-scale {
  -o-object-fit: scale-down !important;
  object-fit: scale-down !important;
}

.object-fit-none {
  -o-object-fit: none !important;
  object-fit: none !important;
}

.opacity-0 {
  opacity: 0 !important;
}

.opacity-25 {
  opacity: 0.25 !important;
}

.opacity-50 {
  opacity: 0.5 !important;
}

.opacity-75 {
  opacity: 0.75 !important;
}

.opacity-100 {
  opacity: 1 !important;
}

.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.overflow-visible {
  overflow: visible !important;
}

.overflow-scroll {
  overflow: scroll !important;
}

.overflow-x-auto {
  overflow-x: auto !important;
}

.overflow-x-hidden {
  overflow-x: hidden !important;
}

.overflow-x-visible {
  overflow-x: visible !important;
}

.overflow-x-scroll {
  overflow-x: scroll !important;
}

.overflow-y-auto {
  overflow-y: auto !important;
}

.overflow-y-hidden {
  overflow-y: hidden !important;
}

.overflow-y-visible {
  overflow-y: visible !important;
}

.overflow-y-scroll {
  overflow-y: scroll !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-grid {
  display: grid !important;
}

.d-inline-grid {
  display: inline-grid !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

.d-none {
  display: none !important;
}

.shadow {
  box-shadow: var(--bs-box-shadow) !important;
}

.shadow-sm {
  box-shadow: var(--bs-box-shadow-sm) !important;
}

.shadow-lg {
  box-shadow: var(--bs-box-shadow-lg) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.focus-ring-primary {
  --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-secondary {
  --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-success {
  --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-info {
  --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-warning {
  --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-danger {
  --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-light {
  --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-dark {
  --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: -webkit-sticky !important;
  position: sticky !important;
}

.top-0 {
  top: 0 !important;
}

.top-50 {
  top: 50% !important;
}

.top-100 {
  top: 100% !important;
}

.bottom-0 {
  bottom: 0 !important;
}

.bottom-50 {
  bottom: 50% !important;
}

.bottom-100 {
  bottom: 100% !important;
}

.start-0 {
  left: 0 !important;
}

.start-50 {
  left: 50% !important;
}

.start-100 {
  left: 100% !important;
}

.end-0 {
  right: 0 !important;
}

.end-50 {
  right: 50% !important;
}

.end-100 {
  right: 100% !important;
}

.translate-middle {
  transform: translate(-50%, -50%) !important;
}

.translate-middle-x {
  transform: translateX(-50%) !important;
}

.translate-middle-y {
  transform: translateY(-50%) !important;
}

.border {
  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-0 {
  border: 0 !important;
}

.border-top {
  border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-top-0 {
  border-top: 0 !important;
}

.border-end {
  border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-end-0 {
  border-right: 0 !important;
}

.border-bottom {
  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.border-start {
  border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-start-0 {
  border-left: 0 !important;
}

.border-primary {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;
}

.border-secondary {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;
}

.border-success {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;
}

.border-info {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;
}

.border-warning {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;
}

.border-danger {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;
}

.border-light {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;
}

.border-dark {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;
}

.border-black {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;
}

.border-white {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;
}

.border-primary-subtle {
  border-color: var(--bs-primary-border-subtle) !important;
}

.border-secondary-subtle {
  border-color: var(--bs-secondary-border-subtle) !important;
}

.border-success-subtle {
  border-color: var(--bs-success-border-subtle) !important;
}

.border-info-subtle {
  border-color: var(--bs-info-border-subtle) !important;
}

.border-warning-subtle {
  border-color: var(--bs-warning-border-subtle) !important;
}

.border-danger-subtle {
  border-color: var(--bs-danger-border-subtle) !important;
}

.border-light-subtle {
  border-color: var(--bs-light-border-subtle) !important;
}

.border-dark-subtle {
  border-color: var(--bs-dark-border-subtle) !important;
}

.border-1 {
  border-width: 1px !important;
}

.border-2 {
  border-width: 2px !important;
}

.border-3 {
  border-width: 3px !important;
}

.border-4 {
  border-width: 4px !important;
}

.border-5 {
  border-width: 5px !important;
}

.border-opacity-10 {
  --bs-border-opacity: 0.1;
}

.border-opacity-25 {
  --bs-border-opacity: 0.25;
}

.border-opacity-50 {
  --bs-border-opacity: 0.5;
}

.border-opacity-75 {
  --bs-border-opacity: 0.75;
}

.border-opacity-100 {
  --bs-border-opacity: 1;
}

.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.mw-100 {
  max-width: 100% !important;
}

.vw-100 {
  width: 100vw !important;
}

.min-vw-100 {
  min-width: 100vw !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.h-auto {
  height: auto !important;
}

.mh-100 {
  max-height: 100% !important;
}

.vh-100 {
  height: 100vh !important;
}

.min-vh-100 {
  min-height: 100vh !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.justify-content-evenly {
  justify-content: space-evenly !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

.order-first {
  order: -1 !important;
}

.order-0 {
  order: 0 !important;
}

.order-1 {
  order: 1 !important;
}

.order-2 {
  order: 2 !important;
}

.order-3 {
  order: 3 !important;
}

.order-4 {
  order: 4 !important;
}

.order-5 {
  order: 5 !important;
}

.order-last {
  order: 6 !important;
}

.m-0 {
  margin: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.m-auto {
  margin: auto !important;
}

.mx-0 {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.mx-1 {
  margin-right: 0.25rem !important;
  margin-left: 0.25rem !important;
}

.mx-2 {
  margin-right: 0.5rem !important;
  margin-left: 0.5rem !important;
}

.mx-3 {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}

.mx-4 {
  margin-right: 1.5rem !important;
  margin-left: 1.5rem !important;
}

.mx-5 {
  margin-right: 3rem !important;
  margin-left: 3rem !important;
}

.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.my-3 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.my-4 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.my-5 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-1 {
  margin-top: 0.25rem !important;
}

.mt-2 {
  margin-top: 0.5rem !important;
}

.mt-3 {
  margin-top: 1rem !important;
}

.mt-4 {
  margin-top: 1.5rem !important;
}

.mt-5 {
  margin-top: 3rem !important;
}

.mt-auto {
  margin-top: auto !important;
}

.me-0 {
  margin-right: 0 !important;
}

.me-1 {
  margin-right: 0.25rem !important;
}

.me-2 {
  margin-right: 0.5rem !important;
}

.me-3 {
  margin-right: 1rem !important;
}

.me-4 {
  margin-right: 1.5rem !important;
}

.me-5 {
  margin-right: 3rem !important;
}

.me-auto {
  margin-right: auto !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: 0.25rem !important;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

.mb-3 {
  margin-bottom: 1rem !important;
}

.mb-4 {
  margin-bottom: 1.5rem !important;
}

.mb-5 {
  margin-bottom: 3rem !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.ms-0 {
  margin-left: 0 !important;
}

.ms-1 {
  margin-left: 0.25rem !important;
}

.ms-2 {
  margin-left: 0.5rem !important;
}

.ms-3 {
  margin-left: 1rem !important;
}

.ms-4 {
  margin-left: 1.5rem !important;
}

.ms-5 {
  margin-left: 3rem !important;
}

.ms-auto {
  margin-left: auto !important;
}

.p-0 {
  padding: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.px-0 {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.px-1 {
  padding-right: 0.25rem !important;
  padding-left: 0.25rem !important;
}

.px-2 {
  padding-right: 0.5rem !important;
  padding-left: 0.5rem !important;
}

.px-3 {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}

.px-4 {
  padding-right: 1.5rem !important;
  padding-left: 1.5rem !important;
}

.px-5 {
  padding-right: 3rem !important;
  padding-left: 3rem !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.py-3 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.py-4 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.py-5 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-1 {
  padding-top: 0.25rem !important;
}

.pt-2 {
  padding-top: 0.5rem !important;
}

.pt-3 {
  padding-top: 1rem !important;
}

.pt-4 {
  padding-top: 1.5rem !important;
}

.pt-5 {
  padding-top: 3rem !important;
}

.pe-0 {
  padding-right: 0 !important;
}

.pe-1 {
  padding-right: 0.25rem !important;
}

.pe-2 {
  padding-right: 0.5rem !important;
}

.pe-3 {
  padding-right: 1rem !important;
}

.pe-4 {
  padding-right: 1.5rem !important;
}

.pe-5 {
  padding-right: 3rem !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-1 {
  padding-bottom: 0.25rem !important;
}

.pb-2 {
  padding-bottom: 0.5rem !important;
}

.pb-3 {
  padding-bottom: 1rem !important;
}

.pb-4 {
  padding-bottom: 1.5rem !important;
}

.pb-5 {
  padding-bottom: 3rem !important;
}

.ps-0 {
  padding-left: 0 !important;
}

.ps-1 {
  padding-left: 0.25rem !important;
}

.ps-2 {
  padding-left: 0.5rem !important;
}

.ps-3 {
  padding-left: 1rem !important;
}

.ps-4 {
  padding-left: 1.5rem !important;
}

.ps-5 {
  padding-left: 3rem !important;
}

.gap-0 {
  gap: 0 !important;
}

.gap-1 {
  gap: 0.25rem !important;
}

.gap-2 {
  gap: 0.5rem !important;
}

.gap-3 {
  gap: 1rem !important;
}

.gap-4 {
  gap: 1.5rem !important;
}

.gap-5 {
  gap: 3rem !important;
}

.row-gap-0 {
  row-gap: 0 !important;
}

.row-gap-1 {
  row-gap: 0.25rem !important;
}

.row-gap-2 {
  row-gap: 0.5rem !important;
}

.row-gap-3 {
  row-gap: 1rem !important;
}

.row-gap-4 {
  row-gap: 1.5rem !important;
}

.row-gap-5 {
  row-gap: 3rem !important;
}

.column-gap-0 {
  -moz-column-gap: 0 !important;
  column-gap: 0 !important;
}

.column-gap-1 {
  -moz-column-gap: 0.25rem !important;
  column-gap: 0.25rem !important;
}

.column-gap-2 {
  -moz-column-gap: 0.5rem !important;
  column-gap: 0.5rem !important;
}

.column-gap-3 {
  -moz-column-gap: 1rem !important;
  column-gap: 1rem !important;
}

.column-gap-4 {
  -moz-column-gap: 1.5rem !important;
  column-gap: 1.5rem !important;
}

.column-gap-5 {
  -moz-column-gap: 3rem !important;
  column-gap: 3rem !important;
}

.font-monospace {
  font-family: var(--bs-font-monospace) !important;
}

.fs-1 {
  font-size: calc(1.375rem + 1.5vw) !important;
}

.fs-2 {
  font-size: calc(1.325rem + 0.9vw) !important;
}

.fs-3 {
  font-size: calc(1.3rem + 0.6vw) !important;
}

.fs-4 {
  font-size: calc(1.275rem + 0.3vw) !important;
}

.fs-5 {
  font-size: 1.25rem !important;
}

.fs-6 {
  font-size: 1rem !important;
}

.fst-italic {
  font-style: italic !important;
}

.fst-normal {
  font-style: normal !important;
}

.fw-lighter {
  font-weight: lighter !important;
}

.fw-light {
  font-weight: 300 !important;
}

.fw-normal {
  font-weight: 400 !important;
}

.fw-medium {
  font-weight: 500 !important;
}

.fw-semibold {
  font-weight: 600 !important;
}

.fw-bold {
  font-weight: 700 !important;
}

.fw-bolder {
  font-weight: bolder !important;
}

.lh-1 {
  line-height: 1 !important;
}

.lh-sm {
  line-height: 1.25 !important;
}

.lh-base {
  line-height: 1.5 !important;
}

.lh-lg {
  line-height: 2 !important;
}

.text-start {
  text-align: left !important;
}

.text-end {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

.text-decoration-none {
  text-decoration: none !important;
}

.text-decoration-underline {
  text-decoration: underline !important;
}

.text-decoration-line-through {
  text-decoration: line-through !important;
}

.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.text-wrap {
  white-space: normal !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

/* rtl:begin:remove */
.text-break {
  word-wrap: break-word !important;
  word-break: break-word !important;
}

/* rtl:end:remove */
.text-primary {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
}

.text-secondary {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;
}

.text-success {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;
}

.text-info {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;
}

.text-warning {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;
}

.text-danger {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;
}

.text-light {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;
}

.text-dark {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
}

.text-black {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;
}

.text-white {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}

.text-body {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;
}

.text-muted {
  --bs-text-opacity: 1;
  color: var(--bs-secondary-color) !important;
}

.text-black-50 {
  --bs-text-opacity: 1;
  color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
  --bs-text-opacity: 1;
  color: rgba(255, 255, 255, 0.5) !important;
}

.text-body-secondary {
  --bs-text-opacity: 1;
  color: var(--bs-secondary-color) !important;
}

.text-body-tertiary {
  --bs-text-opacity: 1;
  color: var(--bs-tertiary-color) !important;
}

.text-body-emphasis {
  --bs-text-opacity: 1;
  color: var(--bs-emphasis-color) !important;
}

.text-reset {
  --bs-text-opacity: 1;
  color: inherit !important;
}

.text-opacity-25 {
  --bs-text-opacity: 0.25;
}

.text-opacity-50 {
  --bs-text-opacity: 0.5;
}

.text-opacity-75 {
  --bs-text-opacity: 0.75;
}

.text-opacity-100 {
  --bs-text-opacity: 1;
}

.text-primary-emphasis {
  color: var(--bs-primary-text-emphasis) !important;
}

.text-secondary-emphasis {
  color: var(--bs-secondary-text-emphasis) !important;
}

.text-success-emphasis {
  color: var(--bs-success-text-emphasis) !important;
}

.text-info-emphasis {
  color: var(--bs-info-text-emphasis) !important;
}

.text-warning-emphasis {
  color: var(--bs-warning-text-emphasis) !important;
}

.text-danger-emphasis {
  color: var(--bs-danger-text-emphasis) !important;
}

.text-light-emphasis {
  color: var(--bs-light-text-emphasis) !important;
}

.text-dark-emphasis {
  color: var(--bs-dark-text-emphasis) !important;
}

.link-opacity-10 {
  --bs-link-opacity: 0.1;
}

.link-opacity-10-hover:hover {
  --bs-link-opacity: 0.1;
}

.link-opacity-25 {
  --bs-link-opacity: 0.25;
}

.link-opacity-25-hover:hover {
  --bs-link-opacity: 0.25;
}

.link-opacity-50 {
  --bs-link-opacity: 0.5;
}

.link-opacity-50-hover:hover {
  --bs-link-opacity: 0.5;
}

.link-opacity-75 {
  --bs-link-opacity: 0.75;
}

.link-opacity-75-hover:hover {
  --bs-link-opacity: 0.75;
}

.link-opacity-100 {
  --bs-link-opacity: 1;
}

.link-opacity-100-hover:hover {
  --bs-link-opacity: 1;
}

.link-offset-1 {
  text-underline-offset: 0.125em !important;
}

.link-offset-1-hover:hover {
  text-underline-offset: 0.125em !important;
}

.link-offset-2 {
  text-underline-offset: 0.25em !important;
}

.link-offset-2-hover:hover {
  text-underline-offset: 0.25em !important;
}

.link-offset-3 {
  text-underline-offset: 0.375em !important;
}

.link-offset-3-hover:hover {
  text-underline-offset: 0.375em !important;
}

.link-underline-primary {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
  text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-secondary {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
  text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-success {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
  text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-info {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
  text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-warning {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
  text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-danger {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
  text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-light {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
  text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-dark {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
  text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}

.link-underline-opacity-0 {
  --bs-link-underline-opacity: 0;
}

.link-underline-opacity-0-hover:hover {
  --bs-link-underline-opacity: 0;
}

.link-underline-opacity-10 {
  --bs-link-underline-opacity: 0.1;
}

.link-underline-opacity-10-hover:hover {
  --bs-link-underline-opacity: 0.1;
}

.link-underline-opacity-25 {
  --bs-link-underline-opacity: 0.25;
}

.link-underline-opacity-25-hover:hover {
  --bs-link-underline-opacity: 0.25;
}

.link-underline-opacity-50 {
  --bs-link-underline-opacity: 0.5;
}

.link-underline-opacity-50-hover:hover {
  --bs-link-underline-opacity: 0.5;
}

.link-underline-opacity-75 {
  --bs-link-underline-opacity: 0.75;
}

.link-underline-opacity-75-hover:hover {
  --bs-link-underline-opacity: 0.75;
}

.link-underline-opacity-100 {
  --bs-link-underline-opacity: 1;
}

.link-underline-opacity-100-hover:hover {
  --bs-link-underline-opacity: 1;
}

.bg-primary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
}

.bg-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;
}

.bg-success {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;
}

.bg-info {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;
}

.bg-warning {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;
}

.bg-danger {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
}

.bg-light {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
}

.bg-dark {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
}

.bg-black {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;
}

.bg-white {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;
}

.bg-body {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;
}

.bg-transparent {
  --bs-bg-opacity: 1;
  background-color: transparent !important;
}

.bg-body-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important;
}

.bg-body-tertiary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;
}

.bg-opacity-10 {
  --bs-bg-opacity: 0.1;
}

.bg-opacity-25 {
  --bs-bg-opacity: 0.25;
}

.bg-opacity-50 {
  --bs-bg-opacity: 0.5;
}

.bg-opacity-75 {
  --bs-bg-opacity: 0.75;
}

.bg-opacity-100 {
  --bs-bg-opacity: 1;
}

.bg-primary-subtle {
  background-color: var(--bs-primary-bg-subtle) !important;
}

.bg-secondary-subtle {
  background-color: var(--bs-secondary-bg-subtle) !important;
}

.bg-success-subtle {
  background-color: var(--bs-success-bg-subtle) !important;
}

.bg-info-subtle {
  background-color: var(--bs-info-bg-subtle) !important;
}

.bg-warning-subtle {
  background-color: var(--bs-warning-bg-subtle) !important;
}

.bg-danger-subtle {
  background-color: var(--bs-danger-bg-subtle) !important;
}

.bg-light-subtle {
  background-color: var(--bs-light-bg-subtle) !important;
}

.bg-dark-subtle {
  background-color: var(--bs-dark-bg-subtle) !important;
}

.bg-gradient {
  background-image: var(--bs-gradient) !important;
}

.user-select-all {
  -webkit-user-select: all !important;
  -moz-user-select: all !important;
  user-select: all !important;
}

.user-select-auto {
  -webkit-user-select: auto !important;
  -moz-user-select: auto !important;
  user-select: auto !important;
}

.user-select-none {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  user-select: none !important;
}

.pe-none {
  pointer-events: none !important;
}

.pe-auto {
  pointer-events: auto !important;
}

.rounded {
  border-radius: var(--bs-border-radius) !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

.rounded-1 {
  border-radius: var(--bs-border-radius-sm) !important;
}

.rounded-2 {
  border-radius: var(--bs-border-radius) !important;
}

.rounded-3 {
  border-radius: var(--bs-border-radius-lg) !important;
}

.rounded-4 {
  border-radius: var(--bs-border-radius-xl) !important;
}

.rounded-5 {
  border-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-pill {
  border-radius: var(--bs-border-radius-pill) !important;
}

.rounded-top {
  border-top-left-radius: var(--bs-border-radius) !important;
  border-top-right-radius: var(--bs-border-radius) !important;
}

.rounded-top-0 {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

.rounded-top-1 {
  border-top-left-radius: var(--bs-border-radius-sm) !important;
  border-top-right-radius: var(--bs-border-radius-sm) !important;
}

.rounded-top-2 {
  border-top-left-radius: var(--bs-border-radius) !important;
  border-top-right-radius: var(--bs-border-radius) !important;
}

.rounded-top-3 {
  border-top-left-radius: var(--bs-border-radius-lg) !important;
  border-top-right-radius: var(--bs-border-radius-lg) !important;
}

.rounded-top-4 {
  border-top-left-radius: var(--bs-border-radius-xl) !important;
  border-top-right-radius: var(--bs-border-radius-xl) !important;
}

.rounded-top-5 {
  border-top-left-radius: var(--bs-border-radius-xxl) !important;
  border-top-right-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-top-circle {
  border-top-left-radius: 50% !important;
  border-top-right-radius: 50% !important;
}

.rounded-top-pill {
  border-top-left-radius: var(--bs-border-radius-pill) !important;
  border-top-right-radius: var(--bs-border-radius-pill) !important;
}

.rounded-end {
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
}

.rounded-end-0 {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.rounded-end-1 {
  border-top-right-radius: var(--bs-border-radius-sm) !important;
  border-bottom-right-radius: var(--bs-border-radius-sm) !important;
}

.rounded-end-2 {
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
}

.rounded-end-3 {
  border-top-right-radius: var(--bs-border-radius-lg) !important;
  border-bottom-right-radius: var(--bs-border-radius-lg) !important;
}

.rounded-end-4 {
  border-top-right-radius: var(--bs-border-radius-xl) !important;
  border-bottom-right-radius: var(--bs-border-radius-xl) !important;
}

.rounded-end-5 {
  border-top-right-radius: var(--bs-border-radius-xxl) !important;
  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-end-circle {
  border-top-right-radius: 50% !important;
  border-bottom-right-radius: 50% !important;
}

.rounded-end-pill {
  border-top-right-radius: var(--bs-border-radius-pill) !important;
  border-bottom-right-radius: var(--bs-border-radius-pill) !important;
}

.rounded-bottom {
  border-bottom-right-radius: var(--bs-border-radius) !important;
  border-bottom-left-radius: var(--bs-border-radius) !important;
}

.rounded-bottom-0 {
  border-bottom-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

.rounded-bottom-1 {
  border-bottom-right-radius: var(--bs-border-radius-sm) !important;
  border-bottom-left-radius: var(--bs-border-radius-sm) !important;
}

.rounded-bottom-2 {
  border-bottom-right-radius: var(--bs-border-radius) !important;
  border-bottom-left-radius: var(--bs-border-radius) !important;
}

.rounded-bottom-3 {
  border-bottom-right-radius: var(--bs-border-radius-lg) !important;
  border-bottom-left-radius: var(--bs-border-radius-lg) !important;
}

.rounded-bottom-4 {
  border-bottom-right-radius: var(--bs-border-radius-xl) !important;
  border-bottom-left-radius: var(--bs-border-radius-xl) !important;
}

.rounded-bottom-5 {
  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-bottom-circle {
  border-bottom-right-radius: 50% !important;
  border-bottom-left-radius: 50% !important;
}

.rounded-bottom-pill {
  border-bottom-right-radius: var(--bs-border-radius-pill) !important;
  border-bottom-left-radius: var(--bs-border-radius-pill) !important;
}

.rounded-start {
  border-bottom-left-radius: var(--bs-border-radius) !important;
  border-top-left-radius: var(--bs-border-radius) !important;
}

.rounded-start-0 {
  border-bottom-left-radius: 0 !important;
  border-top-left-radius: 0 !important;
}

.rounded-start-1 {
  border-bottom-left-radius: var(--bs-border-radius-sm) !important;
  border-top-left-radius: var(--bs-border-radius-sm) !important;
}

.rounded-start-2 {
  border-bottom-left-radius: var(--bs-border-radius) !important;
  border-top-left-radius: var(--bs-border-radius) !important;
}

.rounded-start-3 {
  border-bottom-left-radius: var(--bs-border-radius-lg) !important;
  border-top-left-radius: var(--bs-border-radius-lg) !important;
}

.rounded-start-4 {
  border-bottom-left-radius: var(--bs-border-radius-xl) !important;
  border-top-left-radius: var(--bs-border-radius-xl) !important;
}

.rounded-start-5 {
  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
  border-top-left-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-start-circle {
  border-bottom-left-radius: 50% !important;
  border-top-left-radius: 50% !important;
}

.rounded-start-pill {
  border-bottom-left-radius: var(--bs-border-radius-pill) !important;
  border-top-left-radius: var(--bs-border-radius-pill) !important;
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

.z-n1 {
  z-index: -1 !important;
}

.z-0 {
  z-index: 0 !important;
}

.z-1 {
  z-index: 1 !important;
}

.z-2 {
  z-index: 2 !important;
}

.z-3 {
  z-index: 3 !important;
}

@media (min-width: 576px) {
  .float-sm-start {
    float: left !important;
  }
  .float-sm-end {
    float: right !important;
  }
  .float-sm-none {
    float: none !important;
  }
  .object-fit-sm-contain {
    -o-object-fit: contain !important;
    object-fit: contain !important;
  }
  .object-fit-sm-cover {
    -o-object-fit: cover !important;
    object-fit: cover !important;
  }
  .object-fit-sm-fill {
    -o-object-fit: fill !important;
    object-fit: fill !important;
  }
  .object-fit-sm-scale {
    -o-object-fit: scale-down !important;
    object-fit: scale-down !important;
  }
  .object-fit-sm-none {
    -o-object-fit: none !important;
    object-fit: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
  .d-sm-inline-grid {
    display: inline-grid !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
  .d-sm-none {
    display: none !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
  .order-sm-first {
    order: -1 !important;
  }
  .order-sm-0 {
    order: 0 !important;
  }
  .order-sm-1 {
    order: 1 !important;
  }
  .order-sm-2 {
    order: 2 !important;
  }
  .order-sm-3 {
    order: 3 !important;
  }
  .order-sm-4 {
    order: 4 !important;
  }
  .order-sm-5 {
    order: 5 !important;
  }
  .order-sm-last {
    order: 6 !important;
  }
  .m-sm-0 {
    margin: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 3rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-sm-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-sm-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-sm-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-sm-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-sm-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-sm-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-sm-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-sm-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-sm-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-sm-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-sm-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mt-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mt-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mt-sm-3 {
    margin-top: 1rem !important;
  }
  .mt-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mt-sm-5 {
    margin-top: 3rem !important;
  }
  .mt-sm-auto {
    margin-top: auto !important;
  }
  .me-sm-0 {
    margin-right: 0 !important;
  }
  .me-sm-1 {
    margin-right: 0.25rem !important;
  }
  .me-sm-2 {
    margin-right: 0.5rem !important;
  }
  .me-sm-3 {
    margin-right: 1rem !important;
  }
  .me-sm-4 {
    margin-right: 1.5rem !important;
  }
  .me-sm-5 {
    margin-right: 3rem !important;
  }
  .me-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .mb-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-sm-3 {
    margin-bottom: 1rem !important;
  }
  .mb-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-sm-5 {
    margin-bottom: 3rem !important;
  }
  .mb-sm-auto {
    margin-bottom: auto !important;
  }
  .ms-sm-0 {
    margin-left: 0 !important;
  }
  .ms-sm-1 {
    margin-left: 0.25rem !important;
  }
  .ms-sm-2 {
    margin-left: 0.5rem !important;
  }
  .ms-sm-3 {
    margin-left: 1rem !important;
  }
  .ms-sm-4 {
    margin-left: 1.5rem !important;
  }
  .ms-sm-5 {
    margin-left: 3rem !important;
  }
  .ms-sm-auto {
    margin-left: auto !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 3rem !important;
  }
  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-sm-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-sm-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-sm-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-sm-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-sm-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-sm-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-sm-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-sm-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-sm-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-sm-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pt-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pt-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pt-sm-3 {
    padding-top: 1rem !important;
  }
  .pt-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pt-sm-5 {
    padding-top: 3rem !important;
  }
  .pe-sm-0 {
    padding-right: 0 !important;
  }
  .pe-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pe-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pe-sm-3 {
    padding-right: 1rem !important;
  }
  .pe-sm-4 {
    padding-right: 1.5rem !important;
  }
  .pe-sm-5 {
    padding-right: 3rem !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .pb-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pb-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-sm-5 {
    padding-bottom: 3rem !important;
  }
  .ps-sm-0 {
    padding-left: 0 !important;
  }
  .ps-sm-1 {
    padding-left: 0.25rem !important;
  }
  .ps-sm-2 {
    padding-left: 0.5rem !important;
  }
  .ps-sm-3 {
    padding-left: 1rem !important;
  }
  .ps-sm-4 {
    padding-left: 1.5rem !important;
  }
  .ps-sm-5 {
    padding-left: 3rem !important;
  }
  .gap-sm-0 {
    gap: 0 !important;
  }
  .gap-sm-1 {
    gap: 0.25rem !important;
  }
  .gap-sm-2 {
    gap: 0.5rem !important;
  }
  .gap-sm-3 {
    gap: 1rem !important;
  }
  .gap-sm-4 {
    gap: 1.5rem !important;
  }
  .gap-sm-5 {
    gap: 3rem !important;
  }
  .row-gap-sm-0 {
    row-gap: 0 !important;
  }
  .row-gap-sm-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-sm-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-sm-3 {
    row-gap: 1rem !important;
  }
  .row-gap-sm-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-sm-5 {
    row-gap: 3rem !important;
  }
  .column-gap-sm-0 {
    -moz-column-gap: 0 !important;
    column-gap: 0 !important;
  }
  .column-gap-sm-1 {
    -moz-column-gap: 0.25rem !important;
    column-gap: 0.25rem !important;
  }
  .column-gap-sm-2 {
    -moz-column-gap: 0.5rem !important;
    column-gap: 0.5rem !important;
  }
  .column-gap-sm-3 {
    -moz-column-gap: 1rem !important;
    column-gap: 1rem !important;
  }
  .column-gap-sm-4 {
    -moz-column-gap: 1.5rem !important;
    column-gap: 1.5rem !important;
  }
  .column-gap-sm-5 {
    -moz-column-gap: 3rem !important;
    column-gap: 3rem !important;
  }
  .text-sm-start {
    text-align: left !important;
  }
  .text-sm-end {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .float-md-start {
    float: left !important;
  }
  .float-md-end {
    float: right !important;
  }
  .float-md-none {
    float: none !important;
  }
  .object-fit-md-contain {
    -o-object-fit: contain !important;
    object-fit: contain !important;
  }
  .object-fit-md-cover {
    -o-object-fit: cover !important;
    object-fit: cover !important;
  }
  .object-fit-md-fill {
    -o-object-fit: fill !important;
    object-fit: fill !important;
  }
  .object-fit-md-scale {
    -o-object-fit: scale-down !important;
    object-fit: scale-down !important;
  }
  .object-fit-md-none {
    -o-object-fit: none !important;
    object-fit: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-grid {
    display: grid !important;
  }
  .d-md-inline-grid {
    display: inline-grid !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
  .d-md-none {
    display: none !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
  .order-md-first {
    order: -1 !important;
  }
  .order-md-0 {
    order: 0 !important;
  }
  .order-md-1 {
    order: 1 !important;
  }
  .order-md-2 {
    order: 2 !important;
  }
  .order-md-3 {
    order: 3 !important;
  }
  .order-md-4 {
    order: 4 !important;
  }
  .order-md-5 {
    order: 5 !important;
  }
  .order-md-last {
    order: 6 !important;
  }
  .m-md-0 {
    margin: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .m-md-5 {
    margin: 3rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-md-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-md-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-md-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-md-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-md-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-md-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-md-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-md-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-md-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-md-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mt-md-1 {
    margin-top: 0.25rem !important;
  }
  .mt-md-2 {
    margin-top: 0.5rem !important;
  }
  .mt-md-3 {
    margin-top: 1rem !important;
  }
  .mt-md-4 {
    margin-top: 1.5rem !important;
  }
  .mt-md-5 {
    margin-top: 3rem !important;
  }
  .mt-md-auto {
    margin-top: auto !important;
  }
  .me-md-0 {
    margin-right: 0 !important;
  }
  .me-md-1 {
    margin-right: 0.25rem !important;
  }
  .me-md-2 {
    margin-right: 0.5rem !important;
  }
  .me-md-3 {
    margin-right: 1rem !important;
  }
  .me-md-4 {
    margin-right: 1.5rem !important;
  }
  .me-md-5 {
    margin-right: 3rem !important;
  }
  .me-md-auto {
    margin-right: auto !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .mb-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-md-3 {
    margin-bottom: 1rem !important;
  }
  .mb-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-md-5 {
    margin-bottom: 3rem !important;
  }
  .mb-md-auto {
    margin-bottom: auto !important;
  }
  .ms-md-0 {
    margin-left: 0 !important;
  }
  .ms-md-1 {
    margin-left: 0.25rem !important;
  }
  .ms-md-2 {
    margin-left: 0.5rem !important;
  }
  .ms-md-3 {
    margin-left: 1rem !important;
  }
  .ms-md-4 {
    margin-left: 1.5rem !important;
  }
  .ms-md-5 {
    margin-left: 3rem !important;
  }
  .ms-md-auto {
    margin-left: auto !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .p-md-5 {
    padding: 3rem !important;
  }
  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-md-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-md-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-md-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-md-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-md-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-md-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-md-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-md-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-md-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-md-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pt-md-1 {
    padding-top: 0.25rem !important;
  }
  .pt-md-2 {
    padding-top: 0.5rem !important;
  }
  .pt-md-3 {
    padding-top: 1rem !important;
  }
  .pt-md-4 {
    padding-top: 1.5rem !important;
  }
  .pt-md-5 {
    padding-top: 3rem !important;
  }
  .pe-md-0 {
    padding-right: 0 !important;
  }
  .pe-md-1 {
    padding-right: 0.25rem !important;
  }
  .pe-md-2 {
    padding-right: 0.5rem !important;
  }
  .pe-md-3 {
    padding-right: 1rem !important;
  }
  .pe-md-4 {
    padding-right: 1.5rem !important;
  }
  .pe-md-5 {
    padding-right: 3rem !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pb-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-md-3 {
    padding-bottom: 1rem !important;
  }
  .pb-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-md-5 {
    padding-bottom: 3rem !important;
  }
  .ps-md-0 {
    padding-left: 0 !important;
  }
  .ps-md-1 {
    padding-left: 0.25rem !important;
  }
  .ps-md-2 {
    padding-left: 0.5rem !important;
  }
  .ps-md-3 {
    padding-left: 1rem !important;
  }
  .ps-md-4 {
    padding-left: 1.5rem !important;
  }
  .ps-md-5 {
    padding-left: 3rem !important;
  }
  .gap-md-0 {
    gap: 0 !important;
  }
  .gap-md-1 {
    gap: 0.25rem !important;
  }
  .gap-md-2 {
    gap: 0.5rem !important;
  }
  .gap-md-3 {
    gap: 1rem !important;
  }
  .gap-md-4 {
    gap: 1.5rem !important;
  }
  .gap-md-5 {
    gap: 3rem !important;
  }
  .row-gap-md-0 {
    row-gap: 0 !important;
  }
  .row-gap-md-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-md-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-md-3 {
    row-gap: 1rem !important;
  }
  .row-gap-md-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-md-5 {
    row-gap: 3rem !important;
  }
  .column-gap-md-0 {
    -moz-column-gap: 0 !important;
    column-gap: 0 !important;
  }
  .column-gap-md-1 {
    -moz-column-gap: 0.25rem !important;
    column-gap: 0.25rem !important;
  }
  .column-gap-md-2 {
    -moz-column-gap: 0.5rem !important;
    column-gap: 0.5rem !important;
  }
  .column-gap-md-3 {
    -moz-column-gap: 1rem !important;
    column-gap: 1rem !important;
  }
  .column-gap-md-4 {
    -moz-column-gap: 1.5rem !important;
    column-gap: 1.5rem !important;
  }
  .column-gap-md-5 {
    -moz-column-gap: 3rem !important;
    column-gap: 3rem !important;
  }
  .text-md-start {
    text-align: left !important;
  }
  .text-md-end {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .float-lg-start {
    float: left !important;
  }
  .float-lg-end {
    float: right !important;
  }
  .float-lg-none {
    float: none !important;
  }
  .object-fit-lg-contain {
    -o-object-fit: contain !important;
    object-fit: contain !important;
  }
  .object-fit-lg-cover {
    -o-object-fit: cover !important;
    object-fit: cover !important;
  }
  .object-fit-lg-fill {
    -o-object-fit: fill !important;
    object-fit: fill !important;
  }
  .object-fit-lg-scale {
    -o-object-fit: scale-down !important;
    object-fit: scale-down !important;
  }
  .object-fit-lg-none {
    -o-object-fit: none !important;
    object-fit: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
  .d-lg-inline-grid {
    display: inline-grid !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
  .d-lg-none {
    display: none !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
  .order-lg-first {
    order: -1 !important;
  }
  .order-lg-0 {
    order: 0 !important;
  }
  .order-lg-1 {
    order: 1 !important;
  }
  .order-lg-2 {
    order: 2 !important;
  }
  .order-lg-3 {
    order: 3 !important;
  }
  .order-lg-4 {
    order: 4 !important;
  }
  .order-lg-5 {
    order: 5 !important;
  }
  .order-lg-last {
    order: 6 !important;
  }
  .m-lg-0 {
    margin: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 3rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-lg-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-lg-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-lg-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-lg-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-lg-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-lg-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-lg-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-lg-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-lg-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-lg-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mt-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mt-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mt-lg-3 {
    margin-top: 1rem !important;
  }
  .mt-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mt-lg-5 {
    margin-top: 3rem !important;
  }
  .mt-lg-auto {
    margin-top: auto !important;
  }
  .me-lg-0 {
    margin-right: 0 !important;
  }
  .me-lg-1 {
    margin-right: 0.25rem !important;
  }
  .me-lg-2 {
    margin-right: 0.5rem !important;
  }
  .me-lg-3 {
    margin-right: 1rem !important;
  }
  .me-lg-4 {
    margin-right: 1.5rem !important;
  }
  .me-lg-5 {
    margin-right: 3rem !important;
  }
  .me-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .mb-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-lg-3 {
    margin-bottom: 1rem !important;
  }
  .mb-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-lg-5 {
    margin-bottom: 3rem !important;
  }
  .mb-lg-auto {
    margin-bottom: auto !important;
  }
  .ms-lg-0 {
    margin-left: 0 !important;
  }
  .ms-lg-1 {
    margin-left: 0.25rem !important;
  }
  .ms-lg-2 {
    margin-left: 0.5rem !important;
  }
  .ms-lg-3 {
    margin-left: 1rem !important;
  }
  .ms-lg-4 {
    margin-left: 1.5rem !important;
  }
  .ms-lg-5 {
    margin-left: 3rem !important;
  }
  .ms-lg-auto {
    margin-left: auto !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 3rem !important;
  }
  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-lg-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-lg-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-lg-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-lg-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-lg-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-lg-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-lg-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-lg-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-lg-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-lg-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pt-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pt-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pt-lg-3 {
    padding-top: 1rem !important;
  }
  .pt-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pt-lg-5 {
    padding-top: 3rem !important;
  }
  .pe-lg-0 {
    padding-right: 0 !important;
  }
  .pe-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pe-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pe-lg-3 {
    padding-right: 1rem !important;
  }
  .pe-lg-4 {
    padding-right: 1.5rem !important;
  }
  .pe-lg-5 {
    padding-right: 3rem !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pb-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pb-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-lg-5 {
    padding-bottom: 3rem !important;
  }
  .ps-lg-0 {
    padding-left: 0 !important;
  }
  .ps-lg-1 {
    padding-left: 0.25rem !important;
  }
  .ps-lg-2 {
    padding-left: 0.5rem !important;
  }
  .ps-lg-3 {
    padding-left: 1rem !important;
  }
  .ps-lg-4 {
    padding-left: 1.5rem !important;
  }
  .ps-lg-5 {
    padding-left: 3rem !important;
  }
  .gap-lg-0 {
    gap: 0 !important;
  }
  .gap-lg-1 {
    gap: 0.25rem !important;
  }
  .gap-lg-2 {
    gap: 0.5rem !important;
  }
  .gap-lg-3 {
    gap: 1rem !important;
  }
  .gap-lg-4 {
    gap: 1.5rem !important;
  }
  .gap-lg-5 {
    gap: 3rem !important;
  }
  .row-gap-lg-0 {
    row-gap: 0 !important;
  }
  .row-gap-lg-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-lg-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-lg-3 {
    row-gap: 1rem !important;
  }
  .row-gap-lg-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-lg-5 {
    row-gap: 3rem !important;
  }
  .column-gap-lg-0 {
    -moz-column-gap: 0 !important;
    column-gap: 0 !important;
  }
  .column-gap-lg-1 {
    -moz-column-gap: 0.25rem !important;
    column-gap: 0.25rem !important;
  }
  .column-gap-lg-2 {
    -moz-column-gap: 0.5rem !important;
    column-gap: 0.5rem !important;
  }
  .column-gap-lg-3 {
    -moz-column-gap: 1rem !important;
    column-gap: 1rem !important;
  }
  .column-gap-lg-4 {
    -moz-column-gap: 1.5rem !important;
    column-gap: 1.5rem !important;
  }
  .column-gap-lg-5 {
    -moz-column-gap: 3rem !important;
    column-gap: 3rem !important;
  }
  .text-lg-start {
    text-align: left !important;
  }
  .text-lg-end {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .float-xl-start {
    float: left !important;
  }
  .float-xl-end {
    float: right !important;
  }
  .float-xl-none {
    float: none !important;
  }
  .object-fit-xl-contain {
    -o-object-fit: contain !important;
    object-fit: contain !important;
  }
  .object-fit-xl-cover {
    -o-object-fit: cover !important;
    object-fit: cover !important;
  }
  .object-fit-xl-fill {
    -o-object-fit: fill !important;
    object-fit: fill !important;
  }
  .object-fit-xl-scale {
    -o-object-fit: scale-down !important;
    object-fit: scale-down !important;
  }
  .object-fit-xl-none {
    -o-object-fit: none !important;
    object-fit: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
  .d-xl-inline-grid {
    display: inline-grid !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
  .d-xl-none {
    display: none !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
  .order-xl-first {
    order: -1 !important;
  }
  .order-xl-0 {
    order: 0 !important;
  }
  .order-xl-1 {
    order: 1 !important;
  }
  .order-xl-2 {
    order: 2 !important;
  }
  .order-xl-3 {
    order: 3 !important;
  }
  .order-xl-4 {
    order: 4 !important;
  }
  .order-xl-5 {
    order: 5 !important;
  }
  .order-xl-last {
    order: 6 !important;
  }
  .m-xl-0 {
    margin: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 3rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mt-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xl-3 {
    margin-top: 1rem !important;
  }
  .mt-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xl-5 {
    margin-top: 3rem !important;
  }
  .mt-xl-auto {
    margin-top: auto !important;
  }
  .me-xl-0 {
    margin-right: 0 !important;
  }
  .me-xl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xl-3 {
    margin-right: 1rem !important;
  }
  .me-xl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xl-5 {
    margin-right: 3rem !important;
  }
  .me-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xl-auto {
    margin-bottom: auto !important;
  }
  .ms-xl-0 {
    margin-left: 0 !important;
  }
  .ms-xl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xl-3 {
    margin-left: 1rem !important;
  }
  .ms-xl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xl-5 {
    margin-left: 3rem !important;
  }
  .ms-xl-auto {
    margin-left: auto !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 3rem !important;
  }
  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pt-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xl-3 {
    padding-top: 1rem !important;
  }
  .pt-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xl-5 {
    padding-top: 3rem !important;
  }
  .pe-xl-0 {
    padding-right: 0 !important;
  }
  .pe-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xl-3 {
    padding-right: 1rem !important;
  }
  .pe-xl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xl-5 {
    padding-right: 3rem !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xl-0 {
    padding-left: 0 !important;
  }
  .ps-xl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xl-3 {
    padding-left: 1rem !important;
  }
  .ps-xl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xl-5 {
    padding-left: 3rem !important;
  }
  .gap-xl-0 {
    gap: 0 !important;
  }
  .gap-xl-1 {
    gap: 0.25rem !important;
  }
  .gap-xl-2 {
    gap: 0.5rem !important;
  }
  .gap-xl-3 {
    gap: 1rem !important;
  }
  .gap-xl-4 {
    gap: 1.5rem !important;
  }
  .gap-xl-5 {
    gap: 3rem !important;
  }
  .row-gap-xl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xl-3 {
    row-gap: 1rem !important;
  }
  .row-gap-xl-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xl-5 {
    row-gap: 3rem !important;
  }
  .column-gap-xl-0 {
    -moz-column-gap: 0 !important;
    column-gap: 0 !important;
  }
  .column-gap-xl-1 {
    -moz-column-gap: 0.25rem !important;
    column-gap: 0.25rem !important;
  }
  .column-gap-xl-2 {
    -moz-column-gap: 0.5rem !important;
    column-gap: 0.5rem !important;
  }
  .column-gap-xl-3 {
    -moz-column-gap: 1rem !important;
    column-gap: 1rem !important;
  }
  .column-gap-xl-4 {
    -moz-column-gap: 1.5rem !important;
    column-gap: 1.5rem !important;
  }
  .column-gap-xl-5 {
    -moz-column-gap: 3rem !important;
    column-gap: 3rem !important;
  }
  .text-xl-start {
    text-align: left !important;
  }
  .text-xl-end {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}
@media (min-width: 1400px) {
  .float-xxl-start {
    float: left !important;
  }
  .float-xxl-end {
    float: right !important;
  }
  .float-xxl-none {
    float: none !important;
  }
  .object-fit-xxl-contain {
    -o-object-fit: contain !important;
    object-fit: contain !important;
  }
  .object-fit-xxl-cover {
    -o-object-fit: cover !important;
    object-fit: cover !important;
  }
  .object-fit-xxl-fill {
    -o-object-fit: fill !important;
    object-fit: fill !important;
  }
  .object-fit-xxl-scale {
    -o-object-fit: scale-down !important;
    object-fit: scale-down !important;
  }
  .object-fit-xxl-none {
    -o-object-fit: none !important;
    object-fit: none !important;
  }
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-grid {
    display: grid !important;
  }
  .d-xxl-inline-grid {
    display: inline-grid !important;
  }
  .d-xxl-table {
    display: table !important;
  }
  .d-xxl-table-row {
    display: table-row !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
  .d-xxl-inline-flex {
    display: inline-flex !important;
  }
  .d-xxl-none {
    display: none !important;
  }
  .flex-xxl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xxl-row {
    flex-direction: row !important;
  }
  .flex-xxl-column {
    flex-direction: column !important;
  }
  .flex-xxl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xxl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xxl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xxl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xxl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xxl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xxl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xxl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xxl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xxl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xxl-center {
    justify-content: center !important;
  }
  .justify-content-xxl-between {
    justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    justify-content: space-around !important;
  }
  .justify-content-xxl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xxl-start {
    align-items: flex-start !important;
  }
  .align-items-xxl-end {
    align-items: flex-end !important;
  }
  .align-items-xxl-center {
    align-items: center !important;
  }
  .align-items-xxl-baseline {
    align-items: baseline !important;
  }
  .align-items-xxl-stretch {
    align-items: stretch !important;
  }
  .align-content-xxl-start {
    align-content: flex-start !important;
  }
  .align-content-xxl-end {
    align-content: flex-end !important;
  }
  .align-content-xxl-center {
    align-content: center !important;
  }
  .align-content-xxl-between {
    align-content: space-between !important;
  }
  .align-content-xxl-around {
    align-content: space-around !important;
  }
  .align-content-xxl-stretch {
    align-content: stretch !important;
  }
  .align-self-xxl-auto {
    align-self: auto !important;
  }
  .align-self-xxl-start {
    align-self: flex-start !important;
  }
  .align-self-xxl-end {
    align-self: flex-end !important;
  }
  .align-self-xxl-center {
    align-self: center !important;
  }
  .align-self-xxl-baseline {
    align-self: baseline !important;
  }
  .align-self-xxl-stretch {
    align-self: stretch !important;
  }
  .order-xxl-first {
    order: -1 !important;
  }
  .order-xxl-0 {
    order: 0 !important;
  }
  .order-xxl-1 {
    order: 1 !important;
  }
  .order-xxl-2 {
    order: 2 !important;
  }
  .order-xxl-3 {
    order: 3 !important;
  }
  .order-xxl-4 {
    order: 4 !important;
  }
  .order-xxl-5 {
    order: 5 !important;
  }
  .order-xxl-last {
    order: 6 !important;
  }
  .m-xxl-0 {
    margin: 0 !important;
  }
  .m-xxl-1 {
    margin: 0.25rem !important;
  }
  .m-xxl-2 {
    margin: 0.5rem !important;
  }
  .m-xxl-3 {
    margin: 1rem !important;
  }
  .m-xxl-4 {
    margin: 1.5rem !important;
  }
  .m-xxl-5 {
    margin: 3rem !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xxl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xxl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xxl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xxl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xxl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xxl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xxl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xxl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xxl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xxl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xxl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xxl-0 {
    margin-top: 0 !important;
  }
  .mt-xxl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xxl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xxl-3 {
    margin-top: 1rem !important;
  }
  .mt-xxl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xxl-5 {
    margin-top: 3rem !important;
  }
  .mt-xxl-auto {
    margin-top: auto !important;
  }
  .me-xxl-0 {
    margin-right: 0 !important;
  }
  .me-xxl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xxl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xxl-3 {
    margin-right: 1rem !important;
  }
  .me-xxl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xxl-5 {
    margin-right: 3rem !important;
  }
  .me-xxl-auto {
    margin-right: auto !important;
  }
  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xxl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xxl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xxl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xxl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xxl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xxl-auto {
    margin-bottom: auto !important;
  }
  .ms-xxl-0 {
    margin-left: 0 !important;
  }
  .ms-xxl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xxl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xxl-3 {
    margin-left: 1rem !important;
  }
  .ms-xxl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xxl-5 {
    margin-left: 3rem !important;
  }
  .ms-xxl-auto {
    margin-left: auto !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .p-xxl-1 {
    padding: 0.25rem !important;
  }
  .p-xxl-2 {
    padding: 0.5rem !important;
  }
  .p-xxl-3 {
    padding: 1rem !important;
  }
  .p-xxl-4 {
    padding: 1.5rem !important;
  }
  .p-xxl-5 {
    padding: 3rem !important;
  }
  .px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xxl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xxl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xxl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xxl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xxl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xxl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xxl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xxl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xxl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xxl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xxl-0 {
    padding-top: 0 !important;
  }
  .pt-xxl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xxl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xxl-3 {
    padding-top: 1rem !important;
  }
  .pt-xxl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xxl-5 {
    padding-top: 3rem !important;
  }
  .pe-xxl-0 {
    padding-right: 0 !important;
  }
  .pe-xxl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xxl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xxl-3 {
    padding-right: 1rem !important;
  }
  .pe-xxl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xxl-5 {
    padding-right: 3rem !important;
  }
  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xxl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xxl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xxl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xxl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xxl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xxl-0 {
    padding-left: 0 !important;
  }
  .ps-xxl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xxl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xxl-3 {
    padding-left: 1rem !important;
  }
  .ps-xxl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xxl-5 {
    padding-left: 3rem !important;
  }
  .gap-xxl-0 {
    gap: 0 !important;
  }
  .gap-xxl-1 {
    gap: 0.25rem !important;
  }
  .gap-xxl-2 {
    gap: 0.5rem !important;
  }
  .gap-xxl-3 {
    gap: 1rem !important;
  }
  .gap-xxl-4 {
    gap: 1.5rem !important;
  }
  .gap-xxl-5 {
    gap: 3rem !important;
  }
  .row-gap-xxl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xxl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xxl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xxl-3 {
    row-gap: 1rem !important;
  }
  .row-gap-xxl-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xxl-5 {
    row-gap: 3rem !important;
  }
  .column-gap-xxl-0 {
    -moz-column-gap: 0 !important;
    column-gap: 0 !important;
  }
  .column-gap-xxl-1 {
    -moz-column-gap: 0.25rem !important;
    column-gap: 0.25rem !important;
  }
  .column-gap-xxl-2 {
    -moz-column-gap: 0.5rem !important;
    column-gap: 0.5rem !important;
  }
  .column-gap-xxl-3 {
    -moz-column-gap: 1rem !important;
    column-gap: 1rem !important;
  }
  .column-gap-xxl-4 {
    -moz-column-gap: 1.5rem !important;
    column-gap: 1.5rem !important;
  }
  .column-gap-xxl-5 {
    -moz-column-gap: 3rem !important;
    column-gap: 3rem !important;
  }
  .text-xxl-start {
    text-align: left !important;
  }
  .text-xxl-end {
    text-align: right !important;
  }
  .text-xxl-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .fs-1 {
    font-size: 2.5rem !important;
  }
  .fs-2 {
    font-size: 2rem !important;
  }
  .fs-3 {
    font-size: 1.75rem !important;
  }
  .fs-4 {
    font-size: 1.5rem !important;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-grid {
    display: grid !important;
  }
  .d-print-inline-grid {
    display: inline-grid !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
  .d-print-none {
    display: none !important;
  }
}

trix-editor {
  border: 1px solid #bbb;
  border-radius: 3px;
  margin: 0;
  padding: 0.4em 0.6em;
  min-height: 5em;
  outline: none; }

trix-toolbar * {
  box-sizing: border-box; }

trix-toolbar .trix-button-row {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  overflow-x: auto; }

trix-toolbar .trix-button-group {
  display: flex;
  margin-bottom: 10px;
  border: 1px solid #bbb;
  border-top-color: #ccc;
  border-bottom-color: #888;
  border-radius: 3px; }
  trix-toolbar .trix-button-group:not(:first-child) {
    margin-left: 1.5vw; }
    @media (max-device-width: 768px) {
      trix-toolbar .trix-button-group:not(:first-child) {
        margin-left: 0; } }

trix-toolbar .trix-button-group-spacer {
  flex-grow: 1; }
  @media (max-device-width: 768px) {
    trix-toolbar .trix-button-group-spacer {
      display: none; } }

trix-toolbar .trix-button {
  position: relative;
  float: left;
  color: rgba(0, 0, 0, 0.6);
  font-size: 0.75em;
  font-weight: 600;
  white-space: nowrap;
  padding: 0 0.5em;
  margin: 0;
  outline: none;
  border: none;
  border-bottom: 1px solid #ddd;
  border-radius: 0;
  background: transparent; }
  trix-toolbar .trix-button:not(:first-child) {
    border-left: 1px solid #ccc; }
  trix-toolbar .trix-button.trix-active {
    background: #cbeefa;
    color: black; }
  trix-toolbar .trix-button:not(:disabled) {
    cursor: pointer; }
  trix-toolbar .trix-button:disabled {
    color: rgba(0, 0, 0, 0.125); }
  @media (max-device-width: 768px) {
    trix-toolbar .trix-button {
      letter-spacing: -0.01em;
      padding: 0 0.3em; } }

trix-toolbar .trix-button--icon {
  font-size: inherit;
  width: 2.6em;
  height: 1.6em;
  max-width: calc(0.8em + 4vw);
  text-indent: -9999px; }
  @media (max-device-width: 768px) {
    trix-toolbar .trix-button--icon {
      height: 2em;
      max-width: calc(0.8em + 3.5vw); } }
  trix-toolbar .trix-button--icon::before {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0.6;
    content: "";
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain; }
    @media (max-device-width: 768px) {
      trix-toolbar .trix-button--icon::before {
        right: 6%;
        left: 6%; } }
  trix-toolbar .trix-button--icon.trix-active::before {
    opacity: 1; }
  trix-toolbar .trix-button--icon:disabled::before {
    opacity: 0.125; }

trix-toolbar .trix-button--icon-attach::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.5%2018V7.5c0-2.25%203-2.25%203%200V18c0%204.125-6%204.125-6%200V7.5c0-6.375%209-6.375%209%200V18%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  top: 8%;
  bottom: 4%; }

trix-toolbar .trix-button--icon-bold::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.522%2019.242a.5.5%200%200%201-.5-.5V5.35a.5.5%200%200%201%20.5-.5h5.783c1.347%200%202.46.345%203.24.982.783.64%201.216%201.562%201.216%202.683%200%201.13-.587%202.129-1.476%202.71a.35.35%200%200%200%20.049.613c1.259.56%202.101%201.742%202.101%203.22%200%201.282-.483%202.334-1.363%203.063-.876.726-2.132%201.12-3.66%201.12h-5.89ZM9.27%207.347v3.362h1.97c.766%200%201.347-.17%201.733-.464.38-.291.587-.716.587-1.27%200-.53-.183-.928-.513-1.198-.334-.273-.838-.43-1.505-.43H9.27Zm0%205.606v3.791h2.389c.832%200%201.448-.177%201.853-.497.399-.315.614-.786.614-1.423%200-.62-.22-1.077-.63-1.385-.418-.313-1.053-.486-1.905-.486H9.27Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E"); }

trix-toolbar .trix-button--icon-italic::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9%205h6.5v2h-2.23l-2.31%2010H13v2H6v-2h2.461l2.306-10H9V5Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E"); }

trix-toolbar .trix-button--icon-link::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M18.948%205.258a4.337%204.337%200%200%200-6.108%200L11.217%206.87a.993.993%200%200%200%200%201.41c.392.39%201.027.39%201.418%200l1.623-1.613a2.323%202.323%200%200%201%203.271%200%202.29%202.29%200%200%201%200%203.251l-2.393%202.38a3.021%203.021%200%200%201-4.255%200l-.05-.049a1.007%201.007%200%200%200-1.418%200%20.993.993%200%200%200%200%201.41l.05.049a5.036%205.036%200%200%200%207.091%200l2.394-2.38a4.275%204.275%200%200%200%200-6.072Zm-13.683%2013.6a4.337%204.337%200%200%200%206.108%200l1.262-1.255a.993.993%200%200%200%200-1.41%201.007%201.007%200%200%200-1.418%200L9.954%2017.45a2.323%202.323%200%200%201-3.27%200%202.29%202.29%200%200%201%200-3.251l2.344-2.331a2.579%202.579%200%200%201%203.631%200c.392.39%201.027.39%201.419%200a.993.993%200%200%200%200-1.41%204.593%204.593%200%200%200-6.468%200l-2.345%202.33a4.275%204.275%200%200%200%200%206.072Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E"); }

trix-toolbar .trix-button--icon-strike::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6%2014.986c.088%202.647%202.246%204.258%205.635%204.258%203.496%200%205.713-1.728%205.713-4.463%200-.275-.02-.536-.062-.781h-3.461c.398.293.573.654.573%201.123%200%201.035-1.074%201.787-2.646%201.787-1.563%200-2.773-.762-2.91-1.924H6ZM6.432%2010h3.763c-.632-.314-.914-.715-.914-1.273%200-1.045.977-1.739%202.432-1.739%201.475%200%202.52.723%202.617%201.914h2.764c-.05-2.548-2.11-4.238-5.39-4.238-3.145%200-5.392%201.719-5.392%204.316%200%20.363.04.703.12%201.02ZM4%2011a1%201%200%201%200%200%202h15a1%201%200%201%200%200-2H4Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E"); }

trix-toolbar .trix-button--icon-quote::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M4.581%208.471c.44-.5%201.056-.834%201.758-.995C8.074%207.17%209.201%207.822%2010%208.752c1.354%201.578%201.33%203.555.394%205.277-.941%201.731-2.788%203.163-4.988%203.56a.622.622%200%200%201-.653-.317c-.113-.205-.121-.49.16-.764.294-.286.567-.566.791-.835.222-.266.413-.54.524-.815.113-.28.156-.597.026-.908-.128-.303-.39-.524-.72-.69a3.02%203.02%200%200%201-1.674-2.7c0-.905.283-1.59.72-2.088Zm9.419%200c.44-.5%201.055-.834%201.758-.995%201.734-.306%202.862.346%203.66%201.276%201.355%201.578%201.33%203.555.395%205.277-.941%201.731-2.789%203.163-4.988%203.56a.622.622%200%200%201-.653-.317c-.113-.205-.122-.49.16-.764.294-.286.567-.566.791-.835.222-.266.412-.54.523-.815.114-.28.157-.597.026-.908-.127-.303-.39-.524-.72-.69a3.02%203.02%200%200%201-1.672-2.701c0-.905.283-1.59.72-2.088Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E"); }

trix-toolbar .trix-button--icon-heading-1::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21.5%207.5v-3h-12v3H14v13h3v-13h4.5ZM9%2013.5h3.5v-3h-10v3H6v7h3v-7Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E"); }

trix-toolbar .trix-button--icon-code::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.293%2011.293a1%201%200%200%200%200%201.414l4%204a1%201%200%201%200%201.414-1.414L5.414%2012l3.293-3.293a1%201%200%200%200-1.414-1.414l-4%204Zm13.414%205.414%204-4a1%201%200%200%200%200-1.414l-4-4a1%201%200%201%200-1.414%201.414L18.586%2012l-3.293%203.293a1%201%200%200%200%201.414%201.414Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E"); }

trix-toolbar .trix-button--icon-bullet-list::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%207.5a1.5%201.5%200%201%200%200-3%201.5%201.5%200%200%200%200%203ZM8%206a1%201%200%200%201%201-1h11a1%201%200%201%201%200%202H9a1%201%200%200%201-1-1Zm1%205a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm0%206a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm-2.5-5a1.5%201.5%200%201%201-3%200%201.5%201.5%200%200%201%203%200ZM5%2019.5a1.5%201.5%200%201%200%200-3%201.5%201.5%200%200%200%200%203Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E"); }

trix-toolbar .trix-button--icon-number-list::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3%204h2v4H4V5H3V4Zm5%202a1%201%200%200%201%201-1h11a1%201%200%201%201%200%202H9a1%201%200%200%201-1-1Zm1%205a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm0%206a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm-3.5-7H6v1l-1.5%202H6v1H3v-1l1.667-2H3v-1h2.5ZM3%2017v-1h3v4H3v-1h2v-.5H4v-1h1V17H3Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E"); }

trix-toolbar .trix-button--icon-undo::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3%2014a1%201%200%200%200%201%201h6a1%201%200%201%200%200-2H6.257c2.247-2.764%205.151-3.668%207.579-3.264%202.589.432%204.739%202.356%205.174%205.405a1%201%200%200%200%201.98-.283c-.564-3.95-3.415-6.526-6.825-7.095C11.084%207.25%207.63%208.377%205%2011.39V8a1%201%200%200%200-2%200v6Zm2-1Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E"); }

trix-toolbar .trix-button--icon-redo::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21%2014a1%201%200%200%201-1%201h-6a1%201%200%201%201%200-2h3.743c-2.247-2.764-5.151-3.668-7.579-3.264-2.589.432-4.739%202.356-5.174%205.405a1%201%200%200%201-1.98-.283c.564-3.95%203.415-6.526%206.826-7.095%203.08-.513%206.534.614%209.164%203.626V8a1%201%200%201%201%202%200v6Zm-2-1Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E"); }

trix-toolbar .trix-button--icon-decrease-nesting-level::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%206a1%201%200%200%201%201-1h12a1%201%200%201%201%200%202H6a1%201%200%200%201-1-1Zm4%205a1%201%200%201%200%200%202h9a1%201%200%201%200%200-2H9Zm-3%206a1%201%200%201%200%200%202h12a1%201%200%201%200%200-2H6Zm-3.707-5.707a1%201%200%200%200%200%201.414l2%202a1%201%200%201%200%201.414-1.414L4.414%2012l1.293-1.293a1%201%200%200%200-1.414-1.414l-2%202Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E"); }

trix-toolbar .trix-button--icon-increase-nesting-level::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%206a1%201%200%200%201%201-1h12a1%201%200%201%201%200%202H6a1%201%200%200%201-1-1Zm4%205a1%201%200%201%200%200%202h9a1%201%200%201%200%200-2H9Zm-3%206a1%201%200%201%200%200%202h12a1%201%200%201%200%200-2H6Zm-2.293-2.293%202-2a1%201%200%200%200%200-1.414l-2-2a1%201%200%201%200-1.414%201.414L3.586%2012l-1.293%201.293a1%201%200%201%200%201.414%201.414Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E"); }

trix-toolbar .trix-dialogs {
  position: relative; }

trix-toolbar .trix-dialog {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  font-size: 0.75em;
  padding: 15px 10px;
  background: #fff;
  box-shadow: 0 0.3em 1em #ccc;
  border-top: 2px solid #888;
  border-radius: 5px;
  z-index: 5; }

trix-toolbar .trix-input--dialog {
  font-size: inherit;
  font-weight: normal;
  padding: 0.5em 0.8em;
  margin: 0 10px 0 0;
  border-radius: 3px;
  border: 1px solid #bbb;
  background-color: #fff;
  box-shadow: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none; }
  trix-toolbar .trix-input--dialog.validate:invalid {
    box-shadow: #F00 0px 0px 1.5px 1px; }

trix-toolbar .trix-button--dialog {
  font-size: inherit;
  padding: 0.5em;
  border-bottom: none; }

trix-toolbar .trix-dialog--link {
  max-width: 600px; }

trix-toolbar .trix-dialog__link-fields {
  display: flex;
  align-items: baseline; }
  trix-toolbar .trix-dialog__link-fields .trix-input {
    flex: 1; }
  trix-toolbar .trix-dialog__link-fields .trix-button-group {
    flex: 0 0 content;
    margin: 0; }

trix-editor [data-trix-mutable]:not(.attachment__caption-editor) {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

trix-editor [data-trix-mutable]::-moz-selection,
trix-editor [data-trix-cursor-target]::-moz-selection, trix-editor [data-trix-mutable] ::-moz-selection {
  background: none; }

trix-editor [data-trix-mutable]::selection,
trix-editor [data-trix-cursor-target]::selection, trix-editor [data-trix-mutable] ::selection {
  background: none; }

trix-editor .attachment__caption-editor:focus[data-trix-mutable]::-moz-selection {
  background: highlight; }

trix-editor .attachment__caption-editor:focus[data-trix-mutable]::selection {
  background: highlight; }

trix-editor [data-trix-mutable].attachment.attachment--file {
  box-shadow: 0 0 0 2px highlight;
  border-color: transparent; }

trix-editor [data-trix-mutable].attachment img {
  box-shadow: 0 0 0 2px highlight; }

trix-editor .attachment {
  position: relative; }
  trix-editor .attachment:hover {
    cursor: default; }

trix-editor .attachment--preview .attachment__caption:hover {
  cursor: text; }

trix-editor .attachment__progress {
  position: absolute;
  z-index: 1;
  height: 20px;
  top: calc(50% - 10px);
  left: 5%;
  width: 90%;
  opacity: 0.9;
  transition: opacity 200ms ease-in; }
  trix-editor .attachment__progress[value="100"] {
    opacity: 0; }

trix-editor .attachment__caption-editor {
  display: inline-block;
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
  color: inherit;
  text-align: center;
  vertical-align: top;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none; }

trix-editor .attachment__toolbar {
  position: absolute;
  z-index: 1;
  top: -0.9em;
  left: 0;
  width: 100%;
  text-align: center; }

trix-editor .trix-button-group {
  display: inline-flex; }

trix-editor .trix-button {
  position: relative;
  float: left;
  color: #666;
  white-space: nowrap;
  font-size: 80%;
  padding: 0 0.8em;
  margin: 0;
  outline: none;
  border: none;
  border-radius: 0;
  background: transparent; }
  trix-editor .trix-button:not(:first-child) {
    border-left: 1px solid #ccc; }
  trix-editor .trix-button.trix-active {
    background: #cbeefa; }
  trix-editor .trix-button:not(:disabled) {
    cursor: pointer; }

trix-editor .trix-button--remove {
  text-indent: -9999px;
  display: inline-block;
  padding: 0;
  outline: none;
  width: 1.8em;
  height: 1.8em;
  line-height: 1.8em;
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid highlight;
  box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.25); }
  trix-editor .trix-button--remove::before {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0.7;
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg%20height%3D%2224%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M19%206.41%2017.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012z%22%2F%3E%3Cpath%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 90%; }
  trix-editor .trix-button--remove:hover {
    border-color: #333; }
    trix-editor .trix-button--remove:hover::before {
      opacity: 1; }

trix-editor .attachment__metadata-container {
  position: relative; }

trix-editor .attachment__metadata {
  position: absolute;
  left: 50%;
  top: 2em;
  transform: translate(-50%, 0);
  max-width: 90%;
  padding: 0.1em 0.6em;
  font-size: 0.8em;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.7);
  border-radius: 3px; }
  trix-editor .attachment__metadata .attachment__name {
    display: inline-block;
    max-width: 100%;
    vertical-align: bottom;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }
  trix-editor .attachment__metadata .attachment__size {
    margin-left: 0.2em;
    white-space: nowrap; }

.trix-content {
  line-height: 1.5; }
  .trix-content * {
    box-sizing: border-box;
    margin: 0;
    padding: 0; }
  .trix-content h1 {
    font-size: 1.2em;
    line-height: 1.2; }
  .trix-content blockquote {
    border: 0 solid #ccc;
    border-left-width: 0.3em;
    margin-left: 0.3em;
    padding-left: 0.6em; }
  .trix-content [dir=rtl] blockquote,
  .trix-content blockquote[dir=rtl] {
    border-width: 0;
    border-right-width: 0.3em;
    margin-right: 0.3em;
    padding-right: 0.6em; }
  .trix-content li {
    margin-left: 1em; }
  .trix-content [dir=rtl] li {
    margin-right: 1em; }
  .trix-content pre {
    display: inline-block;
    width: 100%;
    vertical-align: top;
    font-family: monospace;
    font-size: 0.9em;
    padding: 0.5em;
    white-space: pre;
    background-color: #eee;
    overflow-x: auto; }
  .trix-content img {
    max-width: 100%;
    height: auto; }
  .trix-content .attachment {
    display: inline-block;
    position: relative;
    max-width: 100%; }
    .trix-content .attachment a {
      color: inherit;
      text-decoration: none; }
      .trix-content .attachment a:hover, .trix-content .attachment a:visited:hover {
        color: inherit; }
  .trix-content .attachment__caption {
    text-align: center; }
    .trix-content .attachment__caption .attachment__name + .attachment__size::before {
      content: ' \2022 '; }
  .trix-content .attachment--preview {
    width: 100%;
    text-align: center; }
    .trix-content .attachment--preview .attachment__caption {
      color: #666;
      font-size: 0.9em;
      line-height: 1.2; }
  .trix-content .attachment--file {
    color: #333;
    line-height: 1;
    margin: 0 2px 2px 2px;
    padding: 0.4em 1em;
    border: 1px solid #bbb;
    border-radius: 5px; }
  .trix-content .attachment-gallery {
    display: flex;
    flex-wrap: wrap;
    position: relative; }
    .trix-content .attachment-gallery .attachment {
      flex: 1 0 33%;
      padding: 0 0.5em;
      max-width: 33%; }
    .trix-content .attachment-gallery.attachment-gallery--2 .attachment, .trix-content .attachment-gallery.attachment-gallery--4 .attachment {
      flex-basis: 50%;
      max-width: 50%; }
.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{background-color:transparent;border:none;font-size:1em}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline;list-style:none;padding:0}.select2-container .select2-selection--multiple .select2-selection__clear{background-color:transparent;border:none;font-size:1em}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;margin-left:5px;padding:0;max-width:100%;resize:none;height:18px;vertical-align:bottom;font-family:sans-serif;overflow:hidden;word-break:keep-all}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option--selectable{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;height:26px;margin-right:20px;padding-right:0px}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;padding-bottom:5px;padding-right:5px;position:relative}.select2-container--default .select2-selection--multiple.select2-selection--clearable{padding-right:25px}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;font-weight:bold;height:20px;margin-right:10px;margin-top:5px;position:absolute;right:0;padding:1px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:inline-block;margin-left:5px;margin-top:5px;padding:0;padding-left:20px;position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.select2-container--default .select2-selection--multiple .select2-selection__choice__display{cursor:default;padding-left:2px;padding-right:5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{background-color:transparent;border:none;border-right:1px solid #aaa;border-top-left-radius:4px;border-bottom-left-radius:4px;color:#999;cursor:pointer;font-size:1em;font-weight:bold;padding:0 4px;position:absolute;left:0;top:0}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:focus{background-color:#f1f1f1;color:#333;outline:none}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__display{padding-left:5px;padding-right:2px}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{border-left:1px solid #aaa;border-right:none;border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:4px;border-bottom-right-radius:4px}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__clear{float:left;margin-left:10px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--group{padding:0}.select2-container--default .select2-results__option--disabled{color:#999}.select2-container--default .select2-results__option--selected{background-color:#ddd}.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;height:26px;margin-right:20px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0;padding-bottom:5px;padding-right:5px}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;display:inline-block;margin-left:5px;margin-top:5px;padding:0}.select2-container--classic .select2-selection--multiple .select2-selection__choice__display{cursor:default;padding-left:2px;padding-right:5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{background-color:transparent;border:none;border-top-left-radius:4px;border-bottom-left-radius:4px;color:#888;cursor:pointer;font-size:1em;font-weight:bold;padding:0 4px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555;outline:none}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__display{padding-left:5px;padding-right:2px}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:4px;border-bottom-right-radius:4px}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option--group{padding:0}.select2-container--classic .select2-results__option--disabled{color:grey}.select2-container--classic .select2-results__option--highlighted.select2-results__option--selectable{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}
/* ══════════════════════════════════════════════════════════════════════════
   前台统一样式表 frontend.css
   ─────────────────────────────────────────────────────────────────────────
   本文件是前台（application 布局）唯一的自定义样式来源。
   原先分散在 home / list / show / aipc / datas / errors / product_showcase /
   purchase_college / articles_mobile / policy_mobile 十个文件，以及 17 个视图
   的 <style> 内联块中，现合并于此并去重。

   分层约定（自上而下，越靠后优先级越高）：
     1. 基础与全局        —— 变量、头部/导航/页脚、通用组件、首页
     2. 通用页面          —— 列表页、详情页、专区
     3. 页面级（body.page-*）—— 原各视图内联样式，按 body 类名隔离
     4. 移动端覆盖        —— 最后加载，优先级最高
   ══════════════════════════════════════════════════════════════════════════ */

/* ═══════════ 基础：变量 / 头部 / 导航 / 页脚 / 通用组件 / 首页  （原 home.css） ═══════════ */
:root {
    --primary: #0052d9;
    --secondary: #00a0e9;
    --accent: #ff6b35;
    --light: #f8f9fa;
    --dark: #212529;
    --gray: #6c757d;
    --light-gray: #e9ecef;
    --border-radius: 8px;
    --box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    --transition: all 0.3s ease;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Noto Sans SC', sans-serif;
    background-color: #f5f7fa;
    color: var(--dark);
    line-height: 1.6;
    overflow-x: hidden;
}

/* 页面容器 */
.page-container {
    position: relative;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* 顶部广告位 */
.top-pic {
    background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
    color: white;
    padding: 12px 0;
    text-align: center;
    font-weight: 500;
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.top-pic-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.ad-close {
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 10;
}

/* 头部区域 */
.header {
    background-color: white;
    padding: 20px 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    position: relative;
    z-index: 101;
}

.header-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo {
    display: flex;
    align-items: center;
    gap: 12px;
}

.logo-icon {
    width: 48px;
    height: 48px;
    /*#background: linear-gradient(135deg, var(--primary), var(--secondary));*/
    background: url(/logo.png) no-repeat center center;
    border-radius: var(--border-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 20px;
    font-weight: 900;
}

.logo-text {
    font-size: 24px;
    font-weight: 900;
    background: linear-gradient(90deg, var(--primary), var(--secondary));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* 导航菜单 */
.nav-menu {
    display: flex;
    list-style: none;
    gap: 30px;
}

.nav-menu li a {
    text-decoration: none;
    color: var(--dark);
    font-weight: 500;
    font-size: 16px;
    padding: 8px 0;
    position: relative;
    transition: var(--transition);
}

.nav-menu li a:hover {
    color: var(--primary);
}

.nav-menu li a.active {
    color: var(--primary);
}

.nav-menu li a.active::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--primary);
}

/* 导航下拉菜单（站点导航） */
.nav-menu > li.nav-has-dropdown {
    position: relative;
}

.nav-menu li a.nav-drop-trigger {
    cursor: pointer;
}

/* 箭头必须 inline-block + line-height:1 —— 若参与行高计算会把 nav 撑高，
   导致该项盒模型与其他 display:inline 的菜单项错位（文字低 5px、下划线也低 5px） */
.nav-caret {
    display: inline-block;
    font-size: 12px;
    line-height: 1;
    margin-left: 5px;
    vertical-align: middle;
    transition: transform var(--transition);
}

.nav-has-dropdown:hover .nav-caret,
.nav-has-dropdown.open .nav-caret {
    transform: rotate(180deg);
}

.nav-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 0;
    padding: 6px 0;
    list-style: none;
    min-width: 208px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.14);
    z-index: 200;
    white-space: nowrap;
}

.nav-has-dropdown:hover .nav-dropdown,
.nav-has-dropdown.open .nav-dropdown {
    display: block;
}

.nav-dropdown > li {
    position: relative;
}

/* 覆盖 .nav-menu li a 的通用样式：下拉内为块级、带 padding，文字左对齐 */
.nav-menu .nav-dropdown li a {
    display: block;
    padding: 10px 18px;
    font-size: 15px;
    font-weight: 400;
    color: var(--dark);
    text-align: left;
}

.nav-menu .nav-dropdown li a:hover {
    background: #f1f5f9;
    color: var(--primary);
}

.nav-menu .nav-dropdown li a.active {
    color: var(--primary);
    background: #eff6ff;
}

.nav-menu .nav-dropdown li a.active::after {
    display: none;
}

/* 用户操作区域 */
.user-actions {
    display: flex;
    align-items: center;
    gap: 15px;
}

.login-btn {
    background: transparent;
    border: 1px solid var(--primary);
    color: var(--primary);
    padding: 8px 20px;
    border-radius: 4px;
    font-weight: 500;
    cursor: pointer;
    transition: var(--transition);
}

.login-btn:hover {
    background: var(--primary);
    color: white;
}

.register-btn {
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    border: none;
    color: white;
    padding: 8px 20px;
    border-radius: 4px;
    font-weight: 500;
    cursor: pointer;
    transition: var(--transition);
}

.register-btn:hover {
    opacity: 0.9;
}

/* 搜索区域 */
.search-container {
    max-width: 100%;
    padding: 36px 20px 24px;
    margin-bottom: 0;
}

.search-box {
  display: flex;
      background: white;
      border-radius: 50px;
      overflow: hidden;
      box-shadow: var(--box-shadow);
      padding: 4px;
      max-width: 800px;
      margin: 0 auto;
}

.search-box:focus-within {
    box-shadow: 0 4px 28px rgba(37,99,235,.18);
}

/* form.search-box 去除浏览器默认 margin */
form.search-box {
    margin: 0 auto;
}

.search-sort-label {
  margin-left: 12px;
  font-size: 13px;
  color: #64748b;
  white-space: nowrap;
}

.search-sort {
  padding: 8px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  font-size: 13px;
  color: #475569;
  background: #f8fafc;
  cursor: pointer;
  outline: none;
  margin-left: 8px;
  white-space: nowrap;
  min-width: 140px;
}

.search-sort:focus {
  border-color: var(--primary);
}

/* ═══════════ 政策法规 ═══════════ */
/* ===== 政策法规页（暖色红金主题，与 policy-hero 统一） ===== */
/* ===== 政策法规页（暖色红金主题，与 policy-hero 统一） ===== */
.policy-page {
  --p-red: #cf2c14;
  --p-red-2: #e0533a;
  --p-gold: #986c2a;
  --p-gold-2: #b8860b;
  --p-red-tint: #fbeae6;
  --p-red-border: #f3d9d1;
  --p-gold-tint: #f6ecd8;
  --p-gold-border: #ecdcc0;
  --p-warm-gray: #f8f4ef;
  background: #faf6f1;
  min-height: 100vh;
  padding-bottom: 60px;
}

/* Hero（全宽渐变，与站点首页风格一致） */
.policy-hero {
  position: relative;
  background-size: cover;
  background-position: center;
  padding: 56px 20px 96px;
  overflow: hidden;
}
.policy-hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.28);
}
.policy-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  text-align: left;
  color: #fff;
}
.policy-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  margin-bottom: 18px;
  color: rgba(255, 255, 255, 0.75);
}
.policy-breadcrumb .crumb-link {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
  transition: var(--transition);
}
.policy-breadcrumb .crumb-link:hover {
  color: #fff;
}
.policy-breadcrumb .crumb-current {
  color: #fff;
  font-weight: 500;
}
.policy-breadcrumb .crumb-sep {
  opacity: 0.6;
}
.policy-hero-title {
  font-size: 42px;
  font-weight: 700;
  margin: 0 0 12px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}
.policy-hero-sub {
  font-size: 18px;
  opacity: 0.9;
  margin: 0;
}

.home-hero {
  position: relative;
  padding: 60px 20px 72px;
  overflow: hidden;
}
.home-hero .hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 620px 320px at 18% 62%, rgba(255, 255, 255, 0.12), transparent),
    radial-gradient(ellipse 520px 280px at 82% 28%, rgba(255, 255, 255, 0.10), transparent);
  pointer-events: none;
}

/* 采购中心 */
.home-hero .purchase_notices {
  background: linear-gradient(90deg, #05082b, #6f47bd);
}

/* 企业公告（seo_notices）—— 琥珀金企业风，区别于采购公告蓝紫 */
.home-hero .seo_notices {
  background: linear-gradient(90deg, #7c2d12, #d97706);
}

/* 知识中心 */
.home-hero .hero-inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  color: #fff;
}
.home-hero h1 {
  font-size: 42px;
  font-weight: 800;
  margin: 0 0 14px;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}
.home-hero .hero-sub {
  font-size: 18px;
  line-height: 1.6;
  opacity: 0.92;
  /*max-width: 640px;*/
}
.home-hero .hero-breadcrumb {
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 14px;
  margin-bottom: 16px;
  color: rgba(255, 255, 255, 0.8);
}
.home-hero .hero-breadcrumb a {
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none;
  transition: var(--transition);
}
.home-hero .hero-breadcrumb a:hover {
  color: #fff;
}
.home-hero .hb-sep {
  opacity: 0.6;
}

/* 采购预测 */
.home-hero .aipc {
  background: linear-gradient(90deg, #1a2980, #26d0ce);
}

/* 主容器：两栏网格，上浮盖住 hero 底部 */
.policy-container {
  max-width: 1200px;
  margin: -56px auto 0;
  padding: 0 20px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 40px;
  position: relative;
  z-index: 2;
}
.policy-main {
  background: #fff;
  border-radius: 16px;
  box-shadow: var(--box-shadow);
  overflow: hidden;
  min-width: 0;
}

/* 区块头 */
.section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 22px;
  gap: 16px;
}
.section-title {
  font-size: 22px;
  color: var(--dark);
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}
.section-title i {
  color: var(--p-red);
}
.view-all-link {
  color: var(--p-red);
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
  transition: var(--transition);
}
.view-all-link:hover {
  color: var(--p-gold);
}

/* 核心法规卡片 */
.special-article-section {
  padding: 30px;
  border-bottom: 1px solid #f0f0f0;
}
.special-article-card {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 30px;
  background: linear-gradient(135deg, #fdf3ee 0%, #fbeae6 100%);
  border: 1px solid var(--p-red-border);
  border-radius: 12px;
  padding: 30px;
}
.special-adge {
  display: inline-block;
  background: linear-gradient(135deg, #cf2c14, #e0533a);
  color: #fff;
  padding: 6px 15px;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 18px;
}
.special-title {
  font-size: 24px;
  font-weight: 700;
  color: var(--dark);
  margin: 0 0 15px;
  line-height: 1.4;
}
.special-title a {
  color: inherit;
  text-decoration: none;
  transition: var(--transition);
}
.special-title a:hover {
  color: var(--p-red);
}
.special-summary {
  color: var(--gray);
  line-height: 1.6;
  margin: 0 0 20px;
  font-size: 15px;
}
.special-meta {
  display: flex;
  gap: 20px;
  margin-bottom: 18px;
  flex-wrap: wrap;
}
.meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--gray);
  font-size: 14px;
}
.meta-item i {
  color: var(--p-red);
}
.special-tags {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.tag-item {
  background: #fff;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 12px;
  color: var(--p-red);
  border: 1px solid var(--p-red-border);
}
.special-card-image {
  display: flex;
  align-items: center;
  justify-content: center;
}
.law-icon {
  width: 120px;
  height: 120px;
  background: linear-gradient(135deg, #cf2c14, #986c2a);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 48px;
}

/* 列表区 */
.policy-list-section {
  padding: 30px;
}
.total-count {
  color: var(--gray);
  font-size: 14px;
}

/* 工具栏：筛选 + 排序 */
.policy-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  padding: 16px 18px;
  background: var(--p-warm-gray);
  border-radius: var(--border-radius);
  flex-wrap: wrap;
}
.filter-pills {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.filter-pill {
  padding: 8px 18px;
  border: 1px solid #dee2e6;
  background: #fff;
  border-radius: 20px;
  color: var(--gray);
  font-size: 14px;
  cursor: pointer;
  transition: var(--transition);
  white-space: nowrap;
}
.filter-pill:hover {
  border-color: var(--p-red);
  color: var(--p-red);
}
.filter-pill.active {
  background: var(--p-red);
  color: #fff;
  border-color: var(--p-red);
}
.sort-box {
  display: flex;
  align-items: center;
  gap: 8px;
}
.sort-label {
  font-size: 14px;
  color: var(--gray);
}
.sort-select {
  padding: 8px 12px;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  background: #fff;
  font-size: 14px;
  color: var(--dark);
  cursor: pointer;
  outline: none;
}
.sort-select:focus {
  border-color: var(--p-red);
}

/* 列表项 */
.policy-items {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.policy-item {
  padding: 22px 24px;
  border: 1px solid #f0f0f0;
  border-radius: 10px;
  background: #fff;
  transition: var(--transition);
}
.policy-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(207, 44, 20, 0.1);
  border-color: var(--p-red-border);
}
.policy-item-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  gap: 12px;
}
.type-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
}
.type-badge.type-law {
  background: var(--p-red-tint);
  color: var(--p-red);
}
.type-badge.type-policy {
  background: var(--p-gold-tint);
  color: var(--p-gold);
}
.type-badge.type-notice {
  background: #fdeede;
  color: var(--p-red-2);
}
.type-badge.type-other {
  background: #f1ece4;
  color: #8a6d52;
}
.policy-date {
  color: var(--gray);
  font-size: 13px;
  white-space: nowrap;
}
.policy-title {
  font-size: 18px;
  font-weight: 600;
  color: var(--dark);
  margin: 0 0 10px;
  line-height: 1.4;
}
.policy-link {
  color: inherit;
  text-decoration: none;
  transition: var(--transition);
}
.policy-link:hover {
  color: var(--p-red);
}
.policy-summary {
  color: var(--gray);
  line-height: 1.6;
  margin: 0 0 16px;
  font-size: 14px;
}
.policy-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 14px;
  border-top: 1px solid #f2ebe4;
  font-size: 13px;
  color: var(--gray);
  gap: 12px;
}
.policy-source,
.policy-views {
  display: flex;
  align-items: center;
  gap: 5px;
}
.policy-views {
  color: #b08a6a;
}
.policy-empty {
  text-align: center;
  color: var(--gray);
  padding: 30px 0 10px;
  font-size: 14px;
}

/* 空状态 */
.empty-state {
  text-align: center;
  padding: 60px 20px;
}
.empty-icon {
  font-size: 48px;
  color: #e6d2c4;
  margin-bottom: 20px;
}
.empty-state h3 {
  font-size: 20px;
  color: var(--dark);
  margin: 0 0 10px;
}
.empty-state p {
  color: var(--gray);
  font-size: 14px;
  margin: 0;
}

/* 分页容器（front 主题） */
.policy-pagination {
  margin-top: 36px;
  padding-top: 24px;
  border-top: 1px solid #f2ebe4;
}

/* 侧边栏 */
.policy-sidebar {
  position: sticky;
  top: 20px;
  height: fit-content;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.sidebar-section {
  background: #fff;
  border-radius: 12px;
  padding: 22px;
  box-shadow: 0 4px 15px rgba(207, 44, 20, 0.06);
}
.sidebar-header {
  margin-bottom: 16px;
}
.sidebar-title {
  font-size: 18px;
  color: var(--dark);
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}
.sidebar-title i {
  color: var(--p-red);
}

/* 热门政策 */
.popular-policy-item {
  display: flex;
  gap: 14px;
  padding: 13px 0;
  border-bottom: 1px solid #f2ebe4;
}
.popular-policy-item:last-child {
  border-bottom: none;
}
.popular-rank {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  flex-shrink: 0;
}
.popular-rank.rank-top {
  background: linear-gradient(135deg, #cf2c14, #e0533a);
  color: #fff;
}
.popular-rank.rank-normal {
  background: var(--p-warm-gray);
  color: var(--dark);
}
.popular-content {
  flex: 1;
  min-width: 0;
}
.popular-title {
  font-size: 13px;
  font-weight: 500;
  margin: 0 0 5px;
  line-height: 1.4;
}
.popular-title a {
  color: var(--dark);
  text-decoration: none;
}
.popular-title a:hover {
  color: var(--p-red);
}
.popular-meta {
  display: flex;
  gap: 14px;
  font-size: 12px;
  color: var(--gray);
}

/* 最新政策 */
.latest-policy-item {
  display: flex;
  gap: 14px;
  padding: 11px 0;
  border-bottom: 1px solid #f2ebe4;
}
.latest-policy-item:last-child {
  border-bottom: none;
}
.latest-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background: var(--p-warm-gray);
  border-radius: 8px;
  flex-shrink: 0;
}
.date-day {
  font-size: 18px;
  font-weight: 700;
  color: var(--p-red);
  line-height: 1;
}
.date-month {
  font-size: 12px;
  color: var(--gray);
}
.latest-content {
  flex: 1;
  min-width: 0;
}
.latest-title {
  font-size: 14px;
  font-weight: 500;
  margin: 0 0 5px;
  line-height: 1.4;
}
.latest-title a {
  color: var(--dark);
  text-decoration: none;
}
.latest-title a:hover {
  color: var(--p-red);
}
.latest-source {
  font-size: 12px;
  color: var(--gray);
}

/* 政策分类（快速筛选） */
.policy-categories {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.category-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 12px 15px;
  background: var(--p-warm-gray);
  border: 1px solid transparent;
  border-radius: 8px;
  text-decoration: none;
  color: var(--dark);
  font-size: 14px;
  cursor: pointer;
  transition: var(--transition);
  text-align: left;
}
.category-item:hover {
  background: var(--p-red-tint);
  color: var(--p-red);
  border-color: var(--p-red-border);
}
.category-item.active {
  background: var(--p-red-tint);
  color: var(--p-red);
  border-color: var(--p-gold-border);
}
.cat-arrow {
  font-size: 12px;
  color: #c9a98f;
  transition: transform 0.2s;
}
.category-item:hover .cat-arrow {
  transform: translateX(3px);
  color: var(--p-red);
}

/* 政策查询 */
.search-tool {
  display: flex;
  gap: 10px;
  margin: 0 0 12px;
}
.search-input {
  flex: 1;
      border: none;
      padding: 18px 25px;
      font-size: 16px;
      outline: none;
}
.search-input:focus {
  border: none;
  box-shadow: none;
}
.search-btn {
  background: linear-gradient(135deg, var(--primary), var(--secondary));
      color: white;
      border: none;
      padding: 0 40px;
      cursor: pointer;
      font-weight: 600;
      font-size: 16px;
      transition: var(--transition);
      display: flex;
      align-items: center;
      gap: 8px;
}
.search-btn:hover {
  background: #1d4ed8;
}
.search-tips {
  font-size: 12px;
  color: var(--gray);
  margin: 0;
}
.search-result-hint {
  font-size: 13px;
  color: var(--dark);
  margin: 8px 0 0;
}
.search-result-hint strong {
  color: var(--p-red);
  font-weight: 600;
}
.search-clear {
  color: var(--p-red);
  font-weight: 600;
  text-decoration: none;
}
.search-clear:hover {
  text-decoration: underline;
}

/* ════════════════════════════════════════════════════════════════
   articles/index 搜索框 / 排序筛选（作用域隔离，不影响 home/index）
   ════════════════════════════════════════════════════════════════ */
.search-container.article-search {
  padding: 0;
  margin: 0 0 16px 0;
}

#article-search-form.search-box {
  max-width: 100%;
  margin: 0;
  border-radius: 8px;
  border: none;
  background: #f8fafc;
  padding: 6px 10px;
  box-shadow: none;
  align-items: center;
}

#article-search-form .search-input {
  padding: 10px 14px;
  font-size: 14px;
  color: #334155;
}

#article-search-form .search-input::placeholder {
  color: #94a3b8;
}

#article-search-form .filter-search-btn {
  border-radius: 8px;
}

#article-search-form .search-sort-label {
  margin-left: 8px;
  color: #64748b;
  font-size: 13px;
  white-space: nowrap;
}

#article-search-form .search-sort {
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  padding: 7px 26px 7px 8px;
  font-size: 13px;
  color: #475569;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
  height: 40px;
}

#article-search-form .search-sort:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

/* ════════════════════════════════════════════════════════════════
   policy.html 侧边栏搜索框（作用域隔离，不影响 home/index）
   ════════════════════════════════════════════════════════════════ */
.policy-search .search-tool {
  display: flex;
  align-items: stretch;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 5px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, .06);
  gap: 6px;
  overflow: hidden;
}

.policy-search .search-input {
  border: none;
  border-radius: 7px;
  padding: 10px 14px;
  font-size: 14px;
  color: #334155;
  background: #f8fafc;
}

.policy-search .search-input:focus {
  border: none;
  box-shadow: none;
  background: #fff;
}

.policy-search .search-btn {
  background: linear-gradient(135deg, #cf2c14, #986c2a);
  border: none;
  border-radius: 7px;
  padding: 0 16px;
  min-height: 42px;
  min-width: 46px;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  transition: background .2s;
}

.policy-search .search-btn:hover {
  background: #1d4ed8;
}

/* 政策解读 */
.interpretation {
  background: linear-gradient(135deg, #cf2c14, #986c2a);
  color: #fff;
}
.interpretation h4 {
  font-size: 20px;
  margin: 0 0 10px;
}
.interpretation p {
  opacity: 0.9;
  margin: 0 0 18px;
  font-size: 14px;
}
.interpretation-btn {
  width: 100%;
  background: #fff;
  color: #cf2c14;
  border: none;
  padding: 12px;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition);
}
.interpretation-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

/* front 主题分页样式 */
.notice-pagination {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.pagination-container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
}
.pagination-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 12px;
  border: 1px solid var(--light-gray);
  border-radius: var(--border-radius);
  background: #fff;
  color: #475569;
  font-size: 14px;
  text-decoration: none;
  transition: var(--transition);
  white-space: nowrap;
}
.pagination-btn:hover {
  border-color: var(--p-red);
  color: var(--p-red);
  background: var(--p-red-tint);
}
.pagination-btn.active {
  background: linear-gradient(135deg, #cf2c14, #e0533a);
  color: #fff;
  border-color: transparent;
  font-weight: 600;
  cursor: default;
}
.pagination-ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  color: #b08a6a;
  letter-spacing: 2px;
}

/* 响应式 */
@media (max-width: 992px) {
  .policy-container {
    grid-template-columns: 1fr;
  }
  .policy-sidebar {
    position: static;
  }
  .special-article-card {
    grid-template-columns: 1fr;
  }
  .special-card-image {
    order: -1;
  }
  .law-icon {
    width: 90px;
    height: 90px;
    font-size: 36px;
  }
}
@media (max-width: 768px) {
  .policy-hero {
    padding: 40px 18px 80px;
  }
  .policy-hero-title {
    font-size: 32px;
  }
  .policy-hero-sub {
    font-size: 15px;
  }
  .policy-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  .sort-box {
    justify-content: space-between;
  }
  .special-article-section,
  .policy-list-section {
    padding: 22px;
  }
}
@media (max-width: 480px) {
  .policy-item-top {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .policy-foot {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
  .special-meta {
    gap: 12px;
  }
}

/* 通用 banner 辅助（首页 slider / 未内联定义的页面共用） */
.banner-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.3);
}
.banner-content {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 0 20px;
  box-sizing: border-box;
}

.hot-search {
    margin-top: 16px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    align-items: center;
}

.hot-search > span:first-child {
    display: inline-flex;
    align-items: center;
    height: 100%;
    line-height: normal;
    color: #94a3b8;
    font-size: 14px;
}

.hot-tag {
  background: var(--light-gray);
      padding: 8px 16px;
      border-radius: 20px;
      font-size: 14px;
      color: var(--dark);
      cursor: pointer;
      transition: var(--transition);
}

.hot-tag:hover {
    background: #2563eb;
    color: white;
    border-color: #2563eb;
}

/* 通栏广告位 - 关键修改部分 */
.banner-pic {
  max-width: 1200px;
      margin: 10px auto 15px auto;
      box-sizing: border-box;
}

.banner-slider {
    position: relative;
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: var(--box-shadow);
    height: 400px; /* 增加高度 */
}

.banner-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 0.8s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 36px;
    font-weight: 700;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    flex-direction: column;
    text-align: center;
    padding: 20px;
}

.banner-slide.active {
    opacity: 1;
}

.banner-slide:nth-child(1) {
    background: linear-gradient(90deg, #ff6b35, #ff8e53);
}

.banner-slide:nth-child(2) {
    background: linear-gradient(90deg, #00b09b, #96c93d);
}

.banner-slide:nth-child(3) {
    background: linear-gradient(90deg, #8e2de2, #4a00e0);
}

.banner-content h2 {
    font-size: 42px; /* 增加字体大小 */
    margin-bottom: 15px;
    font-weight: 800;
}

.banner-content p {
    font-size: 22px; /* 增加字体大小 */
    margin-bottom: 30px;
    opacity: 0.9;
    max-width: 700px;
}

.banner-controls {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
}

.banner-dot {
    width: 14px; /* 增加点的大小 */
    height: 14px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: var(--transition);
}

.banner-dot.active {
    background-color: white;
    transform: scale(1.3);
}

/* 左右结构容器 */
.two-column-container {
    max-width: 1200px;
    margin: 25px auto 30px auto; /* 减少上下间距 */
    padding: 0 20px;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 25px;
}

/* 左侧：多维筛选 */
/* 智能筛选区 - 遮住部分 hero，浮于上方 */
.advanced-filter {
    position: relative;
    z-index: 2;
    padding-bottom: 0;
}

.filter-container {
    background: white;
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
    margin-top: -44px;
    padding: 25px;
}

.filter-title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.filter-title i {
    color: var(--primary);
}

/* 智能搜索行 */
.filter-search-row {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
    padding: 16px;
    background: #f8fafc;
    border-radius: 8px;
}

.filter-search-label {
    font-size: 15px;
    font-weight: 600;
    color: #334155;
    white-space: nowrap;
    min-width: 70px;
}

.filter-search-box {
    display: flex;
    flex: 1;
    gap: 10px;
    align-items: center;
}

.filter-search-input {
    flex: 1;
    padding: 10px 16px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 14px;
    outline: none;
    transition: border-color .2s;
    background: #fff;
}

.filter-search-input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .1);
}

.filter-search-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 24px;
    background: linear-gradient(135deg, #2563eb, #0891b2);
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: opacity .2s;
}

.filter-search-btn:hover {
    opacity: .9;
}

.filter-search-reset {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    background: #fff;
    color: #64748b;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition: all .2s;
}

.filter-search-reset:hover {
    color: #334155;
    border-color: #cbd5e1;
    background: #f1f5f9;
}

/* 热门筛选标签 */
.filter-hot-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 15px auto;
    flex-wrap: wrap;
}

.filter-hot-label {
    font-size: 14px;
    font-weight: 600;
    color: #64748b;
    white-space: nowrap;
}

.filter-hot-tag {
    display: inline-block;
    padding: 5px 14px;
    border-radius: 20px;
    font-size: 13px;
    color: #475569;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    cursor: pointer;
    transition: all .2s;
    user-select: none;
}

.filter-hot-tag:hover {
    color: var(--primary);
    border-color: var(--primary);
    background: #eff6ff;
}

.filter-hot-tag.active {
    color: #fff;
    background: var(--primary);
    border-color: var(--primary);
}
.filter-hot-tag.active a{
    color: #fff;
}

/* 金额/日期范围 */
.filter-range {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    overflow: hidden;
}

.filter-range-input {
    flex: 1;
    min-width: 0;
    padding: 10px 10px;
    border: 1px solid var(--light-gray);
    border-radius: var(--border-radius);
    font-size: 13px;
    outline: none;
    transition: var(--transition);
    background: #fff;
}

.filter-range-input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(0, 82, 217, 0.1);
}

.filter-range-sep {
    color: #94a3b8;
    font-size: 14px;
    flex-shrink: 0;
}

.filter-range-unit {
    font-size: 13px;
    color: #94a3b8;
    white-space: nowrap;
    flex-shrink: 0;
}

/* 更多筛选条件 */
.filter-more-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 0;
    font-size: 14px;
    font-weight: 500;
    color: var(--primary);
    cursor: pointer;
    user-select: none;
    transition: color .2s;
    border-top: 1px dashed #e2e8f0;
}

.filter-more-toggle:hover {
    color: #1d4ed8;
}

.filter-more-toggle i {
    transition: transform .25s;
    font-size: 12px;
}

.filter-more-toggle.expanded i {
    transform: rotate(180deg);
}

.filter-more {
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid #f1f5f9;
}

/* 筛选操作按钮 */
.filter-actions {
    display: flex;
    gap: 12px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #f1f5f9;
}

.reset-btn {
    padding: 10px 28px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    background: #fff;
    color: #64748b;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all .2s;
}

.reset-btn:hover {
    color: #334155;
    border-color: #cbd5e1;
    background: #f8fafc;
}

.filter-btn {
    padding: 10px 32px;
    border: none;
    border-radius: 6px;
    background: linear-gradient(135deg, #2563eb, #0891b2);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity .2s;
}

.filter-btn:hover {
    opacity: .9;
}

.filter-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px 20px;
    margin: 15px auto;
}

.filter-group {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
}

.filter-label {
    font-size: 15px;
    color: var(--gray);
    margin-bottom: 10px;
    font-weight: 500;
    text-align: left;
}

.filter-select {
    width: 100%;
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--light-gray);
    border-radius: var(--border-radius);
    font-size: 15px;
    outline: none;
    transition: var(--transition);
    background-color: white;
    cursor: pointer;
}

.filter-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(0, 82, 217, 0.1);
}

/* text input 复用 filter-select 外观时修正光标 */
.filter-select.filter-text {
    cursor: text;
}

/* 查询按钮组：label 隐藏，按钮对齐下拉框底部 */
.filter-btn-group {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.filter-query-btn {
    width: 100%;
    padding: 14px 16px;
    border: none;
    border-radius: var(--border-radius);
    background: linear-gradient(135deg, #2563eb, #3b82f6);
    color: white;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all .25s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 50px;
}

.filter-query-btn:hover {
    background: linear-gradient(135deg, #1d4ed8, #2563eb);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(37,99,235,.35);
}

/* 右侧：供应商入驻广告 */
.supplier-pic {
    background: linear-gradient(135deg, #1e3c72, #2a5298);
    border-radius: var(--border-radius);
    padding: 30px;
    color: white;
    box-shadow: var(--box-shadow);
    /*height: 100%;*/
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    margin-top: -44px;
}

.supplier-pic h3 {
    font-size: 24px;
    margin-bottom: 15px;
    font-weight: 700;
}

.supplier-pic p {
    opacity: 0.9;
    margin-bottom: 25px;
    font-size: 16px;
    line-height: 1.6;
}

.supplier-btn {
    background: white;
    color: var(--primary);
    border: none;
    padding: 12px 30px;
    border-radius: 50px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
    font-size: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 auto;
    width: fit-content;
}

.supplier-btn:hover {
    background: var(--light);
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

/* 信息展示区域 */
.info-container {
    max-width: 1200px;
    margin: 30px auto 35px auto; /* 减少上下间距 */
    padding: 0 20px;
}

.section-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px; /* 减少间距 */
}

.section-title h2 {
    font-size: 26px;
    color: var(--dark);
    position: relative;
    padding-bottom: 12px;
}

.section-title h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50px;
    height: 4px;
    background: linear-gradient(90deg, var(--primary), var(--secondary));
    border-radius: 2px;
}

.view-all {
    color: var(--primary);
    font-size: 15px;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 500;
    transition: var(--transition);
}

.view-all:hover {
    gap: 10px;
}

.info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.info-card {
    background: white;
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: var(--box-shadow);
    transition: var(--transition);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.info-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.15);
}

.card-header {
    padding: 20px;
    background: linear-gradient(90deg, #f8f9fa, white);
    border-bottom: 1px solid var(--light-gray);
}

.card-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--dark);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.4;
}

.card-meta {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: var(--gray);
}

.card-body {
    padding: 20px;
    flex-grow: 1;
}

.card-description {
    font-size: 15px;
    color: var(--dark);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 15px;
    line-height: 1.5;
}

.card-footer {
    padding: 15px 20px;
    border-top: 1px solid var(--light-gray);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.card-tag {
    background: var(--light-gray);
    padding: 5px 12px;
    border-radius: 4px;
    font-size: 13px;
    color: var(--dark);
    font-weight: 500;
}

.card-date {
    font-size: 13px;
    color: var(--gray);
}

/* 广告位 */
.ad-section {
    max-width: 1200px;
    margin: 30px auto 35px auto; /* 减少上下间距 */
    padding: 0 20px;
}

.ad-rectangle {
    background: linear-gradient(135deg, #ff6b35, #ff8e53);
    border-radius: var(--border-radius);
    padding: 40px;
    text-align: center;
    color: white;
    box-shadow: var(--box-shadow);
}

.ad-rectangle h3 {
    font-size: 28px;
    margin-bottom: 15px;
}

.ad-rectangle p {
    opacity: 0.9;
    margin-bottom: 25px;
    font-size: 16px;
}

.banner-btn {
    background: white;
    color: #ff6b35;
    border: none;
    padding: 12px 30px;
    border-radius: 50px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
    font-size: 16px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.banner-btn:hover {
    background: var(--light);
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

/* 底部区域 - 重写适配新结构（左侧三栏 + 右侧宣传语） */
.footer {
    background: var(--dark);
    color: white;
    margin-top: 30px;
    padding: 50px 0 20px;
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
}

/* 普通栏目样式（关于我们、服务支持、联系我们） */
.footer-column h4 {
    font-size: 18px;
    margin-bottom: 20px;
    position: relative;
    padding-bottom: 12px;
}

.footer-column h4::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 30px;
    height: 2px;
    background: var(--primary);
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 12px;
}

.footer-links a {
    color: #aaa;
    text-decoration: none;
    transition: var(--transition);
    font-size: 14px;
}

.footer-links a:hover {
    color: white;
    padding-left: 5px;
}

.contact-info {
    margin-top: 20px;
}

.contact-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 18px;
    color: #aaa;
    font-size: 14px;
}

.contact-item i {
    margin-top: 3px;
    color: var(--primary);
}

/* 右侧宣传语特殊样式 */
/* 右侧宣传语容器 - 增强版 */
.footer-slogan {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.3rem;
  border-left: 2px solid rgba(255, 255, 255, 0.2);
  padding-left: 2rem;
  position: relative;
}

/* 每个宣传语项 */
.slogan-item {
  position: relative;
  transition: transform 0.3s ease, text-shadow 0.3s ease;
  cursor: default;
}

.slogan-item:hover {
  transform: translateY(-4px);
  text-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* 图标样式 */
.slogan-item i {
  font-size: 1.8rem;
  color: var(--primary, #ea6f66);
  margin-right: 12px;
  vertical-align: middle;
  transition: transform 0.2s ease;
}

.slogan-item:hover i {
  transform: scale(1.05);
}

/* 文字样式 */
.slogan-item span {
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 2px;
  background: linear-gradient(135deg, #fff, #e0e0e0);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  text-shadow: 0 1px 2px rgba(0,0,0,0.1);
  position: relative;
}

/* 装饰渐变线（悬停时增长） */
.slogan-line {
  position: absolute;
  bottom: -8px;
  right: 0;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--primary, #ea6f66), rgba(234,111,102,0.3));
  transition: width 0.3s ease;
}

.slogan-item:hover .slogan-line {
  width: 100%;
}

/* 可选：添加微光背景（容器右侧光晕） */
.footer-slogan::after {
  content: '';
  position: absolute;
  top: 20%;
  right: 0;
  width: 200px;
  height: 60%;
  background: radial-gradient(circle at right, rgba(234,111,102,0.08), transparent);
  pointer-events: none;
  z-index: 0;
}

/* 响应式调整：小屏幕时左对齐，并调整间距 */
@media (max-width: 768px) {
  .footer-slogan {
    align-items: flex-start;
    text-align: left;
    border-left: none;
    border-top: 1px solid rgba(255,255,255,0.2);
    padding-left: 0;
    padding-top: 1.8rem;
    margin-top: 0.5rem;
  }

  .slogan-item {
    width: 100%;
  }

  .slogan-line {
    right: auto;
    left: 0;
  }

  .footer-slogan::after {
    display: none;
  }
}

/* 版权区域 */
.copyright {
    text-align: center;
    padding-top: 20px;
    margin-top: 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    color: #aaa;
    font-size: 14px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
}

/* 响应式：平板及手机下改为单列，宣传语样式适配 */
@media (max-width: 768px) {
	.footer-container {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.footer-slogan {
		align-items: flex-start;
		text-align: left;
		border-left: none;
		border-top: 1px solid rgba(255, 255, 255, 0.2);
		padding-left: 0;
		padding-top: 1.5rem;
		margin-top: 0.5rem;
	}

	.footer-slogan p:hover {
		transform: translateX(4px);
	}
}

/* 下拉翻页效果 */
.page-section {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.page-section.visible {
    opacity: 1;
    transform: translateY(0);
}

/* 响应式设计 */
/* 中等屏幕 (平板) */
@media (max-width: 1200px) {
    .header-container, 
    .search-container, 
    .two-column-container,
    .info-container, 
    .ad-section, 
    .footer-container {
        max-width: 1000px;
    }
    
    /* 在中等屏幕，广告位保持80%宽度 */
    .banner-pic {
        padding: 0 10%;
    }
    
    .two-column-container {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .filter-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .filter-btn-group {
        grid-column: span 1;
    }
    
    .info-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .footer-container {
        grid-template-columns: repeat(4, 1fr);
        gap: 30px;
    }
    
    .banner-slider {
        height: 320px; /* 中等屏幕高度 */
    }
    
    .banner-content h2 {
        font-size: 36px;
    }
    
    .banner-content p {
        font-size: 18px;
    }
}

/* 小屏幕 (大手机/小平板) */
@media (max-width: 992px) {
    .header-container, 
    .search-container, 
    .two-column-container,
    .info-container, 
    .ad-section, 
    .footer-container {
        max-width: 800px;
    }
    
    .nav-menu {
        display: none;
    }
    
    .user-actions {
        display: none;
    }
    
    
    /* 在小屏幕，广告位调整为90%宽度 */
    .banner-pic {
        padding: 0 5%;
    }
    
    .banner-slider {
        height: 280px; /* 小屏幕高度 */
    }
    
    .banner-content h2 {
        font-size: 30px;
    }
    
    .banner-content p {
        font-size: 16px;
    }
    
    .supplier-pic {
        padding: 25px;
    }
    
    .supplier-pic h3 {
        font-size: 22px;
    }
}

/* 移动端 (手机) */
@media (max-width: 768px) {
    .header-container {
        padding: 0 15px;
    }
    
    .logo-text {
        font-size: 20px;
    }
    
    .search-container, 
    .two-column-container,
    .info-container, 
    .ad-section {
        padding: 0 15px;
    }
    
    /* 在移动端，广告位占满宽度 */
    .banner-pic {
        padding: 0;
        width: 100%;
        margin: 5px auto 10px auto; /* 移动端更小间距 */
    }
    
    .search-box {
        flex-direction: column;
        border-radius: 24px;
        max-width: 100%;
        padding: 4px;
        gap: 0;
    }

    .search-input, .search-btn {
        width: 100%;
        border-radius: 20px;
        padding: 14px 16px;
    }

    .search-input {
        border-bottom: 1px solid #f1f5f9;
        border-radius: 20px 20px 0 0;
    }
    
    .hot-search {
        justify-content: flex-start;
    }
    
    .filter-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .filter-btn-group {
        grid-column: auto;
    }
    
    .info-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .banner-slider {
        height: 220px; /* 移动端高度 */
        border-radius: 0;
    }
    
    .banner-content h2 {
        font-size: 24px;
    }
    
    .banner-content p {
        font-size: 14px;
        margin-bottom: 15px;
    }
    
    .ad-rectangle {
        padding: 30px 20px;
    }
    
    .ad-rectangle h3 {
        font-size: 24px;
    }
    
    .footer-container {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 0 15px;
    }
    
    .section-title h2 {
        font-size: 22px;
    }
    
    .supplier-pic {
        padding: 20px;
    }
    
    .supplier-pic h3 {
        font-size: 20px;
    }
}

/* 小手机 */
@media (max-width: 480px) {
    .logo-text {
        font-size: 18px;
    }
    
    .logo-icon {
        width: 40px;
        height: 40px;
        font-size: 18px;
    }
    
    .search-input, .search-btn {
        padding: 12px;
    }
    
    .hot-tag {
        padding: 6px 12px;
        font-size: 13px;
    }
    
    .banner-slider {
        height: 180px; /* 小手机高度 */
    }
    
    .banner-content h2 {
        font-size: 20px;
    }
    
    .banner-content p {
        font-size: 12px;
        margin-bottom: 10px;
    }
    
    .card-header, .card-body, .card-footer {
        padding: 15px;
    }
    
    .card-title {
        font-size: 16px;
    }
    
    .ad-rectangle h3 {
        font-size: 20px;
    }
    
    .ad-rectangle p {
        font-size: 15px;
    }
    
    .banner-btn {
        padding: 10px 20px;
        font-size: 15px;
    }
    
    .supplier-pic h3 {
        font-size: 18px;
    }
    
    .supplier-btn {
        padding: 10px 20px;
        font-size: 15px;
    }
}

/* 动画效果 */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate {
    animation: fadeInUp 0.6s ease forwards;
}

/* 移动端菜单 */
.mobile-menu {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    z-index: 1000;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.mobile-menu.active {
    display: flex;
}

.mobile-menu ul {
    list-style: none;
    text-align: center;
}

.mobile-menu li {
    margin: 20px 0;
}

.mobile-menu a {
    color: white;
    font-size: 24px;
    text-decoration: none;
    font-weight: 500;
}

/* 移动端下拉（站点导航）：默认平铺显示，不做折叠，避免遮罩层里再套一层开合 */
.mobile-menu .m-dropdown {
    list-style: none;
    margin-top: 12px;
}

.mobile-menu .m-dropdown > li {
    margin: 8px 0;
}

.mobile-menu .m-dropdown a {
    display: inline-block;
    font-size: 17px;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.82);
}

.mobile-menu .m-dropdown a:hover,
.mobile-menu .m-dropdown a.active {
    color: #fff;
}

.m-drop-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: white;
    font-size: 24px;
    font-weight: 500;
}

.m-caret {
    font-size: 15px;
}

.mobile-menu-close {
    position: absolute;
    top: 30px;
    right: 30px;
    background: none;
    border: none;
    color: white;
    font-size: 30px;
    cursor: pointer;
}

/* 移动端菜单按钮 */
.mobile-menu-btn {
    display: none; /* 默认隐藏 */
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    border: none;
    width: 44px;
    height: 44px;
    border-radius: var(--border-radius);
    color: white;
    font-size: 20px;
    cursor: pointer;
    transition: var(--transition);
    box-shadow: var(--box-shadow);
    position: relative;
    z-index: 200;
}

.mobile-menu-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(0, 82, 217, 0.3);
}

.mobile-menu-btn:active {
    transform: translateY(0);
}

/* 自定义三条杠图标 */
.mobile-menu-btn i {
    position: relative;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mobile-menu-btn i::before,
.mobile-menu-btn i::after {
    content: '';
    position: absolute;
    width: 20px;
    height: 2px;
    background-color: white;
    border-radius: 1px;
    transition: var(--transition);
}

.mobile-menu-btn i::before {
    transform: translateY(-5px);
}

.mobile-menu-btn i::after {
    transform: translateY(5px);
}

/* 三条杠中间的部分 */
.mobile-menu-btn i.fa-bars {
    background-color: white;
    width: 20px;
    height: 2px;
    border-radius: 1px;
}

/* 响应式显示 */
@media (max-width: 992px) {
    .mobile-menu-btn {
        display: flex; /* 在小屏幕显示 */
        align-items: center;
        justify-content: center;
    }
    
    
    
    
}

@media (max-width: 768px) {
    .hot-search {
        flex-wrap: nowrap;
        overflow-x: auto;
    }
    
    /* 只显示"热门搜索："文字和前2个标签 */
    .hot-search > span:first-child,
    .hot-tag:nth-child(2),
    .hot-tag:nth-child(3) {
        display: inline-flex;
    }
    
    /* 隐藏第3个及之后的标签 */
    .hot-tag:nth-child(n+4) {
        display: none;
    }
}

/* 搜索区域 - 移动端90%宽度 */
@media (max-width: 768px) {
    .search-container {
        width: 95%;
        max-width: 95%;
        margin: 20px auto 15px auto;
        padding: 0;
        box-sizing: border-box;
    }
    
    .search-box {
        width: 100%;
        max-width: 100%;
        border-radius: var(--border-radius);
    }
    
    .search-input, .search-btn {
        padding: 15px;
    }
}

/* 简化版移动端底部样式 */
@media (max-width: 768px) {
    .footer-container {
        grid-template-columns: 1fr;
        gap: 25px;
        padding: 0 15px;
    }
    
    .footer-column {
        background: rgba(255, 255, 255, 0.05);
        border-radius: 8px;
        padding: 20px;
        margin-bottom: 10px;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    }
    
    .footer-column h4 {
        font-size: 18px;
        margin-bottom: 15px;
        padding-bottom: 10px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        color: white;
    }
    
    .footer-links li {
        margin-bottom: 10px;
        padding: 8px 0;
        border-bottom: 1px dashed rgba(255, 255, 255, 0.05);
    }
    
    .footer-links li:last-child {
        border-bottom: none;
    }
    
    .footer-links a {
        color: #ccc;
        font-size: 14px;
        display: flex;
        align-items: center;
        transition: all 0.3s ease;
    }
    
    .footer-links a:hover {
        color: white;
        transform: translateX(5px);
    }
    
    .footer-links a::before {
        content: '›';
        margin-right: 8px;
        color: var(--primary);
        font-size: 16px;
        transition: transform 0.3s ease;
    }
    
    .footer-links a:hover::before {
        transform: translateX(3px);
    }
    
    .contact-info {
        margin-top: 15px;
    }
    
    .contact-item {
        margin-bottom: 12px;
        padding: 8px 0;
        border-bottom: 1px dashed rgba(255, 255, 255, 0.05);
    }
    
    .contact-item:last-child {
        border-bottom: none;
    }
    
    .contact-item i {
        width: 24px;
        text-align: center;
        color: var(--primary);
    }
    
    .copyright {
        padding: 30px 15px 20px;
        font-size: 13px;
        line-height: 1.5;
    }
}        

/* 确保banner在JS失效时仍然显示 */
.banner-slider {
    min-height: 400px;
}

@media (max-width: 1200px) {
    .banner-slider {
        min-height: 320px;
    }
}

@media (max-width: 992px) {
    .banner-slider {
        min-height: 280px;
    }
}

@media (max-width: 768px) {
    .banner-slider {
        min-height: 220px;
    }
}

@media (max-width: 480px) {
    .banner-slider {
        min-height: 180px;
    }
}

/* notice 的a标签去掉下划线*/
/* 全局取消所有链接下划线 */
.info-grid .a {
  text-decoration: none;
}
a {
  text-decoration: none;
}

/* 或者根据需求选择性取消 */
a:not(.underline) {
  text-decoration: none;
}

/* 卡片链接特殊处理 */
.card-link {
  text-decoration: none;
  color: inherit;
  display: block;
}

.card-link:hover {
  text-decoration: none;
  opacity: 0.9;
}

/* 确保卡片内元素样式正常 */
.card-link .info-card * {
  text-decoration: none !important;
}

.list-banner {
  padding: 30px 0;
}

/* ═══════════ notice-item 公告列表项 ═══════════ */
/* 容器 */
.notice-items {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* 单条：左侧占位图 + 右侧三行 */
.notice-item {
  display: flex;
  gap: 20px;
  background: #fff;
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0 1px 8px rgba(0,0,0,0.05);
  transition: transform .2s, box-shadow .2s;
}
.notice-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.1);
}

/* 左侧占位图 */
.notice-image {
  flex-shrink: 0;
  width: 160px;
  height: 120px;
  border-radius: 6px;
  overflow: hidden;
  background: #f0f2f5;
  display: flex;
  align-items: center;
  justify-content: center;
}
.notice-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 左上角分类角标 */
.notice-image {
  position: relative;
}
.notice-cat {
  top: 0;
  left: 0;
  padding: 4px 12px;
  background: linear-gradient(135deg, #0052d9, #00a0e9);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  border-radius: 0 0 8px 0;
  line-height: 1.4;
  white-space: nowrap;
  z-index: 2;
}

/* 筛选隐藏 */
.notice-item.hidden {
  display: none;
}

/* he-card 激活态 */
.he-card.active {
  background: linear-gradient(135deg, #e8f0fe, #d2e3fc);
  color: #0052d9;
}
.he-card.active i {
  color: #0052d9;
}
.he-card.active span {
  color: #0052d9;
  font-weight: 700;
}

/* 右侧内容区 */
.notice-decipt {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* 第一行：标题 */
.notice-title {
  font-size: 17px;
  font-weight: 700;
  color: #212529;
  line-height: 1.45;
  margin: 0 0 8px;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.notice-title a {
  color: inherit;
  text-decoration: none;
  transition: color .2s;
}
.notice-title a:hover { color: #0052d9; }

/* 第二行：摘要 */
.notice-summary {
  font-size: 14px;
  color: #6c757d;
  line-height: 1.55;
  margin: 0 0 6px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 标签行 */
.notice-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}
.notice-tags a {
  padding: 3px 10px;
  background: #f0f2f5;
  border-radius: 4px;
  font-size: 12px;
  color: #555;
  text-decoration: none;
  transition: all .2s;
}
.notice-tags a:hover {
  background: #0052d9;
  color: #fff;
}

/* 第三行：底部 footer（前三左对齐 + 第四右对齐） */
.notice-footer {
  display: flex;
  align-items: center;
  gap: 20px;
  padding-top: 10px;
  border-top: 1px solid #f0f0f0;
  font-size: 13px;
  color: #999;
}

/* 左侧三项：来源、日期、查看人数 */
.notice-source {
  display: flex;
  align-items: center;
  gap: 6px;
}
.notice-source img {
  width: 18px;
  height: 18px;
  border-radius: 2px;
  object-fit: cover;
}

.notice-date {
  display: flex;
  align-items: center;
  gap: 4px;
}

.notice-views {
  display: flex;
  align-items: center;
  gap: 4px;
}

/* 右侧操作按钮：自动推到最右边 */
.notice-action {
  margin-left: auto;
  flex-shrink: 0;
}
.notice-action a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 18px;
  background: linear-gradient(135deg, #0052d9, #00a0e9);
  color: #fff;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: transform .2s, box-shadow .2s;
  white-space: nowrap;
}
.notice-action a:hover {
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(0,82,217,0.3);
}
/* 下载按钮变体 */
.notice-action a.download {
  background: linear-gradient(135deg, #27ae60, #2ecc71);
}

/* 响应式 */
@media (max-width: 768px) {
  .notice-item {
    flex-direction: column;
    gap: 12px;
  }
  .notice-image {
    width: 100%;
    height: 160px;
  }
  .notice-footer {
    flex-wrap: wrap;
    gap: 8px 16px;
  }
  .notice-action {
    margin-left: 0;
    width: 100%;
  }
  .notice-action a {
    width: 100%;
    justify-content: center;
  }
}

/* ═══════════ notice-pagination 分页 ═══════════ */
.notice-pagination {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid #eee;
  flex-wrap: nowrap;
}

/* Kaminari 自定义主题（Bootstrap 风格）：
   <ul class="pagination"> > <li class="page-item[ active|disabled]"> > <a class="page-link">|纯文本
   边界态（首页/末页在首末页）由 link_to_unless 渲染为 <li> 内纯文本，无 <a> */
.notice-pagination .pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
}

.notice-pagination .pagination .page-item {
  list-style: none;
  display: inline-flex;
}

/* 按钮基础样式：作用于有链接的 <a.page-link> */
.notice-pagination .pagination .page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border: 1px solid var(--light-gray);
  border-radius: var(--border-radius);
  background: #fff;
  color: #475569;
  font-size: 14px;
  text-decoration: none;
  transition: all .2s;
  white-space: nowrap;
  user-select: none;
}

.notice-pagination .pagination a.page-link:hover {
  border-color: var(--primary);
  color: var(--primary);
  background: #f0f5ff;
}

/* 当前页（li.page-item.active > a.page-link） */
.notice-pagination .pagination .page-item.active .page-link {
  background: linear-gradient(135deg, var(--primary), var(--secondary));
  color: #fff;
  border-color: transparent;
  font-weight: 600;
  cursor: default;
}

/* 省略号（li.page-item.disabled > span.page-link） */
.notice-pagination .pagination .page-item.disabled .page-link {
  border-color: transparent;
  background: transparent;
  color: #94a3b8;
  letter-spacing: 2px;
  pointer-events: none;
}

/* 边界态：首页/末页/上页/下页 在边界时由 link_to_unless 渲染为 <li> 内纯文本（无 <a>） */
.notice-pagination .pagination .page-item:not(:has(a)) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border: 1px solid var(--light-gray);
  border-radius: var(--border-radius);
  background: #fff;
  color: #cbd5e1;
  font-size: 14px;
  pointer-events: none;
}

.np-info {
  margin-right: 12px;
  font-size: 13px;
  color: #999;
}

.np-pages {
  display: flex;
  align-items: center;
  gap: 6px;
}

.np-size {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #666;
}

.np-size select {
  height: 32px;
  padding: 0 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 13px;
  color: #333;
  background: #fff;
  cursor: pointer;
  outline: none;
  transition: border-color .2s;
  appearance: auto;
}

.np-size select:focus {
  border-color: #0052d9;
  box-shadow: 0 0 0 2px rgba(0,82,217,0.1);
}

@media (max-width: 640px) {
  .notice-pagination {
    flex-direction: column;
    gap: 12px;
  }
  .np-info,
  .np-size {
    margin: 0;
  }
  .np-info {
    text-align: center;
  }
}

/* ========== 招标公告列表 (purchase-item) ========== */
.purchase-items {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.purchase-item {
  background: #fff;
  border-radius: 10px;
  padding: 20px 24px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.05);
  transition: box-shadow .2s;
}

.purchase-item:hover {
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}

/* ---- 第一行：标签 + 标题 + 收藏星 ---- */
.pi-row1 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.pi-left {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

/* ====== 公告类型标签统一样式 ====== */
.pi-tag,
.notice-type-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  flex-shrink: 0;
}

/* notice-type-badge 用于首页 ni-list / show 页等不挂 .pi-tag 的场景 */
.notice-type-badge:only-child { /* 保持对齐 */ }

/* --- 12 种公告类型颜色变体 --- */
.nt-gkzb  { background: #dbeafe; color: #1d4ed8; }  /* 公开招标 */
.nt-xjgg  { background: #ccfbf1; color: #0f766e; }  /* 询价公告 */
.nt-jzxtp { background: #ede9fe; color: #7c3aed; }  /* 竞争性谈判 */
.nt-dyly  { background: #fce4ec; color: #c62828; }  /* 单一来源 */
.nt-zgys  { background: #fef3c7; color: #b45309; }  /* 资格预审 */
.nt-yqgg  { background: #fef3e2; color: #e67e22; }  /* 邀请公告 */
.nt-zbgg  { background: #dcfce7; color: #16a34a; }  /* 中标公告 */
.nt-gzgg  { background: #e0f2fe; color: #0369a1; }  /* 更正公告 */
.nt-qtgg  { background: #f1f5f9; color: #475569; }  /* 其他公告 */
.nt-jzxcs { background: #fce7f3; color: #be185d; }  /* 竞争性磋商 */
.nt-cjgg  { background: #d1fae5; color: #059669; }  /* 成交公告 */
.nt-zzgg  { background: #ffe4e6; color: #e11d48; }  /* 终止公告 */
.nt-default { background: #f1f5f9; color: #475569; }  /* 兜底 */

/* --- 企业公告 catalog_type 底色（招标公告 / 中标公示），琥珀金 + 玫红，区别于采购蓝绿 --- */
.nt-seo-zb   { background: #fef3c7; color: #b45309; }  /* 招标公告 */
.nt-seo-zbgs { background: #fce7f3; color: #be185d; }  /* 中标公示 */

/* --- 企业公告 notice_type 底色（招标公告 / 变更公告 / 中标公示） --- */
.nt-seo-nt1 { background: #fef3c7; color: #b45309; }  /* 招标公告 */
.nt-seo-nt2 { background: #fce7f3; color: #be185d; }  /* 变更公告 */
.nt-seo-nt3 { background: #ccfbf1; color: #0f766e; }  /* 中标公示 */

/* ===== 企业公告（seo_notices）专属色调：作用域内覆盖主色，区别于采购公告蓝 ===== */
.seo-tone {
  --primary: #d97706;
  --secondary: #f59e0b;
}
/* 搜索按钮原背景硬编码蓝青，作用域内改为琥珀金渐变 */
.seo-tone .filter-search-btn {
  background: linear-gradient(135deg, #d97706, #f59e0b);
}

/* --- 列表第二行 catalog_type 小徽章（带底色） --- */
.notice-type-badge--sm {
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.notice-type-badge--sm i { font-size: 10px; }

.pi-title {
  font-size: 16px;
  font-weight: 700;
  color: #1e293b;
  margin: 0;
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pi-title a {
  color: #1e293b;
  text-decoration: none;
  transition: color .2s;
}

.pi-title a:hover {
  color: var(--primary);
}

.pi-right {
  flex-shrink: 0;
  margin-left: 16px;
}

.pi-fav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  color: #cbd5e1;
  font-size: 18px;
  transition: all .2s;
  text-decoration: none;
}

.pi-fav:hover {
  color: #f59e0b;
  background: #fffbeb;
}

.pi-fav.faved {
  color: #facc15;
  background: #fef9c3;
}

.pi-fav.faved:hover {
  color: #d97706;
}

/* ---- 第二行：4个元数据 + 可选 HOT 标识 ---- */
.pi-row2 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 20px;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px dashed #e2e8f0;
}

.pi-meta {
  font-size: 13px;
  color: #64748b;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}

.pi-meta i {
  color: #94a3b8;
  font-size: 12px;
  width: 14px;
  text-align: center;
}

.pi-hot {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: linear-gradient(135deg, #fee2e2, #fecaca);
  color: #dc2626;
  font-size: 11px;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 10px;
  letter-spacing: 0.5px;
  animation: pi-pulse 2s infinite;
}

.pi-hot i {
  font-size: 10px;
}

@keyframes pi-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

/* ---- 第三行：4个元数据 + 查看详情按钮 ---- */
.pi-row3 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 20px;
}

/* 文章列表：第三行摘要（左侧占满，右侧接查看详情按钮） */
.pi-summary {
  flex: 1;
  min-width: 0;
  margin: 0;
  font-size: 14px;
  color: #64748b;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 文章列表：分类角标在行内显示为正常圆角徽章 */
.pi-left .notice-cat {
  position: static;
  width: auto;
  border-radius: 4px;
  flex-shrink: 0;
}

/* 文章分类角标：按 category slug 区分底色 */
.pi-left .notice-cat-hyfx { background: linear-gradient(135deg, #f59e0b, #fbbf24); } /* 行业分析 */
.pi-left .notice-cat-zcfg { background: linear-gradient(135deg, #ef4444, #f87171); } /* 政策法规 */
.pi-left .notice-cat-sjfx { background: linear-gradient(135deg, #3b82f6, #60a5fa); } /* 数据分析 */
.pi-left .notice-cat-cgqs { background: linear-gradient(135deg, #8b5cf6, #a78bfa); } /* 采购趋势 */
.pi-left .notice-cat-swzn { background: linear-gradient(135deg, #10b981, #34d399); } /* 实务指南 */
.pi-left .notice-cat-cjwt { background: linear-gradient(135deg, #06b6d4, #22d3ee); } /* 常见问题 */

.pi-detail {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 7px 20px;
  /*background: var(--primary);*/
  /*color: #fff;*/
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: all .2s;
  white-space: nowrap;
  border: 1px var(--primary) solid ;
}

.pi-detail:hover {
  background: var(--primary-dark, #003ba3);
  transform: translateY(-1px);
}

/* ---- 响应式 ---- */
@media (max-width: 768px) {
  .pi-row1 {
    flex-wrap: wrap;
  }

  .pi-left {
    flex-wrap: wrap;
  }

  .pi-title {
    font-size: 14px;
    white-space: normal;
  }

  .pi-right {
    margin-left: auto;
  }

  .pi-row2,
  .pi-row3 {
    gap: 6px 14px;
  }

  .pi-meta {
    font-size: 12px;
  }

  .pi-detail {
    width: 100%;
    justify-content: center;
    margin-left: 0;
    margin-top: 8px;
  }
}

/* ═══════════ 筛选区5列网格 + 列表头部优化 ═══════════ */
.filter-grid-5 {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px 20px;
}

@media (max-width: 1200px) {
  .filter-grid-5 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  .filter-grid-5 { grid-template-columns: 1fr; }
}

/* 列表头部 */
.list-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
  padding-bottom: 12px;
  border-bottom: 2px solid #f0f0f0;
}

.list-header h3 {
  font-size: 15px;
  color: #64748b;
  font-weight: 500;
}

.list-header h3 strong {
  color: var(--primary, #0052d9);
  font-weight: 700;
}

.list-sort {
  display: flex;
  align-items: center;
  gap: 6px;
}

.list-sort-label {
  font-size: 13px;
  color: #94a3b8;
}

.list-sort-select {
  padding: 7px 14px;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  font-size: 13px;
  color: #334155;
  background: #fff;
  cursor: pointer;
  outline: none;
  transition: border-color .2s;
}

.list-sort-select:focus {
  border-color: var(--primary, #0052d9);
}

/* ═══════════ VIP会员横幅广告 ═══════════ */
.list-top-ad {
  padding: 0 !important;
  margin-bottom: 4px;
}

.vip-ad {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 22px 30px;
  background: linear-gradient(135deg, #6366f1, #8b5cf6, #a855f7);
  border-radius: 10px;
  color: #fff;
  position: relative;
  overflow: hidden;
}

.vip-ad::before {
  content: '';
  position: absolute;
  top: -40%;
  right: -10%;
  width: 300px;
  height: 300px;
  background: rgba(255,255,255,.06);
  border-radius: 50%;
}

.vip-ad-left {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}

.vip-ad-icon {
  width: 48px;
  height: 48px;
  background: rgba(255,255,255,.2);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}

.vip-ad-text h3 {
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 3px;
}

.vip-ad-text p {
  font-size: 12px;
  opacity: .85;
}

.vip-ad-features {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.vip-ad-features span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  background: rgba(255,255,255,.15);
  padding: 5px 12px;
  border-radius: 20px;
  white-space: nowrap;
}

.vip-ad-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 24px;
  background: #fff;
  color: #7c3aed;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: transform .2s;
  flex-shrink: 0;
  margin-left: auto;
}

.vip-ad-btn:hover {
  transform: translateY(-2px);
}

@media (max-width: 768px) {
  .vip-ad { flex-direction: column; text-align: center; gap: 14px; padding: 20px; }
  .vip-ad-left { flex-direction: column; }
  .vip-ad-features { justify-content: center; }
}

/* ═══════════ 列表内嵌广告位 ═══════════ */
.list-inline-ad {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 18px 24px;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
}

/* 企业推广广告 —— 标题独占第一行，副标题+标签+按钮成组在第二行 */
.enterprise-ad {
  background: linear-gradient(135deg, #eff6ff, #dbeafe);
  border: 1px solid #bfdbfe;
  align-items: flex-start;
}

.enterprise-ad > .enterprise-ad-main {
  display: flex;
  flex-direction: column;
  /*gap: 8px;*/
  flex: 1;
  min-width: 0;
}

/* 标题独占第一行 */
.enterprise-ad > .enterprise-ad-main > h4 {
  font-size: 15px;
  font-weight: 700;
  color: #1e40af;
  margin: 0;
  line-height: 1.3;
}

/* 第二行：副标题 + 标签 + 按钮 紧凑成组 */
.enterprise-ad > .enterprise-ad-main > .enterprise-ad-sub {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

/* 按钮在该行居右 */
.enterprise-ad > .enterprise-ad-main > .enterprise-ad-sub > .enterprise-ad-btn {
  margin-left: auto;
}

.enterprise-ad > .enterprise-ad-main > .enterprise-ad-sub > p {
  font-size: 13px;
  color: #60a5fa;
  margin: 0;
}

.enterprise-ad-icon {
  width: 52px;
  height: 52px;
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: #fff;
  flex-shrink: 0;
}

.enterprise-ad-tags {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}

.enterprise-ad-tags span {
  font-size: 11px;
  color: #3b82f6;
  background: transparent;
  padding: 0;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.enterprise-ad-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px 20px;
  background: #fff;
  border: 1px solid #3b82f6;
  color: #2563eb;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: transform .2s;
  flex-shrink: 0;
  margin-left: 0;
}

.enterprise-ad-btn:hover {
  transform: translateY(-1px);
}

/* 供应商入驻广告 */
.supplier-ad {
  background: linear-gradient(135deg, #f0fdf4, #dcfce7);
  border: 1px solid #bbf7d0;
}

.supplier-ad-icon {
  width: 52px;
  height: 52px;
  /*background: linear-gradient(135deg, #22c55e, #16a34a);*/
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: #fff;
  flex-shrink: 0;
}

.supplier-ad-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}

.supplier-ad-body h4 {
  font-size: 15px;
  font-weight: 700;
  color: #2563eb;
  margin-bottom: 4px;
}

.supplier-ad-body p {
  font-size: 12px;
  color: #3b82f6;
}

.supplier-ad-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  margin-top: 6px;
}

.supplier-ad-tags span {
  font-size: 11px;
  color: #3b82f6;
  /*background: rgba(59, 130, 246, .1);*/
  /*padding: 4px 10px;*/
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.supplier-ad-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px 20px;
  background: #fff;
  border: 1px solid #3b82f6;
  color: #2563eb;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: transform .2s;
  flex-shrink: 0;
  margin-left: auto;
}

.supplier-ad-btn:hover {
  transform: translateY(-1px);
}

/* 广告角标 */
.ad-mark {
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 10px;
  color: #f97316;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  padding: 2px 8px;
  border-radius: 8px;
  font-weight: 600;
}

.ad-mark-blue {
  color: #2563eb;
  background: #eff6ff;
  border-color: #bfdbfe;
}

@media (max-width: 768px) {
  .list-inline-ad {
    flex-direction: column;
    text-align: center;
    gap: 12px;
    padding: 18px;
  }
  .enterprise-ad-tags,
  .supplier-ad-tags {
    margin-left: 0;
    justify-content: center;
    flex-wrap: wrap;
  }
}

/* ═══════════ 平台品牌展示横幅 ═══════════ */
.platform-showcase {
  padding: 0 !important;
  margin-top: 4px;
}

.platform-sc-inner {
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 26px 32px;
  background: linear-gradient(135deg, #2563eb, #1d4ed8);
  border-radius: 10px;
  color: #fff;
  position: relative;
  overflow: hidden;
  margin-top: 10px;
}

.platform-sc-inner::after {
  content: '';
  position: absolute;
  bottom: -50%;
  right: -5%;
  width: 250px;
  height: 250px;
  background: rgba(99,102,241,.12);
  border-radius: 50%;
}

.platform-sc-icon {
  width: 56px;
  height: 56px;
  background: rgba(255,255,255,.1);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: #818cf8;
  flex-shrink: 0;
}

.platform-sc-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}

.platform-sc-body h3 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 4px;
}

.platform-sc-row {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 4px;
  flex-wrap: wrap;
}

.platform-sc-body p {
  font-size: 13px;
  color: #fff;
  flex-shrink: 0;
}

.platform-sc-links {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
  flex-wrap: wrap;
}

.platform-sc-links a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: #cbd5e1;
  background: rgba(255,255,255,.08);
  padding: 6px 14px;
  border-radius: 20px;
  text-decoration: none;
  transition: all .2s;
  white-space: nowrap;
}

.platform-sc-links a:hover {
  color: #fff;
  background: rgba(255,255,255,.16);
}

.platform-sc-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 26px;
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  color: #fff;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: transform .2s;
  flex-shrink: 0;
  margin-left: auto;
}

.platform-sc-btn:hover {
  transform: translateY(-2px);
}

@media (max-width: 768px) {
  .platform-sc-inner { flex-direction: column; text-align: center; gap: 16px; padding: 22px; }
  .platform-sc-row { flex-direction: column; align-items: center; gap: 12px; }
  .platform-sc-links { justify-content: center; flex-wrap: wrap; }
}

/* ════════════ 首页 home/index 专属样式 — 由 inline <style> 迁移，作用域限定 body.home-index ═══════════ */

/* ---- 首页 Banner 滑块（独立作用域，保持原始风格） ---- */
body.home-index .banner-pic {
  max-width: 1200px;
  margin: 10px auto 15px auto;
  box-sizing: border-box;
}
body.home-index .banner-slider {
  position: relative;
  border-radius: var(--border-radius);
  overflow: hidden;
  box-shadow: var(--box-shadow);
}
/* 图片型 banner：高度由图片决定，去掉背景色溢出 */
body.home-index #mainBanner .banner-slider {
  height: auto;
  min-height: auto;
  border-radius: 0;
  box-shadow: none;
}
body.home-index #mainBanner .banner-slide {
  position: relative;
  display: block;
  padding: 0;
  background: transparent !important;
}
body.home-index #mainBanner .banner-slide img {
  width: 100%;
  height: auto;
  display: block;
}
body.home-index #mainBanner .banner-content {
  padding: 0;
}

/* 文本型 banner（secondaryBanner）：居中卡片 + 叠加切换 */
body.home-index #secondaryBanner .banner-slider {
  height: 260px;
  border-radius: 0;
}
body.home-index #secondaryBanner .banner-slide {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.8s ease;
}
body.home-index #secondaryBanner .banner-slide.active {
  opacity: 1;
}
body.home-index #secondaryBanner .banner-content {
  text-align: center;
  padding: 40px;
  max-width: 700px;
  margin: 0 auto;
}
body.home-index #secondaryBanner .banner-content h2 {
  font-size: 28px;
  margin-bottom: 15px;
}
body.home-index #secondaryBanner .banner-content p {
  font-size: 16px;
  opacity: 0.9;
  margin-bottom: 25px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
body.home-index #secondaryBanner .banner-btn {
  margin: 0 auto;
}

body.home-index .banner-slide.active {
  opacity: 1;
}
body.home-index .banner-slide:nth-child(1) {
  background: linear-gradient(90deg, #ff6b35, #ff8e53);
}
body.home-index .banner-slide:nth-child(2) {
  background: linear-gradient(90deg, #00b09b, #96c93d);
}
body.home-index .banner-slide:nth-child(3) {
  background: linear-gradient(90deg, #8e2de2, #4a00e0);
}
body.home-index .banner-content h2 {
  font-size: 42px;
  margin-bottom: 15px;
  font-weight: 800;
}
body.home-index .banner-content p {
  font-size: 22px;
  margin-bottom: 30px;
  opacity: 0.9;
  max-width: 700px;
}
body.home-index .banner-controls {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 20px;
}
body.home-index .banner-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: transform 0.3s;
}
body.home-index .banner-dot.active {
  background-color: white;
  transform: scale(1.3);
}
body.home-index .banner-btn {
  background: white;
  color: #ff6b35;
  border: none;
  padding: 12px 30px;
  border-radius: 50px;
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition);
}
body.home-index .banner-btn:hover {
  background: var(--light);
  transform: translateY(-3px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

/* info-grid 样式 - 用于展示采购信息卡片网格 */
body.home-index .info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 24px;
  margin-top: 20px;
}

body.home-index .info-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  padding: 20px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1px solid #f0f0f0;
}

body.home-index .info-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
}

/* 卡片头部 */
body.home-index .card-header {
  margin-bottom: 12px;
}

body.home-index .card-title {
  font-size: 16px;
  font-weight: 600;
  color: #1e293b;
  line-height: 1.5;
  margin-bottom: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

body.home-index .card-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  color: #64748b;
}

body.home-index .card-meta span {
  display: flex;
  align-items: center;
  gap: 4px;
}

body.home-index .card-meta i {
  font-size: 12px;
  color: #94a3b8;
}

/* 卡片主体（用于标讯中的标题显示） */
body.home-index .card-body {
  margin-bottom: 16px;
  flex: 1;
}

body.home-index .card-body .card-title {
  font-size: 15px;
  font-weight: 500;
  color: #334155;
  margin-bottom: 0;
}

/* 卡片底部 */
body.home-index .card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #e9eef2;
  padding-top: 16px;
  margin-top: auto;
}

body.home-index .card-tag {
  display: inline-block;
  padding: 4px 12px;
  background-color: #eef2ff;
  color: #4f46e5;
  font-size: 12px;
  font-weight: 500;
  border-radius: 20px;
}

body.home-index .card-date {
  font-size: 13px;
  color: #64748b;
}

/* 链接样式（卡片通常被a包裹） */
body.home-index a {
  text-decoration: none;
  color: inherit;
}

body.home-index a:hover .info-card {
  text-decoration: none;
}

/* 响应式调整 */
@media (max-width: 768px) {
body.home-index .info-grid {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 16px;
  }

body.home-index .info-card {
    padding: 16px;
  }

body.home-index .card-title {
    font-size: 15px;
  }
}

@media (max-width: 480px) {
body.home-index .info-grid {
    grid-template-columns: 1fr;
  }
}

/* ---- 首页政策查询卡片 ---- */
body.home-index .info-grid-policy {
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
body.home-index .policy-card {
  padding: 24px;
  text-align: center;
  border: 1px solid #e8ecf1;
  border-radius: 12px;
  transition: all 0.25s;
  cursor: default;
  display: flex;
  flex-direction: column;
  align-items: center;
}
body.home-index .policy-card:hover {
  border-color: #2563eb;
  box-shadow: 0 6px 20px rgba(37,99,235,0.1);
  transform: translateY(-3px);
}
body.home-index .policy-card-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: linear-gradient(135deg, #eff6ff, #dbeafe);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}
body.home-index .policy-card-icon i {
  font-size: 24px;
  color: #2563eb;
}
body.home-index .policy-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}
body.home-index .policy-card-title {
  font-size: 16px;
  font-weight: 700;
  color: #1e293b;
  margin: 0 0 8px;
}
body.home-index .policy-card-link-name {
  font-size: 13px;
  color: #64748b;
  margin: 0 0 12px;
  line-height: 1.4;
}
body.home-index .policy-card-empty {
  font-size: 13px;
  color: #cbd5e1;
  margin: 0 0 12px;
}
body.home-index .policy-card-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 18px;
  background: #2563eb;
  color: #fff;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s;
  margin-top: auto;
}
body.home-index .policy-card-btn:hover {
  background: #1d4ed8;
  box-shadow: 0 4px 12px rgba(37,99,235,0.3);
  transform: translateY(-1px);
}
@media (max-width: 992px) {
  body.home-index .info-grid-policy {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 576px) {
  body.home-index .info-grid-policy {
    grid-template-columns: 1fr;
  }
}

body.home-index .banner-slider {
  min-height: 216px;
  height: 216px;
}

/* ══════════════════════════════════════════════════════════
   通用样式（原 layouts/application.html.erb 内联 <style> 迁移）
   — 首页 hub / Hero / 左右布局 .home-main 等共享组件，统一收归 home.css
   ══════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════
   首页样式 — 汇集入口 (hub) / 三屏 / 左右布局
   ══════════════════════════════════════════════════════════ */

/* ── Hero ── */
.home-hero {
  position: relative; padding: 72px 0 78px;
  color: #fff; overflow: hidden;
}
.home-hero .articles {
  background: linear-gradient(90deg, #053753, #2de2c2);
}
.home-hero .zcfg {
  background: linear-gradient(135deg, #cf2c14 0%, #986c2a 100%);
}
.hero-bg {
  position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 700px 350px at 25% 60%, rgba(59,130,246,.18), transparent),
    radial-gradient(ellipse 500px 250px at 75% 30%, rgba(6,182,212,.12), transparent);
}
.hero-inner { position: relative; z-index: 1; text-align: left; max-width: var(--content-max-width); margin: 0 auto; padding: 0; }
.hero-inner h1 { font-size: 40px; font-weight: 800; letter-spacing: 1px; margin-bottom: 14px; }
.hero-sub { font-size: 16px; opacity: .85; margin-bottom: 12px; }
.hero-breadcrumb { font-size: 14px; opacity: .7; margin-bottom: 30px 0px; }
.hero-breadcrumb a { color: #fff; text-decoration: none; opacity: .8; transition: opacity .2s; }
.hero-breadcrumb a:hover { opacity: 1; }
.hero-breadcrumb span { color: #fff; }
.hb-sep { margin: 0 8px; opacity: .6; }
.hero-search {
  display: flex; background: #fff; border-radius: 50px;
  box-shadow: 0 10px 32px rgba(0,0,0,.22); padding: 5px; max-width: 640px; margin: 0 0 16px;
}
.hero-search input {
  flex: 1; border: none; padding: 16px 24px; font-size: 14px; outline: none; border-radius: 50px; color: #1e293b;
}
.hero-search button {
  background: linear-gradient(135deg,#2563eb,#0891b2); color: #fff; border: none;
  padding: 0 36px; border-radius: 50px; cursor: pointer; font-weight: 700; font-size: 14px; transition: .2s;
}
.hero-search button:hover { opacity: .9; }
.hero-hot { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.hot-label { font-size: 13px; opacity: .65; }
.hot-item {
  background: rgba(255,255,255,.10); padding: 6px 16px; border-radius: 20px;
  font-size: 13px; cursor: pointer; transition: .2s; border: 1px solid rgba(255,255,255,.08);color: #fff;
}
.hot-item:hover { background: rgba(255,255,255,.22); }

/* ── 入口区域 ── */
.home-entries { max-width: 1200px; margin: -38px auto 0; padding: 0 20px; position: relative; z-index: 2; }
.he-inner { display: flex; flex-direction: column; gap: 16px; }
.he-grid {
  display: grid; grid-template-columns: repeat(8,1fr); gap: 12px;
  background: #fff; border-radius: 10px; box-shadow: 0 6px 22px rgba(0,0,0,.08); padding: 20px 14px 16px;
}
.he-card {
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  text-decoration: none; color: #334155; padding: 10px 4px; border-radius: 8px; transition: .2s;
}
.he-card:hover { background: #eff6ff; transform: translateY(-2px); }
.he-card i { font-size: 24px; color: #2563eb; }
.he-card span { font-size: 13px; font-weight: 600; }

/* 资质查询 */
.he-qual {
  background: #fff; border-radius: 10px; box-shadow: 0 3px 12px rgba(0,0,0,.06);
  padding: 16px 22px; display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
}
.qual-hd { font-size: 14px; font-weight: 700; color: #2563eb; white-space: nowrap; display: flex; align-items: center; gap: 6px; }
.qual-body { display: flex; flex-wrap: wrap; gap: 10px; flex: 1; }
.qual-body a {
  display: inline-flex; align-items: center; gap: 5px;
  background: #f1f5f9; color: #475569; padding: 7px 16px; border-radius: 20px;
  font-size: 13px; text-decoration: none; transition: .2s;
}
.qual-body a:hover { background: #2563eb; color: #fff; }
.qual-body a i { font-size: 11px; }

/* ── 第二屏：左右布局主体 ── */
.home-main { max-width: 1200px; margin: 12px auto; padding: 0 20px; }
.hm-inner { display: grid; grid-template-columns: 1fr 330px; gap: 20px; align-items: start; }
/* 网格项默认 min-width:auto，会把「不换行的长标题」的固有宽度当作轨道最小宽度，
   结果 1fr 轨道被顶到 1500px+，左栏溢出容器、右栏被挤出屏幕（整页横向滚动）。
   显式归零后轨道按 1fr 分配，长标题交给 .pi-title 的省略号截断。 */
.hm-inner > * { min-width: 0; }

/* 左侧通用块 */
.hm-block {
  background: #fff; border-radius: 10px; box-shadow: 0 2px 10px rgba(0,0,0,.05);
  padding: 20px 22px; margin-bottom: 18px;
}
.hm-block-hd { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.hm-block-hd h2 { font-size: 17px; font-weight: 700; display: flex; align-items: center; gap: 8px; color: #1e293b; }
.hm-block-hd h2 i { color: #2563eb; }
.hm-more { font-size: 13px; color: #2563eb; font-weight: 600; text-decoration: none; display: flex; align-items: center; gap: 2px; }
.hm-more:hover { opacity: .8; }

/* --- 采购信息 tab --- */
.ni-tabs { display: flex; gap: 8px; margin-bottom: 12px; flex-wrap: wrap; }
.ni-tab {
  padding: 6px 14px; border-radius: 16px; font-size: 13px; color: #64748b;
  text-decoration: none; transition: .2s; background: #f1f5f9;
}
.ni-tab:hover, .ni-tab.active { background: #2563eb; color: #fff; }

/* --- 采购信息列表 --- */
.ni-list { display: flex; flex-direction: column; }
.ni-item {
  display: flex; align-items: center; gap: 12px; padding: 12px 0;
  border-bottom: 1px solid #f1f5f9; text-decoration: none; color: inherit; transition: .15s;
}
.ni-item:last-child { border-bottom: none; }
.ni-item:hover { background: #fafcff; margin: 0 -12px; padding: 12px; border-radius: 6px; }
.ni-item:hover .ni-title { color: #2563eb; }
.ni-tag {
  display:inline-block; padding:3px 8px; border-radius:4px; font-size:11px; font-weight:600; white-space:nowrap; flex-shrink:0;
}
.ni-title { flex: 1; font-size: 14px; font-weight: 500; line-height: 1.4; color: #1e293b; }
.ni-date { font-size: 12px; color: #94a3b8; white-space: nowrap; flex-shrink: 0; }

/* --- 采购数据卡片 --- */
.data-cards { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.dc-card {
  background: #f8fafc; border-radius: 8px; padding: 18px 14px; text-align: center;
  text-decoration: none; color: inherit; transition: .2s; border: 1px solid transparent;
}
.dc-card:hover { border-color: #93c5fd; transform: translateY(-2px); box-shadow: 0 4px 10px rgba(37,99,235,.08); }
.dc-num { font-size: 26px; font-weight: 800; color: #2563eb; }
.dc-unit { font-size: 16px; font-weight: 600; margin-left: 2px; }
.dc-label { font-size: 12px; color: #64748b; margin-top: 4px; }

/* --- 知识中心入口 --- */
.kc-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.kc-card {
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  text-decoration: none; color: inherit; padding: 3px; border-radius: 8px;
  transition: .2s; border: 1px solid #f1f5f9; text-align: center;
}
.kc-card:hover { border-color: #93c5fd; background: #f0f7ff; }
.kc-card i { font-size: 22px; color: #2563eb; }
.kc-name { font-size: 14px; font-weight: 600; color: #1e293b; }
.kc-desc { font-size: 11px; color: #94a3b8; }

/* ── 右侧栏目模块 ── */
.hm-right { display: flex; flex-direction: column; gap: 14px; }

.sb-panel {
  background: #fff; border-radius: 10px; box-shadow: 0 2px 10px rgba(0,0,0,.05);
  padding: 18px 20px;
}
.sb-hd { margin-bottom: 12px; }
.sb-hd h3 { font-size: 15px; font-weight: 700; color: #1e293b; display: flex; align-items: center; gap: 6px; }
.sb-hd h3 i { color: #2563eb; font-size: 13px; }

/* 热门阅读 */
.sb-hot { list-style: none; padding: 0; margin: 0; }
.sb-hot li { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid #fafafa; }
.sb-hot li:last-child { border-bottom: none; }
.hr-r {
  width: 18px; height: 18px; border-radius: 4px; font-size: 11px; font-weight: 800;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  background: #f1f5f9; color: #64748b;
}
.r1 { background: #fecaca; color: #dc2626; }
.r2 { background: #fed7aa; color: #d97706; }
.r3 { background: #bbf7d0; color: #16a34a; }
.sb-hot li span { flex: 1; font-size: 13px; color: #334155; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sb-hot li i { font-size: 11px; color: #94a3b8; white-space: nowrap; font-style: normal; }

/* 专题标签 */
.sb-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.sb-tags a {
  background: #f8fafc; color: #475569; padding: 6px 14px; border-radius: 6px;
  font-size: 13px; text-decoration: none; border: 1px solid #f1f5f9; transition: .2s;
}
.sb-tags a:hover { background: #2563eb; color: #fff; border-color: #2563eb; }

/* 专家 */
.sb-experts { display: flex; flex-direction: column; gap: 10px; }
.ex-row { display: flex; align-items: center; gap: 12px; text-decoration: none; color: inherit; padding: 6px; border-radius: 8px; transition: .15s; }
.ex-row:hover { background: #f8fafc; }
.ex-av {
  width: 38px; height: 38px; border-radius: 50%; background: linear-gradient(135deg,#2563eb,#0891b2);
  color: #fff; display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 14px; flex-shrink: 0;
}
.ex-row b { display: block; font-size: 14px; color: #1e293b; }
.ex-row p { font-size: 12px; color: #94a3b8; margin-top: 1px; }

/* 资料下载 */
.sb-dl { list-style: none; padding: 0; margin: 0; }
.sb-dl li { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid #fafafa; }
.sb-dl li:last-child { border-bottom: none; }
.dl-badge {
  width: 30px; height: 30px; border-radius: 6px; display: flex; align-items: center; justify-content: center;
  font-size: 10px; font-weight: 800; color: #fff; flex-shrink: 0;
}
.dl-badge.pdf { background: #ef4444; }
.dl-badge.zip { background: #f97316; }
.dl-badge.xls { background: #22c55e; }
.sb-dl li span:last-child { flex: 1; font-size: 13px; color: #334155; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sb-dl li i { font-size: 11px; color: #94a3b8; font-style: normal; white-space: nowrap; }

/* 订阅 */
.sb-subscribe {
  background: linear-gradient(180deg,#f0f7ff,#fff); border-radius: 10px;
  padding: 24px 20px; box-shadow: 0 2px 10px rgba(0,0,0,.05);
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.sub-left { flex: 1; min-width: 0; }
.sub-left h3 { font-size: 16px; font-weight: 700; color: #1e293b; margin-bottom: 6px; }
.sub-left p { font-size: 13px; color: #64748b; margin-bottom: 14px; max-width: 280px; }
.sub-right { flex-shrink: 0; }
.sub-icon { font-size: 48px; color: #2563eb; opacity: .85; display: block; }
.sub-btn {
  display: inline-block; background: linear-gradient(135deg,#2563eb,#0891b2);
  color: #fff; padding: 10px 32px; border-radius: 4px; font-weight: 700; font-size: 14px; text-decoration: none; transition: .2s;
}
.sub-btn:hover { opacity: .9; }

/* ── 第三屏：底部内容 ── */
.home-bottom { max-width: 1200px; margin: 0 auto 36px; padding: 0 20px; }

.hb-block { margin-bottom: 28px; }
.hb-banner {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 16px;
}
.hb-banner h2 { font-size: 20px; font-weight: 700; color: #1e293b; display: flex; align-items: center; gap: 8px; }
.hb-banner h2 i { color: #2563eb; }
.hb-link { font-size: 14px; color: #2563eb; font-weight: 600; text-decoration: none; display: flex; align-items: center; gap: 4px; }
.hb-link:hover { opacity: .8; }

/* 专题 4 卡片 */
.hb-grid-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.topic-card {
  background: #fff; border-radius: 10px; box-shadow: 0 2px 10px rgba(0,0,0,.05);
  padding: 24px 20px; text-align: center; text-decoration: none; color: inherit; transition: .25s;
}
.topic-card:hover { transform: translateY(-5px); box-shadow: 0 10px 24px rgba(37,99,235,.10); }
.tc-ico {
  width: 56px; height: 56px; border-radius: 50%;
  background: linear-gradient(135deg,#dbeafe,#eff6ff); color: #2563eb;
  display: flex; align-items: center; justify-content: center; font-size: 24px; margin: 0 auto 12px;
}
.topic-card h3 { font-size: 16px; font-weight: 700; color: #1e293b; margin-bottom: 6px; }
.topic-card p { font-size: 13px; color: #64748b; line-height: 1.5; }

/* 采购预测 2 卡片 */
.hb-grid-2 { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.fc-card {
  background: #fff; border-radius: 10px; box-shadow: 0 2px 10px rgba(0,0,0,.05); padding: 20px 22px;
}
.fc-hd { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
.fc-hd i { color: #2563eb; font-size: 16px; }
.fc-hd h3 { font-size: 16px; font-weight: 700; color: #1e293b; display: flex; align-items: center; gap: 8px; }
.fc-badge { background: #fef2f2; color: #dc2626; font-size: 11px; padding: 2px 8px; border-radius: 10px; font-weight: 600; }
.fc-list { list-style: none; padding: 0; margin: 0 0 14px; }
.fc-list li { padding: 8px 0; border-bottom: 1px solid #f8fafc; }
.fc-list li a { font-size: 13px; color: #475569; text-decoration: none; transition: .15s; }
.fc-list li a:hover { color: #2563eb; }
.fc-more { font-size: 13px; color: #2563eb; font-weight: 600; text-decoration: none; display: flex; align-items: center; gap: 4px; }
.fc-more:hover { opacity: .8; }

/* ── 响应式 ── */
@media (max-width: 1200px) {
  .he-grid { grid-template-columns: repeat(4,1fr); }
  .kc-grid { grid-template-columns: repeat(2,1fr); }
  .data-cards { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 992px) {
  .hm-inner { grid-template-columns: 1fr; }
  .hm-right { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  .hb-grid-4 { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 768px) {
  .home-hero { padding: 48px 16px 52px; }
  .home-entries { margin-top: -16px; }
  .hero-inner h1 { font-size: 28px; }
  .he-grid { grid-template-columns: repeat(4,1fr); gap: 8px; padding: 14px 10px; }
  .he-card i { font-size: 20px; }
  .he-card span { font-size: 11px; }
  .hm-right { grid-template-columns: 1fr; }
  .hb-grid-4, .hb-grid-2 { grid-template-columns: 1fr; }
  .kc-grid { grid-template-columns: repeat(2,1fr); }
  .data-cards { grid-template-columns: repeat(2,1fr); }

  /* ═══ 知识中心：全链路宽度约束（防止移动端横向溢出） ═══ */
  /* 外层容器：减小内边距 + 裁切溢出 */
  .home-main {
    padding: 0 12px;
    width: 100%;
    max-width: 100vw;
    box-sizing: border-box;
    overflow-x: hidden;
  }

  /* grid 容器：单列（992 断点已设，此处保险）+ 允许子项收缩 */
  .hm-inner {
    grid-template-columns: 1fr;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  /* 白卡片 */
  .hm-block {
    padding: 14px 12px;
    box-sizing: border-box;
    min-width: 0;
    overflow: hidden;
    width: 100%;
  }

  /* 搜索区 */
  .search-container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 0 14px 0 !important;
    box-sizing: border-box;
    min-width: 0;
  }

  .search-box {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 12px !important;
    padding: 4px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,.08);
    box-sizing: border-box;
    min-width: 0;
    overflow: hidden;
  }

  .search-input {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    width: 100% !important;
    padding: 12px 14px !important;
    font-size: 15px !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
  }

  .search-btn {
    flex-shrink: 0 !important;
    padding: 12px 20px !important;
    font-size: 15px !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
    white-space: nowrap;
  }

  .search-sort-label {
    margin-left: 0 !important;
    margin-top: 8px !important;
    width: 100% !important;
    font-size: 13px !important;
    box-sizing: border-box !important;
    display: block;
  }

  .search-sort {
    margin-left: 0 !important;
    width: 100% !important;
    min-width: unset !important;
    padding: 9px 12px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
  }

  /* .hm-block 内搜索框移动端改为竖排（覆盖基础 flex row） */
  .hm-block .search-box {
    flex-direction: column;
  }

  /* 知识中心搜索按钮真实类名为 .filter-search-btn（非 .search-btn） */
  .hm-block .filter-search-btn,
  .search-container .filter-search-btn {
    width: 100% !important;
    justify-content: center;
    box-sizing: border-box;
  }

  /* 文章列表：竖排 + 不溢出 */
  .notice-items {
    width: 100%;
    box-sizing: border-box;
  }

  .notice-item {
    flex-direction: column;
    gap: 12px;
    padding: 14px 12px;
    box-sizing: border-box !important;
    min-width: 0;
    width: 100%;
    overflow: hidden;
  }

  .notice-image {
    width: 100% !important;
    height: 150px;
    box-sizing: border-box !important;
    min-width: 0;
  }

  .notice-decipt {
    width: 100%;
    box-sizing: border-box !important;
    min-width: 0;
  }

  .notice-title {
    font-size: 15px !important;
    -webkit-line-clamp: 2 !important;
  }

  .notice-footer {
    flex-wrap: wrap;
    gap: 6px 12px;
    width: 100%;
    box-sizing: border-box;
  }

  .notice-action {
    margin-left: 0;
    width: 100%;
    margin-top: 6px;
  }

  .notice-action a {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  /* ═══ 知识中心列表项：全链路防溢出（.purchase-item / .pi-*） ═══ */
  .purchase-item {
    padding: 14px 12px;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
  }

  /* 第一行：标签+标题 → 竖排，标题可收缩换行 */
  .pi-row1 {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 10px;
  }

  .pi-left {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
    min-width: 0;
  }

  .pi-left .notice-cat {
    flex-shrink: 0;
  }

  .pi-title {
    font-size: 14px;
    width: 100%;
    min-width: 0;
    word-break: break-word;
    overflow-wrap: break-word;
    white-space: normal;
    line-height: 1.5;
  }

  .pi-title a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    white-space: normal;
    overflow: hidden;
  }

  /* 第二行：元信息 */
  .pi-row2 {
    flex-wrap: wrap;
    gap: 6px 14px;
  }

  

  /* 第三行：摘要 + 详情按钮 → 竖排 */
  .pi-row3 {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .pi-summary {
    font-size: 13px;
    width: 100%;
    word-break: break-word;
    overflow-wrap: break-word;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .pi-detail {
    margin-left: 0;
    width: 100%;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
    flex-shrink: 0;
  }

  /* 分页器竖排居中 */
  .notice-pagination {
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: 100%;
    box-sizing: border-box;
    padding: 10px 0;
  }

  .np-pages { width: 100%; justify-content: center; }
}

/* ── 640px 过渡断点：手机横屏/大屏手机，grid 列数平滑递减 ── */
@media (max-width: 640px) {
  .he-grid { grid-template-columns: repeat(3,1fr); gap: 6px; padding: 10px 8px; }
  .he-card { padding: 8px 2px; }
  .he-card i { font-size: 18px; }
  .he-card span { font-size: 10px; }
  .home-entries { padding: 0 10px; }

  /* 文章列表：进一步收紧 */
  .purchase-item { padding: 10px 10px; }
  .pi-title { font-size: 13px; }
  .pi-summary { font-size: 12px; -webkit-line-clamp: 2; }
}

@media (max-width: 480px) {
  .hero-inner h1 { font-size: 22px; }
  .hero-search { flex-direction: column; border-radius: 10px; }
  .hero-search input, .hero-search button { width: 100%; border-radius: 8px; }
  .he-grid { grid-template-columns: repeat(2,1fr); }
  .data-cards, .kc-grid { grid-template-columns: repeat(2,1fr); }
}

/* ════════════ 响应式补充：通栏 banner 图片 + 平板区间 VIP 横幅 ════════════ */
/* 首页通栏 banner 的 <img width="1200px"> 为固定宽度呈现属性，需让图片随容器缩放，
   否则在窄屏会被 .banner-slider 的 overflow:hidden 裁切而非自适应 */
.banner-slide img,
.home-hero img,
.policy-hero img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* 平板区间（768~992px）：VIP 会员横幅允许换行，避免横向溢出 */
@media (max-width: 992px) {
  .vip-ad {
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
  }
  .vip-ad-left {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .vip-ad-features {
    flex-wrap: wrap;
    justify-content: center;
  }
}

/* ── index2 首页新版 ── */
body.home-index-v2 .two-column-container {
  align-items: stretch;
}

.index2-compliance-card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.18), transparent 28%),
    linear-gradient(135deg, #0f2f57, #2563eb);
}

.index2-compliance-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  color: #dbeafe;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.index2-compliance-card h3 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

.index2-compliance-metas {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}

.index2-compliance-metas span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: #eff6ff;
  font-size: 12px;
}

.index2-dual-showcase {
  margin-top: 16px;
}

.index2-promo-strip {
  margin: 16px auto;
}

.index2-promo-banner {
  max-width: 1200px;
  margin: 16px auto;
  padding: 0 20px;
}

.index2-promo-banner-inner {
  width: 100%;
  margin: 0 auto;
}

body.home-index-v2 #mainBanner .banner-slider {
  height: 400px;
  min-height: 400px;
  border-radius: 0;
  box-shadow: var(--box-shadow);
}

body.home-index-v2 #mainBanner .banner-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.8s ease;
  padding: 20px;
  background: none;
}

body.home-index-v2 #mainBanner .banner-slide.active {
  opacity: 1;
}

body.home-index-v2 #mainBanner .banner-content {
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
  padding: 0 20px;
}

body.home-index-v2 #mainBanner .banner-content h2,
.index2-promo-link .banner-content h2 {
  font-size: 40px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .01em;
  margin-bottom: 16px;
}

.index2-promo-banner .banner-content h2 {
  font-size: 28px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .01em;
  margin-bottom: 16px;
}

body.home-index-v2 #mainBanner .banner-content p,
.index2-promo-banner .banner-content p,
.index2-promo-link .banner-content p {
  font-size: 18px;
  line-height: 1.8;
  opacity: 0.92;
  max-width: 760px;
  margin: 0 auto 28px;
}

body.home-index-v2 #mainBanner .banner-btn,
.index2-promo-banner .banner-btn,
.index2-promo-link .banner-btn {
  min-width: 148px;
  padding: 12px 28px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  backdrop-filter: blur(6px);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);
}

body.home-index-v2 #mainBanner .banner-btn:hover,
.index2-promo-banner .banner-btn:hover,
.index2-promo-link .banner-btn:hover {
  background: rgba(255, 255, 255, 0.26);
  color: #fff;
  transform: translateY(-1px);
}

.index2-promo-banner .banner-slider,
.index2-promo-link .banner-slider {
  width: 100%;
  height: 220px;
  min-height: 220px;
  border-radius: 0;
}

.index2-promo-banner .banner-slide,
.index2-promo-link .banner-slide {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  padding: 20px;
}

.index2-promo-banner .banner-content,
.index2-promo-link .banner-content {
  text-align: center;
  padding: 40px 48px;
  width: 100%;
}

.index2-promo-link {
  display: block;
  width: 100%;
  overflow: hidden;
  border-radius: 0;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.index2-dual-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.85fr);
  gap: 20px;
}

.index2-panel {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
  padding: 24px;
}

.index2-stats-panel {
  background: linear-gradient(135deg, #312e81, #2563eb);
  color: #fff;
}

.index2-panel-hd {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.index2-panel-hd h2 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 6px;
  font-size: 20px;
  color: #0f172a;
}

.index2-stats-panel .index2-panel-hd h2,
.index2-stats-panel .index2-panel-hd p {
  color: #fff;
}

.index2-panel-hd p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.7;
}

.hm-more-light {
  color: #fff;
}

.index2-sitemap-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.index2-map-card {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff, #f8fafc);
  padding: 16px;
}

.index2-map-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.index2-map-card-top h3 {
  margin: 0;
  font-size: 15px;
  color: #1e293b;
}

.index2-map-card-top span {
  color: #64748b;
  font-size: 12px;
}

.index2-map-link {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  text-decoration: none;
  color: #2563eb;
  font-size: 13px;
  margin-bottom: 8px;
}

.index2-map-link strong {
  color: #1e40af;
  font-size: 14px;
}

.index2-map-card p,
.index2-map-empty {
  margin: 0;
  color: #64748b;
  font-size: 12px;
  line-height: 1.7;
}

.index2-stats-overview {
  padding: 18px 18px 16px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.16);
  margin-bottom: 16px;
}

.index2-stats-overview-title {
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
  margin-bottom: 8px;
}

.index2-stats-overview-text {
  font-size: 15px;
  line-height: 1.9;
  color: rgba(255, 255, 255, 0.92);
}

.index2-stats-overview-text strong {
  color: #fff;
  font-size: 24px;
  font-weight: 800;
  margin: 0 2px;
}

.index2-stat-links {
  display: grid;
  gap: 12px;
}

.index2-stat-link {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
  align-items: start;
  padding: 14px 16px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  text-decoration: none;
  transition: .2s ease;
}

.index2-stat-link:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.16);
}

.index2-stat-link i {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.14);
  font-size: 18px;
}

.index2-stat-link strong,
.index2-stat-link span {
  display: block;
}

.index2-stat-link strong {
  font-size: 14px;
  margin-bottom: 4px;
}

.index2-stat-link span {
  font-size: 12px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.82);
}

.index2-block-desc {
  color: #64748b;
  font-size: 13px;
}

.index2-knowledge-layout .hm-inner {
  align-items: stretch;
}

.index2-knowledge-layout .hm-left,
.index2-knowledge-layout .hm-right {
  display: flex;
}

.index2-knowledge-layout .hm-left {
  min-width: 0;
}

.index2-knowledge-layout .hm-left .hm-block {
  width: 100%;
}

.index2-knowledge-block,
.index2-template-panel {
  height: 100%;
}

.index2-template-panel {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.index2-template-hd h3 {
  display: flex;
  align-items: center;
  gap: 10px;
}

.index2-template-icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #dbeafe, #ede9fe);
  color: #4f46e5;
  box-shadow: 0 6px 14px rgba(79, 70, 229, 0.18);
}

.index2-template-panel .sb-hot {
  flex: 1;
}

.index2-entry-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.index2-entry-card {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 14px;
  align-items: start;
  text-decoration: none;
  color: inherit;
  padding: 16px;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  background: #fff;
  transition: .2s ease;
}

.index2-entry-card:hover {
  transform: translateY(-2px);
  border-color: #bfdbfe;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.08);
}

.index2-entry-icon {
  width: 50px;
  height: 50px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}

.index2-entry-card.is-red .index2-entry-icon {
  background: #fef2f2;
  color: #dc2626;
}

.index2-entry-card.is-orange .index2-entry-icon {
  background: #fff7ed;
  color: #ea580c;
}

.index2-entry-card.is-green .index2-entry-icon {
  background: #ecfdf5;
  color: #059669;
}

.index2-entry-card.is-purple .index2-entry-icon {
  background: #f5f3ff;
  color: #7c3aed;
}

.index2-entry-text h3 {
  margin: 0 0 6px;
  font-size: 15px;
  color: #1e293b;
}

.index2-entry-text p {
  margin: 0;
  color: #64748b;
  font-size: 12px;
  line-height: 1.7;
}

.index2-article-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.index2-article-row {
  display: block;
  text-decoration: none;
  padding: 14px 0;
  border-top: 1px dashed #e2e8f0;
}

.index2-article-main {
  flex: 1;
  min-width: 0;
}

.index2-article-main h3 {
  margin: 0 0 6px;
  font-size: 15px;
  color: #0f172a;
}

.index2-article-main p {
  margin: 0;
  font-size: 12px;
  color: #64748b;
  line-height: 1.7;
}

.index2-article-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 6px;
}

.index2-article-meta span,
.index2-article-meta em {
  font-style: normal;
  font-size: 12px;
  color: #94a3b8;
}

.index2-section {
  margin-top: 10px;
  margin-bottom: 12px;
}

.index2-section-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-end;
  margin-bottom: 18px;
}

.index2-section-head h2 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 8px;
  font-size: 22px;
  color: #0f172a;
}

.index2-section-head p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
}

.index2-chip-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.index2-chip-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #dbeafe;
  color: #2563eb;
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
}

.index2-practice-feature-row,
.index2-review-row {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 18px;
  margin-bottom: 18px;
}

.index2-column-card,
.index2-product-card,
.index2-ai-article-card,
.index2-ai-product-card,
.index2-practice-feature-inner,
.index2-practice-feed,
.index2-ai-case {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}

.index2-practice-feature-inner {
  padding: 22px;
  background: linear-gradient(135deg, #eff6ff, #eef2ff);
}

.index2-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: #dbeafe;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 12px;
}

.index2-pill-purple {
  background: #ede9fe;
  color: #6d28d9;
}

.index2-practice-feature-inner h3 {
  margin: 0 0 10px;
  font-size: 22px;
  line-height: 1.5;
}

.index2-practice-feature-inner h3 a {
  color: #0f172a;
  text-decoration: none;
}

.index2-practice-feature-inner p {
  margin: 0;
  color: #475569;
  font-size: 13px;
  line-height: 1.9;
}

.index2-practice-feature-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 16px;
  color: #64748b;
  font-size: 12px;
}

.index2-practice-feed {
  padding: 20px 22px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: 100%;
}

.index2-practice-row,
.index2-mini-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-decoration: none;
  padding: 12px 0;
  border-top: 1px dashed #e2e8f0;
}

.index2-practice-row strong,
.index2-mini-row strong {
  color: #1e293b;
  font-size: 14px;
}

.index2-practice-row span,
.index2-mini-row span {
  color: #64748b;
  font-size: 12px;
  line-height: 1.7;
}

.index2-products-row,
.index2-ai-products-row {
  margin-bottom: 18px;
}

.index2-row-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.index2-row-head h3 {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 17px;
  color: #1e293b;
}

.index2-products-grid,
.index2-ai-products {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 18px;
}

.index2-product-card {
  overflow: hidden;
}

.index2-product-card.compact,
.index2-ai-product-card.compact {
  box-shadow: none;
  border: 1px solid #e2e8f0;
  background: #fff;
  border-radius: 0;
}

.index2-product-media {
  position: relative;
  height: 190px;
  background: #f8fafc;
}

.index2-product-media.compact,
.index2-ai-product-media.compact {
  height: 140px;
  border-radius: 0;
}

.index2-product-media img,
.index2-ai-product-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.index2-product-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.9);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}

.index2-product-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #e0e7ff, #f8fafc);
  color: #94a3b8;
  font-size: 42px;
}

.index2-product-placeholder.compact {
  min-height: 140px;
  font-size: 36px;
}

.index2-product-body,
.index2-ai-product-body {
  padding: 16px;
}

.index2-product-name {
  padding: 12px 10px 14px;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  color: #1e293b;
  line-height: 1.5;
}

.index2-product-body h3,
.index2-ai-product-body h3,
.index2-ai-article-card h3,
.index2-ai-case-body h3 {
  margin: 0 0 10px;
  font-size: 16px;
  color: #0f172a;
}

.index2-product-meta,
.index2-ai-product-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin-bottom: 10px;
  color: #2563eb;
  font-size: 12px;
}

.index2-product-body p,
.index2-ai-product-body p,
.index2-ai-article-card p,
.index2-ai-case-body p {
  margin: 0;
  color: #64748b;
  font-size: 12px;
  line-height: 1.8;
}

.index2-column-card {
  padding: 18px;
}

.index2-column-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
}

.index2-column-head h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 16px;
  color: #1e293b;
}

.index2-mini-list {
  display: flex;
  flex-direction: column;
}

.index2-guides {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.index2-guide-item {
  padding: 14px;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}

.index2-guide-item strong,
.index2-guide-item span {
  display: block;
}

.index2-guide-item strong {
  margin-bottom: 6px;
  font-size: 14px;
  color: #0f172a;
}

.index2-guide-item span {
  font-size: 12px;
  color: #64748b;
  line-height: 1.7;
}

.index2-ai-cases,
.index2-ai-articles {
  display: grid;
  gap: 18px;
  margin-bottom: 18px;
}

.index2-ai-cases {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.index2-ai-articles {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.index2-ai-case {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 14px;
  padding: 18px;
}

.index2-ai-case-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}

.index2-ai-case.is-purple .index2-ai-case-icon {
  background: #ede9fe;
  color: #6d28d9;
}

.index2-ai-case.is-blue .index2-ai-case-icon {
  background: #dbeafe;
  color: #2563eb;
}

.index2-ai-case.is-green .index2-ai-case-icon {
  background: #dcfce7;
  color: #16a34a;
}

.index2-ai-article-card {
  padding: 18px;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.index2-ai-article-card p {
  flex-grow: 1;
}

.index2-ai-article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 12px;
  color: #94a3b8;
  font-size: 12px;
}

.index2-ai-product-media {
  height: 150px;
  background: #f8fafc;
  border-radius: 0;
}

@media (max-width: 1200px) {
  .index2-dual-grid,
  .index2-practice-feature-row,
  .index2-review-row {
    grid-template-columns: 1fr;
  }

  .index2-products-grid,
  .index2-ai-products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .index2-ai-articles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 992px) {
  .index2-sitemap-grid,
  .index2-entry-grid,
  .index2-products-grid,
  .index2-ai-products,
  .index2-ai-cases,
  .index2-ai-articles {
    grid-template-columns: 1fr 1fr;
  }

  .index2-section-head,
  .index2-panel-hd {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 768px) {
  .index2-panel,
  .index2-column-card,
  .index2-ai-article-card,
  .index2-ai-case,
  .index2-practice-feature-inner,
  .index2-practice-feed,
  .index2-ai-product-card {
    padding: 16px;
  }

  .index2-sitemap-grid,
  .index2-entry-grid,
  .index2-products-grid,
  .index2-ai-products,
  .index2-ai-cases,
  .index2-ai-articles {
    grid-template-columns: 1fr;
  }

  .index2-product-media {
    height: 170px;
  }

  .index2-promo-banner .banner-slider,
  .index2-promo-link .banner-slider {
    height: 140px;
    min-height: 140px;
  }

  .index2-promo-banner .banner-content,
  .index2-promo-link .banner-content {
    padding: 32px 18px;
  }

  body.home-index-v2 #mainBanner .banner-content h2,
  .index2-promo-banner .banner-content h2,
  .index2-promo-link .banner-content h2 {
    font-size: 28px;
    margin-bottom: 12px;
  }

  body.home-index-v2 #mainBanner .banner-content p,
  .index2-promo-banner .banner-content p,
  .index2-promo-link .banner-content p {
    font-size: 14px;
    line-height: 1.7;
    margin-bottom: 20px;
  }

  body.home-index-v2 #mainBanner .banner-btn,
  .index2-promo-banner .banner-btn,
  .index2-promo-link .banner-btn {
    min-width: 128px;
    padding: 10px 22px;
    font-size: 14px;
  }

  .index2-chip-links {
    width: 100%;
  }

  .index2-chip-link {
    width: 100%;
    justify-content: center;
  }
}

/* ════════════ 移动端精准修复（仅针对溢出元素，不动 header/flex 容器） ════════════ */
/* 注：以下规则已合并进上方 @media (max-width: 768px) 主块，避免重复冲突。
   此处保留占位注释，便于后续维护。 */

/* ═══════ 当前过滤提示（知识中心 articles#index 按栏目筛选时） ═══════ */
.active-filter-chip {
  display: flex; align-items: center; gap: 10px;
  background: linear-gradient(135deg, #eff6ff, #e0f2fe);
  border: 1px solid #93c5fd;
  border-radius: 10px;
  padding: 12px 18px;
  margin-bottom: 18px;
  font-size: 14px; color: #1e3a8a;
}
.active-filter-chip i.fa-filter { color: #2563eb; font-size: 15px; }
.active-filter-chip strong { color: #1d4ed8; font-weight: 700; margin: 0 2px; }
.active-filter-clear {
  margin-left: auto;
  display: inline-flex; align-items: center; gap: 4px;
  padding: 5px 12px; border-radius: 16px;
  background: #fff; color: #64748b; font-size: 13px;
  text-decoration: none; border: 1px solid #cbd5e1;
  transition: all .2s;
}
.active-filter-clear:hover { background: #fff7ed; border-color: #f59e0b; color: #b45309; }
.active-filter-clear i { font-size: 12px; }
@media (max-width: 576px) {
  .active-filter-chip { flex-wrap: wrap; }
  .active-filter-clear { margin-left: 0; }
}

/* 兜底：智能采购决策中枢 banner 标题/描述字号对齐到 secondaryBanner (28px / 16px) */
body.home-index-v2 .index2-promo-banner .banner-content h2 {
  font-size: 28px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .01em;
  margin-bottom: 16px;
}
body.home-index-v2 .index2-promo-banner .banner-content p {
  font-size: 16px;
}
/* 兜底：申请体验按钮 hover 不再白底白字看不清，改为实心白底 + 深蓝字 */
body.home-index-v2 .index2-promo-banner .banner-btn:hover {
  background: #ffffff;
  color: #1e40af;
  border-color: #ffffff;
}
/* 兜底：取消 promo banner 按钮的 min-width: 148px，避免右侧多出空白 */
body.home-index-v2 .index2-promo-banner .banner-btn {
  min-width: 0;
  padding: 12px 22px;
}

/* ────────────────────────── */
/* ─── index3 首页新版 ─── */
/* ────────────────────────── */

/* 兜底：.page-section 全局默认 opacity:0，依赖 JS 滚动时加 .visible 才显示；
   一旦脚本未执行/报错就会整页空白。index3 这里直接声明可见，
   并用 animation 保留入场动效（animation 不支持时也有 opacity:1 兜底）。 */
body.home-index-v3 .page-section {
  opacity: 1;
  transform: none;
  animation: index3-fade-in-up .6s ease both;
}
body.home-index-v3 .page-section.visible {
  opacity: 1;
  transform: translateY(0);
  animation: none;
}
@keyframes index3-fade-in-up {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* 1. Hero（高度已压缩，确保与搜索框同处首屏，无需滚动） */
.index3-hero {
  background: linear-gradient(120deg, #f5f9ff 0%, #eaf2ff 70%, #f6f0fb 100%);
  padding: 22px 24px 20px;
}
.index3-hero-inner {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  align-items: center;
  gap: 16px;
}
.index3-hero-text h1 {
  font-size: 30px;
  line-height: 1.2;
  margin: 0 0 12px;
  color: #0f172a;
  font-weight: 900;
  letter-spacing: .01em;
}
.index3-hero-title-strong {
  background: linear-gradient(95deg, #1e3a8a 0%, #2563eb 55%, #3b82f6 100%);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  font-size: 40px;
  font-weight: 800;
  letter-spacing: .01em;
  filter: drop-shadow(0 1px 2px rgba(30, 64, 175, .12));
}
.index3-hero-label {
  font-size: 13px;
  color: #64748b;
  padding: 10px 0px;
}
.index3-hero-subtitle {
  font-size: 14px;
  color: #475569;
  padding: 8px 0px;
}
.index3-hero-features {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
.index3-hero .search-part {
  margin-top: 28px;
}
.index3-hero-feature {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.index3-hero-feature-icon {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: #dbeafe;
  color: #2563eb;
  display: flex; align-items: center; justify-content: center;
  font-size: 13px;
  flex-shrink: 0;
}
.index3-hero-feature-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.index3-hero-feature-text strong {
  font-size: 14px;
  font-weight: 700;
  color: #0f172a;
}
.index3-hero-feature-text span {
  font-size: 12px;
  color: #64748b;
}
/* 插图限高，避免 banner 过高把搜索框顶出首屏 */
.index3-hero-illu {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.index3-hero-img {
  width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 12px;
}

/* 2. 首页搜索区（index3）：整体收小 + 按钮紧贴搜索框右侧，消除按钮与输入框之间的空隙。
   仅作用于 index3（body.home-index-v3）且仅桌面端，移动端仍走原有竖排样式。 */
@media (min-width: 769px) {
  body.home-index-v3 .search-box {
    max-width: 640px;
    padding: 0;              /* 去掉 4px 内边距 —— 间隙的来源 */
    border-radius: 999px;    /* 胶囊形，配合 overflow:hidden 裁切按钮右侧圆角 */
  }
  body.home-index-v3 .search-input {
    padding: 13px 22px;
    font-size: 15px;
    border-radius: 0;
  }
  body.home-index-v3 .search-btn {
    flex-shrink: 0;
    white-space: nowrap;
    padding: 0 28px;
    font-size: 15px;
    border-radius: 0;        /* 直角，右侧由父级圆角统一裁切 */
  }
  body.home-index-v3 .hot-search {
    margin-top: 12px;
  }
}

/* 3. 指标卡 */
.index3-stat-row {
  max-width: 1200px;
  margin: 24px auto;
  padding: 0 20px;
}
.index3-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.index3-stat-card {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  padding: 18px 18px;
  border-radius: 14px;
  background: #fff;
  text-decoration: none;
  border: 1px solid #e2e8f0;
  transition: transform .2s, box-shadow .2s;
}
.index3-stat-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 36px rgba(37, 99, 235, .12);
  border-color: #c7d2fe;
}
.index3-stat-icon {
  width: 46px; height: 46px;
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 20px;
  color: #fff;
  flex-shrink: 0;
}
.index3-stat-card.is-blue   .index3-stat-icon { background: linear-gradient(135deg, #3b82f6, #1d4ed8); }
.index3-stat-card.is-indigo .index3-stat-icon { background: linear-gradient(135deg, #6366f1, #4338ca); }
.index3-stat-card.is-violet .index3-stat-icon { background: linear-gradient(135deg, #8b5cf6, #6d28d9); }
.index3-stat-card.is-cyan   .index3-stat-icon { background: linear-gradient(135deg, #06b6d4, #0e7490); }
.index3-stat-text h3 {
  font-size: 16px;
  margin: 0 0 4px;
  color: #0f172a;
  font-weight: 700;
  text-align: left;
}
.index3-stat-text p {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  font-size: 12px;
  color: #64748b;
}
.index3-stat-text p span {
  position: relative;
  padding-right: 8px;
}
.index3-stat-text p span + span::before {
  content: "/";
  position: absolute;
  left: -8px;
  color: #cbd5e1;
}

/* 4. 采购标讯 / 6. 采购预测 共享 */
.index3-notice-section .home-main { /* 兼容 */ }
.index3-notice-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 20px;
  align-items: start;
}
/* 左右两栏等高（用于「采购预测 / 最新政采公告」）：
   覆盖默认的 align-items:start，让矮的一侧被拉伸，底部按钮用 margin-top:auto 对齐。 */
.index3-notice-grid.is-equal {
  align-items: stretch;
}
.index3-notice-grid.is-equal > .index3-panel {
  display: flex;
  flex-direction: column;
}
.index3-notice-grid.is-equal .index3-section-foot {
  margin-top: auto;
  padding-top: 14px;
}
/* 列表区域吃掉剩余高度，保证两栏内容区视觉齐平 */
.index3-notice-grid.is-equal .index3-notice-list,
.index3-notice-grid.is-equal .index3-forecast-side-list {
  flex: 1;
}
/* 行高按剩余高度均分（上限 92px 兜底，避免条目极小时被拉得过高）：
   矮的那一栏不再在列表底部留一段空白，两栏的分隔虚线也能横向对齐。
   仅在桌面双栏（>980px）生效 —— 单栏堆叠时面板高度由内容决定，不存在剩余空间，
   且窄屏下同一行内容本身可能超过 92px，套上限反而会裁掉内容。 */
@media (min-width: 981px) {
  .index3-notice-grid.is-equal .index3-notice-list > li,
  .index3-notice-grid.is-equal .index3-forecast-side-list > li {
    flex: 1 1 auto;
    max-height: 92px;
  }
}
.index3-panel {
  background: #fff;
  border-radius: 16px;
  border: 1px solid #e2e8f0;
  padding: 22px;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .05);
}
.index3-panel-hd {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.index3-panel-hd h2 {
  font-size: 22px;
  margin: 0;
  color: #0f172a;
  font-weight: 800;
}
.index3-panel-hd h2 i { color: #2563eb; margin-right: 6px; }
.index3-block-desc {
  color: #64748b;
  font-size: 13px;
}
.index3-notice-filter {
  display: flex;
  gap: 12px;
  margin-bottom: 14px;
  align-items: center;
}
.index3-notice-search {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 6px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 8px 14px;
  color: #94a3b8;
}
.index3-notice-search input {
  border: none;
  background: transparent;
  outline: none;
  width: 100%;
  font-size: 13px;
  color: #334155;
}
.index3-notice-select {
  border: 1px solid #e2e8f0;
  background: #fff;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 13px;
  color: #334155;
  cursor: pointer;
}
.index3-notice-list {
  list-style: none;
  padding: 0;
  margin: 0 0 8px;
  display: flex;
  flex-direction: column;
}
.index3-notice-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  /* 首页左侧要放下 10 条标讯，行高收紧后才能与右侧「双月历」齐平 */
  padding: 7px 4px;
  border-top: 1px dashed #e2e8f0;
}
.index3-notice-row:first-child { border-top: none; }
.index3-notice-text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.index3-notice-title {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: #0f172a;
  line-height: 1.55;
  /* 单行省略：保证 10 条标讯的列表高度可控，完整标题看 title 提示 */
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
}
/* meta 行：类型徽章 + 地区 + 品目 + 时间，横向排列、竖线分隔 */
.index3-notice-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  font-size: 12px;
  color: #94a3b8;
}
.index3-notice-meta > span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}
.index3-notice-meta > span + span::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 10px;
  background: #e2e8f0;
  margin-right: 10px;
}
.index3-notice-meta > span.index3-tag + span::before,
.index3-notice-meta > span.index3-notice-time::before { content: none; }
.index3-notice-meta i { font-size: 11px; opacity: .8; }
.index3-notice-time {
  font-size: 12px;
  color: #94a3b8;
  letter-spacing: .02em;
}
/* 类型徽章 */
.index3-tag {
  padding: 2px 8px;
  border-radius: 4px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.6;
}
.index3-tag.is-purple { background: #f5f3ff; color: #6d28d9; }
/* 预算金额 */
.index3-notice-budget {
  flex-shrink: 0;
  align-self: center;
  padding: 4px 10px;
  border-radius: 6px;
  background: #fff7ed;
  color: #b45309;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.index3-notice-budget i { margin-right: 4px; font-size: 10px; }
/* 空态 */
.index3-notice-empty {
  padding: 26px 0;
  text-align: center;
  color: #94a3b8;
  font-size: 13px;
}
/* 筛选查询按钮 */
.index3-notice-btn {
  flex-shrink: 0;
  padding: 8px 18px;
  border: none;
  border-radius: 999px;
  background: #1e40af;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: background .2s;
}
.index3-notice-btn:hover { background: #1d4ed8; }
.index3-notice-btn i { margin-right: 4px; font-size: 11px; }
.index3-notice-cta {
  flex-shrink: 0;
  align-self: center;
  padding: 6px 14px;
  background: #1e40af;
  color: #fff;
  border-radius: 999px;
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .03em;
}
.index3-notice-cta:hover { background: #1d4ed8; color: #fff; }
.index3-section-foot {
  text-align: center;
  margin-top: 14px;
}
.index3-section-foot a {
  display: inline-block;
  padding: 8px 22px;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  color: #1e40af;
  text-decoration: none;
  font-size: 13px;
  background: #fff;
}
.index3-section-foot a:hover { background: #eff6ff; }

/* 采购标讯轮播切换：每次替换列表后，新渲染的 5 条依次淡入上移（错峰，形成轮播切换感）。
   换页是替换 <li> DOM，动画会自动重新播放，无需 JS 开关 class */
.index3-notice-list > li {
  animation: index3-notice-slide-in .42s ease both;
}
.index3-notice-list > li:nth-child(2) { animation-delay: .05s; }
.index3-notice-list > li:nth-child(3) { animation-delay: .10s; }
.index3-notice-list > li:nth-child(4) { animation-delay: .15s; }
.index3-notice-list > li:nth-child(5) { animation-delay: .20s; }
@keyframes index3-notice-slide-in {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}
/* 切换中：只禁点击，不做透明度变化（避免轮播时闪一下） */
.index3-notice-list.is-loading { pointer-events: none; }

/* 4. 日历（右侧双月历：上「上月」、下「本月」） */
.index3-calendar-panel { padding-bottom: 18px; }
.index3-calendar-hd {
  font-size: 16px;
  font-weight: 700;
  color: #1e40af;
  padding-bottom: 12px;
  border-bottom: 1px solid #e2e8f0;
  margin-bottom: 14px;
}
/* 日历撑满面板剩余高度；只保留一个日历时，剩余高度在上下均分（上下留白对称） */
.index3-calendars {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
}
/* 上月日历：只作参考展示，居中标题、不可点击 */
.index3-calendar.is-prev {
  padding-bottom: 14px;
  border-bottom: 1px dashed #e2e8f0;
}
.index3-calendar.is-prev .index3-calendar-nav { justify-content: center; }
.index3-calendar.is-prev .index3-calendar-table td[data-date] {
  cursor: default;
  pointer-events: none;
}
.index3-calendar-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.index3-calendar-nav h4 {
  font-size: 16px;
  margin: 0;
  font-weight: 700;
  color: #0f172a;
}
.index3-cal-prev,
.index3-cal-next {
  width: 28px; height: 28px;
  border-radius: 50%;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #64748b;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}
.index3-cal-prev:hover,
.index3-cal-next:hover { background: #eff6ff; color: #1d4ed8; }
.index3-calendar-table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
  font-size: 14px;
  color: #475569;
}
.index3-calendar-table th {
  padding: 9px 0;
  font-weight: 700;
  color: #94a3b8;
  background: #f8fafc;
}
.index3-calendar-table td {
  padding: 9px 0;
  border-radius: 6px;
  vertical-align: middle;
}
.index3-calendar-table td.is-empty { background: transparent; }
/* 有日期的格子可点击（按当天筛选标讯） */
.index3-calendar-table td[data-date] { cursor: pointer; transition: background .15s, color .15s; }
.index3-calendar-table td[data-date]:hover {
  background: #eff6ff;
  color: #1d4ed8;
  font-weight: 700;
}
.index3-calendar-table td.is-today {
  background: #1e40af;
  color: #fff;
  font-weight: 700;
}
.index3-calendar-table td.is-today span { color: #fff; }
.index3-calendar-table td.is-today:hover {
  background: #1d4ed8;
  color: #fff;
}
/* 未来日期：不可点击 */
.index3-calendar-table td.is-disabled {
  color: #cbd5e1;
  cursor: not-allowed;
}
.index3-calendar-table td.is-disabled:hover {
  background: transparent;
  color: #cbd5e1;
  font-weight: 400;
}
/* 选中日期（用 data-date 提升优先级，确保压过 :hover） */
.index3-calendar-table td[data-date].is-selected {
  background: #eff6ff;
  color: #1d4ed8;
  font-weight: 700;
  outline: 2px solid #1d4ed8;
  outline-offset: -2px;
}

/* 5/7. 蓝色横幅 */
.index3-promo-banner {
  margin: 28px auto;
  max-width: 1200px;
  padding: 0 20px;
}
.index3-promo-inner {
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 26px 30px;
  border-radius: 18px;
  color: #fff;
  box-shadow: 0 16px 36px rgba(15, 23, 42, .12);
}
.index3-promo-ai {
  background: linear-gradient(95deg, #1e3a8a 0%, #1e40af 60%, #2563eb 100%);
}
.index3-promo-decision {
  background: linear-gradient(95deg, #312e81 0%, #4f46e5 60%, #7c3aed 100%);
}
.index3-promo-icon {
  width: 56px; height: 56px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .18);
  display: flex; align-items: center; justify-content: center;
  font-size: 24px;
  flex-shrink: 0;
}
.index3-promo-ai .index3-promo-icon {
  background: #fff;
  color: #1e40af;
}
.index3-promo-ai .index3-promo-btn {
  color: #1e40af;
  border-radius: 8px;
}
.index3-promo-text {
  flex: 1;
  min-width: 0;
}
.index3-promo-text h2 {
  font-size: 22px;
  font-weight: 800;
  margin: 0 0 6px;
}
.index3-promo-text p {
  margin: 0;
  color: rgba(255, 255, 255, .88);
  font-size: 14px;
  line-height: 1.7;
}
.index3-promo-btn {
  flex-shrink: 0;
  padding: 11px 26px;
  background: #fff;
  color: #1e40af;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  font-size: 14px;
}
.index3-promo-decision .index3-promo-btn { color: #4f46e5; }
.index3-promo-btn:hover { transform: translateY(-1px); }

/* 6. 预测侧栏 */
.index3-forecast-side-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.index3-forecast-side-list li {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 13px 4px;
  border-top: 1px dashed #e2e8f0;
}
.index3-forecast-side-list li:first-child { border-top: none; }
.index3-forecast-side-list strong {
  font-size: 14px;
  color: #0f172a;
  font-weight: 700;
}
/* 采购大单标题：最多一行，超出省略号（完整标题看 title 提示）。
   否则长标题折成两行，右栏会被撑高，把左侧「采购预测」拉伸出一大段空白 */
.index3-forecast-side-list a {
  font-size: 14px;
  color: #0f172a;
  font-weight: 700;
  text-decoration: none;
  line-height: 1.6;
  transition: color .2s;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
}
.index3-forecast-side-list a:hover { color: #1d4ed8; }
.index3-forecast-side-list span {
  font-size: 12px;
  color: #94a3b8;
}
.index3-forecast-side-list.is-compact li { padding: 10px 0; }
.index3-forecast-side-list.is-compact strong { font-size: 13px; }

/* 8/9/10. 通用 section 头 */
.index3-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}
.index3-section-head h2 {
  font-size: 24px;
  margin: 0 0 6px;
  color: #0f172a;
  font-weight: 800;
}
.index3-section-head h2 i { color: #2563eb; margin-right: 8px; }
.index3-section-head p {
  margin: 0;
  font-size: 14px;
  color: #64748b;
}
.index3-head-link {
  color: #2563eb;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
}
.index3-head-link:hover { color: #1d4ed8; }
/* “更多 / 查看全部”入口：统一蓝色胶囊按钮（全页一致）。
   注意：必须挂在 .index3-section-head 下抬高优先级，
   否则会被 body.home-index a { color: inherit }（0,1,2）压过，文字变黑 */
.index3-section-head .index3-head-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 9px 18px;
  border-radius: 999px;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(37, 99, 235, .28);
  transition: background .15s, transform .15s, box-shadow .15s;
}
.index3-section-head .index3-head-more span { line-height: 1; }
.index3-section-head .index3-head-more i {
  font-size: 13px;
  transition: transform .15s ease;
}
.index3-section-head .index3-head-more:hover {
  background: linear-gradient(135deg, #1d4ed8 0%, #1e3a8a 100%);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(37, 99, 235, .38);
}
.index3-section-head .index3-head-more:hover i { transform: translateX(3px); }

/* 8. 站点地图 */
.index3-sitemap-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 20px;
  /* 左栏卡片按内容自然高度（标题 + 固定 4 行滚动窗），不再被右侧「采购热点」拉高，
     避免出现卡片下方一截空白、看起来像列表不滚动的假象 */
  align-items: start;
}
.index3-sitemap-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  /* 板块数 = 活跃根分类数（7），每行 2 卡；末行奇数卡占满整行 */
  grid-auto-rows: auto;
  align-content: start;
}
.index3-sitemap-card:nth-child(odd):last-child { grid-column: span 2; }
.index3-sitemap-card {
  background: #f8fafc;
  border-radius: 14px;
  padding: 18px;
  border: 1px solid #e2e8f0;
  height: 100%;
  /* 卡片内布局：标题固定 + 下方 4 行滚动视窗 */
  display: flex;
  flex-direction: column;
}
.index3-sitemap-card h3 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 16px;
  font-weight: 700;
  color: #1e40af;
  margin: 0 0 10px;
  padding-bottom: 8px;
  border-bottom: 1px dashed #cbd5e1;
  flex: 0 0 auto;
}
/* 板块右上角数量角标 */
.index3-sitemap-count {
  flex: 0 0 auto;
  padding: 1px 9px;
  border-radius: 999px;
  background: #e7f0ff;
  color: #2563eb;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.7;
}
/* 卡片滚动视窗：固定显示 4 行，超出部分由 JS 自动上滚循环 */
.index3-sitemap-card-scroll {
  flex: 1 1 auto;
  overflow: hidden;
  position: relative;
}
.index3-sitemap-card-list {
  list-style: none;
  padding: 0;
  margin: 0;
  will-change: transform;
}
.index3-sitemap-card li {
  font-size: 13px;
  color: #475569;
  padding: 5px 2px;
}
.index3-sitemap-card li i {
  color: #2563eb;
  margin-right: 6px;
  font-size: 9px;
}
.index3-sitemap-card li.is-empty {
  color: #94a3b8;
  font-style: italic;
}
.index3-sitemap-card li a {
  color: #475569;
  text-decoration: none;
  transition: color .15s ease;
}
.index3-sitemap-card li a:hover { color: #2563eb; }

.index3-sitemap-side {
  background: #fff;
  border-radius: 16px;
  border: 1px solid #e2e8f0;
  padding: 20px;
  height: 100%;
}
.index3-sitemap-side .index3-panel-hd h3 {
  font-size: 16px;
  margin: 0 0 10px;
  color: #0f172a;
  font-weight: 700;
}
.index3-sitemap-side .index3-panel-hd i { color: #f59e0b; }

/* 9. 采购数据：左「品目统计」+ 中间四张数据卡（缩小）+ 右「品牌统计」 */
.index3-data-layout {
  display: grid;
  grid-template-columns: 236px minmax(0, 1fr) 236px;
  gap: 16px;
  align-items: stretch;
}
.index3-data-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
/* 左右两侧的统计榜 */
.index3-rank-panel {
  background: #fff;
  border-radius: 14px;
  border: 1px solid #e2e8f0;
  padding: 14px;
  display: flex;
  flex-direction: column;
  transition: .2s;
}
.index3-rank-panel:hover {
  border-color: #c7d2fe;
  box-shadow: 0 12px 24px rgba(37, 99, 235, .08);
}
.index3-rank-hd {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 700;
  color: #1e40af;
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px dashed #e2e8f0;
}
.index3-rank-hd i { color: #2563eb; }
.index3-rank-list {
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.index3-rank-list li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 0;
  font-size: 12.5px;
  min-width: 0;
}
.index3-rank-no {
  flex-shrink: 0;
  width: 18px; height: 18px;
  border-radius: 6px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 11px;
  font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.index3-rank-no.is-top { background: linear-gradient(135deg, #2563eb, #6366f1); color: #fff; }
.index3-rank-name {
  flex: 1;
  min-width: 0;
  color: #334155;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.index3-rank-val {
  flex-shrink: 0;
  color: #b45309;
  font-weight: 700;
  font-size: 12px;
}
.index3-rank-empty {
  color: #94a3b8;
  justify-content: center;
}
/* 数据卡整体收小一号；布局与指标卡一致：左侧图标 + 右侧标题/描述 */
.index3-data-card {
  background: linear-gradient(160deg, #ffffff 60%, #eef2ff);
  border-radius: 12px;
  padding: 14px;
  border: 1px solid #e2e8f0;
  text-decoration: none;
  color: #0f172a;
  transition: .2s;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
}
.index3-data-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 32px rgba(37, 99, 235, .1);
}
.index3-data-text {
  flex: 1;
  min-width: 0;
}
.index3-data-icon {
  width: 40px; height: 40px;
  flex-shrink: 0;
  border-radius: 10px;
  background: linear-gradient(135deg, #2563eb, #6366f1);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px;
  margin-bottom: 0;
}
.index3-data-card h3 {
  font-size: 14.5px;
  margin: 0 0 4px;
  font-weight: 700;
  line-height: 1.5;
}
.index3-data-card p {
  margin: 0;
  font-size: 12px;
  color: #64748b;
  line-height: 1.7;
}

/* 9.1 采购数据：品目 / 品牌统计图（与四张数据卡同网格对齐，每张横跨两卡宽度） */
.index3-chart-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}
.index3-chart-card {
  grid-column: span 2;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  padding: 14px;
  transition: .2s;
}
.index3-chart-card:hover {
  border-color: #c7d2fe;
  box-shadow: 0 12px 24px rgba(37, 99, 235, .08);
}
.index3-chart-hd {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 10px;
}
.index3-chart-hd h3 {
  margin: 0;
  font-size: 14.5px;
  font-weight: 700;
  color: #0f172a;
}
.index3-chart-hd h3 i { color: #2563eb; margin-right: 4px; }
.index3-chart-sub {
  flex-shrink: 0;
  font-size: 12px;
  color: #94a3b8;
}
.index3-chart-body {
  position: relative;
  height: 260px;
}
.index3-chart-empty {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #94a3b8;
  font-size: 13px;
}

/* 10. 产品展示（沿用 aipc 卡片样式，仅「首页产品展示区」一行固定 6 个） */
.index3-product-section .aipc-product-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
/* 窄卡微调：标题/参数按 6 列宽度收敛，参数不折行、超长省略号收尾（完整内容见 title） */
.index3-product-section .aipc-prod-img { height: 118px; }
.index3-product-section .aipc-prod-info { padding: 11px 12px 14px; }
.index3-product-section .aipc-prod-info h4 {
  font-size: 13px;
  line-height: 1.45;
}
.index3-product-section .aipc-prod-specs span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.index3-product-section .aipc-prod-btn { padding: 6px 12px; }
/* 列数递减：aipc.css 的列数是按 aipc 页面写的，这里用更高优先级覆盖 */
@media (max-width: 1200px) {
  .index3-product-section .aipc-product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .index3-product-section .aipc-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .index3-product-section .aipc-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* 响应式 */
@media (max-width: 980px) {
  .index3-hero-inner,
  .index3-notice-grid,
  .index3-sitemap-grid {
    grid-template-columns: 1fr;
  }
  .index3-stat-grid,
  .index3-data-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  /* 采购数据：窄屏改为纵向堆叠（统计图每张独占一行） */
  .index3-data-layout { grid-template-columns: 1fr; }
  .index3-chart-grid { grid-template-columns: 1fr; }
  .index3-chart-card { grid-column: auto; }
  .index3-hero-text h1 { font-size: 32px; }
  .index3-promo-inner { flex-wrap: wrap; }
}
@media (max-width: 560px) {
  .index3-stat-grid,
  .index3-data-grid {
    grid-template-columns: 1fr;
  }
  /* 站点地图卡片：小屏才收成单列，980px 以内仍保持两列 */
  .index3-sitemap-cards { grid-template-columns: 1fr; }
  .index3-notice-filter { flex-direction: column; align-items: stretch; }

  /* 蓝色横幅：小屏改为上下堆叠，避免文字和按钮被挤压 */
  .index3-promo-inner {
    flex-direction: column;
    text-align: center;
    gap: 14px;
    padding: 22px 18px;
  }
  .index3-promo-icon {
    width: 48px;
    height: 48px;
    font-size: 22px;
  }
  .index3-promo-text h2 {
    font-size: 18px;
    line-height: 1.35;
  }
  .index3-promo-text p {
    font-size: 13px;
    line-height: 1.55;
  }
  .index3-promo-btn {
    align-self: stretch;
    width: 100%;
    padding: 12px 20px;
    font-size: 14px;
  }
}

/* ═══════════ 列表页（采购公告、政策等）  （原 list.css） ═══════════ */
:root {
    --primary: #0052d9;
    --secondary: #00a0e9;
    --accent: #ff6b35;
    --light: #f8f9fa;
    --dark: #212529;
    --gray: #6c757d;
    --light-gray: #e9ecef;
    --border-radius: 8px;
    --box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    --transition: all 0.3s ease;
    --content-max-width: 75%;
    --content-padding: 0 20px;
}

/* 统一内容容器 */
.content-container {
    max-width: var(--content-max-width);
    margin: 0 auto;
    /*padding: var(--content-padding);*/
}

/* 面包屑导航 */
.breadcrumb {
    margin: 20px auto 0;
}

.breadcrumb-links {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: var(--gray);
}

.breadcrumb-links a {
    color: var(--gray);
    text-decoration: none;
    transition: var(--transition);
}

.breadcrumb-links a:hover {
    color: var(--primary);
}

.breadcrumb-links .separator {
    color: var(--light-gray);
}

.breadcrumb-links .current {
    color: var(--primary);
    font-weight: 500;
}

/* 页面标题区域 */
.page-header {
    margin: 30px auto 20px;
}

.page-title {
    font-size: 32px;
    color: var(--dark);
    margin-bottom: 10px;
    position: relative;
    padding-bottom: 15px;
}

.page-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 4px;
    background: linear-gradient(90deg, var(--primary), var(--secondary));
    border-radius: 2px;
}

.page-subtitle {
    color: var(--gray);
    font-size: 16px;
    margin-bottom: 20px;
}

/* 高级筛选区域 */
.advanced-filter {
    margin: 0 auto 30px;
}

.filter-container {
    background: white;
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
    padding: 25px;
}

.filter-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
}

.filter-group {
    display: flex;
    flex-direction: column;
}

.filter-label {
    font-size: 14px;
    color: var(--gray);
    margin-bottom: 8px;
    font-weight: 500;
    text-align: left;
}

.filter-select {
    padding: 12px;
    border: 1px solid var(--light-gray);
    border-radius: var(--border-radius);
    font-size: 14px;
    outline: none;
    transition: var(--transition);
    background-color: white;
    cursor: pointer;
}

.filter-actions {
    display: flex;
    justify-content: flex-end;
    gap: 15px;
    margin-top: 20px;
}

.reset-btn {
    background: transparent;
    border: 1px solid var(--light-gray);
    color: var(--gray);
    padding: 10px 25px;
    border-radius: var(--border-radius);
    font-weight: 500;
    cursor: pointer;
    transition: var(--transition);
}

.reset-btn:hover {
    background: var(--light-gray);
}

.filter-btn {
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    border: none;
    color: white;
    padding: 10px 30px;
    border-radius: var(--border-radius);
    font-weight: 500;
    cursor: pointer;
    transition: var(--transition);
}

.filter-btn:hover {
    opacity: 0.9;
    transform: translateY(-2px);
}

/* 广告位1 - 列表页顶部横幅广告 */
.list-top-ad {
    margin: 0 auto 30px;
}

.list-ad-banner {
    background: linear-gradient(90deg, #8e2de2, #4a00e0);
    border-radius: var(--border-radius);
    padding: 25px;
    color: white;
    text-align: center;
    box-shadow: var(--box-shadow);
}

.list-ad-banner h3 {
    font-size: 24px;
    margin-bottom: 10px;
}

.list-ad-banner p {
    opacity: 0.9;
    margin-bottom: 20px;
}

.list-ad-btn {
    background: white;
    color: #8e2de2;
    border: none;
    padding: 10px 25px;
    border-radius: 50px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
    font-size: 14px;
}

.list-ad-btn:hover {
    background: var(--light);
    transform: translateY(-2px);
}

/* 公告列表区域 */
.announcement-list {
    margin: 0 auto 40px;
}

.list-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

.list-header h3 {
    font-size: 22px;
    color: var(--dark);
}

.list-sort {
    display: flex;
    align-items: center;
    gap: 10px;
}

.list-sort-label {
    font-size: 14px;
    color: var(--gray);
}

.list-sort-select {
    padding: 8px 15px;
    border: 1px solid var(--light-gray);
    border-radius: var(--border-radius);
    font-size: 14px;
    outline: none;
    background-color: white;
    cursor: pointer;
}

.announcement-items {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.announcement-item {
    background: white;
    border-radius: var(--border-radius);
    padding: 25px;
    box-shadow: var(--box-shadow);
    transition: var(--transition);
    border-left: 4px solid transparent;
}

.announcement-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    border-left: 4px solid var(--primary);
}

.item-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 15px;
}

.item-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 10px;
    line-height: 1.4;
}

.item-title a {
    color: var(--dark);
    text-decoration: none;
    transition: var(--transition);
}

.item-title a:hover {
    color: var(--primary);
}

.item-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: var(--light-gray);
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    color: var(--dark);
    font-weight: 500;
    margin-right: 10px;
}

.item-badge.urgent {
    background: #fff5f5;
    color: #ff6b35;
}

.item-badge.new {
    background: #f0f9ff;
    color: var(--primary);
}

.item-number {
    font-size: 14px;
    color: var(--gray);
}

.item-meta {
    display: flex;
    gap: 20px;
    margin-bottom: 15px;
    font-size: 14px;
    color: var(--gray);
}

.item-meta span {
    display: flex;
    align-items: center;
    gap: 5px;
}

.item-description {
    color: var(--dark);
    line-height: 1.6;
    margin-bottom: 15px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.item-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 15px;
    border-top: 1px solid var(--light-gray);
}

.item-tags {
    display: flex;
    gap: 10px;
}

.item-tag {
    background: var(--light-gray);
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    color: var(--dark);
}

.item-date {
    font-size: 13px;
    color: var(--gray);
}

/* 广告位2 - 列表中间广告 */
.list-middle-ad {
    margin: 30px auto;
}

.middle-ad-banner {
    background: linear-gradient(90deg, #00b09b, #96c93d);
    border-radius: var(--border-radius);
    padding: 30px;
    color: white;
    text-align: center;
    box-shadow: var(--box-shadow);
}

.middle-ad-banner h3 {
    font-size: 26px;
    margin-bottom: 10px;
}

.middle-ad-banner p {
    opacity: 0.9;
    margin-bottom: 20px;
}

.middle-ad-btn {
    background: white;
    color: #00b09b;
    border: none;
    padding: 10px 25px;
    border-radius: 50px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
    font-size: 14px;
}

.middle-ad-btn:hover {
    background: var(--light);
    transform: translateY(-2px);
}

/* 分页区域 */
.pagination {
    margin: 40px auto;
}

.pagination-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.pagination-btn {
    background: white;
    border: 1px solid var(--light-gray);
    color: var(--dark);
    width: 40px;
    height: 40px;
    border-radius: var(--border-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--transition);
    font-weight: 500;
}

/* 上一页/下一页/首页/尾页 文字按钮：取消固定宽度，自适应 */
.pagination-btn.pagination-first,
.pagination-btn.pagination-prev,
.pagination-btn.pagination-next,
.pagination-btn.pagination-last {
    width: auto;
    min-width: 40px;
    padding: 0 14px;
    font-size: 13px;
    font-weight: 500;
}

.pagination-btn:hover {
    background: var(--light-gray);
}

.pagination-btn.active {
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    color: white;
    border-color: transparent;
}

.pagination-btn.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.pagination-ellipsis {
    color: var(--gray);
    padding: 0 5px;
}

/* 广告位3 - 分页下方广告 */
.list-bottom-ad {
    margin: 30px auto 40px;
}

.bottom-ad-banner {
    background: linear-gradient(90deg, #ff6b35, #ff8e53);
    border-radius: var(--border-radius);
    padding: 35px;
    color: white;
    text-align: center;
    box-shadow: var(--box-shadow);
}

.bottom-ad-banner h3 {
    font-size: 28px;
    margin-bottom: 10px;
}

.bottom-ad-banner p {
    opacity: 0.9;
    margin-bottom: 20px;
}

.bottom-ad-btn {
    background: white;
    color: #ff6b35;
    border: none;
    padding: 12px 30px;
    border-radius: 50px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
    font-size: 15px;
}

.bottom-ad-btn:hover {
    background: var(--light);
    transform: translateY(-2px);
}

/* 响应式设计 */
@media (max-width: 1200px) {
    :root {
        --content-max-width: 1000px;
    }
    
    
}

@media (max-width: 992px) {
    :root {
        --content-max-width: 800px;
    }
    
    .filter-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    :root {
        --content-padding: 0 15px;
    }
    
    .page-title {
        font-size: 26px;
    }
    
    
    
    .filter-actions {
        flex-direction: column;
    }
    
    .reset-btn, .filter-btn {
        width: 100%;
    }
    
    .announcement-item {
        padding: 20px;
    }
    
    .item-header {
        flex-direction: column;
        gap: 10px;
    }
    
    .item-meta {
        flex-wrap: wrap;
        gap: 10px;
    }
    
    .item-footer {
        flex-direction: column;
        gap: 10px;
        align-items: flex-start;
    }
    
    .item-tags {
        flex-wrap: wrap;
    }

    /* 智能搜索行：竖排 + 输入框/按钮占满整行 */
    .filter-search-row {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    .filter-search-label {
        min-width: 0;
    }
    .filter-search-box {
        flex-wrap: wrap;
    }
    .filter-search-input {
        width: 100%;
    }
    .filter-search-btn {
        width: 100%;
        justify-content: center;
    }
    .filter-search-reset {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    /* 列表头部：标题与排序换行，排序控件占满整行 */
    .list-header {
        flex-wrap: wrap;
        gap: 10px;
    }
    .list-sort {
        width: 100%;
        justify-content: flex-start;
    }
    .list-sort-select {
        flex: 1;
        min-width: 0;
    }
}

@media (max-width: 480px) {
    .page-title {
        font-size: 22px;
    }
    
    .item-title {
        font-size: 16px;
    }
    
    .list-ad-banner h3,
    .middle-ad-banner h3,
    .bottom-ad-banner h3 {
        font-size: 20px;
    }
}

/* ═══════════ 详情页通用  （原 show.css） ═══════════ */
/* 面包屑导航 */
.breadcrumb {
    max-width: 1200px;
    margin: 20px auto 0;
    padding: 0 20px;
}

/* 返回按钮（与 purchase_notice/show 风格一致） */
.ns-back-wrap {
    max-width: 1200px;
}

.ns-back-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 20px;
    border-radius: 6px;
    border: 1px solid var(--light-gray);
    background: #fff;
    color: var(--gray);
    font-size: 14px;
    text-decoration: none;
    transition: var(--transition);
}

.ns-back-btn:hover {
    border-color: var(--primary);
    color: var(--primary);
    background: #f8fafc;
}

/* 详情页主要内容区域 */
.detail-main {
    max-width: 1200px;
    margin: 30px auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 30px;
}

/* 左侧内容区域 */
.detail-content {
    background: white;
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
    overflow: hidden;
}

/* 详情页头部 */
.detail-header {
    padding: 30px;
    border-bottom: 1px solid var(--light-gray);
    background: linear-gradient(90deg, #f8f9fa, white);
}

.detail-title {
    font-size: 28px;
    font-weight: 800;
    margin-bottom: 15px;
    color: var(--dark);
    line-height: 1.4;
}

.detail-badges {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

.detail-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 500;
}

.badge-urgent {
    background: #fff5f5;
    color: #ff6b35;
}

.badge-new {
    background: #f0f9ff;
    color: var(--primary);
}

.badge-type {
    background: var(--light-gray);
    color: var(--dark);
}

.detail-meta {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-top: 20px;
}

.meta-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.meta-icon {
    width: 36px;
    height: 36px;
    background: var(--light-gray);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary);
}

.meta-content h4 {
    font-size: 13px;
    color: var(--gray);
    margin-bottom: 3px;
}

.meta-content p {
    font-size: 15px;
    font-weight: 500;
    color: var(--dark);
}

/* 详情页正文 */
.detail-body {
    padding: 30px;
}

.detail-section {
    margin-bottom: 30px;
}

.detail-section h3 {
    font-size: 20px;
    color: var(--dark);
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--light-gray);
    position: relative;
}

.detail-section h3::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 60px;
    height: 2px;
    background: var(--primary);
}

.section-content {
    line-height: 1.8;
}

.section-content p {
    margin-bottom: 15px;
}

.section-content ul, .section-content ol {
    margin-left: 20px;
    margin-bottom: 15px;
}

.section-content li {
    margin-bottom: 8px;
}

.info-table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.info-table th, .info-table td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid var(--light-gray);
}

.info-table th {
    background: var(--light-gray);
    font-weight: 600;
    color: var(--dark);
    width: 150px;
}

.info-table tr:last-child td {
    border-bottom: none;
}

/* 广告位1 - 详情页侧边栏顶部广告 */
.detail-sidebar-ad {
    margin-bottom: 20px;
}

.sidebar-ad-banner {
    background: linear-gradient(90deg, #8e2de2, #4a00e0);
    border-radius: var(--border-radius);
    padding: 20px;
    color: white;
    text-align: center;
    box-shadow: var(--box-shadow);
}

.sidebar-ad-banner h4 {
    font-size: 18px;
    margin-bottom: 10px;
}

.sidebar-ad-banner p {
    opacity: 0.9;
    margin-bottom: 15px;
    font-size: 14px;
}

.sidebar-ad-btn {
    background: white;
    color: #8e2de2;
    border: none;
    padding: 8px 20px;
    border-radius: 50px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
    font-size: 13px;
}

.sidebar-ad-btn:hover {
    background: var(--light);
    transform: translateY(-2px);
}

/* 详情页侧边栏 */
.detail-sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* 侧边栏操作面板 */
.sidebar-actions {
    background: white;
    border-radius: var(--border-radius);
    padding: 25px;
    box-shadow: var(--box-shadow);
}

.action-title {
    font-size: 18px;
    margin-bottom: 20px;
    color: var(--dark);
    padding-bottom: 10px;
    border-bottom: 1px solid var(--light-gray);
}

.action-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.action-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px;
    border: none;
    border-radius: var(--border-radius);
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
    font-size: 15px;
}

.btn-primary {
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    color: white;
}

.btn-primary:hover {
    opacity: 0.9;
    transform: translateY(-2px);
}

.btn-secondary {
    background: white;
    border: 2px solid var(--primary);
    color: var(--primary);
}

.btn-secondary:hover {
    background: var(--light-gray);
}

.btn-accent {
    background: linear-gradient(135deg, #ff6b35, #ff8e53);
    color: white;
}

.btn-accent:hover {
    opacity: 0.9;
    transform: translateY(-2px);
}

/* 相关公告 */
.related-announcements {
    background: white;
    border-radius: var(--border-radius);
    padding: 25px;
    box-shadow: var(--box-shadow);
}

.related-title {
    font-size: 18px;
    margin-bottom: 20px;
    color: var(--dark);
    padding-bottom: 10px;
    border-bottom: 1px solid var(--light-gray);
}

.related-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.related-item {
    padding-bottom: 15px;
    border-bottom: 1px solid var(--light-gray);
}

.related-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.related-item h4 {
    font-size: 15px;
    margin-bottom: 8px;
    line-height: 1.4;
}

.related-item h4 a {
    color: var(--dark);
    text-decoration: none;
    transition: var(--transition);
}

.related-item h4 a:hover {
    color: var(--primary);
}

.related-meta {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: var(--gray);
}

/* 广告位2 - 详情页正文中间广告 */
.detail-middle-ad {
    margin: 30px 0;
}

.middle-ad-banner {
    background: linear-gradient(90deg, #00b09b, #96c93d);
    border-radius: var(--border-radius);
    padding: 25px;
    color: white;
    text-align: center;
    box-shadow: var(--box-shadow);
}

.middle-ad-banner h4 {
    font-size: 20px;
    margin-bottom: 10px;
}

.middle-ad-banner p {
    opacity: 0.9;
    margin-bottom: 15px;
}

/* 附件下载区域 */
.attachments {
    background: white;
    border-radius: var(--border-radius);
    padding: 25px;
    box-shadow: var(--box-shadow);
    margin-top: 30px;
}

.attachments-title {
    font-size: 18px;
    margin-bottom: 20px;
    color: var(--dark);
    padding-bottom: 10px;
    border-bottom: 1px solid var(--light-gray);
}

.attachment-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.attachment-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px;
    background: var(--light-gray);
    border-radius: var(--border-radius);
    transition: var(--transition);
}

.attachment-item:hover {
    background: #e9ecef;
}

.attachment-info {
    display: flex;
    align-items: center;
    gap: 15px;
}

.attachment-icon {
    width: 40px;
    height: 40px;
    background: var(--primary);
    border-radius: var(--border-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 18px;
}

.attachment-details h5 {
    font-size: 15px;
    margin-bottom: 5px;
    color: var(--dark);
}

.attachment-details span {
    font-size: 12px;
    color: var(--gray);
}

.download-btn {
    background: white;
    border: 1px solid var(--primary);
    color: var(--primary);
    padding: 8px 15px;
    border-radius: var(--border-radius);
    font-weight: 500;
    cursor: pointer;
    transition: var(--transition);
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.download-btn:hover {
    background: var(--primary);
    color: white;
}

/* 响应式设计 */
@media (max-width: 1200px) {
    .detail-main {
        grid-template-columns: 1fr 280px;
    }
}

@media (max-width: 992px) {
    .detail-main {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .detail-header {
        padding: 20px;
    }
    
    .detail-title {
        font-size: 24px;
    }
    
    .detail-meta {
        grid-template-columns: 1fr;
    }
    
    .detail-body {
        padding: 20px;
    }
    
    .detail-section h3 {
        font-size: 18px;
    }
    
    .info-table th, .info-table td {
        padding: 10px;
        font-size: 14px;
    }
    
    .sidebar-actions,
    .related-announcements,
    .attachments {
        padding: 20px;
    }
    
    .action-title,
    .related-title,
    .attachments-title {
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .detail-title {
        font-size: 20px;
    }
    
    .detail-badges {
        flex-wrap: wrap;
    }
    
    .sidebar-ad-banner h4,
    .middle-ad-banner h4 {
        font-size: 16px;
    }
    
    .attachment-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    
    .attachment-info {
        width: 100%;
    }
    
    .download-btn {
        align-self: flex-end;
    }
}

/* ═══════════ AI PC 专区  （原 aipc.css） ═══════════ */
/* AI PC专区样式 */
.ai-pc-section {
  max-width: 1400px;
  margin: 20px auto 40px;
  padding: 0 20px;
}

.ai-pc-banner {
  width: 100%;
  height: 400px;
  /*border-radius: var(--border-radius);*/
  overflow: hidden;
  box-shadow: var(--box-shadow);
  margin-bottom: 40px;
  position: relative;
  background: linear-gradient(90deg, #1a2980, #26d0ce);
}

.ai-pc-banner-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.3) 100%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 0 60px;
  color: white;
}

.ai-pc-banner h2 {
  font-size: 48px;
  font-weight: 800;
  margin-bottom: 15px;
  background: linear-gradient(90deg, #00d4ff, #00a0e9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.ai-pc-banner p {
  font-size: 20px;
  margin-bottom: 30px;
  max-width: 600px;
  opacity: 0.9;
  line-height: 1.6;
}

.ai-pc-banner-btn {
  background: linear-gradient(90deg, #00a0e9, #00d4ff);
  color: white;
  border: none;
  padding: 15px 35px;
  border-radius: 50px;
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition);
  font-size: 18px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 6px 20px rgba(0, 160, 233, 0.3);
}

.ai-pc-banner-btn:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 160, 233, 0.4);
}

.ai-pc-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}

.ai-pc-header h3 {
  font-size: 32px;
  color: var(--dark);
  position: relative;
  padding-bottom: 15px;
}

.ai-pc-header h3::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60px;
  height: 4px;
  background: linear-gradient(90deg, #00a0e9, #00d4ff);
  border-radius: 2px;
}

.ai-pc-filter {
  display: flex;
  gap: 15px;
}

.ai-pc-filter-select {
  padding: 12px 20px;
  border: 1px solid var(--light-gray);
  border-radius: var(--border-radius);
  font-size: 15px;
  outline: none;
  transition: var(--transition);
  background-color: white;
  cursor: pointer;
  min-width: 150px;
}

.ai-pc-filter-select:focus {
  border-color: #00a0e9;
  box-shadow: 0 0 0 3px rgba(0, 160, 233, 0.1);
}

.ai-pc-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  margin-bottom: 50px;
}

.ai-pc-card {
  background: white;
  border-radius: var(--border-radius);
  overflow: hidden;
  box-shadow: var(--box-shadow);
  transition: var(--transition);
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
}

.ai-pc-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}

.ai-pc-card-badge {
  position: absolute;
  top: 15px;
  left: 15px;
  background: linear-gradient(90deg, #ff6b35, #ff8e53);
  color: white;
  padding: 5px 12px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  z-index: 2;
}

.ai-pc-card-img {
  height: 200px;
  overflow: hidden;
  position: relative;
  background: #f5f7fa;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ai-pc-card-img i {
  font-size: 80px;
  color: #e9ecef;
}

.ai-pc-card:hover .ai-pc-card-img i {
  color: #00a0e9;
  transform: scale(1.1);
  transition: var(--transition);
}

.ai-pc-card-content {
  padding: 20px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.ai-pc-card-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px;
  color: var(--dark);
  line-height: 1.4;
}

.ai-pc-card-specs {
  margin: 15px 0;
  flex-grow: 1;
}

.ai-pc-spec-item {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 13px;
  color: var(--gray);
}

.ai-pc-spec-item i {
  color: #00a0e9;
  width: 16px;
}

.ai-pc-card-price {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid var(--light-gray);
}

.ai-pc-price {
  font-size: 24px;
  font-weight: 800;
  color: #ff6b35;
}

.ai-pc-price span {
  font-size: 14px;
  color: var(--gray);
  font-weight: 400;
  text-decoration: line-through;
  margin-left: 8px;
}

.ai-pc-card-btn {
  background: linear-gradient(90deg, #00a0e9, #00d4ff);
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 50px;
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition);
  font-size: 14px;
}

.ai-pc-card-btn:hover {
  background: linear-gradient(90deg, #0088d1, #00b8e9);
  transform: translateY(-2px);
}

.ai-pc-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin: 50px 0;
}

.ai-pc-feature {
  background: white;
  border-radius: var(--border-radius);
  padding: 30px;
  text-align: center;
  box-shadow: var(--box-shadow);
  transition: var(--transition);
}

.ai-pc-feature:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.ai-pc-feature-icon {
  width: 70px;
  height: 70px;
  background: linear-gradient(135deg, #00a0e9, #00d4ff);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  font-size: 30px;
  color: white;
}

.ai-pc-feature h4 {
  font-size: 20px;
  margin-bottom: 10px;
  color: var(--dark);
}

.ai-pc-feature p {
  color: var(--gray);
  line-height: 1.6;
}

/* ════════════ AI PC 专区 aipc 专属样式 — 由 inline <style> 迁移 ═══════════ */

/* ══════════════════════════════════════════
   AI PC 智能采购专区 — 专属样式
   ══════════════════════════════════════════ */

/* ── 核心能力三卡片 ── */
/* 说明：网格不设左内边距/白色底板，使三张卡片的左右边缘与下方
   .home-main 中内容块（.hm-block / .sb-panel）严格对齐 */
.aipc-cap-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 20px;
}
.aipc-cap-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 20px 18px;
  border-radius: 10px;
  box-shadow: 0 4px 14px rgba(15,23,42,.06);
  transition: .25s;
  cursor: default;
}
.aipc-cap-card:hover { transform: translateY(-3px); }
.aipc-cap-intent { background: linear-gradient(135deg,#eff6ff,#eef2ff); border: 1px solid #dbeafe; }
.aipc-cap-intent:hover { box-shadow: 0 6px 18px rgba(99,102,241,.12); }
.aipc-cap-expire { background: linear-gradient(135deg,#fff7ed,#fef2f2); border: 1px solid #fed7aa; }
.aipc-cap-expire:hover { box-shadow: 0 6px 18px rgba(234,88,12,.12); }
.aipc-cap-product { background: linear-gradient(135deg,#f0fdf4,#ecfdf5); border: 1px solid #bbf7d0; }
.aipc-cap-product:hover { box-shadow: 0 6px 18px rgba(16,185,129,.12); }
.aipc-cap-icon-wrap {
  width: 48px; height: 48px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px;
}
.aipc-cap-intent .aipc-cap-icon-wrap { background: #e0e7ff; color: #6366f1; }
.aipc-cap-expire .aipc-cap-icon-wrap { background: #fed7aa; color: #ea580c; }
.aipc-cap-product .aipc-cap-icon-wrap { background: #bbf7d0; color: #059669; }
.aipc-cap-body h3 { font-size: 16px; font-weight: 700; color: #1e293b; margin-bottom: 4px; }
.aipc-cap-body p { font-size: 13px; color: #64748b; line-height: 1.5; }
.aipc-cap-stat { display: flex; align-items: baseline; gap: 6px; border-top: 1px solid rgba(0,0,0,.06); padding-top: 10px; }
.aipc-cap-num { font-size: 28px; font-weight: 800; color: #1e293b; }
.aipc-cap-unit { font-size: 13px; color: #94a3b8; }

/* ── 板块区域 ── */
.aipc-section-block { position: relative; overflow: hidden; }
.aipc-section-desc {
  font-size: 14px; color: #64748b; line-height: 1.7;
  margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px dashed #e2e8f0;
}
.aipc-badge {
  display: inline-block; padding: 3px 12px; border-radius: 12px;
  font-size: 11px; font-weight: 700; white-space: nowrap;
}
.aipc-badge-intent { background: #e0e7ff; color: #4f46e5; }
.aipc-badge-expire { background: #fee2e2; color: #dc2626; }

/* ── 占位区域 ── */
.aipc-placeholder {
  display: flex; gap: 24px; align-items: center;
  background: linear-gradient(135deg, #f8fafc, #f1f5f9);
  border: 2px dashed #cbd5e1; border-radius: 12px;
  padding: 28px 32px; transition: .25s;
}
.aipc-placeholder:hover { border-color: #94a3b8; background: #f1f5f9; }
.aipc-ph-icon {
  flex-shrink: 0;
  width: 72px; height: 72px; border-radius: 16px;
  background: linear-gradient(135deg,#6366f1,#8b5cf6);
  color: #fff; display: flex; align-items: center; justify-content: center;
  font-size: 32px; opacity: .9;
}
.aipc-ph-body { flex: 1; }
.aipc-ph-body h4 { font-size: 16px; font-weight: 700; color: #1e293b; margin-bottom: 6px; }
.aipc-ph-body > p { font-size: 13px; color: #64748b; margin-bottom: 16px; }
.aipc-ph-features {
  display: grid; grid-template-columns: repeat(2,1fr); gap: 8px 20px;
}
.aipc-ph-features span {
  display: flex; align-items: center; gap: 6px;
  font-size: 13px; color: #475569;
}
.aipc-ph-features i { color: #10b981; font-size: 14px; }

/* ── 产品网格 ── */
.aipc-product-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 14px;
}
.aipc-prod-card {
  background: #fff; border: 1px solid #f1f5f9;
  border-radius: 10px; overflow: hidden; transition: .25s; position: relative;
}
.aipc-prod-card:hover { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(99,102,241,.10); border-color: #c7d2fe; }
.aipc-prod-badge {
  position: absolute; top: 10px; left: 10px; z-index: 2;
  padding: 3px 10px; border-radius: 6px; font-size: 11px; font-weight: 700;
}
.aipc-prod-badge.hot { background: #fef2f2; color: #dc2626; }
.aipc-prod-badge.gov { background: #e0e7ff; color: #4f46e5; }
.aipc-prod-badge.new { background: #d1fae5; color: #059669; }
.aipc-prod-badge.value { background: #fef3c7; color: #d97706; }
.aipc-prod-img {
  height: 110px; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(180deg,#f8fafc,#fff);
  font-size: 42px; color: #6366f1;
}
.aipc-prod-info { padding: 12px 14px 16px; }
.aipc-prod-info h4 { font-size: 14px; font-weight: 700; color: #1e293b; margin-bottom: 8px; }
.aipc-prod-specs { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; }
.aipc-prod-specs span {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; color: #64748b;
}
.aipc-prod-specs i { color: #94a3b8; font-size: 11px; width: 14px; text-align: center; }
.aipc-prod-price { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.aipc-prod-price strong { font-size: 16px; font-weight: 800; color: #dc2626; }
.aipc-prod-price del { font-size: 12px; color: #94a3b8; }
.aipc-prod-btn {
  margin-left: auto; padding: 6px 14px; border-radius: 6px;
  border: 1px solid #6366f1; background: #fff; color: #6366f1;
  font-size: 12px; font-weight: 600; cursor: pointer; transition: .2s;
}
.aipc-prod-btn:hover { background: #6366f1; color: #fff; }

/* ── 省份柱状条 ── */
.aipc-province-bars { display: flex; flex-direction: column; gap: 8px; }
.aipc-pb-row { display: flex; align-items: center; gap: 10px; }
.aipc-pb-name { width: 48px; font-size: 12px; color: #475569; text-align: right; flex-shrink: 0; }
.aipc-pb-bar-wrap { flex: 1; height: 8px; background: #f1f5f9; border-radius: 4px; overflow: hidden; }
.aipc-pb-bar { height: 100%; border-radius: 4px; background: linear-gradient(90deg,#818cf8,#6366f1); transition: width .5s; }
.aipc-pb-num { font-size: 12px; color: #94a3b8; width: 32px; flex-shrink: 0; }

/* 左/右栏板块卡片统一外观已由 home.css（共享 .home-main/.hm-*）提供，此处仅保留 aipc 专属覆盖 */

/* 采购意向框内：最新意向公告逐行列表（复用 purchase-item 卡片风格） */
.aipc-intent-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.aipc-intent-item {
  /* purchase-item 提供卡片基础，这里微调内边距 */
  padding: 18px 22px;
}
.aipc-intent-item .pi-row1 { margin-bottom: 12px; }
.aipc-intent-item .pi-row2 {
  gap: 8px 16px;
}
.aipc-intent-item .pi-row3 {
  padding-top: 4px;
}
.aipc-intent-item .pi-title {
  font-size: 16px;
  line-height: 1.6;
}
/* 采购类型标签 */
.aipc-tag {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 3px 10px; border-radius: 4px;
  font-size: 12px; font-weight: 700; white-space: nowrap;
  flex-shrink: 0;
}
.aipc-tag-type {
  background: #dbeafe; color: #1d4ed8;
}
.aipc-tag-region {
  background: #ecfdf5; color: #059669; font-size: 12px; font-weight: 500;
}
.aipc-intent-more { margin-top: 16px; text-align: right; }
.aipc-intent-more a { font-size: 13px; color: #6366f1; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; }
.aipc-intent-more a:hover { text-decoration: underline; }

/* 右栏产品推荐网格（窄栏适配：2 列） */
.hm-right .aipc-product-grid { grid-template-columns: repeat(2, 1fr); }
.hm-right .aipc-prod-info h4 { font-size: 13px; }

/* ── 响应式 ── */
@media (max-width: 1200px) {
  .aipc-product-grid { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 992px) {
  .aipc-cap-grid { grid-template-columns: 1fr; }
  .aipc-product-grid { grid-template-columns: repeat(2,1fr); }
  .aipc-placeholder { flex-direction: column; text-align: center; }
  .aipc-ph-features { grid-template-columns: 1fr; justify-items: center; }
}
@media (max-width: 768px) {
  .aipc-product-grid { grid-template-columns: repeat(2,1fr); }
  .aipc-cap-grid { gap: 12px; }
  /* 与 .home-main 的 padding 保持一致，保证上下左右对齐 */
  .home-entries.aipc-entries { padding: 0 12px; }
  .aipc-cap-card { padding: 16px 14px; }
  .aipc-placeholder { padding: 20px; }
}
@media (max-width: 480px) {
  .aipc-product-grid { grid-template-columns: 1fr; }
}
@media (max-width: 992px) {
  .hm-inner { flex-direction: column; }
  .hm-right { flex: 1 1 auto; width: 100%; }
  .hm-right .aipc-product-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  .hm-right .aipc-product-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .hm-right .aipc-product-grid { grid-template-columns: 1fr; }
}

/* ═══════════ 移动端修复：知识中心  （原 articles_mobile.css） ═══════════ */
/*
 * articles_mobile.css — 知识中心(/knowledge-center)移动端专用修复
 * 策略：不截断(overflow:hidden)，而是让每层真正 fit 屏幕宽度
 * 加载顺序：home.css → list.css → show.css → aipc.css → **本文件**（最后加载）
 */

/* 文章详情页顶部返回按钮：桌面/平板隐藏，移动端显示（底部已有返回） */
.art-back-top {
  display: none;
}

@media (max-width: 768px) {
  /* ═══════ 核弹级兜底：没有任何元素能超出父容器宽度 ═══════ */
  * {
    max-width: 100% !important;
  }
  *, *::before, *::after {
    box-sizing: border-box !important;
  }

  /* ══════ 第0层：body ══════ */
  html {
    font-size: 14px;
    -webkit-text-size-adjust: 100%;
  }

  body {
    overflow-x: clip;          /* 仅作为最后防线 */
    width: 100%;
  }

  .page-container {
    width: 100%;
    max-width: 100%;
  }

  .main-content {
    width: 100%;
    max-width: 100%;
  }

  /* ══════ 第1层：Hero 区域 ══════ */
  .home-hero {
    width: 100%;
  }
  .hero-inner {
    width: 100%;
    max-width: 100%;
    padding-left: 16px;
    padding-right: 16px;
  }

  /* ══════ 第2层：分类卡片区域 ══════ */
  .home-entries {
    width: 100%;
    max-width: 100%;
    padding: 0;
  }
  .he-inner {
    width: 100%;
    max-width: 100%;
    padding: 12px 10px;
  }
  .he-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0;
  }
  .he-card {
    padding: 8px 4px;
  }
  
  

  /* ══════ 第3层：主内容区 ══════ */
  .home-main {
    width: 100%;
    max-width: 100%;
    padding: 12px 10px;        /* 减小左右padding给内容更多空间 */
  }
  .hm-inner {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    max-width: 100%;
  }
  .hm-left {
    width: 100%;
    max-width: 100%;
    order: 1;
  }
  .hm-right {
    width: 100%;
    order: 2;
  }

  .hm-block {
    width: 100%;
    max-width: 100%;
    padding: 0;
    background: transparent;
    box-shadow: none;
    border: none;
    border-radius: 0;
  }

  /* ══════ 第4层：搜索框 ══════ */
  .search-container.article-search {
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin-bottom: 12px;
  }
  .search-container.article-search .search-box {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    padding: 10px;
    gap: 8px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 1px 6px rgba(0,0,0,.06);
  }
  .search-container.article-search .search-input {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 10px 12px;
    font-size: 15px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
  }
  .search-container.article-search .filter-search-btn {
    width: 100%;
    max-width: 100%;
    padding: 11px;
    font-size: 15px;
    border-radius: 8px;
    white-space: nowrap;
  }
  .search-container.article-search .search-sort-label {
    display: block;
    width: 100%;
    margin-top: 4px;
    font-size: 13px;
  }
  .search-container.article-search .search-sort {
    width: 100%;
    max-width: 100%;
    padding: 9px 10px;
    font-size: 14px;
  }

  /* ══════ 第5层：列表项 — 最关键部分 ══════ */
  .notice-items {
    width: 100%;
    max-width: 100%;
  }

  .purchase-item {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 12px 8px;         /* 减小内边距 */
    margin: 0;
    border: 1px solid #eee;
    border-radius: 8px;
    background: #fff;
  }

  /* --- row1: 分类标签 + 标题（竖排）--- */
  .pi-row1 {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    gap: 6px;
    margin-bottom: 8px;
  }
  .pi-left {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    min-width: 0;             /* 关键：允许flex子元素收缩 */
    gap: 6px;
  }

  /* 分类标签 */
  .notice-cat {
    display: inline-block;
    padding: 2px 8px;
    font-size: 11px;
    border-radius: 4px;
    align-self: flex-start;   /* 不撑满整行 */
  }

  /* 文章标题 — 必须换行 */
  .pi-title {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    font-size: 14px;
    line-height: 1.45;
    word-break: break-word;
    overflow-wrap: break-word;
    white-space: normal;
    overflow: visible;        /* 不截断 */
  }
  .pi-title a {
    display: block;
    color: inherit;
    text-decoration: none;
    word-break: break-word;
    overflow-wrap: break-word;
    white-space: normal;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .pi-title a:hover {
    color: #2563eb;
  }

  /* --- row2: 日期 + 阅读量 --- */
  .pi-row2 {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
  }
  .pi-meta {
    font-size: 11px;
    color: #94a3b8;
  }

  /* --- row3: 摘要 + 详情按钮（竖排）--- */
  .pi-row3 {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    gap: 10px;
    margin-top: 8px;
  }

  .pi-summary {
    width: 100%;
    max-width: 100%;
    font-size: 12px;
    line-height: 1.5;
    color: #64748b;
    word-break: break-word;
    overflow-wrap: break-word;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* 查看详情按钮：蓝色实心 */
  .pi-detail {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    padding: 11px 20px;
    background-color: #2563eb;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
  }
  .pi-detail:hover {
    background-color: #1d4ed8;
  }

  /* ══════ 第6层：分页器 ══════ */
  .notice-pagination {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: 100%;
    max-width: 100%;
    padding: 16px 0 8px;
  }
  

  /* 右侧栏在移动端隐藏（节省空间） */
  .hm-right {
    display: none;
  }

  /* ══════ 文章详情页：顶部返回按钮（与底部返回呼应） ══════ */
  .art-back-top {
    display: block;
    max-width: 100%;
    margin: 16px auto 0;
    padding: 0 20px;
  }
  .art-back-top .art-act-back {
    /* 复用底部 .art-act-back 样式，移动端稍紧凑 */
    padding: 9px 18px;
    font-size: 14px;
  }
}

/* ── 小屏手机（≤480px）：卡片变2列 ── */
@media (max-width: 480px) {
  .he-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
  }
  .he-card {
    padding: 10px 4px;
  }
  .he-card span {
    font-size: 10px;
  }

  .purchase-item {
    padding: 10px 6px;
  }
  .pi-title {
    font-size: 13px;
  }
}

/* ═══════════ 采购数据分析  （原 datas.css） ═══════════ */
/* ══════════════════════════════════════════
   采购数据分析 — 专属样式（body.datas 页面级 + .datas-section 内容级，避免全局污染）
   ══════════════════════════════════════════ */

/* 页面级背景（原 .datas-page 的 #f5f7fa，交由 body.datas 承担，避免整体 div 包裹） */
body.datas {
  --d-primary: #2563eb;
  --d-primary-2: #1d4ed8;
  --d-secondary: #00a0e9;
  --d-accent: #ff6b35;
  background: #f5f7fa;
}

/* datas 专属 hero 渐变（与 home.css 中 .home-hero .aipc 同风格） */
.home-hero .datas {
  background: linear-gradient(90deg, #00b09b, #96c93d);
}

/* 主体容器：上浮盖住 hero 底部 */
.datas-section {
  max-width: 1200px;
  margin: -56px auto 0;
  padding: 0 20px 60px;
  position: relative;
  z-index: 2;
}

/* ── 时间筛选 ── */
.datas-section .time-filter {
  background: #fff;
  border-radius: 12px;
  padding: 22px 25px;
  margin-bottom: 24px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.datas-section .filter-header { display: flex; align-items: baseline; gap: 12px; }
.datas-section .filter-header h3 {
  font-size: 18px; color: var(--dark); margin: 0;
  display: flex; align-items: center; gap: 10px;
}
.datas-section .filter-hint { font-size: 13px; color: var(--gray); }
.datas-section .filter-controls { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.datas-section .filter-group { display: flex; align-items: center; gap: 8px; }
.datas-section .filter-group label { font-size: 14px; color: var(--gray); }
.datas-section .filter-group input {
  padding: 9px 13px; border: 1px solid var(--light-gray); border-radius: 8px;
  font-size: 14px; color: var(--dark); outline: none;
}
.datas-section .filter-group input:focus {
  border-color: var(--d-primary); box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}
.datas-section .filter-btn {
  background: linear-gradient(135deg, #2563eb, #00a0e9); color: #fff; border: none;
  padding: 11px 24px; border-radius: 8px; font-weight: 600; font-size: 14px; cursor: pointer;
  display: flex; align-items: center; gap: 8px; transition: transform 0.2s, box-shadow 0.2s;
}
.datas-section .filter-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(37, 99, 235, 0.3); }

/* ── 图表 ── */
.datas-section .chart-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 24px; }
.datas-section .chart-card { background: #fff; border-radius: 12px; padding: 24px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); min-width: 0; }
.datas-section .chart-card.full-width { grid-column: 1 / -1; }
.datas-section .chart-header {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 20px; gap: 12px; flex-wrap: wrap;
}
.datas-section .chart-header h3 { font-size: 18px; color: var(--dark); margin: 0; }
.datas-section .chart-subtitle { font-size: 13px; color: var(--gray); }
.datas-section .chart-actions { display: flex; gap: 8px; }
.datas-section .chart-btn {
  padding: 7px 16px; border: 1px solid var(--light-gray); background: #fff; border-radius: 20px;
  font-size: 13px; color: var(--gray); cursor: pointer; transition: all 0.2s;
}
.datas-section .chart-btn.active { background: var(--d-primary); color: #fff; border-color: var(--d-primary); }
.datas-section .chart-btn:hover:not(.active) { border-color: var(--d-primary); color: var(--d-primary); }
.datas-section .chart-container { height: 320px; position: relative; }

/* ── 移动端响应式（核弹级兜底） ── */
@media (max-width: 768px) {
  /* 核弹级：所有子元素不超容器 */
  .datas-section,
  .datas-section * {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .datas-section { padding: 0 12px 40px; }

  /* 筛选区：竖排 */
  .datas-section .time-filter {
    flex-direction: column; align-items: stretch; padding: 18px 16px;
  }
  .datas-section .filter-header {
    flex-direction: column; align-items: flex-start; gap: 6px; margin-bottom: 14px;
  }
  .datas-section .filter-header h3 { font-size: 16px; }
  .datas-section .filter-controls {
    flex-direction: column; align-items: stretch; gap: 12px;
  }
  .datas-section .filter-group {
    flex-direction: column; align-items: stretch; gap: 6px;
  }
  .datas-section .filter-group label { font-size: 13px; }
  .datas-section .filter-group input {
    width: 100%; padding: 10px 12px; font-size: 15px; /* 防止 iOS 缩放 */
  }
  .datas-section .filter-btn {
    width: 100%; justify-content: center; padding: 12px 20px;
  }

  /* 图表：单列 */
  .datas-section .chart-row { grid-template-columns: 1fr; gap: 16px; margin-bottom: 16px; }
  .datas-section .chart-card { padding: 16px; border-radius: 10px; }
  .datas-section .chart-header {
    flex-direction: column; align-items: flex-start; margin-bottom: 14px; gap: 8px;
  }
  .datas-section .chart-header h3 { font-size: 16px; }
  .datas-section .chart-container { height: 260px; }

  /* Banner */
  .datas-section .middle-banner { padding: 24px 16px; margin: 24px 0; border-radius: 10px; }
  .datas-section .middle-banner h3 { font-size: 20px; }
  .datas-section .middle-banner p { font-size: 14px; }
  .datas-section .banner-btn { padding: 10px 24px; font-size: 14px; }
}

@media (max-width: 480px) {
  .datas-section { padding: 0 10px 30px; }
  .datas-section .time-filter { padding: 14px 12px; border-radius: 10px; }
  .datas-section .chart-card { padding: 12px; }
  .datas-section .chart-container { height: 220px; }
  .datas-section .middle-banner h3 { font-size: 18px; }
}

/* ═══════════ 错误页（403 等）  （原 errors.css） ═══════════ */
/* ════════════════════════════════════════════════
   错误页（403 访问受限等）— 与站点品牌色一致
   主色取自 home.css :root --primary: #0052d9
   ════════════════════════════════════════════════ */

.error-page {
  max-width: 640px;
  margin: 56px auto;
  padding: 0 16px;
  text-align: center;
  min-height: calc(100vh - 320px);
  display: flex;
  align-items: center;
  justify-content: center;
}

.error-card {
  background: #fff;
  border: 1px solid #eef2f1;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 82, 217, .08);
  padding: 48px 40px 40px;
  width: 100%;
}

.error-emblem {
  width: 72px;
  height: 72px;
  margin: 0 auto 18px;
  border-radius: 50%;
  background: #e8f0fe;
  color: #0052d9;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
}

.error-code {
  font-size: 92px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 2px;
  background: linear-gradient(135deg, #0052d9, #00a0e9);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #0052d9; /* 兜底 */
  margin-bottom: 6px;
}

.error-title {
  font-size: 22px;
  font-weight: 700;
  color: #1e293b;
  margin: 0 0 14px;
}

.error-desc {
  font-size: 15px;
  color: #475569;
  line-height: 1.7;
  margin: 0 0 10px;
}

.error-hint {
  font-size: 13px;
  color: #94a3b8;
  line-height: 1.7;
  margin: 0 0 28px;
  padding-top: 14px;
  border-top: 1px dashed #e2e8f0;
}

.error-trace {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 26px;
  padding: 8px 14px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}

.error-trace-label {
  font-size: 12px;
  color: #94a3b8;
}

.error-trace-id {
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  font-size: 13px;
  font-weight: 700;
  color: #0052d9;
  letter-spacing: .5px;
  user-select: all;
}

.error-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

.btn-error {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 22px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: all .2s ease;
}

.btn-error.btn-primary {
  background: #0052d9;
  color: #fff;
  box-shadow: 0 6px 16px rgba(0, 82, 217, .25);
}

.btn-error.btn-primary:hover {
  background: #003db0;
  transform: translateY(-1px);
}

.btn-error.btn-ghost {
  background: #f1f5f9;
  color: #475569;
  border: 1px solid #e2e8f0;
}

.btn-error.btn-ghost:hover {
  background: #e2e8f0;
  color: #1e293b;
}

@media (max-width: 480px) {
  .error-card { padding: 36px 22px 30px; }
  .error-code { font-size: 72px; }
  .error-actions { flex-direction: column; }
  .btn-error { justify-content: center; }
}

/* ═══════════ 移动端修复：政策页 / 搜索区  （原 policy_mobile.css） ═══════════ */
/*
 * policy_mobile.css — 移动端适配（policy + home/index 等全局搜索框修复）
 *
 * 加载顺序：home.css → ... → **本文件**（最后加载 = 最高优先级）
 * 策略：核弹级 max-width:100% 兜底 + 容器链全宽约束 + 搜索/筛选区竖排
 *
 * 关键根因：home.css ~2299 行有未作用域限制的
 *   .search-input, .search-btn { width: 100% }
 *   这条规则会把所有使用 .search-input/.search-btn 的搜索框（首页、政策页等）
 *   在 ≤768px 时都打为全宽，必须用更高优先级的选择器逐一覆盖。
 */

/* ── 默认隐藏：桌面端不显示 ── */
.policy-back-top {
  display: none;
}

@media (max-width: 768px) {

  /* ═══ 核弹级兜底：所有子元素不超容器 ═══ */
  .policy-page * {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* 根级别防横向滚动 */
  .policy-page,
  .policy-container,
  html body .policy-page {
    overflow-x: clip;
    width: 100%;
  }

  /* 容器链全宽 */
  .policy-container {
    grid-template-columns: 1fr !important;
    padding: 0 12px;
    margin-top: -40px;
    gap: 16px;
  }

  .policy-main {
    border-radius: 12px;
  }

  /* Hero 区缩小 */
  .policy-hero {
    padding: 32px 14px 60px;
  }
  .policy-hero-title {
    font-size: 28px;
  }
  .policy-hero-sub {
    font-size: 14px;
  }

  /* 筛选工具栏竖排 */
  .policy-toolbar {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px;
    padding: 14px;
    margin-bottom: 16px;
  }

  .filter-pills {
    justify-content: flex-start;
    gap: 8px;
  }

  .filter-pill {
    padding: 7px 14px;
    font-size: 13px;
  }

  

  .sort-select {
    flex: 1;
  }

  /* 列表项紧凑化 */
  .policy-list-section {
    padding: 16px !important;
  }

  .special-article-section {
    padding: 16px !important;
  }

  .policy-item {
    padding: 16px;
    border-radius: 8px;
  }

  .policy-title {
    font-size: 16px;
    white-space: normal !important;
    line-height: 1.5;
  }

  .policy-summary {
    font-size: 13px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .policy-item-top {
    flex-wrap: wrap;
  }

  .policy-foot {
    flex-wrap: wrap;
  }

  /* 侧边栏在移动端全宽展示（堆叠在列表下方） */
  .policy-sidebar {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .sidebar-section {
    border-radius: 10px;
    overflow: hidden;
  }

  /* ── 侧边栏搜索框：移动端全宽优化 ── */
  .policy-search .search-tool {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    padding: 4px;
    gap: 4px;
  }

  /* 关键：必须覆盖 home.css 第2299行的无作用域 width:100% */
  .policy-search .search-input {
    flex: 1 1 0% !important;
    width: 0 !important;          /* 让 flex-grow 控制宽度，不被 width:100% 污染 */
    min-width: 0 !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
    border-radius: 8px !important;
  }

  .policy-search .search-btn {
    flex: 0 0 auto !important;
    width: auto !important;        /* 按钮按内容尺寸，不被 width:100% 撑开 */
    min-width: 38px !important;
    max-width: none !important;    /* 脱离核弹级 max-width 兜底对按钮的限制 */
    min-height: 38px !important;
    padding: 0 14px !important;
    border-radius: 8px !important;
    font-size: 15px !important;
  }

  /* 分类按钮全宽 */
  .category-item {
    width: 100%;
    justify-content: space-between;
    padding: 12px 14px;
  }

  /* 热门政策 / 最新发布 */
  .popular-policy-item,
  .latest-policy-item {
    padding: 10px 0;
  }

  .popular-title,
  .latest-title {
    font-size: 14px;
    line-height: 1.4;
  }

  /* 政解读卡片 */
  .interpretation-content {
    padding: 20px 16px;
    text-align: center;
  }
}

@media (max-width: 480px) {

  .policy-hero-title {
    font-size: 24px;
  }

  .policy-toolbar {
    padding: 12px;
  }

  .filter-pills {
    gap: 6px;
  }

  .filter-pill {
    padding: 6px 12px;
    font-size: 12px;
  }

  .policy-item {
    padding: 14px 12px;
  }

  .policy-title {
    font-size: 15px;
  }

  .policy-search .search-input {
    font-size: 13px !important;
    padding: 9px 10px !important;
  }

  .policy-search .search-btn {
    min-height: 34px !important;
    min-width: 34px !important;
  }
}

/* ════════════════════════════════════════════════════════════════
   首页（home/index）搜索框移动端修复
   覆盖 home.css ~2299 行无作用域 .search-input,.search-btn{width:100%}
   ════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* 首页搜索框：保持横排，input 撑满 + 按钮紧凑 */
  .search-container.page-section .search-box {
    flex-direction: row !important;       /* 覆盖 home.css 的 column */
    border-radius: 12px !important;
    padding: 5px !important;
    gap: 6px !important;
  }

  /* 脱离 width:100% 污染 */
  .search-container.page-section .search-input {
    flex: 1 1 0% !important;
    width: 0 !important;
    min-width: 0 !important;
    border-radius: 8px !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
  }

  .search-container.page-section .search-btn {
    flex: 0 0 auto !important;
    width: auto !important;               /* 脱离 width:100% */
    max-width: none !important;            /* 脱离核弹级兜底对按钮限制 */
    min-width: 64px !important;              /* 保证"搜索"文字不折行 */
    min-height: 42px !important;
    padding: 0 18px !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    white-space: nowrap !important;
  }

  /* 热门搜索：移动端显示全部标签，与 PC 一致
     覆盖 home.css ~2590 行 .hot-tag:nth-child(n+4){display:none} */
  .search-container.page-section .hot-search {
    flex-wrap: wrap !important;
    overflow-x: visible !important;
    justify-content: flex-start !important;
  }
  .search-container.page-section .hot-tag {
    display: inline-flex !important;
  }
}

/* ═══════════ 产品评测详情  （原 product_showcase.css） ═══════════ */
/* ═══════ 产品评测详情页 product_showcases/show ═══════ */

/* ===== 英雄区 ===== */
.ps-hero {
  position: relative;
  background: linear-gradient(135deg, #0f766e 0%, #0d9488 55%, #0ea5e9 100%);
  color: #fff;
  padding: 54px 20px 46px;
  overflow: hidden;
}
.ps-hero-inner { max-width: 1200px; margin: 0 auto; }
.ps-hero h1 {
  font-size: 30px; font-weight: 700; margin: 0 0 10px;
  text-shadow: 0 2px 8px rgba(0,0,0,0.12);
}
.ps-hero-sub {
  font-size: 16px; opacity: .92; margin: 0 0 18px;
  max-width: 760px; line-height: 1.6;
}
.ps-breadcrumb {
  font-size: 13px; opacity: .9; display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
}
.ps-breadcrumb a { color: #fff; text-decoration: none; opacity: .92; }
.ps-breadcrumb a:hover { text-decoration: underline; opacity: 1; }
.ps-breadcrumb .ps-sep { opacity: .6; }
.ps-breadcrumb span:last-child { opacity: 1; font-weight: 500; }

/* ===== 双栏布局 ===== */
.ps-layout {
  max-width: 1200px; margin: 32px auto 60px; padding: 0 20px;
  display: grid; grid-template-columns: 1fr 320px; gap: 32px; align-items: start;
}
.ps-main { min-width: 0; }

/* ===== 头部 ===== */
.ps-header {
  background: #fff; border-radius: 12px; padding: 34px 40px; margin-bottom: 22px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
.ps-cat {
  display: inline-flex; align-items: center; gap: 6px;
  background: linear-gradient(135deg, #0d9488, #0ea5e9);
  color: #fff; padding: 5px 16px; border-radius: 20px;
  font-size: 13px; font-weight: 500; margin-bottom: 16px;
}
.ps-title {
  font-size: 27px; font-weight: 700; color: #1e293b; line-height: 1.5; margin: 0 0 18px;
}
.ps-meta { display: flex; flex-wrap: wrap; gap: 6px 22px; padding-top: 16px; border-top: 1px solid #f1f5f9; }
.ps-meta-item { font-size: 13px; color: #64748b; display: flex; align-items: center; gap: 5px; }
.ps-meta-item i { color: #0d9488; font-size: 13px; }

/* ===== Banner 画廊 ===== */
.ps-gallery { margin-bottom: 22px; }
.ps-gallery-main {
  background: #fff; border-radius: 12px; overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
  display: flex; align-items: center; justify-content: center;
}
.ps-gallery-img { width: 100%; max-height: 520px; object-fit: contain; display: block; background: #f8fafc; }
.ps-gallery-thumbs { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.ps-thumb {
  width: 84px; height: 64px; border-radius: 8px; overflow: hidden; padding: 0;
  border: 2px solid transparent; cursor: pointer; background: #f1f5f9; transition: border-color .2s;
}
.ps-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ps-thumb.active { border-color: #0d9488; }
.ps-gallery-empty {
  background: linear-gradient(160deg, #ecfeff, #f0fdfa); border-radius: 12px;
  height: 280px; display: flex; align-items: center; justify-content: center;
  font-size: 86px; color: #0d9488; margin-bottom: 22px;
}

/* ===== 内容区块 ===== */
.ps-section { background: #fff; border-radius: 12px; padding: 30px 38px; margin-bottom: 22px; box-shadow: 0 2px 12px rgba(0,0,0,0.04); }
.ps-section-title {
  font-size: 19px; color: #1e293b; margin: 0 0 18px; padding-bottom: 12px;
  border-bottom: 2px solid #f1f5f9; display: flex; align-items: center; gap: 9px; font-weight: 700;
}
.ps-section-title i { color: #0d9488; }
.ps-prose { font-size: 15.5px; line-height: 1.9; color: #334155; word-break: break-word; }
.ps-prose p { margin-bottom: 16px; }
.ps-prose p:last-child { margin-bottom: 0; }

/* 核心参数表 */
.ps-spec-table { border: 1px solid #eef2f6; border-radius: 10px; overflow: hidden; }
.ps-spec-row { display: flex; }
.ps-spec-row:nth-child(odd) { background: #f8fafc; }
.ps-spec-row + .ps-spec-row { border-top: 1px solid #eef2f6; }
.ps-spec-label {
  width: 160px; flex-shrink: 0; padding: 12px 18px; background: #f1f5f9;
  color: #64748b; font-size: 14px; font-weight: 500;
}
.ps-spec-value { flex: 1; padding: 12px 18px; color: #1e293b; font-size: 14.5px; }

/* 空状态 */
.ps-empty { text-align: center; padding: 50px 20px; color: #94a3b8; }
.ps-empty i { font-size: 38px; display: block; margin-bottom: 12px; }

/* 声明 */
.ps-declare {
  background: #fff; border-radius: 12px; padding: 16px 24px; margin-bottom: 22px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
  font-size: 13px; color: #94a3b8; line-height: 1.7; display: flex; align-items: flex-start; gap: 10px;
}
.ps-declare i { color: #0d9488; font-size: 16px; margin-top: 2px; flex-shrink: 0; }

/* 操作栏 */
.ps-actions { display: flex; gap: 12px; margin-bottom: 22px; justify-content: space-between; align-items: center; flex-wrap: wrap; }
.ps-act-back {
  display: inline-flex; align-items: center; gap: 6px; padding: 10px 20px; border-radius: 24px;
  border: 1px solid #e2e8f0; background: #fff; color: #475569; text-decoration: none; font-size: 14px; white-space: nowrap; transition: all .2s;
}
.ps-act-back:hover { border-color: #0d9488; color: #0d9488; box-shadow: 0 2px 8px rgba(13,148,136,0.08); }
.ps-act-btn {
  display: inline-flex; align-items: center; gap: 6px; padding: 10px 24px; border: 1px solid #e2e8f0;
  border-radius: 24px; background: #fff; color: #475569; cursor: pointer; transition: all .2s; font-size: 14px; white-space: nowrap;
}
.ps-act-btn:hover { border-color: #0d9488; color: #0d9488; box-shadow: 0 2px 8px rgba(13,148,136,0.08); }
.ps-act-btn.ps-act-active { background: #ecfdf5; border-color: #0d9488; color: #0d9488; }

/* 相关推荐 */
.ps-related { background: #fff; border-radius: 12px; padding: 26px 30px; box-shadow: 0 2px 12px rgba(0,0,0,0.04); }
.ps-related-title { font-size: 18px; color: #1e293b; margin: 0 0 20px; display: flex; align-items: center; gap: 8px; font-weight: 600; }
.ps-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ps-r-card {
  border: 1px solid #f1f5f9; border-radius: 10px; overflow: hidden; text-decoration: none;
  transition: all .25s; display: flex; flex-direction: column; background: #fff;
}
.ps-r-card:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,0.06); border-color: #5eead4; }
.ps-rc-media { height: 140px; overflow: hidden; background: linear-gradient(160deg, #ecfeff, #f0fdfa); display: flex; align-items: center; justify-content: center; font-size: 40px; color: #0d9488; }
.ps-rc-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.ps-r-card:hover .ps-rc-media img { transform: scale(1.05); }
.ps-rc-body { padding: 14px 16px; flex: 1; display: flex; flex-direction: column; gap: 6px; }
.ps-rc-title { font-size: 14px; color: #1e293b; font-weight: 500; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ps-rc-cat { font-size: 12px; color: #94a3b8; }
.ps-r-card:hover .ps-rc-title { color: #0d9488; }

/* ===== 右侧栏 ===== */
.ps-side { position: sticky; top: 20px; display: flex; flex-direction: column; gap: 20px; }
.ps-side-card { background: #fff; border-radius: 12px; padding: 22px; box-shadow: 0 2px 12px rgba(0,0,0,0.04); }
.ps-side-title { font-size: 16px; color: #1e293b; margin: 0 0 16px; display: flex; align-items: center; gap: 8px; font-weight: 600; }
.ps-side-title i { color: #0d9488; }
.ps-si-row { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; font-size: 13px; }
.ps-si-row + .ps-si-row { border-top: 1px solid #f8fafc; }
.ps-si-label { color: #94a3b8; }
.ps-si-val { color: #1e293b; font-weight: 500; text-align: right; }

/* 热门评测 */
.ps-sh-item { display: flex; align-items: flex-start; gap: 10px; padding: 10px 0; }
.ps-sh-item + .ps-sh-item { border-top: 1px solid #f8fafc; }
.ps-sh-rank {
  width: 22px; height: 22px; border-radius: 6px; background: #f1f5f9; color: #94a3b8;
  font-size: 12px; font-weight: 600; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px;
}
.ps-sh-top3 { background: linear-gradient(135deg, #0d9488, #0ea5e9); color: #fff; }
.ps-sh-body { flex: 1; min-width: 0; }
.ps-sh-link {
  font-size: 13px; color: #1e293b; text-decoration: none; line-height: 1.5;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.ps-sh-link:hover { color: #0d9488; }

/* ===== 响应式 ===== */
@media (max-width: 992px) {
  .ps-layout { grid-template-columns: 1fr; }
  .ps-side { position: static; }
}
@media (max-width: 768px) {
  .ps-hero { padding: 40px 18px 34px; }
  .ps-hero h1 { font-size: 24px; }
  .ps-header { padding: 24px 20px; }
  .ps-title { font-size: 22px; }
  .ps-section { padding: 22px 20px; }
  .ps-related-grid { grid-template-columns: repeat(2, 1fr); }
  /* 移动端隐藏主内容区的返回按钮，保留侧栏（堆叠到底部）的全宽返回，避免重复 */
  .ps-actions { display: none; }
}
@media (max-width: 480px) {
  .ps-related-grid { grid-template-columns: 1fr; }
  .ps-spec-label { width: 110px; padding: 10px 12px; }
  .ps-spec-value { padding: 10px 12px; }
  .ps-act-btn { padding: 8px 16px; font-size: 13px; }
}

/* ═══════════ 采购学苑  （原 purchase_college.css） ═══════════ */
/* ════════════════════════════════════════════════════════════════
   采购学苑 purchase_college —— 专属样式
   主题：翡翠绿（学苑 / 成长）+ 各模块强调色
   参考 aipc 专区设计语言，配色独立于 aipc（蓝青）与政策页（红金）
   ════════════════════════════════════════════════════════════════ */

/* ── Hero 背景（翡翠绿 → 天蓝）── */
.home-hero .hero-bg.college {
  background: linear-gradient(120deg, #065f46 0%, #0d9488 45%, #0ea5e9 100%);
}

/* ════════════ 四大能力卡片 ════════════ */
.pc-cap-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  position: relative;
  z-index: 2;
}
.pc-cap-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 22px 20px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
  text-decoration: none;
  color: inherit;
  transition: .25s;
  border: 1px solid #eef2f1;
  border-top: 3px solid transparent;
}
.pc-cap-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(0, 0, 0, .12); }
.pc-cap-icon-wrap {
  width: 50px; height: 50px; border-radius: 14px;
  display: flex; align-items: center; justify-content: center; font-size: 22px;
}
.pc-cap-body h3 { font-size: 17px; font-weight: 700; color: #1e293b; margin-bottom: 4px; }
.pc-cap-body p { font-size: 13px; color: #64748b; line-height: 1.55; }
.pc-cap-body { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.pc-cap-stat { display: flex; align-items: baseline; gap: 6px; border-top: 1px solid #f1f5f4; padding-top: 10px; }
.pc-cap-num { font-size: 26px; font-weight: 800; color: #1e293b; }
.pc-cap-unit { font-size: 13px; color: #94a3b8; }

/* 各卡片强调色 */
.pc-cap-review { border-top-color: #0d9488; }
.pc-cap-review .pc-cap-icon-wrap { background: #ccfbf1; color: #0d9488; }
.pc-cap-review:hover { box-shadow: 0 14px 30px rgba(13, 148, 136, .18); }

.pc-cap-ai { border-top-color: #6366f1; }
.pc-cap-ai .pc-cap-icon-wrap { background: #e0e7ff; color: #6366f1; }
.pc-cap-ai:hover { box-shadow: 0 14px 30px rgba(99, 102, 241, .18); }

.pc-cap-case { border-top-color: #dc2626; }
.pc-cap-case .pc-cap-icon-wrap { background: #fee2e2; color: #dc2626; }
.pc-cap-case:hover { box-shadow: 0 14px 30px rgba(220, 38, 38, .18); }

.pc-cap-tip { border-top-color: #d97706; }
.pc-cap-tip .pc-cap-icon-wrap { background: #fef3c7; color: #d97706; }
.pc-cap-tip:hover { box-shadow: 0 14px 30px rgba(217, 119, 6, .18); }

/* ════════════ 区块通用 ════════════ */
.pc-block { position: relative; }
.pc-block .hm-block-hd h2 i { color: #0d9488; }
.pc-section-desc {
  font-size: 14px; color: #64748b; line-height: 1.7;
  margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px dashed #e2e8f0;
}
.pc-badge {
  display: inline-block; padding: 3px 12px; border-radius: 12px;
  font-size: 11px; font-weight: 700; white-space: nowrap;
}
.pc-badge-review { background: #ccfbf1; color: #0f766e; }
.pc-badge-ai     { background: #e0e7ff; color: #4f46e5; }
.pc-badge-case   { background: #fee2e2; color: #dc2626; }
.pc-badge-tip    { background: #fef3c7; color: #b45309; }

.pc-subtitle {
  font-size: 15px; font-weight: 700; color: #1e293b;
  display: flex; align-items: center; gap: 8px; margin: 22px 0 14px;
}
.pc-subtitle i { color: #0d9488; }
.pc-subtitle-gap { margin-top: 26px; }

.pc-tip-note {
  margin-top: 14px; font-size: 12.5px; color: #94a3b8;
  background: #f8fafc; border: 1px dashed #e2e8f0; border-radius: 8px;
  padding: 10px 14px; display: flex; align-items: flex-start; gap: 6px; line-height: 1.6;
}
.pc-tip-note i { color: #0d9488; margin-top: 2px; }

/* ════════════ 产品评测：品类 Tab + 卡片 ════════════ */
.pc-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.pc-tab {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 9px 18px; border-radius: 20px; font-size: 14px; font-weight: 600;
  color: #475569; background: #f1f5f4; border: 1px solid transparent;
  cursor: pointer; transition: .2s;
}
.pc-tab i { font-size: 14px; }
.pc-tab:hover { background: #ecfdf5; color: #0f766e; }
.pc-tab.active { background: #0d9488; color: #fff; box-shadow: 0 4px 12px rgba(13, 148, 136, .25); }

.pc-review-panel { display: none; }
.pc-review-panel.active { display: block; animation: pcFade .3s ease; }
@keyframes pcFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

.pc-review-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px;
}
.pc-review-card {
  background: #fff; border: 1px solid #eef2f1; border-radius: 10px;
  overflow: hidden; transition: .25s; display: flex; flex-direction: column;
}
.pc-review-card:hover { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(13, 148, 136, .12); border-color: #99f6e4; }
.pc-review-media {
  position: relative; height: 130px; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(160deg, #f0fdfa, #ecfeff); font-size: 46px; color: #0d9488;
}
.pc-review-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pc-review-ribbon {
  position: absolute; top: 10px; left: 10px; z-index: 2;
  background: #0d9488; color: #fff; font-size: 11px; font-weight: 700;
  padding: 3px 10px; border-radius: 6px;
}
.pc-review-score {
  position: absolute; bottom: 10px; right: 10px; z-index: 2;
  background: #fff; color: #d97706; font-size: 13px; font-weight: 800;
  padding: 3px 10px; border-radius: 20px; box-shadow: 0 2px 8px rgba(0, 0, 0, .1);
  display: inline-flex; align-items: center; gap: 3px;
}
.pc-review-score i { font-size: 11px; }
.pc-review-body { padding: 14px 16px 16px; display: flex; flex-direction: column; flex: 1; }
.pc-review-title { font-size: 15px; font-weight: 700; color: #1e293b; margin: 0 0 8px; line-height: 1.4; }
.pc-review-title a { color: inherit; text-decoration: none; }
.pc-review-title a:hover { color: #0d9488; }
.pc-review-summary { font-size: 13px; color: #64748b; line-height: 1.6; margin: 0 0 12px; flex: 1; }
.pc-review-foot { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.pc-review-cat { font-size: 12px; color: #0f766e; display: inline-flex; align-items: center; gap: 4px; }
.pc-review-views { font-size: 12px; color: #94a3b8; display: inline-flex; align-items: center; gap: 4px; }
.pc-review-link {
  display: block; text-align: center; padding: 8px; border-radius: 8px;
  background: #f0fdfa; color: #0f766e; font-size: 13px; font-weight: 600; text-decoration: none; transition: .2s;
}
.pc-review-link:hover { background: #0d9488; color: #fff; }

.pc-review-empty {
  text-align: center; padding: 40px 20px; color: #94a3b8;
  background: #f8fafc; border: 1px dashed #e2e8f0; border-radius: 10px;
}
.pc-review-empty i { font-size: 34px; color: #99f6e4; display: block; margin-bottom: 10px; }
.pc-review-empty p { font-size: 13px; margin: 0; }

/* ════════════ AI+采购：产品展示 ════════════ */
.pc-product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.pc-prod-card {
  background: #fff; border: 1px solid #eef2f1; border-radius: 10px;
  overflow: hidden; transition: .25s; position: relative;
  display: flex; flex-direction: column;
}
.pc-prod-card:hover { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(99, 102, 241, .12); border-color: #c7d2fe; }
.pc-prod-badge {
  position: absolute; top: 10px; left: 10px; z-index: 2;
  padding: 3px 10px; border-radius: 6px; font-size: 11px; font-weight: 700;
}
.pc-prod-badge.hot  { background: #fef2f2; color: #dc2626; }
.pc-prod-badge.gov  { background: #e0e7ff; color: #4f46e5; }
.pc-prod-badge.new  { background: #d1fae5; color: #059669; }
.pc-prod-badge.value { background: #fef3c7; color: #d97706; }
.pc-prod-img {
  height: 110px; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(180deg, #f5f3ff, #fff); font-size: 42px; color: #6366f1;
}
.pc-prod-info { padding: 12px 14px 16px; display: flex; flex-direction: column; flex: 1; }
.pc-prod-info h4 { font-size: 14px; font-weight: 700; color: #1e293b; margin: 0 0 8px; line-height: 1.45; height: 2.6em; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.pc-prod-specs { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; flex: 1; }
.pc-prod-specs span { display: flex; align-items: center; gap: 6px; font-size: 12px; color: #64748b; }
.pc-prod-specs i { color: #a5b4fc; font-size: 11px; width: 14px; text-align: center; }
.pc-prod-price { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: auto; padding-top: 8px; }
.pc-prod-price strong { font-size: 16px; font-weight: 800; color: #dc2626; }
.pc-prod-price del { font-size: 12px; color: #94a3b8; }
.pc-prod-btn {
  margin-left: auto; padding: 6px 14px; border-radius: 6px;
  border: 1px solid #6366f1; background: #fff; color: #6366f1;
  font-size: 12px; font-weight: 600; cursor: pointer; transition: .2s;
}
.pc-prod-btn:hover { background: #6366f1; color: #fff; }

/* AI 资讯 / 投标技巧 列表 */
.pc-news-list, .pc-tip-list { display: flex; flex-direction: column; gap: 12px; }
.pc-news-item, .pc-tip-item { padding: 16px 18px; }
.pc-tag {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 3px 10px; border-radius: 4px; font-size: 12px; font-weight: 700;
  white-space: nowrap; flex-shrink: 0;
}
.pc-tag-ai  { background: #e0e7ff; color: #4f46e5; }
.pc-tag-tip { background: #fef3c7; color: #b45309; }
.pc-news-item .pi-summary, .pc-tip-item .pi-summary { margin: 0; }

/* ════════════ 采购案例 ════════════ */
.pc-case-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.pc-case-card {
  background: #fff; border: 1px solid #fef2f2; border-left: 4px solid #dc2626;
  border-radius: 10px; padding: 16px 18px; transition: .25s;
}
.pc-case-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(220, 38, 38, .1); }
.pc-case-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; gap: 10px; }
.pc-case-no { font-size: 12px; color: #dc2626; font-weight: 700; display: inline-flex; align-items: center; gap: 4px; }
.pc-case-date { font-size: 12px; color: #94a3b8; display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
.pc-case-title { font-size: 15px; font-weight: 700; color: #1e293b; margin: 0 0 8px; line-height: 1.45; }
.pc-case-title a { color: inherit; text-decoration: none; }
.pc-case-title a:hover { color: #dc2626; }
.pc-case-summary { font-size: 13px; color: #64748b; line-height: 1.6; margin: 0 0 12px; }
.pc-case-foot { display: flex; align-items: center; justify-content: space-between; padding-top: 10px; border-top: 1px solid #fef2f2; }
.pc-case-org { font-size: 12px; color: #94a3b8; display: inline-flex; align-items: center; gap: 4px; }
.pc-case-link { font-size: 13px; color: #dc2626; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; }
.pc-case-link:hover { text-decoration: underline; }

/* ════════════ 订阅卡片（学苑主题）══════════ */
.pc-sub { background: linear-gradient(135deg, #065f46, #0d9488); }
.pc-sub .sub-left h3 { color: #fff; }
.pc-sub .sub-left p { color: rgba(255, 255, 255, .85); }
.pc-sub .sub-btn { background: #fff; color: #0d9488; }
.pc-sub .sub-btn:hover { background: #f0fdfa; }
.pc-sub .sub-icon { color: #fff; }

/* ════════════ 响应式 ════════════ */
@media (max-width: 1200px) {
  .pc-cap-grid { grid-template-columns: repeat(2, 1fr); }
  .pc-review-grid { grid-template-columns: repeat(3, 1fr); }
  .pc-product-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 992px) {
  .hm-inner { grid-template-columns: 1fr; }
  .hm-right { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  .pc-review-grid { grid-template-columns: repeat(2, 1fr); }
  .pc-product-grid { grid-template-columns: repeat(2, 1fr); }
  .pc-case-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .pc-cap-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .pc-cap-card { padding: 16px 14px; }
  .pc-tabs { gap: 8px; }
  .pc-tab { padding: 8px 14px; font-size: 13px; }
  .hm-right { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .pc-cap-grid { grid-template-columns: 1fr; }
  .pc-review-grid { grid-template-columns: 1fr; }
  .pc-product-grid { grid-template-columns: 1fr; }
  .pc-case-grid { grid-template-columns: 1fr; }
}

/* ═══════════ 站点地图 / 电子保函 共享样式（原 _smn_styles + _ggt_styles） ═══════════ */
/* ══════════ 基础 ══════════ */
.smn-page { position: relative; min-height: 100vh; color: #334155;
  font-family: -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  font-variant-numeric: tabular-nums; background: #f5f7fa; }
.smn-page * { box-sizing: border-box; }
.smn-page a { text-decoration: none; color: inherit; }
.smn-page .wrap { width: 1200px; margin: 0 auto; position: relative; z-index: 1; }
.spark { position: fixed; left: 0; right: 0; top: 0; height: 2px; z-index: 30;
  background: linear-gradient(90deg, #22d3ee, #4f7cff 46%, #f59e0b);
  box-shadow: 0 1px 14px rgba(79,124,255,.4); }

/* ── Hero ── */
.home-hero.smn-hero { position: relative; margin-top: 0; border-radius: 0; overflow: visible;
  background: transparent; scroll-margin-top: 14px; padding: 0; }
.smn-hero .hero-bg { display: none; }
.smn-hero .hero-inner { position: relative; z-index: auto; max-width: none; margin: 0; padding: 0; }
.main-content { padding-left: 0; padding-right: 0; }
.smn-search-card { position: relative; margin: 0; display: grid; grid-template-columns: minmax(0,1fr) 420px; align-items: center;
  gap: 0; padding: 0 max(24px, calc((100% - 1200px) / 2)); border-radius: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.70), rgba(255,255,255,.42));
  border-top: 1px solid rgba(255,255,255,.78); border-bottom: 1px solid rgba(255,255,255,.78);
  box-shadow: 0 1px 2px rgba(15,23,42,.04), 0 60px 120px -70px rgba(79,124,255,.45); }
.smn-search-card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(79,124,255,.7), rgba(245,158,11,.5), transparent); }
.smn-search-card::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(760px 380px at 24% -14%, rgba(79,124,255,.12), transparent 70%); }
.smn-search-main, .smn-search-art { position: relative; }
.smn-search-main { min-width: 0; padding: 32px 0 64px; }
.smn-search-art { display: flex; align-items: center; justify-content: center; padding: 32px 0 64px 24px; }
.smn-search-art svg { width: 100%; height: auto; max-width: 380px; }
.smn-search-hd { display: flex; align-items: center; gap: 12px; margin-bottom: 4px; }
.smn-search-ico { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; flex: none;
  background: linear-gradient(140deg, #4f7cff, #22d3ee 55%, #8b5cf6);
  box-shadow: 0 14px 30px -12px rgba(79,124,255,.5), inset 0 1px 0 rgba(255,255,255,.4); }
.smn-search-tag { display: inline-flex; align-items: center; gap: 8px; height: 29px; padding: 0 16px; border-radius: 20px;
  font-size: 10.5px; letter-spacing: 2px; color: #4f6bff; text-transform: uppercase;
  background: rgba(79,124,255,.09); border: 1px solid rgba(79,124,255,.24); }
.smn-search-title { margin: 10px 0 0; font-size: 44px; line-height: 1.15; font-weight: 800; letter-spacing: -.5px; white-space: nowrap; }
.smn-search-title .ac { background: linear-gradient(96deg, #2563eb, #4f7cff 38%, #22d3ee 68%, #8b5cf6);
  -webkit-background-clip: text; background-clip: text; color: transparent; }
.smn-search-title .ink { color: #0f172a; }
.smn-search-desc { margin-top: 10px; max-width: 600px; font-size: 15px; line-height: 1.65; font-weight: 500; color: #5b6b83; }
.smn-hero .sbox { position: relative; margin-top: 20px; width: 70%; height: 52px; display: flex; align-items: center;
  padding: 0 7px 0 5px; border-radius: 12px; background: #fff; border: 1.6px solid rgba(15,23,42,.08);
  box-shadow: 0 12px 34px -16px rgba(79,124,255,.28); }
.smn-search { display: flex; align-items: center; gap: 8px; width: 100%; height: 100%; }
.smn-hero .sbox .sel { display: flex; align-items: center; gap: 6px; padding: 0 4px 0 10px; font-size: 13px; color: #64748b;
  border-right: 1px solid rgba(15,23,42,.1); white-space: nowrap; flex: none; }
.smn-cat { appearance: none; -webkit-appearance: none; border: 0; background: transparent; outline: 0;
  font-family: inherit; font-size: 13px; color: #3a4f6c; cursor: pointer; padding-right: 2px; }
.smn-hero .sbox .sel i { width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid #94a3b8; }
.smn-hero .sbox .ico { width: 22px; height: 22px; margin: 0 2px; color: #94a3b8; display: flex; flex: none; }
.smn-hero .sbox input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font-size: 15px; color: #0f172a;
  padding: 0 12px; font-family: inherit; }
.smn-hero .sbox input::placeholder { color: #94a3b8; }
.sbtn { height: 40px; padding: 0 26px; border: 0; border-radius: 10px; cursor: pointer; font-family: inherit;
  font-size: 15px; font-weight: 700; letter-spacing: 2px; color: #fff;
  background: linear-gradient(135deg, #4f7cff, #22d3ee 60%, #8b5cf6); box-shadow: 0 14px 30px -12px rgba(79,124,255,.55); }
.sbtn:hover { filter: brightness(1.04); }
.hot { margin-top: 14px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 12.5px; color: #94a3b8; }
.hot b { font-weight: 400; color: #64748b; }
.smn-hot-btn { color: #475569; padding: 4px 12px; border-radius: 20px; background: rgba(15,23,42,.04);
  border: 1px solid rgba(15,23,42,.07); cursor: pointer; font-size: 12.5px; font-family: inherit; transition: .16s; }
.smn-hot-btn:hover { color: #4f7cff; border-color: rgba(79,124,255,.4); background: rgba(79,124,255,.1); }
.smn-hero .feats { margin-top: 16px; display: flex; align-items: center; gap: 24px; font-size: 12.5px; color: #64748b; }
.smn-hero .feats i { display: flex; align-items: center; gap: 7px; font-style: normal; }

/* ── 数据磁贴 ── */
.home-entries.smn-entries { max-width: none; margin: -40px 0 0; padding: 0; position: relative; z-index: 2; }
.smn-entries .he-inner { display: block; max-width: 1200px; margin: 0 auto; }
.smn-entries .stats { margin-top: 0; }
.stats { margin-top: 18px; display: grid; grid-template-columns: repeat(auto-fit, minmax(168px, 1fr)); gap: 14px; }
.st { position: relative; border-radius: 12px; padding: 20px 20px 17px; overflow: hidden;
  background: linear-gradient(180deg, #fff, #fbfcff); border: 1px solid rgba(28,60,130,.085);
  box-shadow: 0 14px 30px -24px rgba(18,42,90,.5); display: flex; flex-direction: column; justify-content: space-between; }
.st em { position: absolute; left: 20px; top: 20px; width: 26px; height: 3px; border-radius: 3px;
  background: linear-gradient(90deg, var(--c1), var(--c2)); }
.st::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, var(--c1), var(--c2)); }
.st-hd { margin-top: 13px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.st-hd span { font-size: 12.5px; font-weight: 600; color: #5a6c88; }
.bars { display: flex; align-items: flex-end; gap: 3px; height: 22px; font-style: normal; }
.bars i { width: 4px; border-radius: 2px; opacity: .42; background: linear-gradient(180deg, var(--c1), var(--c2)); }
.st-ft { display: flex; align-items: baseline; gap: 5px; margin-top: 6px; }
.st-ft b { font-size: 33px; font-weight: 800; line-height: 1; letter-spacing: -1.2px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  background: linear-gradient(140deg, var(--c1), var(--c2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.st-ft u { text-decoration: none; font-size: 12px; color: #93a4bd; }
.st-note { font-size: 11px; color: #9dabc0; margin-top: 7px; }
/* 可点击磁贴（sitemap_v3 统计卡 → 搜索结果页下钻） */
a.st { text-decoration: none; color: inherit; cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
a.st:hover { transform: translateY(-3px); border-color: rgba(28,60,130,.22);
  box-shadow: 0 20px 36px -22px rgba(18,42,90,.6); }

/* ── v3 中国地图块 ── */
.smn-mapsec { margin-top: 26px; }
.smn-map-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 16px; align-items: stretch; }
.smn-map-card, .smn-map-side { background: #fff; border: 1px solid rgba(28,60,130,.10); border-radius: 14px;
  box-shadow: 0 14px 30px -26px rgba(18,42,90,.6); overflow: hidden; }
.smn-map-card { display: flex; flex-direction: column; }
/* 头部左右内边距 20→16：与卡体（.smn-map-body 16px）落在同一条内容竖线上（120+1+16 = 137） */
.smn-map-hd { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px;
  border-bottom: 1px solid rgba(28,60,130,.08); background: linear-gradient(180deg, #f8fbff, #fff); }
.smn-map-hd h2 { margin: 0; font-size: 17px; font-weight: 800; color: #0f172a; letter-spacing: .3px; }
.smn-map-hd p { margin: 4px 0 0; font-size: 12px; line-height: 1.5; color: #8595ab; max-width: 460px; }
.smn-map-hd-r { display: flex; align-items: baseline; gap: 5px; flex: none; color: #94a3b8; font-size: 12px; }
.smn-map-hd-r b { font-size: 21px; font-weight: 800; line-height: 1; font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  background: linear-gradient(140deg, #0ea5e9, #2563eb); -webkit-background-clip: text; background-clip: text; color: transparent; }
.smn-map-hd-r u { text-decoration: none; font-size: 11px; }

/* 左列（地图卡 + 查询卡）与右列（两张列表卡）各自成列；地图卡不拉伸，避免卡内留出大块空白 */
.smn-map-lcol { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.smn-map-body { padding: 10px 16px 12px; display: flex; flex-direction: column; gap: 8px; }
/* 地图容器宽高比 = ChinaMapHelper.map_aspect（主图 = 大陆+海南本岛，远海岛礁已剥出，≈1.304）。
   ECharts 的 map 系列会把图形**拉伸**填满 left/right/top/bottom 布局盒，不按比例留白，
   所以盒比例 ≠ 图形比例就会把整幅中国地图压扁/拉长——比例对齐即零变形，大陆充满画框。*/
.smn-mapwrap { position: relative; min-width: 0; flex: none; }
.smn-china { width: 100%; aspect-ratio: var(--map-aspect, 1.304); display: block; min-width: 0; flex: none; }
/* 右下角南海诸岛 inset：九段线 + 远海岛礁（比例由 geojson 推导 ≈0.517，细长条）。
   主图右下角是 lng 126~135 的太平洋公海，inset 落在这里不遮任何陆地（台湾在 lng 122 以西）。
   宽度响应式（13%，上限 90px）：窄屏下若不缩，会西移盖到台湾。pointer-events:none 让点击穿透给主图。*/
.smn-inset { position: absolute; right: 5px; bottom: 5px; width: clamp(60px, 13%, 90px); pointer-events: none;
  aspect-ratio: var(--nanhai-aspect, 0.517); background: #f4f8fd;
  border: 1px solid rgba(28,60,130,.20); border-radius: 6px; overflow: hidden;
  box-shadow: 0 2px 8px -3px rgba(18,42,90,.25); }
.smn-inset-map { width: 100%; height: 100%; }
/* 附图名称标注（v4）：标准地图惯例，附图须标「南海诸岛」；位于附图上部空白海区，不挡九段线。
   随 .smn-inset 的 pointer-events:none 一起不响应鼠标，hover 穿透行为不变。 */
.smn-inset-cap { position: absolute; top: 4px; left: 0; right: 0; text-align: center;
  font-style: normal; font-size: 10px; line-height: 1; letter-spacing: 2px; text-indent: 2px;
  color: #4a6a9e; user-select: none; }
.smn-legend { display: flex; align-items: center; justify-content: center; gap: 3px; }
.smn-legend-t { font-size: 10.5px; color: #9aa9bd; }
.smn-legend-t:first-child { margin-right: 7px; letter-spacing: .3px; }
.smn-legend i { display: block; width: 24px; height: 9px; border-radius: 2px; }

/* 各「地方*」分类区块内的中国地图：左图 + 右排行（等高分栏，图与栏都不用再留大块空白）*/
/* 左右外边距归零：卡片外沿与 .dir-hd / .wall 同为 120↔1320；
   内边距取 16px（+1px 边框）：卡内标题/地图/排行的左右沿与 .wall 内容同为 137↔1303。
   整个区块只剩这两条竖线，不再出现地图卡内缩 18px 造成的错位。 */
.smn-catmap { margin: 14px 0 2px; background: #fbfdff; border: 1px solid rgba(28,60,130,.08); border-radius: 12px; padding: 12px 16px 14px; }
.smn-catmap-hd { display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
  padding-bottom: 10px; border-bottom: 1px dashed rgba(28,60,130,.10); }
.smn-catmap-tt { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: #1f3a5c; }
.smn-catmap-tt > i { flex: none; width: 4px; height: 15px; border-radius: 2px; background: linear-gradient(180deg, #6f9ee6, #2a62b4); }
.smn-catmap-sub { font-size: 11.5px; color: #8595ab; }
.smn-catmap-sub b { font-weight: 800; color: #2f6bd6; font-variant-numeric: tabular-nums; }
/* 小地图 + 右侧「省份站点明细」面板：左图右栏（与全国主图同款两列布局） */
.smn-catmap-body { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 16px; padding-top: 12px; align-items: stretch; }
.smn-catmap-rcol { display: flex; min-width: 0; position: relative; }
.smn-catmap-lcol { display: flex; min-width: 0; }
/* 单列后小地图居中限宽。注意：grid item 一旦 margin auto 就不再 stretch，
   必须显式 width:100%，否则 fit-content 与内部 width:100% 循环依赖算成 0 宽（地图消失） */
/* 全国站点分布主图与各地方分类小地图：统一限宽 680px 居中，尺寸协调。
   注意：grid item 一旦 margin auto 就不再 stretch，必须显式 width:100%，否则 fit-content 与
   内部 width:100% 循环依赖算成 0 宽（地图消失）。 */
.smn-catmap .smn-mapwrap, .smn-map-card .smn-mapwrap { width: 100%; max-width: 680px; margin: 0 auto; }
.smn-catmap .smn-china { border-radius: 10px; overflow: hidden; }

/* ── 榜单前端翻页 ──
   省份多时（34 个省级行政区常有二三十个有站点）一栏塞不下，分页展示。
   **不发请求**：每一页都已由服务端渲染进 HTML，点击只切换 pane 的 [hidden]；
   模板里的 .smn-ghost 补齐末页行数，保证切页时行距/行高不变（不跳）。 */
.smn-card-hd { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 12px; }
/* 特异性必须高于 .smn-side-card h3 / .smn-catmap-side h4 的 margin —— 否则标题仍带 12px 下边距，
   flex 按**外边距盒**居中对齐，分页器会被压低 6px、与标题不在一条中线上。 */
.smn-map-side .smn-card-hd h3, .smn-catmap-side .smn-card-hd h4 { margin: 0; }
.smn-pg { display: inline-flex; align-items: center; gap: 3px; flex: none; }
.smn-pg-i, .smn-pg-s { min-width: 21px; height: 21px; padding: 0 5px; border: 1px solid rgba(28,60,130,.14);
  border-radius: 6px; background: #fff; color: #4a5f7d; font: inherit; font-size: 11.5px; font-weight: 700;
  line-height: 1; cursor: pointer; transition: background .14s, color .14s, border-color .14s; }
.smn-pg-i:hover, .smn-pg-s:not(:disabled):hover { border-color: rgba(79,124,255,.45); color: #1f4d84; }
.smn-pg-i.on { border-color: transparent; background: linear-gradient(135deg, #4f7cff, #2f6bd6); color: #fff; }
.smn-pg-s { font-size: 13px; padding: 0 4px; }
.smn-pg-s:disabled { opacity: .34; cursor: default; }
/* 分页宿主只负责摆 pane；行距与「均分」交给可见 pane 内部，
   这样每个 pane 的行数恒定（末页由幽灵行补齐），翻页不会跳。 */
.smn-pg-pane[hidden] { display: none; }
.smn-ctop.smn-pg-host { display: flex; flex-direction: column; }
.smn-ctop .smn-pg-pane { flex: 1 1 auto; display: grid; gap: 4px; align-content: space-between; }
/* 幽灵行：填与真实行**同构的格子**（内容换成 nbsp），行高由同一套字体度量决定；
   visibility:hidden 使它完全不可见但仍占位，末页行距才会和首页一致。 */
.smn-ghost { visibility: hidden; pointer-events: none; }
.smn-catmap-empty { padding: 16px; font-size: 12.5px; color: #94a3b8; background: #fbfdff; border: 1px dashed rgba(28,60,130,.14); }

/* ── 地方* 合并 Tab 切换（替代整屏堆叠 4 张地图） ── */
.smn-local .dir-hd { margin-bottom: 0; border-radius: 12px 12px 0 0; }
.smn-tabs { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 16px;
  background: #fbfdff; border: 1px solid rgba(28,60,130,.08); border-top: 0; }
.smn-tab { appearance: none; cursor: pointer; font: 700 13px/1 inherit; letter-spacing: .2px;
  padding: 8px 17px; border-radius: 999px; color: #3a527a;
  background: #fff; border: 1px solid rgba(28,60,130,.20); transition: .15s ease; }
.smn-tab:hover { border-color: #4f7cff; color: #2a62b4; }
.smn-tab.on { color: #fff; border-color: transparent;
  background: linear-gradient(135deg, #2a62b4, #4f7cff);
  box-shadow: 0 6px 14px -4px rgba(47,107,214,.45); }
.smn-tabpanes { background: #fbfdff; border: 1px solid rgba(28,60,130,.08); border-top: 0;
  border-radius: 0 0 12px 12px; }
.smn-tabpane[hidden] { display: none; }
/* Tab 区内的 catmap / wall 去掉自带外边距与顶边，由外层统一收口 */
.smn-local .smn-catmap { margin: 14px 16px 2px; }
.smn-local .wall { border: 0; border-radius: 0 0 12px 12px; }

/* 侧栏面板：外沿必须与左列卡片齐平 —— 之前这里 padding:16px，右列整列上下各内缩 16px，
   于是「分类站点统计」的标题比左列地图卡低 16px、整列底边比左列高 16px（就是标注的两处不对齐）。 */
.smn-map-side { display: flex; flex-direction: column; gap: 16px; background: transparent; border: 0; box-shadow: none; }
.smn-side-card { background: #fff; border: 1px solid rgba(28,60,130,.10); border-radius: 14px;
  box-shadow: 0 14px 30px -26px rgba(18,42,90,.6); padding: 15px 16px 16px; }
/* 右列两张卡按比例撑满列高，使左右两列的**上边 / 下边**严格对齐（不出现参差空白）。
   卡改成 flex 列，好让内部榜单撑满剩余高度（行均分，卡底不留空白）。 */
.smn-map-side .smn-side-card { flex: 1 1 auto; display: flex; flex-direction: column; }
.smn-map-side .smn-side-card > h3,
.smn-map-side .smn-side-card > .smn-card-hd { flex: none; }
.smn-side-card h3 { margin: 0 0 12px; font-size: 14px; font-weight: 700; color: #0f172a; letter-spacing: .2px; }
.smn-side-rows { display: flex; flex-direction: column; gap: 9px; }
/* 榜单撑满卡片剩余高度，行之间均分 → 卡底不出现一块空白 */
.smn-map-side .smn-side-rows { flex: 1 1 auto; }
.smn-map-side .smn-pg-pane { flex: 1 1 auto; display: flex; flex-direction: column;
  justify-content: space-between; gap: 9px; }
.smn-side-row { display: grid; grid-template-columns: 116px 1fr 30px; align-items: center; gap: 10px; font-size: 12.5px; color: #41546f; }
.smn-side-row.smn-prov-row { cursor: pointer; }
.smn-side-row.smn-prov-row:hover .smn-side-name { color: #1f4d84; }
.smn-side-name { display: flex; align-items: center; gap: 7px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.smn-dot { width: 7px; height: 7px; border-radius: 50%; flex: none; }
.smn-side-bar { height: 7px; border-radius: 4px; background: rgba(28,60,130,.07); overflow: hidden; }
.smn-side-bar i { display: block; height: 100%; border-radius: 4px; }
.smn-side-row b { font-weight: 800; text-align: right; font-variant-numeric: tabular-nums;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace; color: #1f3a5c; }
.smn-side-empty { margin: 0; font-size: 12px; color: #9aa9bd; }
.smn-qry p { margin: 0 0 12px; font-size: 12px; line-height: 1.6; color: #6b7c93; }
.smn-qry p strong { color: #1f3a5c; }
/* 查询卡撑满左列剩余高度（主图变矮后，左列内容 566px < 右列 12 行分页卡 653px，
   不撑则查询卡下方会留 87px 空隙），内容垂直居中保持观感平衡 */
.smn-map-lcol .smn-side-card { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: center; }
/* v4 查询卡已移到地图上方：不参与补位拉伸，按内容自适应高度 */
.smn-map-grid.smn-map-full .smn-map-lcol .smn-side-card { flex: 0 0 auto; }
.smn-qry-btn { display: inline-flex; align-items: center; gap: 7px; height: 38px; padding: 0 18px; border-radius: 10px;
  font-size: 13px; font-weight: 700; color: #fff; cursor: pointer; font-family: inherit;
  background: linear-gradient(135deg, #4f7cff, #22d3ee 60%, #8b5cf6); box-shadow: 0 14px 30px -12px rgba(79,124,255,.5); }
.smn-qry-btn:hover { filter: brightness(1.04); }

/* v4 地图区：左=中国地图(1.55fr) / 右=站点明细面板(1fr)（DOM 顺序即视觉顺序） */
.smn-map-grid.smn-map-full { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); }

/* 右列：地图悬停联动的「省份站点明细」面板（数量 + 站点分页列表） */
.smn-map-rcol { display: flex; min-width: 0; position: relative; }
.smn-prov-panel { flex: 1 1 auto; display: flex; flex-direction: column; gap: 12px; padding: 16px;
  background: #fff; border: 1px solid rgba(28,60,130,.10); border-radius: 14px;
  box-shadow: 0 14px 30px -26px rgba(18,42,90,.6); overflow: hidden; min-height: 0; }
/* 两列底边必须严格对齐：行高只由左列（地图卡）决定。面板若以常规流参与布局，
   其内容比实测高出一行（真实浏览器字体加载/度量差异）时会把 grid 行撑大，
   而地图卡 flex-grow:0 不跟拉 → 面板底边比地图卡低一截。
   面板改绝对定位填充右列，不再参与行高计算；≤980 竖排时恢复静态（否则高度塌 0）。 */
.smn-map-full .smn-map-rcol > .smn-prov-panel,
.smn-catmap-rcol > .smn-prov-panel { position: absolute; inset: 0; }
.smn-prov-hd { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.smn-prov-hd h3 { margin: 0; font-size: 15px; font-weight: 800; color: #1f3a5c; }
.smn-prov-reset { margin: 0; border: 1px solid rgba(28,60,130,.18); background: #f4f7fd; color: #1a2c82;
  font-size: 12px; font-weight: 700; padding: 3px 9px; border-radius: 999px; cursor: pointer; white-space: nowrap; }
.smn-prov-reset:hover { background: #e8eefb; }
.smn-prov-reset[hidden] { display: none; }
.smn-prov-hint { margin: 0; font-size: 12px; line-height: 1.55; color: #9aa9bd; }
.smn-prov-main { display: flex; flex-direction: column; gap: 10px; min-height: 0; flex: 1 1 auto; }
.smn-prov-title { display: flex; align-items: baseline; justify-content: space-between; gap: 10px;
  padding-bottom: 8px; border-bottom: 1px solid rgba(28,60,130,.10); }
.smn-prov-name { font-size: 17px; font-weight: 800; color: #1a2c82; }
.smn-prov-count { font-size: 12px; color: #6b7c93; white-space: nowrap; }
.smn-prov-count em { font-style: normal; font-weight: 800; color: #cb3115; font-variant-numeric: tabular-nums; }
.smn-prov-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px;
  overflow-y: auto; flex: 1 1 auto; min-height: 140px; overscroll-behavior: contain; }
.smn-prov-it { display: flex; align-items: center; gap: 8px; padding: 7px 9px; border-radius: 8px;
  background: #f5f8fd; color: #2b3f5c; text-decoration: none; font-size: 13px; line-height: 1.35;
  transition: background .15s, color .15s; }
.smn-prov-it:hover { background: #e8eefb; color: #1a2c82; }
.smn-prov-it .dot { flex: 0 0 auto; width: 6px; height: 6px; border-radius: 50%; background: #25b5c0; }
.smn-prov-it .nm { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.smn-prov-empty-li { list-style: none; color: #9aa9bd; font-size: 12px; padding: 8px 2px; }
.smn-prov-pager { display: flex; align-items: center; justify-content: center; gap: 10px;
  padding-top: 8px; border-top: 1px solid rgba(28,60,130,.10); }
.smn-prov-nav { border: 1px solid rgba(28,60,130,.18); background: #fff; color: #1a2c82; border-radius: 8px;
  padding: 5px 12px; font-size: 12px; cursor: pointer; transition: background .15s; }
.smn-prov-nav:hover:not(:disabled) { background: #eef3fc; }
.smn-prov-nav:disabled { opacity: .4; cursor: default; }
.smn-prov-page { font-size: 12px; color: #6b7c93; font-variant-numeric: tabular-nums; }

/* ── v4 地图 tooltip：只报省名 + 站点数（站点明细由右侧悬停面板承接）── */
.smn-map-tip { font-family: inherit; }
.smn-map-tip-hd { font-size: 13px; font-weight: 700; color: #1f3a5c; white-space: nowrap; }
.smn-map-tip-hd b { color: #2563eb; font-variant-numeric: tabular-nums; }

/* ── 频道图标条 ── */
/* 8 个 chip（全部 + 4 中央 + ... ）必须排在一行内：容器固定 1200px（内净宽 1162px），
   实测 8 chip 原始宽度合计 1100px + 7×11px gap = 1177px，超出 15px 会折行。
   故gap 11→8（省 49px）、chip 左右内边距 15→13（8 chip 各省 4px），合计富余约 73px。*/
.chans { margin-top: 22px; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px;
  padding: 16px 18px; border-radius: 12px; background: rgba(255,255,255,.66); border: 1px solid rgba(28,60,130,.08);
  box-shadow: 0 18px 40px -34px rgba(18,42,90,.5); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.chan { display: flex; align-items: center; gap: 9px; height: 38px; padding: 0 13px 0 7px; border-radius: 10px;
  font-size: 12.5px; font-weight: 600; color: #3a4f6c; background: #fff; border: 1px solid rgba(28,60,130,.08); box-shadow: 0 1px 2px rgba(18,42,90,.04);
  transition: transform .16s, box-shadow .16s, border-color .16s; }
.chan:hover { transform: translateY(-2px); box-shadow: 0 12px 24px -16px rgba(18,42,90,.5); border-color: rgba(79,124,255,.35); }
.chan.on { border-color: rgba(79,124,255,.5); background: rgba(79,124,255,.08); color: #1f4d84; }
.ctile { width: 26px; height: 26px; border-radius: 8px; display: flex; align-items: center; justify-content: center; flex: none;
  background: linear-gradient(140deg, var(--c1), var(--c2)); box-shadow: 0 6px 14px -8px var(--c1); }

/* ── 目录卡片墙 ── */
.dir { margin-top: 26px; }
/* 水平内边距 22→17：让蓝条内的图标/右侧数字块的左右沿（137↔1303）与
   .smn-catmap、.wall 的内容同一条竖线（120+17 = 120+1边框+16内边距 = 137） */
.dir-hd { position: relative; display: flex; align-items: center; gap: 15px; overflow: hidden; padding: 17px;
  border-radius: 14px 14px 0 0; color: #fff; box-shadow: 0 18px 40px -30px rgba(11,44,84,.9); }
.dir-hd::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: linear-gradient(90deg, rgba(255,255,255,.42), transparent 66%); }
.dir-hd::before { content: ""; position: absolute; right: -40px; top: -46px; width: 158px; height: 158px; border-radius: 50%; background: rgba(255,255,255,.09); }
.dh-ico { display: grid; place-items: center; flex: none; width: 42px; height: 42px; border-radius: 12px; border: 1px solid rgba(255,255,255,.24); background: rgba(255,255,255,.14); position: relative; z-index: 1; }
.dh-copy { min-width: 0; flex: 1; position: relative; z-index: 1; }
.dh-copy h2 { font-size: 20px; font-weight: 800; letter-spacing: .4px; }
.dh-copy p { margin: 4px 0 0; font-size: 12px; line-height: 1.5; color: rgba(233,242,253,.78); }
.dh-meta { position: relative; z-index: 1; display: flex; align-items: center; gap: 10px; flex: none; }
.dh-k { display: flex; align-items: baseline; gap: 4px; font-size: 23px; font-weight: 800; font-variant-numeric: tabular-nums;
  padding: 5px 14px; border-radius: 10px; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.2); }
.dh-k u { text-decoration: none; font-size: 11px; font-weight: 600; color: rgba(233,242,253,.78); }
.dh-k b { font-size: 23px; font-weight: 800; line-height: 1; }
.dh-k2 { background: rgba(255,255,255,.2); }

.wall { padding: 16px; border: 1px solid rgba(28,60,130,.08); border-top: 0; border-radius: 0 0 12px 12px;
  background: #fff; display: flex; flex-direction: column; gap: 16px; scroll-margin-top: 14px; }
.wrow { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; align-items: stretch; }
.wrow.single { grid-template-columns: 1fr; }
.card { position: relative; display: flex; flex-direction: column; border-radius: 12px; background: #fff; overflow: hidden;
  border: 1px solid rgba(28,60,130,.10); box-shadow: 0 1px 2px rgba(18,42,90,.03), 0 22px 44px -36px rgba(18,42,90,.6);
  transition: transform .16s, box-shadow .16s, border-color .16s; scroll-margin-top: 14px; }
.card:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--c1) 34%, transparent);
  box-shadow: 0 24px 46px -30px color-mix(in srgb, var(--c1) 60%, transparent); }
.card::before { content: ""; position: absolute; left: 0; top: 0; height: 3px; width: 104px;
  background: linear-gradient(90deg, var(--c1), var(--c2)); border-radius: 0 0 3px 0; }
.ch { display: flex; align-items: center; gap: 11px; padding: 16px 17px 11px; }
.cico { flex: none; width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center;
  background: linear-gradient(140deg, var(--c1), var(--c2)); box-shadow: 0 8px 16px -8px var(--c1); }
.ct { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ct b { font-size: 14.5px; font-weight: 700; color: #0f172a; letter-spacing: -.1px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cnum { margin-left: auto; flex: none; font-style: normal; font-size: 14px; font-weight: 800; color: var(--c1);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace; padding: 4px 10px; border-radius: 8px; background: color-mix(in srgb, var(--c1) 10%, transparent); }
.cnum u { text-decoration: none; font-size: 10px; font-weight: 700; opacity: .75; margin-left: 1px; }
.grid { flex: 1; align-content: start; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); column-gap: 6px; padding: 0 15px; }
.wrow.single .grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.card-extra { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); column-gap: 6px; padding: 0 15px; }
.wrow.single .card-extra { grid-template-columns: repeat(4, minmax(0,1fr)); }
.lk { display: flex; align-items: center; gap: 7px; min-width: 0; height: 28px; padding: 0 8px; border-radius: 8px;
  font-size: 12.5px; color: #41546f; transition: background .14s, color .14s; }
.lk .dot { flex: none; width: 4px; height: 4px; border-radius: 50%; background: var(--c1); opacity: .55; }
.lk .nm { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lk:hover { background: color-mix(in srgb, var(--c1) 9%, transparent); color: #0f172a; }
.more { display: inline-flex; align-items: center; gap: 7px; margin: 12px 15px 15px; padding: 6px 13px; border-radius: 20px;
  font-size: 12px; font-weight: 600; align-self: flex-start; color: var(--c1); background: color-mix(in srgb, var(--c1) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--c1) 20%, transparent); cursor: pointer; font-family: inherit; }
.more em { font-style: normal; }
.more.is-all { color: #94a3b8; background: rgba(28,60,130,.04); border-color: rgba(28,60,130,.08); }

/* ── 搜索状态条 / 空状态 ── */
.smn-bar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 22px;
  padding: 11px 16px; border: 1px solid #cfe0f6; border-radius: 10px; background: linear-gradient(180deg, #f7fbff, #eef6ff); }
.smn-bar[hidden] { display: none; }
.smn-bar-copy { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; color: #4b6584; font-size: 12.5px; }
.smn-bar-copy > i { color: #2f6fd0; font-size: 12px; }
.smn-bar-copy b { color: #12457f; font-size: 13.5px; font-variant-numeric: tabular-nums; }
.smn-bar-sep { width: 1px; height: 11px; background: #cfdcec; }
.smn-bar-clear { flex: none; padding: 6px 12px; border: 1px solid #c9ddf3; border-radius: 8px; background: #fff;
  color: #47688f; cursor: pointer; font-size: 12px; font-family: inherit; transition: .18s; }
.smn-bar-clear:hover { border-color: #2f6fd0; color: #1a5493; }
.smn-empty { margin-top: 22px; padding: 60px 20px; border: 1px dashed #d7e3f0; border-radius: 12px; background: #fff; text-align: center; }
.smn-empty[hidden] { display: none; }
.smn-empty i { display: block; margin-bottom: 12px; color: #c2d3e5; font-size: 26px; }
.smn-empty strong { display: block; color: #40556e; font-size: 14px; }
.smn-empty span { display: block; margin-top: 5px; color: #93a3b5; font-size: 12px; }

/* ── 搜索结果页（与地图页共用头部，不渲染地图）── */
.smn-results { padding: 34px 0 60px; }
.smn-result-hd { margin: 0 0 22px; }
.smn-result-hd h2 { margin: 0; font-size: 26px; font-weight: 800; letter-spacing: -.3px; color: #0f172a; }
.smn-result-hd h2 .smn-q { background: linear-gradient(96deg, #2563eb, #4f7cff 60%, #8b5cf6);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.smn-result-sub { margin: 9px 0 0; font-size: 14px; color: #5b6b83; }
.smn-result-sub b { color: #1f4d84; font-weight: 800; }
.smn-results .wall { gap: 18px; }
.smn-results .card.smn-panel { margin: 0; }

/* 返回站点地图按钮：放在搜索结果下方（.smn-result-ft 居中），弱化处理不抢结果 */
.smn-result-ft { margin: 30px 0 4px; text-align: center; }
.smn-back { display: inline-flex; align-items: center; gap: 7px; padding: 9px 22px;
  border: 1px solid #cfe0f6; border-radius: 999px; background: #fff; color: #2f6fd0; font-size: 13.5px;
  text-decoration: none; transition: .18s; }
.smn-back:hover { border-color: #9dc2ea; background: #f4f9ff; color: #1a5493; }
.smn-back i { font-size: 12px; }
.smn-back:focus-visible { outline: 2px solid #4f7cff; outline-offset: 2px; }

.smn-site.is-flash { animation: smnFlash 1.5s ease-out 1; }
@keyframes smnFlash { 0% { background: color-mix(in srgb, #4f7cff 16%, transparent); } 100% { background: transparent; } }

.smn-top { position: fixed; right: 26px; bottom: 30px; z-index: 40; width: 44px; height: 44px;
  border: 1px solid rgba(255,255,255,.2); border-radius: 12px; background: linear-gradient(140deg, #17457c, #0e2a4c); color: #fff; cursor: pointer;
  opacity: 0; pointer-events: none; transform: translateY(10px); box-shadow: 0 16px 34px -14px rgba(9, 36, 70, .8); transition: opacity .22s, transform .22s; }
.smn-top.is-on { opacity: 1; pointer-events: auto; transform: translateY(0); }

.smn-suggest { position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 30; display: none; max-height: 320px;
  overflow-y: auto; padding: 6px; border: 1px solid #dbe6f4; border-radius: 12px; background: #fff; box-shadow: 0 26px 60px -18px rgba(6, 32, 70, .48); }
.smn-suggest.is-open { display: block; }
.smn-sug { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 8px; color: #2c4463; text-decoration: none; transition: background .14s; }
.smn-sug:hover, .smn-sug.is-active { background: #eef5fd; }
.smn-sug-mark { display: grid; place-items: center; flex: none; width: 28px; height: 28px; border-radius: 8px; color: #fff; font-size: 12px; font-weight: 700; }
.smn-sug-main { min-width: 0; flex: 1; }
.smn-sug-name { display: block; overflow: hidden; color: #22374f; font-size: 13px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.smn-sug-meta { display: flex; align-items: center; gap: 6px; margin-top: 2px; color: #8698ab; font-size: 11px; }
.smn-sug-tag { padding: 1px 6px; border-radius: 999px; background: #eef4fb; color: #5b7ba0; }
.smn-sug mark { padding: 0 1px; border-radius: 3px; background: #d7e8ff; color: #14539f; }
.smn-sug-empty { padding: 14px; color: #93a3b5; font-size: 12px; text-align: center; }
.smn-search.is-focus { border-radius: 14px; }
.sbox:focus-within { border-color: rgba(79,124,255,.5); box-shadow: 0 26px 54px -30px rgba(79,124,255,.55), 0 0 0 8px rgba(79,124,255,.08); }

/* ══════════ 响应式 ══════════ */
@media (max-width: 1180px) {
  .smn-page .wrap { width: auto; padding: 0 20px; }
  .smn-hero .hero-inner { padding: 0 20px; }
  .smn-search-card { grid-template-columns: 1fr; }
  .smn-search-main { padding: 30px 28px 52px; }
  .smn-search-art { display: none; padding: 0; }
  .home-entries.smn-entries { margin-top: -32px; }
  .smn-entries .he-inner { padding: 0 20px; }
  .wrow.single .grid, .wrow.single .card-extra { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
/* ≤980 才竖排：地图改由 aspect-ratio 定高，竖排时必须限宽，否则整幅图会变得极高 */
@media (max-width: 980px) {
  .smn-map-grid { grid-template-columns: 1fr; }
  .smn-catmap-body { grid-template-columns: 1fr; }
  /* 竖排时右列高度由面板内容决定，恢复静态定位（绝对定位会让右列塌 0） */
  .smn-map-full .smn-map-rcol > .smn-prov-panel,
  .smn-catmap-rcol > .smn-prov-panel { position: static; }
  .smn-map-card .smn-china, .smn-catmap .smn-china { max-width: 620px; margin: 0 auto; }
}
@media (max-width: 720px) {
  .smn-hero .hero-inner { padding: 0; }
  .home-entries.smn-entries { max-width: none; margin-top: -24px; padding: 0 16px; }
  .smn-search-main { padding: 22px 20px 48px; }
  .smn-search-title { font-size: 28px; white-space: normal; }
  .smn-search-hd { flex-wrap: wrap; gap: 10px; }
  .smn-hero .sbox { width: 100%; height: auto; min-height: 54px; }
  .smn-hero .feats { flex-wrap: wrap; gap: 12px; }
  .stats { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .wrow { grid-template-columns: 1fr; }
  .grid, .card-extra { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .dir-hd { flex-wrap: wrap; padding: 14px 17px; gap: 12px; }
  .dh-ico { width: 36px; height: 36px; border-radius: 10px; }
  .dh-copy { order: 3; flex: 1 1 100%; }
  .dh-copy h2 { font-size: 17px; }
  .dh-copy p { font-size: 11.5px; line-height: 1.55; }
  .dh-meta { margin-left: auto; }
  .dh-k { font-size: 19px; padding: 4px 11px; }
  .dh-k b { font-size: 19px; }
}
@media (max-width: 480px) {
  .grid, .card-extra { grid-template-columns: minmax(0,1fr); }
  .smn-bar { flex-direction: column; align-items: flex-start; }
}

/* ── 电子保函页独有（原 _ggt_styles） ── */
  .smn-catmap-side { display: flex; flex-direction: column; background: #fff; border: 1px solid rgba(28,60,130,.08); border-radius: 10px; padding: 11px 12px 9px; }
  .smn-catmap-side h4 { margin: 0 0 9px; font-size: 12px; font-weight: 800; color: #44618a; letter-spacing: .4px; }
  .smn-ctop { display: grid; gap: 4px; align-content: space-between; flex: 1 1 auto; }
  .smn-ctop-row { display: grid; grid-template-columns: 54px minmax(0, 1fr) 22px; align-items: center; gap: 8px; padding: 3px 5px; border-radius: 6px; cursor: pointer; transition: background .14s; }
  .smn-ctop-row:hover { background: #f2f7ff; }
  .smn-ctop-name { font-size: 12px; color: #35507a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .smn-ctop-bar { display: block; height: 7px; border-radius: 4px; background: #eef3fa; overflow: hidden; }
  .smn-ctop-bar i { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, #9dbfee, #2f6bd6); }
  .smn-ctop-row b { font-size: 12px; font-weight: 800; color: #14498f; text-align: right; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
  .smn-ctop-lg { display: flex; align-items: center; justify-content: flex-end; gap: 3px; margin-top: 9px; padding-top: 8px; border-top: 1px dashed rgba(28,60,130,.10); }
  .smn-ctop-lg i { display: block; width: 15px; height: 8px; border-radius: 2px; }
  .smn-ctop-lg span { font-size: 10.5px; color: #9aa9bd; }
  .smn-catmap-side .smn-card-hd { flex: none; margin-bottom: 9px; }
  .smn-catmap-side > .smn-ctop-lg { flex: none; }

/* ── 电子保函页（.smn-page-ggt = /guarantee）：地图卡 + 右侧「省级站点」面板对齐 sitemap_v4 视觉样式 ──
   仅改样式，不动 DOM 结构与前端翻页交互。作用域限定 .smn-page-ggt，不影响 v4 自身。
   映射：.smn-catmap→v4 .smn-map-card（白底 / 14px 圆角 / 同款投影 / overflow 裁切）
         .smn-catmap-hd→v4 .smn-map-hd（渐变头底 + 实线分隔 + 16px 内边距）
         .smn-catmap-side→v4 .smn-prov-panel（白底 / 14px 圆角 / 同款投影 / 16px 内边距）
         .smn-ctop-row→v4 .smn-prov-it（7px9px 内边距 / 8px 圆角 / 同款悬停底）
   配色与 v4 统一：标题 #0f172a、强调蓝 linear-gradient(#4f7cff→#2f6bd6)、次级字 #2b3f5c。 */
.smn-page-ggt .smn-catmap {
  background: #fff;
  border: 1px solid rgba(28,60,130,.10);
  border-radius: 14px;
  box-shadow: 0 14px 30px -26px rgba(18,42,90,.6);
  overflow: hidden;
  padding: 0;
}
.smn-page-ggt .smn-catmap-hd {
  align-items: center;
  padding: 16px;
  border-bottom: 1px solid rgba(28,60,130,.08);
  background: linear-gradient(180deg, #f8fbff, #fff);
}
.smn-page-ggt .smn-catmap-tt { font-size: 16px; font-weight: 800; color: #0f172a; }
.smn-page-ggt .smn-catmap-tt > i { background: linear-gradient(180deg, #4f7cff, #2f6bd6); }
.smn-page-ggt .smn-catmap-sub { font-size: 12px; }
.smn-page-ggt .smn-catmap-body { padding: 12px 16px 14px; }
.smn-page-ggt .smn-catmap-side {
  background: #fff;
  border: 1px solid rgba(28,60,130,.10);
  border-radius: 14px;
  box-shadow: 0 14px 30px -26px rgba(18,42,90,.6);
  padding: 16px;
}
.smn-page-ggt .smn-catmap-side h4 { font-size: 15px; font-weight: 800; color: #1f3a5c; letter-spacing: .2px; }
.smn-page-ggt .smn-catmap-side .smn-card-hd { margin-bottom: 10px; }
.smn-page-ggt .smn-ctop-row { padding: 7px 9px; border-radius: 8px; }
.smn-page-ggt .smn-ctop-row:hover { background: #e8eefb; }
.smn-page-ggt .smn-ctop-name { font-size: 13px; color: #2b3f5c; }
.smn-page-ggt .smn-ctop-bar i { background: linear-gradient(90deg, #4f7cff, #2f6bd6); }
.smn-page-ggt .smn-ctop-row b { font-size: 13px; font-weight: 800; color: #1f3a5c; }
.smn-page-ggt .smn-ctop-lg { border-top: 1px solid rgba(28,60,130,.10); }
.smn-page-ggt .smn-ctop-lg i { width: 24px; height: 9px; }

/* ═══════════ 页面级：关于我们（body.page-about，原 about.html.erb 内联样式） ═══════════ */
/* ---------- 整体布局 ---------- */
:where(body.page-about) .about-page {
  background: linear-gradient(135deg, #f5f7ff 0%, #eef2ff 100%);
  padding: 40px 20px;
  min-height: 500px;
}

:where(body.page-about) .about-container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  gap: 32px;
  align-items: stretch;
  min-height: 500px;  /* 固定最小高度，防止高度塌缩 */
}

/* ---------- 左侧菜单（增强版） ---------- */
:where(body.page-about) .about-menu {
  flex: 0 0 260px;   /* 稍宽一点容纳标识 */
  background: linear-gradient(145deg, #ffffff, #fefefe);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(79, 70, 229, 0.1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: box-shadow 0.2s;
}

:where(body.page-about) .about-menu:hover {
  box-shadow: 0 8px 20px rgba(79, 70, 229, 0.08);
}

/* 品牌标识区 */
:where(body.page-about) .menu-brand {
  padding: 28px 20px 16px;
  text-align: center;
  border-bottom: 1px solid rgba(79, 70, 229, 0.1);
  margin-bottom: 12px;
}

:where(body.page-about) .brand-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 12px;
  background: linear-gradient(135deg, #4f46e5, #7c3aed);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(79, 70, 229, 0.25);
}

:where(body.page-about) .brand-icon i {
  font-size: 28px;
  color: white;
}

:where(body.page-about) .brand-name {
  font-size: 20px;
  font-weight: 600;
  background: linear-gradient(135deg, #4f46e5, #7c3aed);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  letter-spacing: 1px;
  margin-bottom: 8px;
}

:where(body.page-about) .brand-line {
  width: 40px;
  height: 3px;
  background: linear-gradient(90deg, #4f46e5, #7c3aed);
  margin: 12px auto 0;
  border-radius: 2px;
}

/* 菜单列表 */
:where(body.page-about) .about-menu ul {
  list-style: none;
  padding: 0 16px 28px;
  margin: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;  /* 菜单项垂直居中 */
}

:where(body.page-about) .about-menu li {
  margin: 6px 0;
}

:where(body.page-about) .about-menu li a {
  display: flex;
  align-items: center;
  justify-content: center;  /* 水平居中图标和文字 */
  gap: 12px;
  padding: 12px 12px;
  color: #1e293b;
  text-decoration: none;
  font-weight: 500;
  border-radius: 40px;      /* 胶囊形状，更现代 */
  transition: all 0.2s;
  background: transparent;
}

:where(body.page-about) .about-menu li a i {
  width: 22px;
  font-size: 18px;
  color: #6c7a91;
  transition: color 0.2s;
}

:where(body.page-about) .about-menu li a:hover {
  background: #eef2ff;
  color: #4f46e5;
  transform: translateX(4px);
}

:where(body.page-about) .about-menu li a:hover i {
  color: #4f46e5;
}

:where(body.page-about) .about-menu li.active a {
  background: linear-gradient(90deg, #4f46e5, #7c3aed);
  color: white;
  box-shadow: 0 2px 8px rgba(79, 70, 229, 0.3);
}

:where(body.page-about) .about-menu li.active a i {
  color: white;
}

/* ---------- 右侧内容区 ---------- */
:where(body.page-about) .about-content {
  flex: 1;
  background: #fff;
  border-radius: 12px;
  border: 1px solid rgba(79, 70, 229, 0.1);
  padding: 24px 28px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  justify-content: center;  /* 内容垂直居中 */
}

/* ---------- 卡片内样式（保持不变，仅微调圆角） ---------- */
:where(body.page-about) .about-card h2 {
  font-size: 24px;
  font-weight: 600;
  margin: 0 0 16px 0;
  background: linear-gradient(135deg, #4f46e5, #7c3aed);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  display: inline-block;
}

:where(body.page-about) .about-card p {
  color: #334155;
  line-height: 1.5;
  margin-bottom: 20px;
}

:where(body.page-about) .three-pillars {
  display: flex;
  gap: 24px;
  margin: 32px 0;
}

:where(body.page-about) .pillar {
  flex: 1;
  background: #f8fafc;
  border-radius: 12px;
  padding: 20px;
  text-align: center;
  border: 1px solid #e2e8f0;
  transition: transform 0.2s, box-shadow 0.2s;
}

:where(body.page-about) .pillar:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

:where(body.page-about) .pillar i {
  font-size: 32px;
  color: #4f46e5;
  margin-bottom: 12px;
}

:where(body.page-about) .pillar h3 {
  font-size: 18px;
  margin: 0 0 8px 0;
  color: #0f172a;
}

:where(body.page-about) .pillar p {
  font-size: 14px;
  color: #475569;
  margin: 0;
}

:where(body.page-about) .vision {
  text-align: center;
  margin-top: 32px;
  padding: 20px;
  background: #eef2ff;
  border-radius: 12px;
  font-size: 16px;
  color: #1e293b;
  border-left: 4px solid #4f46e5;
}

:where(body.page-about) .data-highlight {
  display: flex;
  gap: 24px;
  margin: 24px 0;
  text-align: center;
}

:where(body.page-about) .data-highlight div {
  flex: 1;
  background: #f1f5f9;
  border-radius: 12px;
  padding: 16px;
}

:where(body.page-about) .data-highlight span {
  font-size: 28px;
  font-weight: 700;
  color: #4f46e5;
  display: block;
  margin-bottom: 8px;
}

:where(body.page-about) .philosophy-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 32px;
}

:where(body.page-about) .philosophy-grid > div {
  background: #f8fafc;
  border-radius: 12px;
  padding: 20px;
  text-align: center;
  border: 1px solid #e2e8f0;
}

:where(body.page-about) .philosophy-grid i {
  font-size: 28px;
  color: #4f46e5;
  margin-bottom: 12px;
}

:where(body.page-about) .philosophy-grid h3 {
  font-size: 16px;
  margin: 0 0 8px 0;
}

:where(body.page-about) .about-card ul {
  padding-left: 20px;
  margin: 20px 0;
}

:where(body.page-about) .about-card li {
  margin-bottom: 12px;
  color: #334155;
}

/* ---------- 响应式 ---------- */
@media (max-width: 768px) {
  :where(body.page-about) .about-container {
    flex-direction: column;
    min-height: auto;
  }

  :where(body.page-about) .about-menu {
    flex: auto;
    width: 100%;
    margin-bottom: 20px;
  }

  :where(body.page-about) .about-menu ul {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    padding: 16px;
  }

  :where(body.page-about) .about-menu li {
    margin: 4px 6px;
  }

  :where(body.page-about) .about-menu li a {
    padding: 8px 16px;
  }

  :where(body.page-about) .brand-icon {
    width: 48px;
    height: 48px;
  }

  :where(body.page-about) .brand-icon i {
    font-size: 24px;
  }

  :where(body.page-about) .brand-name {
    font-size: 18px;
  }

  :where(body.page-about) .three-pillars, :where(body.page-about) .data-highlight, :where(body.page-about) .philosophy-grid {
    flex-direction: column;
    gap: 16px;
  }
}

/* ═══════════ 页面级：采购分析（body.page-analysis，原 analysis.html.erb 内联样式） ═══════════ */
:where(body.page-analysis) .analysis-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: 1fr 350px;
  gap: 40px;
  margin-bottom: 60px;
}

/* 工具栏 */
:where(body.page-analysis) .analysis-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  padding: 20px;
  background: white;
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
}

:where(body.page-analysis) .total-count {
  font-size: 16px;
  color: var(--dark);
  font-weight: 500;
}

:where(body.page-analysis) .sort-options {
  display: flex;
  align-items: center;
  gap: 10px;
}

:where(body.page-analysis) .sort-select {
  padding: 8px 12px;
  border: 1px solid var(--light-gray);
  border-radius: var(--border-radius);
  font-size: 14px;
  background: white;
  cursor: pointer;
  outline: none;
  transition: var(--transition);
}

:where(body.page-analysis) .sort-select:focus {
  border-color: var(--primary);
}

/* 文章列表 */
:where(body.page-analysis) .article-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 25px;
  margin-bottom: 40px;
}

:where(body.page-analysis) .article-card {
  background: white;
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
  overflow: hidden;
  transition: var(--transition);
  height: 100%;
}

:where(body.page-analysis) .article-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}

:where(body.page-analysis) .article-card-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}

:where(body.page-analysis) .article-cover {
  position: relative;
  height: 180px;
  overflow: hidden;
}

:where(body.page-analysis) .cover-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

:where(body.page-analysis) .article-card:hover .cover-image {
  transform: scale(1.05);
}

:where(body.page-analysis) .article-badge {
  position: absolute;
  top: 15px;
  left: 15px;
  background: var(--primary);
  color: white;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
}

:where(body.page-analysis) .article-content {
  padding: 25px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

:where(body.page-analysis) .article-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 15px;
  line-height: 1.4;
}

:where(body.page-analysis) .article-title a {
  color: inherit;
  text-decoration: none;
  transition: var(--transition);
}

:where(body.page-analysis) .article-title a:hover {
  color: var(--primary);
}

:where(body.page-analysis) .article-meta {
  display: flex;
  gap: 15px;
  margin-bottom: 15px;
  font-size: 13px;
  color: var(--gray);
}

:where(body.page-analysis) .meta-item {
  display: flex;
  align-items: center;
  gap: 5px;
}

:where(body.page-analysis) .article-summary {
  color: var(--dark);
  line-height: 1.6;
  margin-bottom: 20px;
  flex: 1;
  font-size: 14px;
}

:where(body.page-analysis) .article-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 15px;
  border-top: 1px solid var(--light-gray);
}

:where(body.page-analysis) .article-tags {
  display: flex;
  gap: 8px;
}

:where(body.page-analysis) .article-tag {
  background: var(--light-gray);
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 12px;
  color: var(--gray);
}

:where(body.page-analysis) .read-more-link {
  color: var(--primary);
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: var(--transition);
}

:where(body.page-analysis) .read-more-link:hover {
  color: var(--secondary);
}

/* 空状态 */
:where(body.page-analysis) .empty-state {
  grid-column: 1 / -1;
  text-align: center;
  padding: 60px 20px;
  background: white;
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
}

:where(body.page-analysis) .empty-icon {
  font-size: 48px;
  color: var(--light-gray);
  margin-bottom: 20px;
}

:where(body.page-analysis) .empty-state h3 {
  font-size: 20px;
  color: var(--dark);
  margin-bottom: 10px;
}

:where(body.page-analysis) .empty-state p {
  color: var(--gray);
  font-size: 14px;
}

/* 侧边栏 */
:where(body.page-analysis) .analysis-sidebar {
  position: sticky;
  top: 20px;
  height: fit-content;
}

:where(body.page-analysis) .sidebar-section {
  background: white;
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
  padding: 25px;
  margin-bottom: 25px;
}

:where(body.page-analysis) .sidebar-header {
  margin-bottom: 20px;
}

:where(body.page-analysis) .sidebar-title {
  font-size: 18px;
  color: var(--dark);
  display: flex;
  align-items: center;
  gap: 10px;
}

:where(body.page-analysis) .sidebar-title i {
  color: var(--primary);
}

/* 热门文章 */
:where(body.page-analysis) .popular-article-item {
  display: flex;
  gap: 15px;
  padding: 12px 0;
  border-bottom: 1px solid var(--light-gray);
}

:where(body.page-analysis) .popular-article-item:last-child {
  border-bottom: none;
}

:where(body.page-analysis) .popular-rank {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: var(--light-gray);
  border-radius: 50%;
  font-size: 12px;
  font-weight: 600;
  color: var(--dark);
  flex-shrink: 0;
}

:where(body.page-analysis) .popular-content {
  flex: 1;
}

:where(body.page-analysis) .popular-title {
  font-size: 14px;
  font-weight: 500;
  color: var(--dark);
  margin-bottom: 5px;
  line-height: 1.4;
}

:where(body.page-analysis) .popular-title a {
  color: inherit;
  text-decoration: none;
  transition: var(--transition);
}

:where(body.page-analysis) .popular-title a:hover {
  color: var(--primary);
}

:where(body.page-analysis) .popular-meta {
  font-size: 12px;
  color: var(--gray);
}

/* 最新文章 */
:where(body.page-analysis) .latest-article-item {
  display: flex;
  gap: 15px;
  padding: 12px 0;
  border-bottom: 1px solid var(--light-gray);
}

:where(body.page-analysis) .latest-article-item:last-child {
  border-bottom: none;
}

:where(body.page-analysis) .latest-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background: var(--light);
  border-radius: var(--border-radius);
  flex-shrink: 0;
}

:where(body.page-analysis) .date-day {
  font-size: 18px;
  font-weight: 700;
  color: var(--primary);
}

:where(body.page-analysis) .latest-content {
  flex: 1;
}

:where(body.page-analysis) .latest-title {
  font-size: 14px;
  font-weight: 500;
  color: var(--dark);
  line-height: 1.4;
}

:where(body.page-analysis) .latest-title a {
  color: inherit;
  text-decoration: none;
  transition: var(--transition);
}

:where(body.page-analysis) .latest-title a:hover {
  color: var(--primary);
}

/* 分类列表 */
:where(body.page-analysis) .category-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

:where(body.page-analysis) .category-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 15px;
  background: var(--light);
  border-radius: var(--border-radius);
  text-decoration: none;
  color: var(--dark);
  transition: var(--transition);
}

:where(body.page-analysis) .category-item:hover {
  background: var(--light-gray);
  color: var(--primary);
}

:where(body.page-analysis) .category-name {
  font-size: 14px;
}

:where(body.page-analysis) .category-count {
  font-size: 12px;
  color: var(--gray);
  background: white;
  padding: 2px 8px;
  border-radius: 10px;
}

/* 订阅框 */
:where(body.page-analysis) .subscribe-box {
  background: linear-gradient(135deg, var(--primary), var(--secondary));
  color: white;
}

:where(body.page-analysis) .subscribe-content h4 {
  font-size: 20px;
  margin-bottom: 10px;
}

:where(body.page-analysis) .subscribe-content p {
  opacity: 0.9;
  margin-bottom: 20px;
  font-size: 14px;
}

:where(body.page-analysis) .subscribe-form {
  display: flex;
  gap: 10px;
}

:where(body.page-analysis) .subscribe-input {
  flex: 1;
  padding: 12px 15px;
  border: none;
  border-radius: var(--border-radius);
  font-size: 14px;
  outline: none;
}

:where(body.page-analysis) .subscribe-btn {
  background: white;
  color: var(--primary);
  border: none;
  padding: 12px 20px;
  border-radius: var(--border-radius);
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition);
}

:where(body.page-analysis) .subscribe-btn:hover {
  background: var(--light);
  transform: translateY(-2px);
}

/* 分页 */
:where(body.page-analysis) .pagination {
  background: white;
  padding: 20px;
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
}

/* 响应式设计 */
@media (max-width: 992px) {
  :where(body.page-analysis) .analysis-container {
    grid-template-columns: 1fr;
  }
  
  :where(body.page-analysis) .analysis-sidebar {
    position: static;
  }
  
  :where(body.page-analysis) .article-list {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  }
}

@media (max-width: 768px) {
  :where(body.page-analysis) .analysis-container {
    padding: 0 15px;
  }
  
  :where(body.page-analysis) .analysis-toolbar {
    flex-direction: column;
    gap: 15px;
    align-items: flex-start;
  }
  
  :where(body.page-analysis) .article-list {
    grid-template-columns: 1fr;
  }
  
  :where(body.page-analysis) .subscribe-form {
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  :where(body.page-analysis) .article-meta {
    flex-wrap: wrap;
    gap: 10px;
  }
  
  :where(body.page-analysis) .article-footer {
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
  }
}

/* 核心：Banner 容器完全限制在 1200px 内 */
:where(body.page-analysis) .analysis-banner {
  max-width: 1200px;
  width: 100%;
  height: 400px;
  margin: 0 auto 40px;
  position: relative;
  background: linear-gradient(135deg, 
    rgba(30, 60, 114, 0.9), 
    rgba(42, 82, 152, 0.9)),
    url('https://images.unsplash.com/photo-1551288049-bebda4e38f71?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80');
  background-size: cover;
  background-position: center;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  color: white;
}

/* 如果需要在小屏幕上增加一些内边距 */
:where(body.page-analysis) .analysis-banner {
  padding: 0 20px;
}

:where(body.page-analysis) .banner-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1;
}

/* 内容容器 - 填充整个 Banner */
:where(body.page-analysis) .banner-container {
  position: relative;
  z-index: 2;
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0 40px;
}

:where(body.page-analysis) .banner-text {
  text-align: center;
  margin-bottom: 40px;
  width: 100%;
}

:where(body.page-analysis) .banner-title {
  font-size: 48px;
  font-weight: 800;
  margin-bottom: 15px;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  background: linear-gradient(90deg, #fff, #f0f9ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

:where(body.page-analysis) .banner-subtitle {
  font-size: 20px;
  opacity: 0.9;
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.5;
}

:where(body.page-analysis) .banner-stats {
  display: flex;
  justify-content: center;
  gap: 60px;
  width: 100%;
  max-width: 800px;
}

:where(body.page-analysis) .stat-item {
  text-align: center;
  flex: 1;
  min-width: 120px;
}

:where(body.page-analysis) .stat-number {
  display: block;
  font-size: 42px;
  font-weight: 700;
  margin-bottom: 8px;
  color: #ffd700;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  line-height: 1;
}

:where(body.page-analysis) .stat-label {
  font-size: 16px;
  opacity: 0.85;
  letter-spacing: 1px;
  display: block;
  padding: 5px 10px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  backdrop-filter: blur(5px);
}

/* 添加装饰元素 */
:where(body.page-analysis) .analysis-banner::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 1px solid rgba(255, 255, 255, 0.1);
  pointer-events: none;
  z-index: 3;
}

/* 添加底部装饰 */
:where(body.page-analysis) .analysis-banner::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 200px;
  height: 4px;
  background: linear-gradient(90deg, transparent, #ffd700, transparent);
  z-index: 2;
}

/* 响应式设计 */
@media (max-width: 1200px) {
  :where(body.page-analysis) .analysis-banner {
    margin: 0 20px 40px;
  }
}

@media (max-width: 992px) {
  :where(body.page-analysis) .analysis-banner {
    height: 320px;
    margin: 0 15px 30px;
  }

  :where(body.page-analysis) .banner-container {
    padding: 0 30px;
  }

  :where(body.page-analysis) .banner-title {
    font-size: 36px;
  }

  :where(body.page-analysis) .banner-subtitle {
    font-size: 18px;
  }

  :where(body.page-analysis) .banner-stats {
    gap: 40px;
  }

  :where(body.page-analysis) .stat-number {
    font-size: 36px;
  }
}

@media (max-width: 768px) {
  :where(body.page-analysis) .analysis-banner {
    height: 280px;
    margin: 0 15px 25px;
    padding: 0 15px;
  }

  :where(body.page-analysis) .banner-container {
    padding: 0 20px;
  }

  :where(body.page-analysis) .banner-title {
    font-size: 32px;
  }

  :where(body.page-analysis) .banner-subtitle {
    font-size: 16px;
  }

  :where(body.page-analysis) .banner-stats {
    gap: 30px;
    flex-wrap: wrap;
    justify-content: space-around;
  }

  :where(body.page-analysis) .stat-item {
    min-width: 100px;
    margin-bottom: 15px;
  }

  :where(body.page-analysis) .stat-number {
    font-size: 28px;
  }

  :where(body.page-analysis) .stat-label {
    font-size: 14px;
  }
}

@media (max-width: 576px) {
  :where(body.page-analysis) .analysis-banner {
    height: 240px;
    margin: 0 10px 20px;
    padding: 0 10px;
  }

  :where(body.page-analysis) .banner-container {
    padding: 0 15px;
  }

  :where(body.page-analysis) .banner-title {
    font-size: 28px;
  }

  :where(body.page-analysis) .banner-subtitle {
    font-size: 14px;
  }

  :where(body.page-analysis) .banner-stats {
    gap: 20px;
  }

  :where(body.page-analysis) .stat-item {
    min-width: 80px;
  }

  :where(body.page-analysis) .stat-number {
    font-size: 24px;
  }

  :where(body.page-analysis) .stat-label {
    font-size: 12px;
    padding: 4px 8px;
  }
}

@media (max-width: 400px) {
  :where(body.page-analysis) .analysis-banner {
    height: 200px;
    margin: 0 10px 15px;
  }

  :where(body.page-analysis) .banner-text {
    margin-bottom: 20px;
  }

  :where(body.page-analysis) .banner-title {
    font-size: 24px;
  }

  :where(body.page-analysis) .banner-stats {
    flex-direction: column;
    gap: 15px;
  }

  :where(body.page-analysis) .stat-item {
    min-width: auto;
    width: 100%;
  }
}

/* ═══════════ 页面级：数据分析（body.page-datas，原 datas.html.erb 内联样式） ═══════════ */
:where(body.page-datas) .datas-page {
  background: #f8f9fa;
  min-height: 100vh;
}

/* Banner样式 */
:where(body.page-datas) .datas-banner {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  height: 400px;
  background: linear-gradient(135deg, 
    rgba(74, 0, 224, 0.9), 
    rgba(142, 45, 226, 0.9)),
    url('https://images.unsplash.com/photo-1551288049-bebda4e38f71?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80');
  background-size: cover;
  background-position: center;
  color: white;
  margin-bottom: 40px;
  overflow: hidden;
}

:where(body.page-datas) .banner-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
}

:where(body.page-datas) .banner-container {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: 0 auto;
  height: 100%;
  padding: 0 20px;
}

:where(body.page-datas) .banner-content {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

:where(body.page-datas) .banner-title {
  font-size: 48px;
  font-weight: 800;
  margin-bottom: 15px;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

:where(body.page-datas) .banner-subtitle {
  font-size: 20px;
  opacity: 0.9;
  max-width: 600px;
  margin: 0 auto 40px;
}

/* 总体统计卡片 */
:where(body.page-datas) .overall-stats {
  display: flex;
  justify-content: center;
  gap: 30px;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1000px;
}

:where(body.page-datas) .stat-card {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 20px 25px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 12px;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  min-width: 200px;
  transition: all 0.3s ease;
}

:where(body.page-datas) .stat-card:hover {
  transform: translateY(-5px);
  background: rgba(255, 255, 255, 0.25);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

:where(body.page-datas) .stat-icon {
  font-size: 32px;
  color: #ffd700;
}

:where(body.page-datas) .stat-info {
  display: flex;
  flex-direction: column;
}

:where(body.page-datas) .stat-number {
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 5px;
}

:where(body.page-datas) .stat-label {
  font-size: 14px;
  opacity: 0.9;
}

/* 时间筛选 */
:where(body.page-datas) .time-filter {
  background: white;
  border-radius: 12px;
  padding: 25px;
  margin-bottom: 30px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

:where(body.page-datas) .filter-header {
  margin-bottom: 20px;
}

:where(body.page-datas) .filter-header h3 {
  font-size: 18px;
  color: var(--dark);
  display: flex;
  align-items: center;
  gap: 10px;
}

:where(body.page-datas) .filter-controls {
  display: flex;
  gap: 20px;
  align-items: center;
  flex-wrap: wrap;
}

:where(body.page-datas) .filter-group {
  display: flex;
  align-items: center;
  gap: 10px;
}

:where(body.page-datas) .filter-group label {
  font-size: 14px;
  color: var(--gray);
}

:where(body.page-datas) .filter-group input {
  padding: 10px 15px;
  border: 1px solid var(--light-gray);
  border-radius: 8px;
  font-size: 14px;
}

:where(body.page-datas) .filter-btn {
  background: linear-gradient(135deg, var(--primary), var(--secondary));
  color: white;
  border: none;
  padding: 12px 25px;
  border-radius: 8px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
}

:where(body.page-datas) .filter-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 82, 217, 0.3);
}

/* 图表行 */
:where(body.page-datas) .chart-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin-bottom: 30px;
}

:where(body.page-datas) .chart-card {
  background: white;
  border-radius: 12px;
  padding: 25px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

:where(body.page-datas) .chart-card.full-width {
  grid-column: 1 / -1;
}

:where(body.page-datas) .chart-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 25px;
}

:where(body.page-datas) .chart-header h3 {
  font-size: 18px;
  color: var(--dark);
}

:where(body.page-datas) .chart-subtitle {
  font-size: 14px;
  color: var(--gray);
}

:where(body.page-datas) .chart-actions {
  display: flex;
  gap: 10px;
}

:where(body.page-datas) .chart-btn {
  padding: 8px 16px;
  border: 1px solid var(--light-gray);
  background: white;
  border-radius: 20px;
  font-size: 14px;
  color: var(--gray);
  cursor: pointer;
  transition: all 0.3s ease;
}

:where(body.page-datas) .chart-btn.active {
  background: var(--primary);
  color: white;
  border-color: var(--primary);
}

:where(body.page-datas) .chart-btn:hover:not(.active) {
  border-color: var(--primary);
  color: var(--primary);
}

:where(body.page-datas) .chart-container {
  height: 300px;
  position: relative;
}

:where(body.page-datas) .chart-summary {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--light-gray);
  font-size: 14px;
  color: var(--gray);
}

/* 中间Banner图 */
:where(body.page-datas) .middle-banner {
  background: linear-gradient(90deg, #00b09b, #96c93d);
  border-radius: 12px;
  padding: 40px;
  margin: 40px 0;
  color: white;
  text-align: center;
}

:where(body.page-datas) .middle-banner h3 {
  font-size: 28px;
  margin-bottom: 15px;
}

:where(body.page-datas) .middle-banner p {
  font-size: 16px;
  opacity: 0.9;
  margin-bottom: 25px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

:where(body.page-datas) .banner-btn {
  background: white;
  color: #00b09b;
  border: none;
  padding: 12px 30px;
  border-radius: 30px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

:where(body.page-datas) .banner-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

/* 数据表格 */
:where(body.page-datas) .data-table-section {
  background: white;
  border-radius: 12px;
  padding: 30px;
  margin-top: 40px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

:where(body.page-datas) .section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 25px;
}

:where(body.page-datas) .table-actions {
  display: flex;
  gap: 15px;
}

:where(body.page-datas) .table-btn {
  padding: 10px 20px;
  border: 1px solid var(--light-gray);
  background: white;
  border-radius: 8px;
  color: var(--dark);
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
}

:where(body.page-datas) .table-btn:hover {
  background: var(--light);
  transform: translateY(-2px);
}

:where(body.page-datas) .table-tabs {
  display: flex;
  gap: 10px;
  margin-bottom: 25px;
  border-bottom: 1px solid var(--light-gray);
  padding-bottom: 10px;
}

:where(body.page-datas) .tab-btn {
  padding: 10px 25px;
  border: none;
  background: transparent;
  color: var(--gray);
  cursor: pointer;
  border-radius: 8px;
  transition: all 0.3s ease;
  position: relative;
}

:where(body.page-datas) .tab-btn.active {
  color: var(--primary);
  background: var(--light);
}

:where(body.page-datas) .tab-btn.active::after {
  content: '';
  position: absolute;
  bottom: -11px;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--primary);
}

:where(body.page-datas) .tab-content {
  display: none;
}

:where(body.page-datas) .tab-content.active {
  display: block;
}

:where(body.page-datas) .data-table {
  width: 100%;
  border-collapse: collapse;
}

:where(body.page-datas) .data-table th {
  background: var(--light);
  padding: 15px;
  text-align: left;
  font-weight: 600;
  color: var(--dark);
  border-bottom: 2px solid var(--light-gray);
}

:where(body.page-datas) .data-table td {
  padding: 15px;
  border-bottom: 1px solid var(--light-gray);
}

:where(body.page-datas) .data-table tr:hover {
  background: var(--light);
}

/* 响应式设计 */
@media (max-width: 1200px) {
  :where(body.page-datas) .datas-container {
    padding: 0 15px;
  }
}

@media (max-width: 992px) {
  :where(body.page-datas) .chart-row {
    grid-template-columns: 1fr;
  }
  
  :where(body.page-datas) .overall-stats {
    gap: 20px;
  }
  
  :where(body.page-datas) .stat-card {
    min-width: 160px;
    padding: 15px 20px;
  }
}

@media (max-width: 768px) {
  :where(body.page-datas) .datas-banner {
    height: 320px;
  }
  
  :where(body.page-datas) .banner-title {
    font-size: 36px;
  }
  
  :where(body.page-datas) .banner-subtitle {
    font-size: 16px;
  }
  
  :where(body.page-datas) .overall-stats {
    gap: 15px;
  }
  
  :where(body.page-datas) .stat-card {
    min-width: 140px;
    padding: 12px 15px;
  }
  
  :where(body.page-datas) .stat-number {
    font-size: 20px;
  }
  
  :where(body.page-datas) .filter-controls {
    flex-direction: column;
    align-items: flex-start;
  }
  
  :where(body.page-datas) .middle-banner {
    padding: 30px 20px;
  }
  
  :where(body.page-datas) .middle-banner h3 {
    font-size: 24px;
  }
}

@media (max-width: 576px) {
  :where(body.page-datas) .datas-banner {
    height: 280px;
  }
  
  :where(body.page-datas) .banner-title {
    font-size: 28px;
  }
  
  :where(body.page-datas) .banner-subtitle {
    font-size: 14px;
  }
  
  :where(body.page-datas) .overall-stats {
    flex-direction: column;
    align-items: center;
  }
  
  :where(body.page-datas) .stat-card {
    width: 100%;
    max-width: 300px;
  }
  
  :where(body.page-datas) .section-header {
    flex-direction: column;
    gap: 15px;
    align-items: flex-start;
  }
  
  :where(body.page-datas) .table-tabs {
    flex-wrap: wrap;
  }
  
  :where(body.page-datas) .chart-container {
    height: 250px;
  }
}

/* ═══════════ 页面级：成交详情（body.page-deal-record，原 deal_record.html.erb 内联样式） ═══════════ */
:where(body.page-deal-record) .drd-wrap { max-width: 1000px; margin: 0 auto; padding: 0 20px 48px; }
:where(body.page-deal-record) .drd-back { display: inline-flex; align-items: center; gap: 6px; color: #3274f1; text-decoration: none;
            font-size: 14px; font-weight: 600; margin: 8px 0 18px; }
:where(body.page-deal-record) .drd-back:hover { text-decoration: underline; }
:where(body.page-deal-record) .drd-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
:where(body.page-deal-record) .drd-card { background: #fff; border: 1px solid #e6ebf2; border-radius: 14px; overflow: hidden; }
:where(body.page-deal-record) .drd-card-hd { background: #f8fafc; padding: 13px 18px; font-weight: 700; color: #334155; border-bottom: 1px solid #eef2f7; }
:where(body.page-deal-record) .drd-card-bd { padding: 6px 18px 14px; }
:where(body.page-deal-record) .drd-row { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px dashed #f1f5f9; font-size: 14px; }
:where(body.page-deal-record) .drd-row:last-child { border-bottom: none; }
:where(body.page-deal-record) .drd-row dt { color: #94a3b8; font-weight: 600; flex: none; }
:where(body.page-deal-record) .drd-row dd { margin: 0; color: #1e293b; text-align: right; word-break: break-all; }
:where(body.page-deal-record) .drd-row dd.money { color: #b45309; font-weight: 700; font-variant-numeric: tabular-nums; }
@media (max-width: 767px) { :where(body.page-deal-record) .drd-grid { grid-template-columns: 1fr; } }

/* ═══════════ 页面级：成交列表（body.page-deal-records，原 deal_records.html.erb 内联样式） ═══════════ */
:where(body.page-deal-records) .dr-page-wrap { max-width: 1200px; margin: 0 auto; padding: 0 20px 48px; }
/* Hero */
:where(body.page-deal-records) .dr-hero {
  background: linear-gradient(135deg, #1f3c91 0%, #2353c7 48%, #3274f1 100%);
  color: #fff; padding: 40px 0 36px; margin-bottom: 24px;
}
:where(body.page-deal-records) .dr-hero-inner { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
:where(body.page-deal-records) .dr-hero h1 { font-size: 30px; font-weight: 800; margin: 0 0 8px; letter-spacing: .5px; }
:where(body.page-deal-records) .dr-hero p { margin: 0; opacity: .9; font-size: 15px; }
:where(body.page-deal-records) .dr-breadcrumb { margin-top: 14px; font-size: 13px; opacity: .85; }
:where(body.page-deal-records) .dr-breadcrumb a { color: #fff; text-decoration: none; }
:where(body.page-deal-records) .dr-breadcrumb a:hover { text-decoration: underline; }
:where(body.page-deal-records) .dr-breadcrumb .sep { margin: 0 8px; opacity: .6; }

/* 搜索栏 */
:where(body.page-deal-records) .dr-search {
  background: #fff; border: 1px solid #e6ebf2; border-radius: 14px;
  box-shadow: 0 6px 24px rgba(31,60,145,.06); padding: 20px 22px; margin-bottom: 22px;
  display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-end;
}
:where(body.page-deal-records) .dr-field { display: flex; flex-direction: column; gap: 6px; flex: 1 1 220px; min-width: 200px; }
:where(body.page-deal-records) .dr-field label { font-size: 13px; font-weight: 600; color: #334155; }
:where(body.page-deal-records) .dr-field input {
  height: 42px; border: 1px solid #d6deea; border-radius: 9px; padding: 0 14px;
  font-size: 14px; outline: none; transition: border-color .15s, box-shadow .15s; background: #fff;
}
:where(body.page-deal-records) .dr-field input:focus { border-color: #3274f1; box-shadow: 0 0 0 3px rgba(50,116,241,.12); }
:where(body.page-deal-records) .dr-actions { display: flex; gap: 10px; }
:where(body.page-deal-records) .dr-btn {
  height: 42px; padding: 0 22px; border-radius: 9px; font-size: 14px; font-weight: 600;
  border: 1px solid transparent; cursor: pointer; transition: all .15s; text-decoration: none;
  display: inline-flex; align-items: center; justify-content: center;
}
:where(body.page-deal-records) .dr-btn-primary { background: #3274f1; color: #fff; }
:where(body.page-deal-records) .dr-btn-primary:hover { background: #2353c7; }
:where(body.page-deal-records) .dr-btn-ghost { background: #f1f5f9; color: #475569; border-color: #e2e8f0; }
:where(body.page-deal-records) .dr-btn-ghost:hover { background: #e2e8f0; }

/* 结果统计 */
:where(body.page-deal-records) .dr-meta { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; flex-wrap: wrap; gap: 8px; }
:where(body.page-deal-records) .dr-count { font-size: 14px; color: #64748b; }
:where(body.page-deal-records) .dr-count b { color: #1f3c91; font-size: 18px; margin: 0 4px; }

/* 表格 */
:where(body.page-deal-records) .dr-table-card { background: #fff; border: 1px solid #e6ebf2; border-radius: 14px; overflow: hidden; }
:where(body.page-deal-records) .dr-table { width: 100%; border-collapse: collapse; font-size: 14px; }
:where(body.page-deal-records) .dr-table thead th {
  background: #f8fafc; color: #475569; font-weight: 600; text-align: left;
  padding: 13px 14px; border-bottom: 1px solid #eef2f7; white-space: nowrap;
}
:where(body.page-deal-records) .dr-table tbody td { padding: 13px 14px; border-bottom: 1px solid #f1f5f9; color: #1e293b; vertical-align: middle; }
:where(body.page-deal-records) .dr-table tbody tr:hover { background: #f8fbff; }
:where(body.page-deal-records) .dr-table .num { text-align: right; font-variant-numeric: tabular-nums; }
:where(body.page-deal-records) .dr-table .org { color: #3274f1; font-weight: 600; }
:where(body.page-deal-records) .dr-table .sup { color: #0d9488; font-weight: 600; }
:where(body.page-deal-records) .dr-table .cls { display: inline-block; background: #eef2ff; color: #4338ca; border-radius: 6px; padding: 2px 8px; font-size: 12px; }
:where(body.page-deal-records) .dr-link { color: #3274f1; text-decoration: none; font-weight: 600; }
:where(body.page-deal-records) .dr-link:hover { text-decoration: underline; }
:where(body.page-deal-records) .dr-empty { padding: 60px 20px; text-align: center; color: #94a3b8; font-size: 15px; }

/* 分页 */
:where(body.page-deal-records) .dr-pager { display: flex; gap: 6px; justify-content: center; margin-top: 22px; flex-wrap: wrap; }
:where(body.page-deal-records) .dr-page {
  min-width: 36px; height: 36px; padding: 0 10px; border: 1px solid #e2e8f0; border-radius: 8px;
  display: inline-flex; align-items: center; justify-content: center; color: #475569;
  text-decoration: none; font-size: 14px; transition: all .15s; background: #fff;
}
:where(body.page-deal-records) .dr-page:hover { border-color: #3274f1; color: #3274f1; }
:where(body.page-deal-records) .dr-page.is-active { background: #3274f1; border-color: #3274f1; color: #fff; font-weight: 600; }
:where(body.page-deal-records) .dr-page.is-gap { border: none; background: transparent; color: #94a3b8; cursor: default; }

@media (max-width: 767px) {
  :where(body.page-deal-records) .dr-hero h1 { font-size: 24px; }
  :where(body.page-deal-records) .dr-search { padding: 16px; }
  :where(body.page-deal-records) .dr-field { flex-basis: 100%; }
  :where(body.page-deal-records) .dr-table thead { display: none; }
  :where(body.page-deal-records) .dr-table, :where(body.page-deal-records) .dr-table tbody, :where(body.page-deal-records) .dr-table tr, :where(body.page-deal-records) .dr-table td { display: block; width: 100%; }
  :where(body.page-deal-records) .dr-table tr { border-bottom: 8px solid #f1f5f9; padding: 6px 0; }
  :where(body.page-deal-records) .dr-table tbody td { border: none; padding: 6px 16px; display: flex; justify-content: space-between; gap: 12px; }
  :where(body.page-deal-records) .dr-table tbody td::before { content: attr(data-label); color: #94a3b8; font-size: 12px; font-weight: 600; }
  :where(body.page-deal-records) .dr-table .num { text-align: right; }
}

/* ═══════════ 页面级：框架协议（body.page-frame-aggrements，原 frame_aggrements.html.erb 内联样式） ═══════════ */
:where(body.page-frame-aggrements) .fw-wrap { max-width: 1200px; margin: 0 auto; padding: 20px 32px; }
/* 头部蓝色渐变（参考小程序截图：左上深藏蓝 → 右下亮蓝） */
:where(body.page-frame-aggrements) .home-hero .fw-blue { background: linear-gradient(135deg, #1f3c91 0%, #2353c7 48%, #3274f1 100%); }
:where(body.page-frame-aggrements) .fw-today-card { background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.45); border-radius: 1rem; padding: .9rem 2rem; text-align: center; color: #fff; }
:where(body.page-frame-aggrements) .fw-today-date { font-size: 1.15rem; font-weight: 700; }
:where(body.page-frame-aggrements) .fw-rule-step { display: flex; align-items: center; gap: .5rem; padding: .35rem 0; }
/* 左侧步骤区：flex-grow 均匀分布填满卡片高度，避免等高后出现集中空白 */
:where(body.page-frame-aggrements) .fw-rule-steps { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: space-evenly; }
:where(body.page-frame-aggrements) .fw-rule-no { width: 1.5rem; height: 1.5rem; border-radius: 50%; background: #2563eb; color: #fff; font-size: .75rem; display: inline-flex; align-items: center; justify-content: center; flex: none; font-weight: 600; }
/* 右侧统计：CSS Grid 三行平分剩余高度，卡片拉满行高，避免等高后出现集中空白 */
:where(body.page-frame-aggrements) .fw-stat-grid { flex: 1 1 auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: .5rem; }
:where(body.page-frame-aggrements) .fw-stat-card { border: 1px solid #f1f5f9; border-radius: .75rem; padding: .8rem 1rem; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: .1rem; }
:where(body.page-frame-aggrements) .fw-stat-top { display: inline-flex; align-items: center; gap: .4rem; font-size: .78rem; color: #64748b; font-weight: 600; }
:where(body.page-frame-aggrements) .fw-stat-dot { width: .5rem; height: .5rem; border-radius: 50%; flex: none; }
:where(body.page-frame-aggrements) .fw-stat-num { font-size: 1.5rem; font-weight: 800; color: #0f172a; line-height: 1.2; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
/* ===== 临期卡头部：桌面左右两栏，H5 上下堆叠（防止标题被 chips 挤成一字一行） ===== */
:where(body.page-frame-aggrements) .fw-exp-head { display: flex; justify-content: space-between; align-items: flex-start; gap: .75rem; margin-bottom: .5rem; }
:where(body.page-frame-aggrements) .fw-exp-head-main { min-width: 0; }
@media (max-width: 767.98px) {
  :where(body.page-frame-aggrements) .fw-exp-head { flex-direction: column; align-items: stretch; gap: .5rem; }
  :where(body.page-frame-aggrements) .fw-exp-head .text-end { text-align: left !important; }
  :where(body.page-frame-aggrements) .fw-exp-head .fw-exp-sum { justify-content: flex-start; }
}
/* ===== 维度切换：胶囊分段控件（注意：.fw-seg 已被甘特条阶段段占用，此处用 fw-dim-seg） ===== */
:where(body.page-frame-aggrements) .fw-dim-seg { display: inline-flex; background: #f1f5f9; border-radius: 999px; padding: 4px; gap: 2px; margin-bottom: .9rem; }
:where(body.page-frame-aggrements) .fw-dim-seg-btn { border: none; background: transparent; border-radius: 999px; padding: .42rem 1.15rem; font-size: .85rem; font-weight: 600; color: #64748b; transition: color .18s ease, background .18s ease, box-shadow .18s ease; white-space: nowrap; }
:where(body.page-frame-aggrements) .fw-dim-seg-btn:hover { color: #2563eb; }
:where(body.page-frame-aggrements) .fw-dim-seg-btn.active { background: #fff; color: #2563eb; box-shadow: 0 2px 8px rgba(15, 23, 42, .1); }
:where(body.page-frame-aggrements) .fw-dim-seg-btn i { font-size: .78rem; opacity: .85; }
@media (max-width: 575.98px) {
  :where(body.page-frame-aggrements) .fw-dim-seg { width: 100%; }
  :where(body.page-frame-aggrements) .fw-dim-seg-btn { flex: 1; padding: .42rem .5rem; font-size: .8rem; }
}
/* ===== 维度一：甘特时间轴 ===== */
:where(body.page-frame-aggrements) .fw-gantt-row { display: flex; border-bottom: 1px solid #f1f5f9; }
/* 省与省的分界线（每省首行顶部加深加粗，明显区分省份块） */
:where(body.page-frame-aggrements) .fw-gantt-row.fw-prov-start { border-top: 2px solid #d3dce8; }
:where(body.page-frame-aggrements) .fw-gantt-label { width: 110px; flex: none; padding: .5rem .6rem; font-size: .82rem; font-weight: 600; color: #334155; background: #f8fafc; border-right: 1px solid #eef2f7; }
:where(body.page-frame-aggrements) .fw-gantt-area { flex: 1; position: relative; padding: .45rem .5rem; }
:where(body.page-frame-aggrements) .fw-gantt-line { position: relative; height: 14px; margin: 3px 0; overflow: hidden; }
/* 一个品目列一行：行内最多 3 条最新公告 */
:where(body.page-frame-aggrements) .fw-catalog-row { position: relative; padding: .3rem 0; border-bottom: 1px dashed #eef2f7; }
:where(body.page-frame-aggrements) .fw-catalog-row:last-child { border-bottom: none; }
/* 段内阶段名（征集 / 协议期 / 临期），窄段由 min-width 保底撑到可容纳 */
:where(body.page-frame-aggrements) .fw-seg { position: absolute; top: 1px; height: 12px; border-radius: 6px; overflow: hidden; }
:where(body.page-frame-aggrements) .fw-seg-txt { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
              font-size: 9px; line-height: 1; font-weight: 700; letter-spacing: .02em;
              white-space: nowrap; pointer-events: none; }
:where(body.page-frame-aggrements) .fw-vline { position: absolute; top: 0; width: 2px; height: 14px; }
/* 省名/品目名下钻链接（跳转全部协议列表页） */
:where(body.page-frame-aggrements) .fw-prov-link { font-weight: 600; color: inherit; text-decoration: none; display: block; }
:where(body.page-frame-aggrements) .fw-prov-link:hover { color: #2563eb; text-decoration: underline; }
:where(body.page-frame-aggrements) .fw-prov-count { color: #94a3b8; font-weight: 500; font-size: .78rem; }
:where(body.page-frame-aggrements) .fw-line-catalog .fw-catalog-link { color: inherit; text-decoration: none; display: block; padding: 0 .4rem; flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
:where(body.page-frame-aggrements) .fw-line-catalog .fw-catalog-link:hover { color: #2563eb; text-decoration: underline; }
/* 悬停详情卡（深色浮层，含全部环节精确日期） */
:where(body.page-frame-aggrements) .fw-tip { position: fixed; z-index: 1080; display: none; min-width: 320px; max-width: 400px;
          background: #0f1e3d; color: #e2e8f0; border-radius: .8rem; padding: .9rem 1.1rem;
          font-size: .8rem; line-height: 1.5; pointer-events: none; box-shadow: 0 12px 32px rgba(2, 6, 23, .45); }
:where(body.page-frame-aggrements) .fw-tip-title { color: #7cb0ff; font-weight: 700; font-size: .92rem; margin-bottom: .45rem; }
:where(body.page-frame-aggrements) .fw-tip-row { display: flex; gap: .6rem; padding: .1rem 0; }
:where(body.page-frame-aggrements) .fw-tip-row > span:first-child { color: #8fa3c8; flex: none; min-width: 5.4em; }
:where(body.page-frame-aggrements) .fw-tip-row > span:last-child { flex: 1; word-break: break-all; }
:where(body.page-frame-aggrements) .fw-tip-period { margin-top: .5rem; padding-top: .45rem; border-top: 1px solid #1e3a5f; }
:where(body.page-frame-aggrements) .fw-tip-ph { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin-bottom: .22rem; }
:where(body.page-frame-aggrements) .fw-tip-ph > span:first-child { color: #ffd8a8; font-weight: 700; font-size: .84rem; }
:where(body.page-frame-aggrements) .fw-tip-pst { color: #8fa3c8; font-size: .7rem; }
/* ===== 维度二：每省 8 环节等宽格 ===== */
:where(body.page-frame-aggrements) .fw-dim2-row { display: flex; align-items: stretch; gap: .4rem; padding: .5rem 0; border-bottom: 1px solid #f1f5f9; }
:where(body.page-frame-aggrements) .fw-dim2-label { width: 150px; flex: none; font-size: .8rem; font-weight: 600; color: #334155; display: flex; flex-direction: column; justify-content: center; gap: .1rem; }
:where(body.page-frame-aggrements) .fw-dim2-label .sub { font-size: .68rem; color: #94a3b8; font-weight: 400; }
:where(body.page-frame-aggrements) .fw-dim2-cells { flex: 1; display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: .3rem; }
:where(body.page-frame-aggrements) .fw-dim2-cell { border: 1px solid #e2e8f0; border-radius: .5rem; padding: .35rem .2rem; font-size: .68rem; color: #475569; background: #fff; text-align: center; min-height: 56px; display: flex; flex-direction: column; justify-content: center; position: relative; }
:where(body.page-frame-aggrements) .fw-dim2-cell .no { font-size: .64rem; color: #94a3b8; margin-bottom: .12rem; }
:where(body.page-frame-aggrements) .fw-dim2-cell .txt { white-space: pre-line; line-height: 1.25; }
:where(body.page-frame-aggrements) .fw-dim2-cell.done { color: #16a34a; border-color: #bbf7d0; background: #f0fdf4; }
:where(body.page-frame-aggrements) .fw-dim2-cell.current { border: 2px solid #2563eb; color: #2563eb; background: #eff6ff; font-weight: 700; }
:where(body.page-frame-aggrements) .fw-dim2-cell.warn { border: 2px solid #d97706; color: #b45309; background: #fffbeb; font-weight: 600; }
:where(body.page-frame-aggrements) .fw-dim2-cell .chk { position: absolute; top: 2px; right: 4px; color: #16a34a; font-weight: 700; }
/* ===== 维度 tab 内容区 ===== */
:where(body.page-frame-aggrements) .fw-tab-pane { padding-right: .25rem; }
/* ===== 协议临期预提醒（列表卡片） ===== */
:where(body.page-frame-aggrements) .fw-exp-sum { flex: none; display: flex; gap: .35rem; flex-wrap: wrap; margin-bottom: .5rem; }
:where(body.page-frame-aggrements) .fw-exp-chip { font-size: .7rem; font-weight: 600; border-radius: .35rem; padding: .12rem .45rem; white-space: nowrap; }
@media (max-width: 991.98px) {
  :where(body.page-frame-aggrements) .fw-dim2-row { flex-direction: column; gap: .5rem; padding: .7rem 0; }
  :where(body.page-frame-aggrements) .fw-dim2-label { width: auto; }
  :where(body.page-frame-aggrements) .fw-dim2-cells { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  :where(body.page-frame-aggrements) .fw-dim2-cells { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
:where(body.page-frame-aggrements) .fw-exp-meter { flex: none; display: inline-block; width: 78px; height: 6px; border-radius: 999px; background: #e8edf5; overflow: hidden; }
:where(body.page-frame-aggrements) .fw-exp-meter > i { display: block; height: 100%; border-radius: 999px; }
/* ===== 协议临期预提醒 / 到期后动态 卡片列表（v3 紧凑三栏） ===== */
:where(body.page-frame-aggrements) .fw-exp-list-v2, :where(body.page-frame-aggrements) .fw-event-list-v2 { display: flex; flex-direction: column; gap: 10px; padding-right: .25rem; }
:where(body.page-frame-aggrements) .fw-exp-item-v2, :where(body.page-frame-aggrements) .fw-event-item-v2 {
  display: grid;
  grid-template-columns: 76px 1fr 160px;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid #f0f0f0;
  border-radius: 10px;
  background: #fff;
  transition: all .2s ease;
}
:where(body.page-frame-aggrements) .fw-exp-item-v2:hover, :where(body.page-frame-aggrements) .fw-event-item-v2:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(0,0,0,.06); border-color: #e2e8f0; }
:where(body.page-frame-aggrements) .fw-exp-v2-left, :where(body.page-frame-aggrements) .fw-event-v2-left { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; min-width: 0; }
:where(body.page-frame-aggrements) .fw-exp-v2-days { font-size: 1.35rem; font-weight: 800; color: #dc2626; line-height: 1; font-variant-numeric: tabular-nums; text-align: center; }
:where(body.page-frame-aggrements) .fw-exp-v2-days small { display: block; font-size: .58rem; font-weight: 600; margin-top: 1px; }
:where(body.page-frame-aggrements) .fw-exp-v2-status, :where(body.page-frame-aggrements) .fw-event-v2-badge { font-size: .65rem; font-weight: 600; border-radius: 999px; padding: .12rem .45rem; white-space: nowrap; }
:where(body.page-frame-aggrements) .fw-exp-v2-center, :where(body.page-frame-aggrements) .fw-event-v2-center { min-width: 0; }
:where(body.page-frame-aggrements) .fw-exp-v2-title, :where(body.page-frame-aggrements) .fw-event-v2-title { font-size: .88rem; font-weight: 700; color: #1e293b; margin-bottom: 5px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; line-height: 1.35; }
:where(body.page-frame-aggrements) .fw-exp-v2-tags { display: flex; gap: 5px; flex-wrap: wrap; margin-bottom: 6px; }
:where(body.page-frame-aggrements) .fw-exp-v2-tag { font-size: .62rem; font-weight: 600; border: 1px solid currentColor; border-radius: .22rem; padding: .04rem .3rem; line-height: 1; }
:where(body.page-frame-aggrements) .fw-exp-v2-meta, :where(body.page-frame-aggrements) .fw-event-v2-meta { font-size: .72rem; color: #64748b; display: flex; align-items: center; gap: .55rem; flex-wrap: wrap; }
:where(body.page-frame-aggrements) .fw-exp-v2-progress { display: inline-flex; align-items: center; gap: 6px; }
:where(body.page-frame-aggrements) .fw-exp-v2-next { font-size: .72rem; font-weight: 600; }
:where(body.page-frame-aggrements) .fw-exp-v2-next.on { color: #047857; }
:where(body.page-frame-aggrements) .fw-exp-v2-next.off { color: #94a3b8; }
:where(body.page-frame-aggrements) .fw-exp-v2-right, :where(body.page-frame-aggrements) .fw-event-v2-right { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 5px; font-size: .74rem; color: #64748b; text-align: right; min-width: 0; }
:where(body.page-frame-aggrements) .fw-exp-v2-right .date-row, :where(body.page-frame-aggrements) .fw-event-v2-right .date-row { display: flex; align-items: center; gap: .35rem; }
:where(body.page-frame-aggrements) .fw-event-v2-meta span { display: inline-flex; align-items: center; gap: .25rem; }
@media (max-width: 767.98px) {
  :where(body.page-frame-aggrements) .fw-exp-item-v2, :where(body.page-frame-aggrements) .fw-event-item-v2 { grid-template-columns: 64px 1fr; align-items: start; }
  :where(body.page-frame-aggrements) .fw-exp-v2-right, :where(body.page-frame-aggrements) .fw-event-v2-right { grid-column: 2; grid-row: 2; align-items: flex-start; text-align: left; }
}
/* ===== 列表分页控件（AJAX 换页） ===== */
:where(body.page-frame-aggrements) .fw-pager { display: flex; align-items: center; justify-content: center; gap: .6rem; margin-top: .75rem; flex-shrink: 0; }
:where(body.page-frame-aggrements) .fw-pager-btn { font-size: .78rem; font-weight: 600; color: #1f3c91; background: #fff; border: 1px solid #dbe4f0; border-radius: .5rem; padding: .35rem .9rem; cursor: pointer; transition: all .15s ease; }
:where(body.page-frame-aggrements) .fw-pager-btn:hover:not(:disabled) { background: #f1f5ff; border-color: #2353c7; }
:where(body.page-frame-aggrements) .fw-pager-btn:disabled { color: #cbd5e1; border-color: #eef2f7; cursor: not-allowed; }
:where(body.page-frame-aggrements) .fw-pager-info { font-size: .78rem; color: #64748b; font-variant-numeric: tabular-nums; }
/* 暂时下线的入口卡（服务类）：视觉上明显区分，hover 不浮起，点击弹一句提示 */
:where(body.page-frame-aggrements) .pc-cap-service { border-top-color: #64748b; }
:where(body.page-frame-aggrements) .pc-cap-service .pc-cap-icon-wrap { background: #e2e8f0; color: #64748b; }
:where(body.page-frame-aggrements) .pc-cap-service:hover { box-shadow: 0 14px 30px rgba(100, 116, 139, .18); }
:where(body.page-frame-aggrements) .pc-cap-service.is-closed { cursor: pointer; background: #f1f5f9; border-style: dashed; border-top-style: solid; border-top-color: #94a3b8; }
:where(body.page-frame-aggrements) .pc-cap-service.is-closed .pc-cap-icon-wrap { background: #e2e8f0; color: #94a3b8; }
:where(body.page-frame-aggrements) .pc-cap-service.is-closed .pc-cap-body h3 { color: #64748b; }
:where(body.page-frame-aggrements) .pc-cap-service.is-closed .pc-cap-body p { color: #94a3b8; }
:where(body.page-frame-aggrements) .pc-cap-service.is-closed:hover { background: #e8eef4; transform: none; box-shadow: 0 8px 24px rgba(0,0,0,.08); }

/* ═══════════ 页面级：框架协议列表（body.page-frame-aggrements-list，原 frame_aggrements_list.html.erb 内联样式） ═══════════ */
:where(body.page-frame-aggrements-list) .fw-list-wrap { max-width: 1200px; margin: 0 auto; padding: 20px 32px 40px; }
:where(body.page-frame-aggrements-list) .fw-list-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
:where(body.page-frame-aggrements-list) .fw-back { display: inline-flex; align-items: center; gap: .35rem; font-size: .82rem; color: #64748b; text-decoration: none; margin-bottom: .5rem; }
:where(body.page-frame-aggrements-list) .fw-back:hover { color: #2563eb; }
:where(body.page-frame-aggrements-list) .fw-list-title { font-size: 1.35rem; font-weight: 800; color: #0f172a; margin: 0; letter-spacing: -.01em; }
:where(body.page-frame-aggrements-list) .fw-list-sub { font-size: .82rem; color: #94a3b8; margin-top: .2rem; }
:where(body.page-frame-aggrements-list) .fw-list-table { width: 100%; background: #fff; border: 1px solid #eef2f7; border-radius: .65rem; font-size: .8rem; border-collapse: separate; border-spacing: 0; overflow: hidden; }
:where(body.page-frame-aggrements-list) .fw-list-table th, :where(body.page-frame-aggrements-list) .fw-list-table td { padding: .55rem .7rem; border-bottom: 1px solid #f1f5f9; white-space: nowrap; text-align: left; }
:where(body.page-frame-aggrements-list) .fw-list-table th { background: #f8fafc; color: #475569; font-weight: 600; font-size: .76rem; }
:where(body.page-frame-aggrements-list) .fw-list-table tbody tr:hover { background: #f8fbff; }
:where(body.page-frame-aggrements-list) .fw-list-table tbody tr:last-child td { border-bottom: none; }
:where(body.page-frame-aggrements-list) .fw-badge { display: inline-block; font-size: .7rem; font-weight: 600; border-radius: 999px; padding: .1rem .5rem; }
:where(body.page-frame-aggrements-list) .fw-cat-tag { font-size: .68rem; font-weight: 600; border: 1px solid currentColor; border-radius: .25rem; padding: .02rem .3rem; color: #0d9488; }
:where(body.page-frame-aggrements-list) .fw-pager { display: flex; align-items: center; justify-content: center; gap: .75rem; margin-top: 1rem; }
:where(body.page-frame-aggrements-list) .fw-pager-btn { border: 1px solid #e2e8f0; background: #fff; border-radius: .45rem; padding: .3rem .8rem; font-size: .8rem; font-weight: 600; color: #334155; transition: all .15s; }
:where(body.page-frame-aggrements-list) .fw-pager-btn:hover:not(:disabled) { border-color: #2563eb; color: #2563eb; }
:where(body.page-frame-aggrements-list) .fw-pager-btn:disabled { opacity: .45; cursor: not-allowed; }
:where(body.page-frame-aggrements-list) .fw-pager-info { font-size: .8rem; color: #94a3b8; font-variant-numeric: tabular-nums; }
:where(body.page-frame-aggrements-list) .fw-date-chip { flex: none; background: #f1f5f9; border-radius: .8rem; padding: .55rem 1.3rem; text-align: center; }
:where(body.page-frame-aggrements-list) .fw-date-chip .d1 { font-size: 1.05rem; font-weight: 700; color: #0f172a; }
:where(body.page-frame-aggrements-list) .fw-date-chip .d2 { font-size: .72rem; color: #94a3b8; }
@media (max-width: 767.98px) {
  :where(body.page-frame-aggrements-list) .fw-list-wrap { padding: 16px 16px 32px; }
  :where(body.page-frame-aggrements-list) .fw-list-table th, :where(body.page-frame-aggrements-list) .fw-list-table td { padding: .45rem .45rem; font-size: .74rem; }
}

/* ═══════════ 页面级：邀请函（body.page-invite，原 invite.html.erb 内联样式） ═══════════ */
/* 基础重置，确保图片按比例显示且无多余边距 */

/* 保留原 video-wrapper 类名，但语义改为图片容器 */
:where(body.page-invite) .video-wrapper {
  width: 100%;
  max-width: 1200px;    /* 限制最大宽度，避免过宽，但仍保持100%宽度限制 */
  margin: 0 auto;
  background-color: #fff;
  border-radius: 0px;
  box-shadow: 0 20px 35px -12px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  transition: all 0.2s ease;
}

:where(body.page-invite) .video-container {
  padding: 20px;
}

/* 移除标题和描述区域，因为不再需要文字（或者你也可以保留为空，这里直接隐藏） */
:where(body.page-invite) .video-title, :where(body.page-invite) .video-desc {
  display: none;
}

/* 播放器包裹层改为图片容器 */
:where(body.page-invite) .player-wrapper {
  width: 100%;
  border-radius: 0px;
  overflow: hidden;
  background-color: #e9e9e9;  /* 加载时的占位背景 */
  line-height: 0;        /* 去除图片底部空隙 */
}

/* 图片样式：宽度100%，高度自动，严格按原始比例 */
:where(body.page-invite) .invite-image {
  width: 100%;
  height: auto;
  display: block;
  /* 可选：增加平滑加载效果 */
  transition: opacity 0.3s;
}

/* 移动端微调内边距，让图片更舒展 */
@media (max-width: 640px) {
  :where(body.page-invite) .video-container {
    padding: 12px;
  }
}

/* ═══════════ 页面级：政策查询（body.page-policy-query，原 policy_query.html.erb 内联样式） ═══════════ */
:where(body.page-policy-query) .hero-bg.policy-query {
  background: linear-gradient(135deg, #1e3a5f, #2563eb);
}

:where(body.page-policy-query) .pq-main { max-width: 1200px; margin: 0 auto 60px; padding: 0 20px; }
:where(body.page-policy-query) .pq-inner { display: flex; flex-direction: column; gap: 24px; }

/* 分类区块 */
:where(body.page-policy-query) .pq-block {
  background: #fff; border-radius: 12px; padding: 24px 28px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
:where(body.page-policy-query) .pq-block-hd {
  display: flex; align-items: center; gap: 12px; margin-bottom: 16px;
  padding-bottom: 12px; border-bottom: 2px solid #f1f5f9;
}
:where(body.page-policy-query) .pq-block-hd h2 {
  font-size: 18px; font-weight: 700; color: #1e293b; margin: 0;
  display: flex; align-items: center; gap: 10px;
}
:where(body.page-policy-query) .pq-block-hd h2 i { color: #2563eb; font-size: 20px; }
:where(body.page-policy-query) .pq-cat-desc { font-size: 13px; color: #94a3b8; }

/* 子类外层网格：subcat 之间 3 列排布 */
:where(body.page-policy-query) .pq-subcat-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media (max-width: 992px) {
  :where(body.page-policy-query) .pq-subcat-wrap { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 576px) {
  :where(body.page-policy-query) .pq-subcat-wrap { grid-template-columns: 1fr; }
}

/* 子类 */
:where(body.page-policy-query) .pq-subcat { margin-bottom: 0; }
:where(body.page-policy-query) .pq-subcat-title {
  font-size: 14px; font-weight: 600; color: #64748b;
  margin: 0 0 8px; padding-left: 10px; border-left: 3px solid #2563eb;
}

/* 链接卡片网格（每个 subcat 内 3 列） */
:where(body.page-policy-query) .pq-link-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 10px;
}
:where(body.page-policy-query) .pq-link-card {
  display: flex; align-items: center; justify-content: space-between;
  background: #f8fafc; border: 1px solid #f1f5f9; border-radius: 8px;
  padding: 10px 14px; transition: all 0.2s;
}
:where(body.page-policy-query) .pq-link-card:hover {
  border-color: #93c5fd; background: #fff;
  box-shadow: 0 2px 8px rgba(37,99,235,0.06);
}
:where(body.page-policy-query) .pq-link-info {
  display: flex; align-items: center; gap: 10px; min-width: 0; flex: 1;
}
:where(body.page-policy-query) .pq-link-logo { width: 24px; height: 24px; border-radius: 4px; object-fit: contain; flex-shrink: 0; }
:where(body.page-policy-query) .pq-link-icon { font-size: 18px; color: #2563eb; flex-shrink: 0; }
:where(body.page-policy-query) .pq-link-name {
  font-size: 13px; font-weight: 500; color: #334155; margin: 0;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
:where(body.page-policy-query) .pq-link-btn {
  display: inline-flex; align-items: center; gap: 4px; padding: 5px 14px;
  background: #2563eb; color: #fff; border-radius: 16px; font-size: 12px;
  font-weight: 500; text-decoration: none; white-space: nowrap; flex-shrink: 0;
  margin-left: 12px; transition: all 0.2s;
}
:where(body.page-policy-query) .pq-link-btn:hover {
  background: #1d4ed8; transform: translateY(-1px); color: #fff;
}

@media (max-width: 992px) {
  :where(body.page-policy-query) .pq-link-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 576px) {
  :where(body.page-policy-query) .pq-link-grid { grid-template-columns: 1fr; }
}

/* ═══════════ 页面级：站点地图 v1（body.page-sitemap-v1，原 sitemap_v1.html.erb 内联样式） ═══════════ */
/* ── Hero：匹配站点地图参考 UI 的深蓝导航区 ── */
:where(body.page-sitemap-v1) .home-hero.sitemap-hero {
  position: relative;
  padding: 20px 0 88px;
  min-height: 300px;
  overflow: visible;
  background: #123e76;
}
:where(body.page-sitemap-v1) .home-hero.sitemap-hero .hero-bg.sitemap {
  background:
    radial-gradient(ellipse 540px 280px at 86% 22%, rgba(91, 153, 239, .38), transparent 70%),
    radial-gradient(ellipse 520px 320px at 13% 88%, rgba(10, 73, 143, .7), transparent 72%),
    linear-gradient(112deg, #0b2f5d 0%, #15457f 54%, #2d65a5 100%);
}
:where(body.page-sitemap-v1) .home-hero.sitemap-hero .hero-inner {
  position: relative;
  z-index: 4;
  max-width: 1200px;
  padding: 0 20px;
}
:where(body.page-sitemap-v1) .sitemap-hero .hero-breadcrumb {
  margin: 0 0 12px;
  font-size: 11px;
  color: rgba(255, 255, 255, .72);
}
:where(body.page-sitemap-v1) .sitemap-hero .hero-breadcrumb a { color: rgba(255, 255, 255, .78); }
:where(body.page-sitemap-v1) .sm-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
  padding: 5px 11px;
  border: 1px solid rgba(185, 220, 255, .24);
  border-radius: 999px;
  background: rgba(255, 255, 255, .10);
  color: #dceeff;
  font-size: 11px;
  line-height: 1;
}
:where(body.page-sitemap-v1) .sm-hero-eyebrow i { color: #8dd2ff; font-size: 10px; }
:where(body.page-sitemap-v1) .home-hero.sitemap-hero h1 {
  margin: 0 0 5px;
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: .5px;
}
:where(body.page-sitemap-v1) .home-hero.sitemap-hero .hero-sub {
  max-width: 720px;
  margin: 0 0 15px;
  font-size: 13px;
  line-height: 1.65;
  color: rgba(255, 255, 255, .82);
}

/* Hero 搜索框和分类标签 */
:where(body.page-sitemap-v1) .sm-search-wrap { position: relative; width: min(650px, 100%); z-index: 10; }
:where(body.page-sitemap-v1) .sm-hero-search {
  display: flex;
  align-items: center;
  width: 100%;
  height: 40px;
  padding: 4px 5px 4px 13px;
  margin: 0 0 8px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 7px 18px rgba(5, 32, 70, .22);
}
:where(body.page-sitemap-v1) .sm-hero-search > i { flex: 0 0 auto; color: #4c77a8; font-size: 13px; }
:where(body.page-sitemap-v1) .sm-hero-search input {
  min-width: 0;
  flex: 1;
  height: 100%;
  border: 0;
  outline: 0;
  padding: 0 10px;
  color: #1e293b;
  background: transparent;
  font-size: 12px;
}
:where(body.page-sitemap-v1) .sm-hero-search input::placeholder { color: #9aaabd; }
:where(body.page-sitemap-v1) .sm-hero-search button {
  height: 32px;
  padding: 0 17px;
  border: 0;
  border-radius: 7px;
  background: linear-gradient(135deg, #2d73d5, #174f9e);
  color: #fff;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
:where(body.page-sitemap-v1) .sm-hero-search button i { margin-left: 5px; font-size: 10px; }
:where(body.page-sitemap-v1) .sm-search-suggestions {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  display: none;
  max-height: 270px;
  overflow-y: auto;
  padding: 6px;
  border: 1px solid #dbe6f2;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(5, 32, 70, .20);
}
:where(body.page-sitemap-v1) .sm-search-suggestions.is-visible { display: block; }
:where(body.page-sitemap-v1) .sm-search-suggestion {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 45px;
  padding: 7px 10px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #253b57;
  cursor: pointer;
  text-align: left;
  text-decoration: none;
  transition: background .15s;
}
:where(body.page-sitemap-v1) .sm-search-suggestion:hover, :where(body.page-sitemap-v1) .sm-search-suggestion.is-active { background: #eef5fd; }
:where(body.page-sitemap-v1) .sm-search-suggestion-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  border-radius: 7px;
  background: #edf4fc;
  color: #3976b9;
  font-size: 11px;
}
:where(body.page-sitemap-v1) .sm-search-suggestion-main { min-width: 0; flex: 1; }
:where(body.page-sitemap-v1) .sm-search-suggestion-title-row { display: flex; align-items: center; gap: 8px; min-width: 0; }
:where(body.page-sitemap-v1) .sm-search-suggestion-title {
  display: block;
  min-width: 0;
  flex: 1;
  overflow: hidden;
  color: #26384f;
  font-size: 12px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
:where(body.page-sitemap-v1) .sm-search-suggestion-region {
  flex: 0 0 auto;
  color: #64778c;
  font-size: 11px;
  font-weight: 400;
  white-space: nowrap;
}
:where(body.page-sitemap-v1) .sm-search-suggestion-meta {
  display: inline-block;
  flex: 0 0 auto;
  overflow: hidden;
  max-width: 72px;
  margin: 0;
  color: #5f97d6;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
:where(body.page-sitemap-v1) .sm-search-suggestion-arrow { color: #a7b7c8; font-size: 10px; }
:where(body.page-sitemap-v1) .sm-search-suggestion-hl {
  padding: 0 1px;
  border-radius: 2px;
  background: #dcebfd;
  color: #1d68d8;
}
:where(body.page-sitemap-v1) .sm-search-empty {
  padding: 13px 11px;
  color: #8b9aac;
  font-size: 11px;
  text-align: center;
}
:where(body.page-sitemap-v1) .sm-hero-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
:where(body.page-sitemap-v1) .sm-hero-tab {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 26px;
  padding: 0 9px;
  border: 1px solid rgba(255, 255, 255, .20);
  border-radius: 999px;
  color: rgba(255, 255, 255, .76);
  background: rgba(255, 255, 255, .08);
  text-decoration: none;
  font-size: 11px;
  transition: .2s;
}
:where(body.page-sitemap-v1) .sm-hero-tab i { font-size: 10px; }
:where(body.page-sitemap-v1) .sm-hero-tab b { font-size: 10px; font-weight: 600; opacity: .75; }
:where(body.page-sitemap-v1) .sm-hero-tab:hover, :where(body.page-sitemap-v1) .sm-hero-tab.is-active { background: #fff; border-color: #fff; color: #174b89; }
:where(body.page-sitemap-v1) .sm-hero-tab.is-active b { color: #4671a7; }

/* 分类概览卡片：两列、横向紧凑，叠在 banner 下沿 */
:where(body.page-sitemap-v1) .sm-cats-bar { position: absolute; left: 0; right: 0; bottom: -42px; z-index: 3; }
:where(body.page-sitemap-v1) .sm-cats-inner { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
:where(body.page-sitemap-v1) .sm-cats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
:where(body.page-sitemap-v1) .sm-cat-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 76px;
  padding: 12px 16px;
  border: 1px solid #e3eaf3;
  border-left: 3px solid #2d6bb5;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(25, 53, 89, .08);
  color: inherit;
  text-decoration: none;
  transition: .2s;
}
:where(body.page-sitemap-v1) .sm-cat-card:nth-child(2n) { border-left-color: #e2a93b; }
:where(body.page-sitemap-v1) .sm-cat-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(25, 53, 89, .13); }
:where(body.page-sitemap-v1) .sm-cat-icon {
  display: flex;
  flex: 0 0 34px;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  font-size: 15px;
}
:where(body.page-sitemap-v1) .sm-cat-info { min-width: 0; flex: 1; }
:where(body.page-sitemap-v1) .sm-cat-name {
  display: block;
  overflow: hidden;
  margin-bottom: 3px;
  color: #1e293b;
  font-size: 13px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
:where(body.page-sitemap-v1) .sm-cat-desc { display: block; color: #8b9aab; font-size: 10px; white-space: nowrap; }
:where(body.page-sitemap-v1) .sm-cat-count { display: flex; flex-direction: column; align-items: flex-end; flex: 0 0 auto; color: #9aa8b8; line-height: 1.1; }
:where(body.page-sitemap-v1) .sm-cat-count strong { color: #244e82; font-size: 17px; font-weight: 800; }
:where(body.page-sitemap-v1) .sm-cat-count span { margin-top: 3px; font-size: 10px; }
:where(body.page-sitemap-v1) .sm-cat-arrow { flex: 0 0 auto; color: #b8c5d3; font-size: 10px; }

/* ── 主体：给叠出的卡片留出空间 ── */
:where(body.page-sitemap-v1) .home-main.sitemap-page {
  max-width: 1200px;
  margin: 0 auto;
  padding: 72px 20px 56px;
  background: #f5f8fc;
}
:where(body.page-sitemap-v1) .sitemap-page .hm-inner { display: block; }
:where(body.page-sitemap-v1) .sitemap-page .hm-left { min-width: 0; }

/* 当前页搜索结果统计 */
:where(body.page-sitemap-v1) .sm-search-results[hidden] { display: none; }
:where(body.page-sitemap-v1) .sm-search-results {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
  padding: 12px 16px;
  border: 1px solid #cfe0f2;
  border-radius: 10px;
  background: #f8fbff;
}
:where(body.page-sitemap-v1) .sm-search-results-copy { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; min-width: 0; }
:where(body.page-sitemap-v1) .sm-search-results-copy .sm-section-kicker { margin: 0; }
:where(body.page-sitemap-v1) .sm-search-results-copy strong { overflow: hidden; max-width: 280px; color: #234f82; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
:where(body.page-sitemap-v1) .sm-search-results-summary { color: #647b95; font-size: 12px; }
:where(body.page-sitemap-v1) .sm-search-results-summary b { color: #245b98; font-size: 14px; }
:where(body.page-sitemap-v1) .sm-search-reset {
  flex: 0 0 auto;
  padding: 6px 10px;
  border: 1px solid #c9dced;
  border-radius: 6px;
  background: #fff;
  color: #4e78a4;
  cursor: pointer;
  font-size: 11px;
}
:where(body.page-sitemap-v1) .sm-search-reset:hover { border-color: #3976b9; background: #eef5fd; color: #245b98; }

/* 顶部全宽分类导航 */
:where(body.page-sitemap-v1) .sm-nav-top {
  margin-bottom: 16px;
  padding: 17px 18px 16px;
  border: 1px solid #e3eaf2;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 2px 9px rgba(31, 63, 98, .04);
}
:where(body.page-sitemap-v1) .sm-nav-top-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 13px; }
:where(body.page-sitemap-v1) .sm-section-kicker { display: block; margin-bottom: 3px; color: #4e82bd; font-size: 10px; font-weight: 700; letter-spacing: 1px; }
:where(body.page-sitemap-v1) .sm-nav-top-head h2 { margin: 0; color: #1e293b; font-size: 17px; font-weight: 800; }
:where(body.page-sitemap-v1) .sm-nav-total { color: #8b9aac; font-size: 11px; white-space: nowrap; }
:where(body.page-sitemap-v1) .sm-nav-total i { margin-right: 4px; color: #4e82bd; }
:where(body.page-sitemap-v1) .sm-nav-top-list { display: flex; flex-wrap: wrap; gap: 11px 22px; }
:where(body.page-sitemap-v1) .sm-nav-group { display: flex; min-width: 180px; flex-direction: column; gap: 7px; }
:where(body.page-sitemap-v1) .sm-nav-group .sm-nav-root { display: flex; align-items: center; gap: 6px; color: #26384f; text-decoration: none; font-size: 13px; font-weight: 700; }
:where(body.page-sitemap-v1) .sm-nav-group .sm-nav-root > i { width: 18px; color: #3976b9; font-size: 12px; text-align: center; }
:where(body.page-sitemap-v1) .sm-nav-group .sm-nav-root em { min-width: 18px; padding: 2px 5px; border-radius: 999px; background: #edf4fc; color: #52759a; font-size: 10px; font-style: normal; font-weight: 600; text-align: center; }
:where(body.page-sitemap-v1) .sm-nav-children { display: flex; flex-wrap: wrap; gap: 5px; padding-left: 24px; }
:where(body.page-sitemap-v1) .sm-nav-child { padding: 3px 9px; border: 1px solid #e5ebf2; border-radius: 999px; background: #f8fafc; color: #65768a; text-decoration: none; font-size: 11px; transition: .15s; }
:where(body.page-sitemap-v1) .sm-nav-child:hover { border-color: #3976b9; background: #3976b9; color: #fff; }

/* 分类内容块 */
:where(body.page-sitemap-v1) .sitemap-page .hm-block { margin-bottom: 14px; padding: 17px 18px; border: 1px solid #e3eaf2; border-radius: 11px; box-shadow: 0 2px 9px rgba(31, 63, 98, .04); }
:where(body.page-sitemap-v1) .sitemap-page .hm-block-hd { margin-bottom: 12px; }
:where(body.page-sitemap-v1) .sitemap-page .hm-block-hd h2 { color: #1e293b; font-size: 16px; }
:where(body.page-sitemap-v1) .sitemap-page .hm-block-hd h2 i { color: #3976b9; }
:where(body.page-sitemap-v1) .sitemap-page .pc-badge { padding: 3px 8px; border-radius: 999px; background: #edf4fc; color: #52759a; font-size: 10px; }
:where(body.page-sitemap-v1) .sm-subcat { margin-top: 12px; padding: 12px 14px 14px; border: 1px solid #e6edf4; border-radius: 9px; background: #f8fafc; }
:where(body.page-sitemap-v1) .sm-subcat-hd { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
:where(body.page-sitemap-v1) .sm-subcat-hd h3 { margin: 0; padding-left: 9px; border-left: 3px solid #3976b9; color: #26384f; font-size: 13px; font-weight: 700; }

/* 企业展示：按行业细分分组 */
:where(body.page-sitemap-v1) .sm-industry-groups { display: flex; flex-direction: column; gap: 12px; }
:where(body.page-sitemap-v1) .sm-industry-group {
  padding: 12px 12px 12px 14px;
  border: 1px solid #e9eef5;
  border-left: 3px solid #6a9ed1;
  border-radius: 8px;
  background: #fff;
}
:where(body.page-sitemap-v1) .sm-industry-group:nth-child(2) { border-left-color: #5bb5a6; }
:where(body.page-sitemap-v1) .sm-industry-group:nth-child(3) { border-left-color: #d4a03d; }
:where(body.page-sitemap-v1) .sm-industry-group:nth-child(4) { border-left-color: #c06c84; }
:where(body.page-sitemap-v1) .sm-industry-group:nth-child(5) { border-left-color: #7c7db8; }
:where(body.page-sitemap-v1) .sm-industry-group:nth-child(6) { border-left-color: #6a9ed1; }
:where(body.page-sitemap-v1) .sm-industry-hd { display: flex; align-items: center; justify-content: space-between; margin-bottom: 9px; }
:where(body.page-sitemap-v1) .sm-industry-hd h4 { margin: 0; color: #34495e; font-size: 12px; font-weight: 700; }
:where(body.page-sitemap-v1) .sm-industry-group .sm-link-grid { margin-top: 0; }

:where(body.page-sitemap-v1) .sm-link-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
:where(body.page-sitemap-v1) .sm-link-card { display: flex; align-items: center; gap: 7px; min-height: 39px; padding: 9px 11px; border: 1px solid #e4ebf2; border-radius: 7px; background: #fff; color: #42566d; font-size: 12px; line-height: 1.35; text-decoration: none; transition: .2s; }
:where(body.page-sitemap-v1) .sm-link-card:hover { transform: translateY(-2px); border-color: #6a9ed1; color: #245b98; box-shadow: 0 4px 11px rgba(50, 104, 165, .10); }
:where(body.page-sitemap-v1) .sm-link-card i { flex-shrink: 0; color: #9aafc4; font-size: 10px; }
:where(body.page-sitemap-v1) .sm-link-card span { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

:where(body.page-sitemap-v1) .pc-tip-note { color: #94a3b8; font-size: 12px; }
:where(body.page-sitemap-v1) .pc-tip-note i { margin-right: 5px; }

@media (max-width: 992px) {
  :where(body.page-sitemap-v1) .sm-cats { grid-template-columns: 1fr; }
  :where(body.page-sitemap-v1) .sm-link-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  :where(body.page-sitemap-v1) .home-hero.sitemap-hero { padding: 15px 0 80px; min-height: 325px; }
  :where(body.page-sitemap-v1) .home-hero.sitemap-hero h1 { font-size: 28px; }
  :where(body.page-sitemap-v1) .home-hero.sitemap-hero .hero-sub { font-size: 12px; }
  :where(body.page-sitemap-v1) .sm-hero-search button { padding: 0 11px; }
  :where(body.page-sitemap-v1) .sm-hero-search button i { display: none; }
  :where(body.page-sitemap-v1) .sm-cats-bar { bottom: -38px; }
  :where(body.page-sitemap-v1) .sm-cat-card { min-height: 68px; padding: 10px 12px; }
  :where(body.page-sitemap-v1) .home-main.sitemap-page { padding: 62px 12px 42px; }
  :where(body.page-sitemap-v1) .sm-nav-top { padding: 14px; }
  :where(body.page-sitemap-v1) .sm-nav-top-head h2 { font-size: 15px; }
  :where(body.page-sitemap-v1) .sm-nav-total { display: none; }
  :where(body.page-sitemap-v1) .sm-nav-group { min-width: 100%; }
  :where(body.page-sitemap-v1) .sm-link-grid { grid-template-columns: 1fr; }
}

/* ═══════════ 页面级：站点地图 v2（body.page-sitemap-v2，原 sitemap_v2.html.erb 内联样式） ═══════════ */
/* ══════════ 基础 ══════════ */

/* v12 网格纹理：顶部 64px 网格线 + 向下渐隐 */
:where(body.page-sitemap-v2) .smn-page::after { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background-image: linear-gradient(rgba(80,110,170,.042) 1px, transparent 1px),
    linear-gradient(90deg, rgba(80,110,170,.042) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(120% 66% at 50% -8%, rgba(0,0,0,.5), transparent 70%);
  mask-image: radial-gradient(120% 66% at 50% -8%, rgba(0,0,0,.5), transparent 70%); }

/* ── Hero：无蓝色背景，白色搜索卡即为主体 ── */

/* z-index:auto 必须显式写：home.css 基础规则 .home-hero .hero-inner 带 z-index:1，
   会创建层叠上下文把 .smn-suggest(z-30) 封住，被下方 .smn-entries(z-2) 盖住（搜索下拉被遮挡的根因） */

/* v12 白色搜索卡：撑满整个视口宽度，左侧内容 + 右侧地球插图
   水平内边距放在卡片上（grid item 的百分比 padding 按自身栅格区解析，会算错） */
/* 本页 style 只在 sitemap 渲染：抵消布局层 main.main-content 的左右 padding */

:where(body.page-sitemap-v2) .smn-search-main, :where(body.page-sitemap-v2) .smn-search-art { position: relative; }

/* ── 数据磁贴入口卡片：浮上搜索卡底部（参考采购学苑压边版式） ── */

/* ── 频道图标条 ── */
:where(body.page-sitemap-v2) .chans { margin-top: 22px; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 11px;
  padding: 16px 18px; border-radius: 12px; background: rgba(255,255,255,.66);
  border: 1px solid rgba(28,60,130,.08); box-shadow: 0 18px 40px -34px rgba(18,42,90,.5);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
:where(body.page-sitemap-v2) .chan { display: flex; align-items: center; gap: 9px; height: 38px; padding: 0 15px 0 7px; border-radius: 10px;
  font-size: 12.5px; font-weight: 600; color: #3a4f6c; background: #fff;
  border: 1px solid rgba(28,60,130,.08); box-shadow: 0 1px 2px rgba(18,42,90,.04);
  transition: transform .16s, box-shadow .16s, border-color .16s; }

/* ── 数据磁贴 ── */
:where(body.page-sitemap-v2) .stats { margin-top: 18px; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }

/* 顶边同色渐变线条：蓝/橙随各卡 --c1/--c2，突出层次 */

/* ── Tab 段控 ── */
:where(body.page-sitemap-v2) .segbar { margin-top: 26px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
:where(body.page-sitemap-v2) .seg { display: flex; align-items: center; gap: 3px; padding: 4px; border-radius: 10px;
  background: rgba(28,60,130,.05); border: 1px solid rgba(28,60,130,.06); }
:where(body.page-sitemap-v2) .tab { display: flex; align-items: center; gap: 8px; height: 36px; padding: 0 18px; border-radius: 9px;
  font-size: 13px; color: #5a6c88; cursor: pointer; transition: .16s; }
:where(body.page-sitemap-v2) .tab em { font-style: normal; font-size: 11px; color: #93a4bd;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
:where(body.page-sitemap-v2) .tab:hover { color: #12356f; }
:where(body.page-sitemap-v2) .tab.on { color: #12356f; font-weight: 700; background: #fff;
  box-shadow: 0 1px 2px rgba(18,42,90,.06), 0 8px 18px -12px rgba(18,42,90,.55); }
:where(body.page-sitemap-v2) .tab.on em { color: #2563eb; }
:where(body.page-sitemap-v2) .seg-r { margin-left: auto; font-size: 12px; color: #8d9db5; }

/* ── 目录：分段渐变条 + 等高配对卡片墙 ── */

:where(body.page-sitemap-v2) .dir-hd { position: relative; display: flex; align-items: center; gap: 15px; overflow: hidden; padding: 17px 22px;
  border-radius: 14px 14px 0 0; color: #fff;
  box-shadow: 0 18px 40px -30px rgba(11,44,84,.9); }

/* 墙板：白色容器 + 逐行排布的卡片（行内两卡等高 → 底端精确齐平） */

/* ── 搜索状态条 / 空状态 ── */

/* 卡片高亮（点击建议后定位） */

/* ── 回到顶部 ── */

/* ── 建议下拉 ── */

:where(body.page-sitemap-v2) .smn-sug:hover, :where(body.page-sitemap-v2) .smn-sug.is-active { background: #eef5fd; }

/* ── 页脚 ── */
:where(body.page-sitemap-v2) .foot { margin-top: 42px; border-top: 1px solid rgba(15,23,42,.08); background: rgba(255,255,255,.55); }
:where(body.page-sitemap-v2) .foot-in { height: 74px; display: flex; align-items: center; gap: 22px; font-size: 12.5px; color: #64748b; }
:where(body.page-sitemap-v2) .foot-l { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
:where(body.page-sitemap-v2) .foot-l a { color: #475569; } :where(body.page-sitemap-v2) .foot-l a:hover { color: #4f7cff; }
:where(body.page-sitemap-v2) .foot-note { margin-left: auto; font-size: 12px; color: #94a3b8; }

/* ══════════ 响应式 ══════════ */
@media (max-width: 1180px) {
  
  
  
  
  
  
  
  :where(body.page-sitemap-v2) .wrow.single .grid, :where(body.page-sitemap-v2) .wrow.single .card-extra { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 720px) {
  
  
  
  
  
  
  
  
  
  :where(body.page-sitemap-v2) .grid, :where(body.page-sitemap-v2) .card-extra { grid-template-columns: repeat(2, minmax(0,1fr)); }
  :where(body.page-sitemap-v2) .segbar { gap: 10px; }
  :where(body.page-sitemap-v2) .seg-r { margin-left: 0; width: 100%; }
  /* H5：分区头改两行，描述不再被统计胶囊挤成一列 */
  :where(body.page-sitemap-v2) .dir-hd { flex-wrap: wrap; padding: 14px 16px; gap: 12px; }
  
  
  
  
  
  
  
  /* H5：Tab 段控不折行 */
  :where(body.page-sitemap-v2) .tab { white-space: nowrap; padding: 0 12px; }
}
@media (max-width: 480px) {
  :where(body.page-sitemap-v2) .grid, :where(body.page-sitemap-v2) .card-extra { grid-template-columns: minmax(0,1fr); }
  
  :where(body.page-sitemap-v2) .foot-in { flex-direction: column; height: auto; padding: 18px 0; gap: 12px; }
  :where(body.page-sitemap-v2) .foot-note { margin-left: 0; }
}

/* ═══════════ 页面级：站点地图分类列表（body.page-sitemap-list，原 sitemap_list.html.erb 内联样式） ═══════════ */
:where(body.page-sitemap-list) .smn-list-page { max-width: 1080px; margin: 0 auto; padding: 18px 16px 56px; }
:where(body.page-sitemap-list) .smn-list-hd {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  padding: 18px 20px; border-radius: 16px; color: #fff; margin-bottom: 18px;
  background: linear-gradient(118deg, var(--c1) 0%, var(--c2) 100%);
  box-shadow: 0 10px 26px rgba(20,40,90,.16);
}
:where(body.page-sitemap-list) .smn-list-back {
  flex: none; color: #fff; text-decoration: none; font-size: 13px;
  padding: 5px 12px; border-radius: 20px; background: rgba(255,255,255,.18);
}
:where(body.page-sitemap-list) .smn-list-back:hover { background: rgba(255,255,255,.3); }
:where(body.page-sitemap-list) .smn-list-hd h1 { font-size: 20px; margin: 0; font-weight: 800; }
:where(body.page-sitemap-list) .smn-list-count { margin-left: auto; font-size: 14px; opacity: .92; }
:where(body.page-sitemap-list) .smn-list-count b { font-size: 18px; font-weight: 800; }
:where(body.page-sitemap-list) .smn-list-empty { padding: 40px; text-align: center; color: #64748b; }
:where(body.page-sitemap-list) .smn-list-pager { display: flex; justify-content: center; align-items: center; gap: 14px; margin-top: 22px; }

/* ═══════════ 页面级：视频页（body.page-video，原 video.html.erb 内联样式） ═══════════ */
/* 页面整体背景可沿用原风格，此处仅定义组件样式 */
:where(body.page-video) .video-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
  box-sizing: border-box;
}
:where(body.page-video) .video-container {
  background: #fff;
  border-radius: 8px;  /* 小圆角 */
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  padding: 24px;
}
:where(body.page-video) .video-title {
  font-size: 28px;
  margin: 0 0 20px 0;
  color: #1a1a2e;
  font-weight: 600;
}
:where(body.page-video) .player-wrapper {
  width: 100%;
  border-radius: 6px;   /* 视频区域小圆角 */
  overflow: hidden;
  background: #000;
}
:where(body.page-video) .video-player {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9; /* 保持16:9比例，自动撑开宽度 */
  background: #000;
}
:where(body.page-video) .video-desc {
  margin-top: 18px;
  font-size: 14px;
  color: #666;
  text-align: center;
}
/* 响应式：小屏幕时内边距减小 */
@media (max-width: 768px) {
  :where(body.page-video) .video-wrapper {
    padding: 12px;
  }
  :where(body.page-video) .video-container {
    padding: 16px;
  }
  :where(body.page-video) .video-title {
    font-size: 22px;
  }
}

/* ═══════════ 页面级：知识中心文章详情（body.page-article，原 show.html.erb 内联样式） ═══════════ */
/* ===== 双栏布局 ===== */
:where(body.page-article) .art-layout {
  max-width: 1200px;
  margin: 32px auto 60px;
  padding: 0 20px;
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 32px;
  align-items: start;
}

/* ===== 左侧主内容 ===== */
:where(body.page-article) .art-main { min-width: 0; }

/* --- 文章头部 --- */
:where(body.page-article) .art-header {
  background: #fff;
  border-radius: 12px;
  padding: 36px 40px;
  margin-bottom: 24px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
:where(body.page-article) .art-cat {
  display: inline-block;
  background: linear-gradient(135deg, var(--primary), var(--secondary));
  color: #fff;
  padding: 5px 16px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 16px;
}
:where(body.page-article) .art-title {
  font-size: 28px;
  font-weight: 700;
  color: #1e293b;
  line-height: 1.5;
  margin: 0 0 20px;
}
:where(body.page-article) .art-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 22px;
  padding-top: 16px;
  border-top: 1px solid #f1f5f9;
}
:where(body.page-article) .art-meta-item {
  font-size: 13px;
  color: #64748b;
  display: flex;
  align-items: center;
  gap: 5px;
}
:where(body.page-article) .art-meta-item i { color: #2563eb; font-size: 13px; }
:where(body.page-article) .art-meta-source { color: #94a3b8; }

/* --- 封面 --- */
:where(body.page-article) .art-cover {
  margin-bottom: 24px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
:where(body.page-article) .art-cover-img {
  width: 100%;
  display: block;
  max-height: 420px;
  object-fit: cover;
}
:where(body.page-article) .art-cover-cap {
  padding: 14px 20px;
  background: #f8fafc;
  color: #64748b;
  font-size: 14px;
  line-height: 1.6;
  border-top: 1px solid #e2e8f0;
}

/* --- 正文 --- */
:where(body.page-article) .art-body {
  background: #fff;
  border-radius: 12px;
  padding: 40px 44px;
  margin-bottom: 24px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
  font-size: 16px;
  line-height: 1.9;
  color: #334155;
  word-break: break-word;
}
:where(body.page-article) .art-body h2 {
  font-size: 22px;
  color: #1e293b;
  margin: 36px 0 18px;
  padding-bottom: 10px;
  border-bottom: 2px solid #f1f5f9;
  font-weight: 700;
}
:where(body.page-article) .art-body h3 {
  font-size: 18px;
  color: #1e293b;
  margin: 28px 0 14px;
  font-weight: 600;
}
:where(body.page-article) .art-body p { margin-bottom: 18px; text-indent: 0; }
:where(body.page-article) .art-body img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 16px 0;
}
:where(body.page-article) .art-body blockquote {
  border-left: 4px solid #2563eb;
  background: #f8fafc;
  margin: 20px 0;
  padding: 16px 22px;
  color: #64748b;
  font-style: italic;
  border-radius: 0 8px 8px 0;
  font-size: 15px;
}
:where(body.page-article) .art-body ul, :where(body.page-article) .art-body ol { margin: 16px 0 16px 28px; }
:where(body.page-article) .art-body li { margin-bottom: 8px; }
:where(body.page-article) .art-body a { color: #2563eb; text-decoration: none; }
:where(body.page-article) .art-body a:hover { text-decoration: underline; }
:where(body.page-article) .art-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  font-size: 14px;
}
:where(body.page-article) .art-body th, :where(body.page-article) .art-body td {
  border: 1px solid #e2e8f0;
  padding: 10px 14px;
  text-align: left;
}
:where(body.page-article) .art-body th { background: #f8fafc; font-weight: 600; color: #475569; }

/* Quill 内容 */
:where(body.page-article) .ql-editor-custom { font-size: 16px; line-height: 1.9; color: #334155; }
:where(body.page-article) .ql-editor-custom h2 {
  font-size: 22px; color: #1e293b; margin: 36px 0 18px;
  padding-bottom: 10px; border-bottom: 2px solid #f1f5f9; font-weight: 700;
}
:where(body.page-article) .ql-editor-custom h3 { font-size: 18px; color: #1e293b; margin: 28px 0 14px; font-weight: 600; }
:where(body.page-article) .ql-editor-custom p { margin-bottom: 18px; }
:where(body.page-article) .ql-editor-custom img { max-width: 100%; height: auto; border-radius: 8px; margin: 16px 0; }
:where(body.page-article) .ql-editor-custom blockquote {
  border-left: 4px solid #2563eb; background: #f8fafc;
  margin: 20px 0; padding: 16px 22px; color: #64748b; border-radius: 0 8px 8px 0; font-size: 15px;
}
:where(body.page-article) .ql-editor-custom ul, :where(body.page-article) .ql-editor-custom ol { margin: 16px 0 16px 28px; }
:where(body.page-article) .ql-editor-custom li { margin-bottom: 8px; }
:where(body.page-article) .ql-editor-custom a { color: #2563eb; text-decoration: none; }
:where(body.page-article) .ql-editor-custom a:hover { text-decoration: underline; }
:where(body.page-article) .ql-editor-custom table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px; }
:where(body.page-article) .ql-editor-custom th, :where(body.page-article) .ql-editor-custom td { border: 1px solid #e2e8f0; padding: 10px 14px; text-align: left; }
:where(body.page-article) .ql-editor-custom th { background: #f8fafc; font-weight: 600; color: #475569; }

:where(body.page-article) .art-body-empty {
  text-align: center; padding: 60px 20px; color: #94a3b8;
}
:where(body.page-article) .art-body-empty i { font-size: 40px; display: block; margin-bottom: 12px; }

/* --- 声明 --- */
:where(body.page-article) .art-declare {
  background: #fff; border-radius: 12px; padding: 16px 24px;
  margin-bottom: 24px; box-shadow: 0 2px 12px rgba(0,0,0,0.04);
  font-size: 13px; color: #94a3b8; line-height: 1.7;
  display: flex; align-items: flex-start; gap: 10px;
}
:where(body.page-article) .art-declare i { color: #2563eb; font-size: 16px; margin-top: 2px; flex-shrink: 0; }

/* --- 操作栏 --- */
:where(body.page-article) .art-actions { display: flex; gap: 12px; margin-bottom: 24px; justify-content: space-between; align-items: center; }
:where(body.page-article) .art-act-back {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 10px 20px; border-radius: 24px;
  border: 1px solid #e2e8f0; background: #fff; color: #475569;
  text-decoration: none; font-size: 14px; white-space: nowrap;
  transition: all .2s;
}
:where(body.page-article) .art-act-back:hover { border-color: #2563eb; color: #2563eb; box-shadow: 0 2px 8px rgba(37,99,235,0.08); }
:where(body.page-article) .art-actions-right { display: flex; gap: 12px; }
:where(body.page-article) .art-act-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 10px 24px; border: 1px solid #e2e8f0; border-radius: 24px;
  background: #fff; color: #475569; cursor: pointer;
  transition: all .2s; font-size: 14px; white-space: nowrap;
}
:where(body.page-article) .art-act-btn:hover { border-color: #2563eb; color: #2563eb; box-shadow: 0 2px 8px rgba(37,99,235,0.08); }
:where(body.page-article) .art-act-btn.art-act-active { background: #eff6ff; border-color: #2563eb; color: #2563eb; }
:where(body.page-article) .art-act-btn.art-act-fav { background: #fffbeb; border-color: #f59e0b; color: #b45309; }

/* --- 前后篇导航 --- */
:where(body.page-article) .art-nav {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0;
  background: #fff; border-radius: 12px; margin-bottom: 24px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04); overflow: hidden;
}
:where(body.page-article) .art-nav-item { padding: 22px 28px; }
:where(body.page-article) .art-nav-item:first-child { border-right: 1px solid #f1f5f9; }
:where(body.page-article) .art-nav-label { display: block; font-size: 12px; color: #94a3b8; margin-bottom: 8px; }
:where(body.page-article) .art-nav-link { color: #1e293b; text-decoration: none; font-size: 14px; font-weight: 500; line-height: 1.5; }
:where(body.page-article) .art-nav-link:hover { color: #2563eb; }
:where(body.page-article) .art-nav-right { text-align: right; }

/* --- 相关推荐 --- */
:where(body.page-article) .art-related {
  background: #fff; border-radius: 12px; padding: 28px 32px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
:where(body.page-article) .art-related-title {
  font-size: 18px; color: #1e293b; margin: 0 0 20px;
  display: flex; align-items: center; gap: 8px;
}
:where(body.page-article) .art-related-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
:where(body.page-article) .art-r-card {
  border: 1px solid #f1f5f9; border-radius: 10px; overflow: hidden;
  transition: all .25s; display: flex; flex-direction: column;
}
:where(body.page-article) .art-r-card:hover {
  transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,0.06); border-color: #93c5fd;
}
:where(body.page-article) .art-rc-img { height: 140px; overflow: hidden; }
:where(body.page-article) .art-rc-img img {
  width: 100%; height: 100%; object-fit: cover; transition: transform .4s;
}
:where(body.page-article) .art-r-card:hover .art-rc-img img { transform: scale(1.05); }
:where(body.page-article) .art-rc-body {
  padding: 14px 16px; flex: 1; display: flex;
  flex-direction: column; justify-content: space-between;
}
:where(body.page-article) .art-rc-title {
  font-size: 14px; color: #1e293b; font-weight: 500; text-decoration: none;
  line-height: 1.5; margin-bottom: 8px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
:where(body.page-article) .art-rc-title:hover { color: #2563eb; }
:where(body.page-article) .art-rc-meta { display: flex; gap: 14px; font-size: 12px; color: #94a3b8; }
:where(body.page-article) .art-rc-meta i { font-size: 11px; }

/* ===== 右侧栏 ===== */
:where(body.page-article) .art-side { position: sticky; top: 20px; display: flex; flex-direction: column; gap: 20px; }
:where(body.page-article) .art-side-card {
  background: #fff; border-radius: 12px; padding: 22px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
:where(body.page-article) .art-side-title {
  font-size: 16px; color: #1e293b; margin: 0 0 16px;
  display: flex; align-items: center; gap: 8px; font-weight: 600;
}
:where(body.page-article) .art-side-title i { color: #2563eb; }

/* 文章信息 */
:where(body.page-article) .art-si-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 0; font-size: 13px;
}
:where(body.page-article) .art-si-row + .art-si-row { border-top: 1px solid #f8fafc; }
:where(body.page-article) .art-si-label { color: #94a3b8; }
:where(body.page-article) .art-si-val { color: #1e293b; font-weight: 500; }
:where(body.page-article) .art-si-hot { color: #d97706; font-weight: 600; }

/* 目录 */
:where(body.page-article) .art-toc-list { max-height: 350px; overflow-y: auto; }
:where(body.page-article) .art-toc-list a {
  display: block; padding: 8px 12px; font-size: 13px;
  color: #64748b; text-decoration: none; border-left: 3px solid transparent;
  transition: all .2s; border-radius: 0 4px 4px 0; line-height: 1.5;
}
:where(body.page-article) .art-toc-list a:hover { color: #2563eb; background: #f0f7ff; border-left-color: #2563eb; }
:where(body.page-article) .art-toc-list a.art-toc-active {
  color: #2563eb; background: #eff6ff; border-left-color: #2563eb; font-weight: 500;
}
:where(body.page-article) .art-toc-list a.toc-h3 { padding-left: 24px; font-size: 12px; }

/* 热门文章 */
:where(body.page-article) .art-sh-item { display: flex; align-items: flex-start; gap: 10px; padding: 10px 0; }
:where(body.page-article) .art-sh-item + .art-sh-item { border-top: 1px solid #f8fafc; }
:where(body.page-article) .art-sh-rank {
  width: 22px; height: 22px; border-radius: 6px;
  background: #f1f5f9; color: #94a3b8;
  font-size: 12px; font-weight: 600;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; margin-top: 2px;
}
:where(body.page-article) .art-sh-top3 { background: linear-gradient(135deg,#f97316,#f59e0b); color: #fff; }
:where(body.page-article) .art-sh-body { flex: 1; min-width: 0; }
:where(body.page-article) .art-sh-link {
  font-size: 13px; color: #1e293b; text-decoration: none; line-height: 1.5;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
:where(body.page-article) .art-sh-link:hover { color: #2563eb; }
:where(body.page-article) .art-sh-views { display: block; font-size: 11px; color: #cbd5e1; margin-top: 4px; }

/* ===== 响应式 ===== */
@media (max-width: 992px) {
  :where(body.page-article) .art-layout { grid-template-columns: 1fr; }
  :where(body.page-article) .art-side { position: static; }
}
@media (max-width: 768px) {
  :where(body.page-article) .art-header { padding: 24px 20px; }
  :where(body.page-article) .art-title { font-size: 22px; }
  :where(body.page-article) .art-body { padding: 24px 20px; font-size: 15px; }
  :where(body.page-article) .art-related { padding: 20px; }
  :where(body.page-article) .art-related-grid { grid-template-columns: 1fr; }
  :where(body.page-article) .art-nav { grid-template-columns: 1fr; }
  :where(body.page-article) .art-nav-item:first-child { border-right: none; border-bottom: 1px solid #f1f5f9; }
  :where(body.page-article) .art-nav-item { padding: 16px 20px; }
  :where(body.page-article) .art-nav-right { text-align: left; }
  :where(body.page-article) .art-actions { flex-wrap: wrap; }
}
@media (max-width: 480px) {
  :where(body.page-article) .art-header { padding: 18px 14px; }
  :where(body.page-article) .art-title { font-size: 20px; }
  :where(body.page-article) .art-body { padding: 18px 14px; }
  :where(body.page-article) .art-act-btn { padding: 8px 16px; font-size: 13px; }
}

/* ═══════════ 页面级：采购公告详情（body.page-purchase-notice，原 show.html.erb 内联样式） ═══════════ */
/* ====== 两栏布局 ====== */
:where(body.page-purchase-notice) .pd-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 24px;
  margin-top: -40px;
  position: relative;
  z-index: 2;
}

/* ====== 左侧主内容 ====== */
:where(body.page-purchase-notice) .pd-main { min-width: 0; }

:where(body.page-purchase-notice) .pd-card {
  background: #fff;
  border-radius: 10px;
  box-shadow: var(--box-shadow);
  margin-bottom: 16px;
  padding: 24px 28px;
}

/* ====== 标题卡片 ====== */
:where(body.page-purchase-notice) .pd-header-card {
  padding: 28px 32px;
}

:where(body.page-purchase-notice) .pd-header-top {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

:where(body.page-purchase-notice) .pd-type-tag {
  padding: 4px 12px;
  font-size: 13px;
}

:where(body.page-purchase-notice) .pd-tag-cat   { background: #059669; color: #fff; border-radius: 4px}
:where(body.page-purchase-notice) .pd-tag-source { background: #7c3aed; color: #fff}

:where(body.page-purchase-notice) .pd-title {
  font-size: 22px;
  font-weight: 700;
  color: #1e293b;
  line-height: 1.5;
  margin-bottom: 16px;
}

:where(body.page-purchase-notice) .pd-meta-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 20px;
  padding-top: 14px;
  border-top: 1px solid #f1f5f9;
  font-size: 13px;
  color: #64748b;
}

:where(body.page-purchase-notice) .pd-meta-bar span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

:where(body.page-purchase-notice) .pd-meta-bar i { color: #94a3b8; font-size: 12px; }

/* ====== 分区标题 ====== */
:where(body.page-purchase-notice) .pd-section-title {
  font-size: 16px;
  font-weight: 700;
  color: #1e293b;
  padding-bottom: 14px;
  margin-bottom: 18px;
  border-bottom: 2px solid #f1f5f9;
  display: flex;
  align-items: center;
  gap: 8px;
}

:where(body.page-purchase-notice) .pd-section-title i { color: var(--primary); }

/* ====== 信息网格 ====== */
:where(body.page-purchase-notice) .pd-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 32px;
}

:where(body.page-purchase-notice) .pd-info-item {
  display: flex;
  padding: 9px 0;
  border-bottom: 1px dashed #f1f5f9;
}

:where(body.page-purchase-notice) .pd-info-item:last-child, :where(body.page-purchase-notice) .pd-info-item:nth-last-child(2):nth-child(odd) {
  border-bottom: none;
}

:where(body.page-purchase-notice) .pd-info-label {
  flex-shrink: 0;
  width: 110px;
  color: #94a3b8;
  font-size: 13px;
}

:where(body.page-purchase-notice) .pd-info-value {
  flex: 1;
  color: #334155;
  font-size: 14px;
  word-break: break-all;
}

:where(body.page-purchase-notice) .pd-info-value.pd-highlight {
  color: #dc2626;
  font-weight: 600;
}

/* ====== 公告正文 ====== */
:where(body.page-purchase-notice) .pd-content {
  font-size: 15px;
  line-height: 1.9;
  color: #334155;
}

:where(body.page-purchase-notice) .pd-content p { margin-bottom: 14px; }

/* ====== 其他信息 ====== */
:where(body.page-purchase-notice) .pd-other-item {
  margin-bottom: 16px;
  font-size: 14px;
  line-height: 1.7;
  color: #475569;
}

:where(body.page-purchase-notice) .pd-other-item:last-child { margin-bottom: 0; }

/* ====== 附件 ====== */
:where(body.page-purchase-notice) .pd-attachments {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

:where(body.page-purchase-notice) .pd-attach-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  background: #f8fafc;
  color: #475569;
  font-size: 14px;
}

:where(body.page-purchase-notice) .pd-attach-item i {
  color: var(--primary);
  font-size: 16px;
}

/* ====== 操作栏 ====== */
:where(body.page-purchase-notice) .pd-actions-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

:where(body.page-purchase-notice) .pd-btn-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
  color: #475569;
  font-size: 14px;
  text-decoration: none;
  transition: all .2s;
}

:where(body.page-purchase-notice) .pd-btn-back:hover {
  background: #f8fafc;
  border-color: var(--primary);
  color: var(--primary);
}

:where(body.page-purchase-notice) .pd-actions-right {
  display: flex;
  gap: 10px;
}

:where(body.page-purchase-notice) .pd-btn-action {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 10px 18px;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #64748b;
  font-size: 13px;
  cursor: pointer;
  transition: all .2s;
}

:where(body.page-purchase-notice) .pd-btn-action:hover {
  background: #f8fafc;
  color: var(--primary);
  border-color: var(--primary);
}

:where(body.page-purchase-notice) .pd-btn-action.active {
  background: #fef9c3;
  color: #b45309;
  border-color: #facc15;
}

:where(body.page-purchase-notice) .pd-btn-action.active i { color: #facc15; }

/* ====== 右侧边栏 ====== */
:where(body.page-purchase-notice) .pd-sidebar {
  position: sticky;
  top: 20px;
  height: fit-content;
}

:where(body.page-purchase-notice) .pd-side-card {
  background: #fff;
  border-radius: 10px;
  box-shadow: var(--box-shadow);
  padding: 20px;
  margin-bottom: 16px;
}

:where(body.page-purchase-notice) .pd-side-title {
  font-size: 15px;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}

:where(body.page-purchase-notice) .pd-side-title i { color: var(--primary); }

/* 快速操作 */
:where(body.page-purchase-notice) .pd-quick-actions {
  display: flex;
  gap: 10px;
  padding: 16px;
}

:where(body.page-purchase-notice) .pd-qk-btn {
  flex: 1;
  text-align: center;
  padding: 12px 8px;
  border-radius: 8px;
  background: #f1f5f9;
  color: #475569;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  transition: all .2s;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 6px;
}

:where(body.page-purchase-notice) .pd-qk-btn i { font-size: 18px; }

:where(body.page-purchase-notice) .pd-qk-btn:hover {
  background: var(--primary);
  color: #fff;
}

/* 相关公告列表 */
:where(body.page-purchase-notice) .pd-related-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

:where(body.page-purchase-notice) .pd-related-list li {
  padding: 10px 0;
  border-bottom: 1px dashed #f1f5f9;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
}

:where(body.page-purchase-notice) .pd-related-list li:last-child { border-bottom: none; }

:where(body.page-purchase-notice) .pd-related-list a {
  flex: 1;
  font-size: 13px;
  color: #334155;
  text-decoration: none;
  line-height: 1.4;
  transition: color .2s;
}

:where(body.page-purchase-notice) .pd-related-list a:hover { color: var(--primary); }

:where(body.page-purchase-notice) .pd-related-date {
  flex-shrink: 0;
  font-size: 11px;
  color: #94a3b8;
}

/* 摘要列表 */
:where(body.page-purchase-notice) .pd-summary-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

:where(body.page-purchase-notice) .pd-summary-item {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  padding-bottom: 8px;
  border-bottom: 1px dashed #f1f5f9;
}

:where(body.page-purchase-notice) .pd-summary-item:last-child { border-bottom: none; padding-bottom: 0; }

:where(body.page-purchase-notice) .pd-summary-item span:first-child {
  color: #94a3b8;
}

:where(body.page-purchase-notice) .pd-summary-item span:last-child {
  color: #334155;
  text-align: right;
}

:where(body.page-purchase-notice) .pd-red { color: #dc2626 !important; font-weight: 600; }

/* ====== 响应式 ====== */
@media (max-width: 992px) {
  :where(body.page-purchase-notice) .pd-layout {
    grid-template-columns: 1fr;
  }

  :where(body.page-purchase-notice) .pd-sidebar {
    position: static;
  }

  :where(body.page-purchase-notice) .pd-info-grid {
    grid-template-columns: 1fr;
  }

  :where(body.page-purchase-notice) .pd-info-item:last-child, :where(body.page-purchase-notice) .pd-info-item:nth-last-child(2):nth-child(odd) {
    border-bottom: 1px dashed #f1f5f9;
  }
  :where(body.page-purchase-notice) .pd-info-item:last-child { border-bottom: none !important; }
}

@media (max-width: 768px) {
  :where(body.page-purchase-notice) .pd-card { padding: 18px 16px; }
  :where(body.page-purchase-notice) .pd-header-card { padding: 20px 16px; }
  :where(body.page-purchase-notice) .pd-title { font-size: 18px; }
  :where(body.page-purchase-notice) .pd-info-label { width: 90px; font-size: 12px; }
}

/* ═══════════ 页面级：企业公告详情（body.page-seo-notice，原 show.html.erb 内联样式） ═══════════ */
/* ====== 两栏布局 ====== */
:where(body.page-seo-notice) .pd-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 24px;
  margin-top: -40px;
  position: relative;
  z-index: 2;
}

/* ====== 左侧主内容 ====== */
:where(body.page-seo-notice) .pd-main { min-width: 0; }

:where(body.page-seo-notice) .pd-card {
  background: #fff;
  border-radius: 10px;
  box-shadow: var(--box-shadow);
  margin-bottom: 16px;
  padding: 24px 28px;
}

/* ====== 标题卡片 ====== */
:where(body.page-seo-notice) .pd-header-card {
  padding: 28px 32px;
}

:where(body.page-seo-notice) .pd-header-top {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

:where(body.page-seo-notice) .pd-type-tag {
  padding: 4px 12px;
  font-size: 13px;
}

:where(body.page-seo-notice) .pd-tag-cat   { background: #fef3c7; color: #b45309; border-radius: 4px}
:where(body.page-seo-notice) .pd-tag-cat.zbgs { background: #fce7f3; color: #be185d; }
:where(body.page-seo-notice) .pd-tag-source { background: #d97706; border-radius: 4px; color: #fff}

:where(body.page-seo-notice) .pd-title {
  font-size: 22px;
  font-weight: 700;
  color: #1e293b;
  line-height: 1.5;
  margin-bottom: 16px;
}

:where(body.page-seo-notice) .pd-meta-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 20px;
  padding-top: 14px;
  border-top: 1px solid #f1f5f9;
  font-size: 13px;
  color: #64748b;
}

:where(body.page-seo-notice) .pd-meta-bar span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

:where(body.page-seo-notice) .pd-meta-bar i { color: #94a3b8; font-size: 12px; }

/* ====== 分区标题 ====== */
:where(body.page-seo-notice) .pd-section-title {
  font-size: 16px;
  font-weight: 700;
  color: #1e293b;
  padding-bottom: 14px;
  margin-bottom: 18px;
  border-bottom: 2px solid #f1f5f9;
  display: flex;
  align-items: center;
  gap: 8px;
}

:where(body.page-seo-notice) .pd-section-title i { color: var(--primary); }

/* ====== 信息网格 ====== */
:where(body.page-seo-notice) .pd-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 32px;
}

:where(body.page-seo-notice) .pd-info-item {
  display: flex;
  padding: 9px 0;
  border-bottom: 1px dashed #f1f5f9;
}

:where(body.page-seo-notice) .pd-info-item:last-child, :where(body.page-seo-notice) .pd-info-item:nth-last-child(2):nth-child(odd) {
  border-bottom: none;
}

:where(body.page-seo-notice) .pd-info-label {
  flex-shrink: 0;
  width: 110px;
  color: #94a3b8;
  font-size: 13px;
}

:where(body.page-seo-notice) .pd-info-value {
  flex: 1;
  color: #334155;
  font-size: 14px;
  word-break: break-all;
}

:where(body.page-seo-notice) .pd-info-value.pd-highlight {
  color: #dc2626;
  font-weight: 600;
}

/* ====== 公告正文 ====== */
:where(body.page-seo-notice) .pd-content {
  font-size: 15px;
  line-height: 1.9;
  color: #334155;
}

:where(body.page-seo-notice) .pd-content p { margin-bottom: 14px; }

/* ====== 操作栏 ====== */
:where(body.page-seo-notice) .pd-actions-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

:where(body.page-seo-notice) .pd-btn-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
  color: #475569;
  font-size: 14px;
  text-decoration: none;
  transition: all .2s;
}

:where(body.page-seo-notice) .pd-btn-back:hover {
  background: #f8fafc;
  border-color: var(--primary);
  color: var(--primary);
}

:where(body.page-seo-notice) .pd-actions-right {
  display: flex;
  gap: 10px;
}

:where(body.page-seo-notice) .pd-btn-action {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 10px 18px;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #64748b;
  font-size: 13px;
  cursor: pointer;
  transition: all .2s;
}

:where(body.page-seo-notice) .pd-btn-action:hover {
  background: #f8fafc;
  color: var(--primary);
  border-color: var(--primary);
}

:where(body.page-seo-notice) .pd-btn-action.active {
  background: #fef9c3;
  color: #b45309;
  border-color: #facc15;
}

:where(body.page-seo-notice) .pd-btn-action.active i { color: #facc15; }

/* ====== 右侧边栏 ====== */
:where(body.page-seo-notice) .pd-sidebar {
  position: sticky;
  top: 20px;
  height: fit-content;
}

:where(body.page-seo-notice) .pd-side-card {
  background: #fff;
  border-radius: 10px;
  box-shadow: var(--box-shadow);
  padding: 20px;
  margin-bottom: 16px;
}

:where(body.page-seo-notice) .pd-side-title {
  font-size: 15px;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}

:where(body.page-seo-notice) .pd-side-title i { color: var(--primary); }

/* 快速操作 */
:where(body.page-seo-notice) .pd-quick-actions {
  display: flex;
  gap: 10px;
  padding: 16px;
}

:where(body.page-seo-notice) .pd-qk-btn {
  flex: 1;
  text-align: center;
  padding: 12px 8px;
  border-radius: 8px;
  background: #f1f5f9;
  color: #475569;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  transition: all .2s;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 6px;
}

:where(body.page-seo-notice) .pd-qk-btn i { font-size: 18px; }

:where(body.page-seo-notice) .pd-qk-btn:hover {
  background: var(--primary);
  color: #fff;
}

/* 相关公告列表 */
:where(body.page-seo-notice) .pd-related-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

:where(body.page-seo-notice) .pd-related-list li {
  padding: 10px 0;
  border-bottom: 1px dashed #f1f5f9;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
}

:where(body.page-seo-notice) .pd-related-list li:last-child { border-bottom: none; }

:where(body.page-seo-notice) .pd-related-list a {
  flex: 1;
  font-size: 13px;
  color: #334155;
  text-decoration: none;
  line-height: 1.4;
  transition: color .2s;
}

:where(body.page-seo-notice) .pd-related-list a:hover { color: var(--primary); }

:where(body.page-seo-notice) .pd-related-date {
  flex-shrink: 0;
  font-size: 11px;
  color: #94a3b8;
}

/* 摘要列表 */
:where(body.page-seo-notice) .pd-summary-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

:where(body.page-seo-notice) .pd-summary-item {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  padding-bottom: 8px;
  border-bottom: 1px dashed #f1f5f9;
}

:where(body.page-seo-notice) .pd-summary-item:last-child { border-bottom: none; padding-bottom: 0; }

:where(body.page-seo-notice) .pd-summary-item span:first-child {
  color: #94a3b8;
}

:where(body.page-seo-notice) .pd-summary-item span:last-child {
  color: #334155;
  text-align: right;
}

:where(body.page-seo-notice) .pd-red { color: #dc2626 !important; font-weight: 600; }

/* ====== 响应式 ====== */
@media (max-width: 992px) {
  :where(body.page-seo-notice) .pd-layout {
    grid-template-columns: 1fr;
  }

  :where(body.page-seo-notice) .pd-sidebar {
    position: static;
  }

  :where(body.page-seo-notice) .pd-info-grid {
    grid-template-columns: 1fr;
  }

  :where(body.page-seo-notice) .pd-info-item:last-child, :where(body.page-seo-notice) .pd-info-item:nth-last-child(2):nth-child(odd) {
    border-bottom: 1px dashed #f1f5f9;
  }
  :where(body.page-seo-notice) .pd-info-item:last-child { border-bottom: none !important; }
}

@media (max-width: 768px) {
  :where(body.page-seo-notice) .pd-card { padding: 18px 16px; }
  :where(body.page-seo-notice) .pd-header-card { padding: 20px 16px; }
  :where(body.page-seo-notice) .pd-title { font-size: 18px; }
  :where(body.page-seo-notice) .pd-info-label { width: 90px; font-size: 12px; }
}

/* ═══════════ 页面级：登录 / 注册（body.page-auth，原 _css.html.erb 内联样式） ═══════════ */
:where(body.page-auth) .main-content {
  margin-top: 30px;
}

/* 重置样式 */

body.page-auth {
  --primary: #0052d9;
  --secondary: #00a0e9;
  --accent: #ff6b35;
  --light: #f8f9fa;
  --dark: #212529;
  --gray: #6c757d;
  --light-gray: #e9ecef;
  --border-radius: 8px;
  --box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  --transition: all 0.3s ease;
}

/* 认证容器 */
:where(body.page-auth) .auth-container {
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
}

/* 认证卡片 */
:where(body.page-auth) .auth-card {
  background: white;
  border-radius: 16px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
  padding: 40px;
  position: relative;
  overflow: hidden;
}

:where(body.page-auth) .auth-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--primary), var(--secondary));
}

/* Logo样式 */
:where(body.page-auth) .auth-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 30px;
}

:where(body.page-auth) .logo-icon {
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, var(--primary), var(--secondary));
  border-radius: var(--border-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 20px;
  font-weight: 900;
}

/* 页面标题 */
:where(body.page-auth) .auth-header {
  text-align: center;
  margin-bottom: 30px;
}

:where(body.page-auth) .auth-title {
  font-size: 28px;
  color: var(--dark);
  margin-bottom: 10px;
  font-weight: 700;
}

:where(body.page-auth) .auth-subtitle {
  color: var(--gray);
  font-size: 15px;
}

/* 表单样式 */
:where(body.page-auth) .auth-form {
  margin-bottom: 30px;
}

:where(body.page-auth) .alert {
  padding: 12px 16px;
  border-radius: var(--border-radius);
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
}

:where(body.page-auth) .alert-danger {
  background: #fff5f5;
  color: #dc3545;
  border: 1px solid #f8d7da;
}

:where(body.page-auth) .alert-success {
  background: #f0f9ff;
  color: var(--primary);
  border: 1px solid #d1e7ff;
}

:where(body.page-auth) .form-group {
  margin-bottom: 24px;
}

:where(body.page-auth) .form-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

:where(body.page-auth) .form-label label {
  font-size: 14px;
  color: var(--dark);
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 8px;
}

:where(body.page-auth) .form-label label i {
  color: var(--primary);
}

:where(body.page-auth) .forgot-password {
  font-size: 13px;
  color: var(--primary);
  text-decoration: none;
  transition: var(--transition);
}

:where(body.page-auth) .forgot-password:hover {
  text-decoration: underline;
  color: var(--secondary);
}

:where(body.page-auth) .form-input {
  position: relative;
}

:where(body.page-auth) .form-control {
  width: 100%;
  padding: 12px 16px 12px 44px;
  border: 1px solid var(--light-gray);
  border-radius: var(--border-radius);
  font-size: 14px;
  transition: var(--transition);
  background: white;
}

:where(body.page-auth) .form-control:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(0, 82, 217, 0.1);
}

:where(body.page-auth) .form-icon {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--gray);
  font-size: 14px;
}

:where(body.page-auth) .password-toggle {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--gray);
  cursor: pointer;
  font-size: 14px;
  transition: var(--transition);
}

:where(body.page-auth) .password-toggle:hover {
  color: var(--primary);
}

/* 记住我样式 */
:where(body.page-auth) .remember-me {
  margin-top: -10px;
}

:where(body.page-auth) .checkbox-label {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
  font-size: 14px;
}

:where(body.page-auth) .checkbox-input {
  display: none;
}

:where(body.page-auth) .checkbox-custom {
  width: 18px;
  height: 18px;
  border: 2px solid var(--light-gray);
  border-radius: 4px;
  position: relative;
  transition: var(--transition);
}

:where(body.page-auth) .checkbox-input:checked + .checkbox-custom {
  background: var(--primary);
  border-color: var(--primary);
}

:where(body.page-auth) .checkbox-input:checked + .checkbox-custom::after {
  content: '✓';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-size: 12px;
}

:where(body.page-auth) .checkbox-text {
  color: var(--gray);
}

/* 登录按钮 */
:where(body.page-auth) .form-actions {
  margin-top: 30px;
}

:where(body.page-auth) .btn-primary {
  background: linear-gradient(135deg, var(--primary), var(--secondary));
  color: white;
  border: none;
  padding: 14px;
  border-radius: var(--border-radius);
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

:where(body.page-auth) .btn-primary:hover {
  opacity: 0.9;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 82, 217, 0.3);
}

:where(body.page-auth) .btn-block {
  width: 100%;
}

/* 分割线 */
:where(body.page-auth) .auth-divider {
  display: flex;
  align-items: center;
  margin: 30px 0;
  color: var(--gray);
  font-size: 14px;
}

:where(body.page-auth) .auth-divider::before, :where(body.page-auth) .auth-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--light-gray);
}

:where(body.page-auth) .auth-divider span {
  padding: 0 15px;
}

/* 社交登录 */
:where(body.page-auth) .social-login {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
  margin-bottom: 30px;
}

:where(body.page-auth) .social-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--light-gray);
  border-radius: var(--border-radius);
  background: white;
  font-size: 14px;
  color: var(--dark);
  cursor: pointer;
  transition: var(--transition);
}

:where(body.page-auth) .social-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

:where(body.page-auth) .social-btn.wechat:hover {
  background: #07c160;
  color: white;
  border-color: #07c160;
}

:where(body.page-auth) .social-btn.qq:hover {
  background: #12b7f5;
  color: white;
  border-color: #12b7f5;
}

/* 底部链接 */
:where(body.page-auth) .auth-footer {
  text-align: center;
  padding-top: 20px;
  border-top: 1px solid var(--light-gray);
  margin-bottom: 20px;
}

:where(body.page-auth) .auth-footer p {
  color: var(--gray);
  font-size: 14px;
}

:where(body.page-auth) .register-link {
  color: var(--primary);
  text-decoration: none;
  font-weight: 600;
  transition: var(--transition);
}

:where(body.page-auth) .register-link:hover {
  color: var(--secondary);
  text-decoration: underline;
}

/* 返回首页 */
:where(body.page-auth) .back-home {
  text-align: center;
}

:where(body.page-auth) .back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--gray);
  text-decoration: none;
  font-size: 14px;
  transition: var(--transition);
}

:where(body.page-auth) .back-link:hover {
  color: var(--primary);
}

/* 响应式设计 */
@media (max-width: 576px) {
  :where(body.page-auth) .auth-card {
    padding: 30px 20px;
  }

  :where(body.page-auth) .auth-title {
    font-size: 24px;
  }

  :where(body.page-auth) .logo-text {
    font-size: 20px;
  }

  :where(body.page-auth) .logo-icon {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }

  :where(body.page-auth) .social-login {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 400px) {
  :where(body.page-auth) .auth-logo {
    flex-direction: column;
    text-align: center;
  }
}

/* 表单提示 */
:where(body.page-auth) .form-hint {
  font-size: 12px;
  color: var(--gray);
  margin-top: 6px;
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 18px;
}

:where(body.page-auth) .form-hint i {
  color: var(--primary);
  font-size: 11px;
}

/* 密码强度指示器 */
:where(body.page-auth) .password-strength {
  margin-top: 12px;
}

:where(body.page-auth) .strength-bar {
  height: 6px;
  background: var(--light-gray);
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 6px;
}

:where(body.page-auth) .strength-fill {
  height: 100%;
  width: 0%;
  background: #dc3545;
  border-radius: 3px;
  transition: width 0.3s ease, background 0.3s ease;
}

:where(body.page-auth) .strength-fill.weak {
  width: 33%;
  background: #dc3545;
}

:where(body.page-auth) .strength-fill.medium {
  width: 66%;
  background: #ffc107;
}

:where(body.page-auth) .strength-fill.strong {
  width: 100%;
  background: #28a745;
}

:where(body.page-auth) .strength-text {
  font-size: 12px;
  color: var(--gray);
}
@charset "UTF-8";
/*
 * 前台样式入口（application 布局）
 *
 * 第三方库：按需 require
 * 自定义样式：全部集中在 frontend.css（唯一来源，已合并去重）
 *





 */
