@charset "UTF-8";
.ui.circular.avatar {
&[data-v-220f96cc] {
  float: left;
  text-align: center;
  border-radius: 50%;
}
&.label[data-v-220f96cc] {
      /* CSS will choose white or black, depending on lightness of actorColor
     See: https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value/contrast-color
      */
    color: contrast-color(var(--c6cc8618));
    align-content: center;
    padding: 4px 8px;
}
}

.progress[data-v-3687e441] {
  height: 3px;
  margin-bottom: 8px;
  border-radius: 2px;
  background: currentColor;
  opacity: .4;
  transform: scaleX(0);
  transform-origin: left;
  animation-name: message-progress-3687e441;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
}
@keyframes message-progress-3687e441 {
to {
    transform: scaleX(1);
}
}

else a, .VPContent a:not(.funkwhale.link):not(.VPLink):not(.vp-doc .header-anchor):not(.VPDocAsideOutline .outline-link):not(.VPNavBarTitle .title):not(.VPDocFooter .pager-link):not(.is-raw),
.funkwhale.link {
  /* Satisfy both vitepress (docs) and funkwhale (front) convention */
  /* Also note the strong (triple) force which satisfies the CSS gods very much (enough) */
}
:is(body.theme-light, html:not(.dark) > body:not(.theme-dark)) else a, else :is(body.theme-light, html:not(.dark) > body:not(.theme-dark)) a, :is(body.theme-light, html:not(.dark) > body:not(.theme-dark)) .VPContent a:not(.funkwhale.link):not(.VPLink):not(.vp-doc .header-anchor):not(.VPDocAsideOutline .outline-link):not(.VPNavBarTitle .title):not(.VPDocFooter .pager-link):not(.is-raw), .VPContent :is(body.theme-light, html:not(.dark) > body:not(.theme-dark)) a:not(.funkwhale.link):not(.VPLink):not(.vp-doc .header-anchor):not(.VPDocAsideOutline .outline-link):not(.VPNavBarTitle .title):not(.VPDocFooter .pager-link):not(.is-raw), .force-light-theme.force-light-theme.force-light-theme else a, else .force-light-theme.force-light-theme.force-light-theme a, .force-light-theme.force-light-theme.force-light-theme .VPContent a:not(.funkwhale.link):not(.VPLink):not(.vp-doc .header-anchor):not(.VPDocAsideOutline .outline-link):not(.VPNavBarTitle .title):not(.VPDocFooter .pager-link):not(.is-raw), .VPContent .force-light-theme.force-light-theme.force-light-theme a:not(.funkwhale.link):not(.VPLink):not(.vp-doc .header-anchor):not(.VPDocAsideOutline .outline-link):not(.VPNavBarTitle .title):not(.VPDocFooter .pager-link):not(.is-raw), :is(body.theme-light, html:not(.dark) > body:not(.theme-dark)) .funkwhale.link, .force-light-theme.force-light-theme.force-light-theme .funkwhale.link {
  --fw-link-color: var(--fw-blue-400);
  --fw-link-hover-color: var(--fw-blue-500);
}
:is(body.theme-light, html:not(.dark) > body:not(.theme-dark)) else a.is-secondary, else :is(body.theme-light, html:not(.dark) > body:not(.theme-dark)) a.is-secondary, :is(body.theme-light, html:not(.dark) > body:not(.theme-dark)) .VPContent a.is-secondary:not(.funkwhale.link):not(.VPLink):not(.vp-doc .header-anchor):not(.VPDocAsideOutline .outline-link):not(.VPNavBarTitle .title):not(.VPDocFooter .pager-link):not(.is-raw), .VPContent :is(body.theme-light, html:not(.dark) > body:not(.theme-dark)) a.is-secondary:not(.funkwhale.link):not(.VPLink):not(.vp-doc .header-anchor):not(.VPDocAsideOutline .outline-link):not(.VPNavBarTitle .title):not(.VPDocFooter .pager-link):not(.is-raw), .force-light-theme.force-light-theme.force-light-theme else a.is-secondary, else .force-light-theme.force-light-theme.force-light-theme a.is-secondary, .force-light-theme.force-light-theme.force-light-theme .VPContent a.is-secondary:not(.funkwhale.link):not(.VPLink):not(.vp-doc .header-anchor):not(.VPDocAsideOutline .outline-link):not(.VPNavBarTitle .title):not(.VPDocFooter .pager-link):not(.is-raw), .VPContent .force-light-theme.force-light-theme.force-light-theme a.is-secondary:not(.funkwhale.link):not(.VPLink):not(.vp-doc .header-anchor):not(.VPDocAsideOutline .outline-link):not(.VPNavBarTitle .title):not(.VPDocFooter .pager-link):not(.is-raw), :is(body.theme-light, html:not(.dark) > body:not(.theme-dark)) .funkwhale.link.is-secondary, .force-light-theme.force-light-theme.force-light-theme .funkwhale.link.is-secondary {
  --fw-link-color: var(--fw-gray-600);
  --fw-link-hover-color: var(--fw-gray-700);
}

else a, .VPContent a:not(.funkwhale.link):not(.VPLink):not(.vp-doc .header-anchor):not(.VPDocAsideOutline .outline-link):not(.VPNavBarTitle .title):not(.VPDocFooter .pager-link):not(.is-raw),
.funkwhale.link {
  /* Satisfy both vitepress (docs) and funkwhale (front) convention */
  /* Also note the strong (triple) force which satisfies the CSS gods very much (enough) */
}
:is(body.theme-dark, html.dark > body:not(.theme-light)) else a, else :is(body.theme-dark, html.dark > body:not(.theme-light)) a, :is(body.theme-dark, html.dark > body:not(.theme-light)) .VPContent a:not(.funkwhale.link):not(.VPLink):not(.vp-doc .header-anchor):not(.VPDocAsideOutline .outline-link):not(.VPNavBarTitle .title):not(.VPDocFooter .pager-link):not(.is-raw), .VPContent :is(body.theme-dark, html.dark > body:not(.theme-light)) a:not(.funkwhale.link):not(.VPLink):not(.vp-doc .header-anchor):not(.VPDocAsideOutline .outline-link):not(.VPNavBarTitle .title):not(.VPDocFooter .pager-link):not(.is-raw), .force-dark-theme.force-dark-theme.force-dark-theme else a, else .force-dark-theme.force-dark-theme.force-dark-theme a, .force-dark-theme.force-dark-theme.force-dark-theme .VPContent a:not(.funkwhale.link):not(.VPLink):not(.vp-doc .header-anchor):not(.VPDocAsideOutline .outline-link):not(.VPNavBarTitle .title):not(.VPDocFooter .pager-link):not(.is-raw), .VPContent .force-dark-theme.force-dark-theme.force-dark-theme a:not(.funkwhale.link):not(.VPLink):not(.vp-doc .header-anchor):not(.VPDocAsideOutline .outline-link):not(.VPNavBarTitle .title):not(.VPDocFooter .pager-link):not(.is-raw), :is(body.theme-dark, html.dark > body:not(.theme-light)) .funkwhale.link, .force-dark-theme.force-dark-theme.force-dark-theme .funkwhale.link {
  --fw-link-color: var(--fw-gray-300);
  --fw-link-hover-color: var(--fw-gray-400);
}
:is(body.theme-dark, html.dark > body:not(.theme-light)) else a.is-secondary, else :is(body.theme-dark, html.dark > body:not(.theme-light)) a.is-secondary, :is(body.theme-dark, html.dark > body:not(.theme-light)) .VPContent a.is-secondary:not(.funkwhale.link):not(.VPLink):not(.vp-doc .header-anchor):not(.VPDocAsideOutline .outline-link):not(.VPNavBarTitle .title):not(.VPDocFooter .pager-link):not(.is-raw), .VPContent :is(body.theme-dark, html.dark > body:not(.theme-light)) a.is-secondary:not(.funkwhale.link):not(.VPLink):not(.vp-doc .header-anchor):not(.VPDocAsideOutline .outline-link):not(.VPNavBarTitle .title):not(.VPDocFooter .pager-link):not(.is-raw), .force-dark-theme.force-dark-theme.force-dark-theme else a.is-secondary, else .force-dark-theme.force-dark-theme.force-dark-theme a.is-secondary, .force-dark-theme.force-dark-theme.force-dark-theme .VPContent a.is-secondary:not(.funkwhale.link):not(.VPLink):not(.vp-doc .header-anchor):not(.VPDocAsideOutline .outline-link):not(.VPNavBarTitle .title):not(.VPDocFooter .pager-link):not(.is-raw), .VPContent .force-dark-theme.force-dark-theme.force-dark-theme a.is-secondary:not(.funkwhale.link):not(.VPLink):not(.vp-doc .header-anchor):not(.VPDocAsideOutline .outline-link):not(.VPNavBarTitle .title):not(.VPDocFooter .pager-link):not(.is-raw), :is(body.theme-dark, html.dark > body:not(.theme-light)) .funkwhale.link.is-secondary, .force-dark-theme.force-dark-theme.force-dark-theme .funkwhale.link.is-secondary {
  --fw-link-color: var(--fw-gray-500);
  --fw-link-hover-color: var(--fw-gray-600);
}

.VPContent .vp-doc .funkwhale.link {
  text-decoration: none;
}

hr:not(.is-raw) {
  border: none;
  border-bottom: 1px solid var(--fw-border-color);
  /* Satisfy both vitepress (docs) and funkwhale (front) convention */
  /* Also note the strong (triple) force which satisfies the CSS gods very much (enough) */
}
:is(body.theme-light, html:not(.dark) > body:not(.theme-dark)) hr:not(.is-raw), .force-light-theme.force-light-theme.force-light-theme hr:not(.is-raw) {
  --fw-border-color: var(--fw-gray-200);
}

hr:not(.is-raw) {
  /* Satisfy both vitepress (docs) and funkwhale (front) convention */
  /* Also note the strong (triple) force which satisfies the CSS gods very much (enough) */
}
:is(body.theme-dark, html.dark > body:not(.theme-light)) hr:not(.is-raw), .force-dark-theme.force-dark-theme.force-dark-theme hr:not(.is-raw) {
  --fw-border-color: var(--fw-gray-800);
}

hr:not(.is-raw) {
  padding: 8px 0 0 0;
  margin: 0 0 8px 0;
}

.funkwhale,
.funkwhale * {
  box-sizing: border-box;
}

/*!
 * Bootstrap Icons v1.11.1 (https://icons.getbootstrap.com/)
 * Copyright 2019-2023 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)
 */
@font-face {
  font-display: block;
  font-family: "bootstrap-icons";
  src: url("/assets/bootstrap-icons-dSOGREQ0.woff2") format("woff2"), url("/assets/bootstrap-icons-BYTZb8m0.woff") format("woff");
}
.bi::before,
[class^=bi-]::before,
[class*=" bi-"]::before {
  display: inline-block;
  font-family: "bootstrap-icons" !important;
  font-style: normal;
  font-weight: normal !important;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  vertical-align: -0.125em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.bi-123::before {
  content: "\f67f";
}

.bi-alarm-fill::before {
  content: "\f101";
}

.bi-alarm::before {
  content: "\f102";
}

.bi-align-bottom::before {
  content: "\f103";
}

.bi-align-center::before {
  content: "\f104";
}

.bi-align-end::before {
  content: "\f105";
}

.bi-align-middle::before {
  content: "\f106";
}

.bi-align-start::before {
  content: "\f107";
}

.bi-align-top::before {
  content: "\f108";
}

.bi-alt::before {
  content: "\f109";
}

.bi-app-indicator::before {
  content: "\f10a";
}

.bi-app::before {
  content: "\f10b";
}

.bi-archive-fill::before {
  content: "\f10c";
}

.bi-archive::before {
  content: "\f10d";
}

.bi-arrow-90deg-down::before {
  content: "\f10e";
}

.bi-arrow-90deg-left::before {
  content: "\f10f";
}

.bi-arrow-90deg-right::before {
  content: "\f110";
}

.bi-arrow-90deg-up::before {
  content: "\f111";
}

.bi-arrow-bar-down::before {
  content: "\f112";
}

.bi-arrow-bar-left::before {
  content: "\f113";
}

.bi-arrow-bar-right::before {
  content: "\f114";
}

.bi-arrow-bar-up::before {
  content: "\f115";
}

.bi-arrow-clockwise::before {
  content: "\f116";
}

.bi-arrow-counterclockwise::before {
  content: "\f117";
}

.bi-arrow-down-circle-fill::before {
  content: "\f118";
}

.bi-arrow-down-circle::before {
  content: "\f119";
}

.bi-arrow-down-left-circle-fill::before {
  content: "\f11a";
}

.bi-arrow-down-left-circle::before {
  content: "\f11b";
}

.bi-arrow-down-left-square-fill::before {
  content: "\f11c";
}

.bi-arrow-down-left-square::before {
  content: "\f11d";
}

.bi-arrow-down-left::before {
  content: "\f11e";
}

.bi-arrow-down-right-circle-fill::before {
  content: "\f11f";
}

.bi-arrow-down-right-circle::before {
  content: "\f120";
}

.bi-arrow-down-right-square-fill::before {
  content: "\f121";
}

.bi-arrow-down-right-square::before {
  content: "\f122";
}

.bi-arrow-down-right::before {
  content: "\f123";
}

.bi-arrow-down-short::before {
  content: "\f124";
}

.bi-arrow-down-square-fill::before {
  content: "\f125";
}

.bi-arrow-down-square::before {
  content: "\f126";
}

.bi-arrow-down-up::before {
  content: "\f127";
}

.bi-arrow-down::before {
  content: "\f128";
}

.bi-arrow-left-circle-fill::before {
  content: "\f129";
}

.bi-arrow-left-circle::before {
  content: "\f12a";
}

.bi-arrow-left-right::before {
  content: "\f12b";
}

.bi-arrow-left-short::before {
  content: "\f12c";
}

.bi-arrow-left-square-fill::before {
  content: "\f12d";
}

.bi-arrow-left-square::before {
  content: "\f12e";
}

.bi-arrow-left::before {
  content: "\f12f";
}

.bi-arrow-repeat::before {
  content: "\f130";
}

.bi-arrow-return-left::before {
  content: "\f131";
}

.bi-arrow-return-right::before {
  content: "\f132";
}

.bi-arrow-right-circle-fill::before {
  content: "\f133";
}

.bi-arrow-right-circle::before {
  content: "\f134";
}

.bi-arrow-right-short::before {
  content: "\f135";
}

.bi-arrow-right-square-fill::before {
  content: "\f136";
}

.bi-arrow-right-square::before {
  content: "\f137";
}

.bi-arrow-right::before {
  content: "\f138";
}

.bi-arrow-up-circle-fill::before {
  content: "\f139";
}

.bi-arrow-up-circle::before {
  content: "\f13a";
}

.bi-arrow-up-left-circle-fill::before {
  content: "\f13b";
}

.bi-arrow-up-left-circle::before {
  content: "\f13c";
}

.bi-arrow-up-left-square-fill::before {
  content: "\f13d";
}

.bi-arrow-up-left-square::before {
  content: "\f13e";
}

.bi-arrow-up-left::before {
  content: "\f13f";
}

.bi-arrow-up-right-circle-fill::before {
  content: "\f140";
}

.bi-arrow-up-right-circle::before {
  content: "\f141";
}

.bi-arrow-up-right-square-fill::before {
  content: "\f142";
}

.bi-arrow-up-right-square::before {
  content: "\f143";
}

.bi-arrow-up-right::before {
  content: "\f144";
}

.bi-arrow-up-short::before {
  content: "\f145";
}

.bi-arrow-up-square-fill::before {
  content: "\f146";
}

.bi-arrow-up-square::before {
  content: "\f147";
}

.bi-arrow-up::before {
  content: "\f148";
}

.bi-arrows-angle-contract::before {
  content: "\f149";
}

.bi-arrows-angle-expand::before {
  content: "\f14a";
}

.bi-arrows-collapse::before {
  content: "\f14b";
}

.bi-arrows-expand::before {
  content: "\f14c";
}

.bi-arrows-fullscreen::before {
  content: "\f14d";
}

.bi-arrows-move::before {
  content: "\f14e";
}

.bi-aspect-ratio-fill::before {
  content: "\f14f";
}

.bi-aspect-ratio::before {
  content: "\f150";
}

.bi-asterisk::before {
  content: "\f151";
}

.bi-at::before {
  content: "\f152";
}

.bi-award-fill::before {
  content: "\f153";
}

.bi-award::before {
  content: "\f154";
}

.bi-back::before {
  content: "\f155";
}

.bi-backspace-fill::before {
  content: "\f156";
}

.bi-backspace-reverse-fill::before {
  content: "\f157";
}

.bi-backspace-reverse::before {
  content: "\f158";
}

.bi-backspace::before {
  content: "\f159";
}

.bi-badge-3d-fill::before {
  content: "\f15a";
}

.bi-badge-3d::before {
  content: "\f15b";
}

.bi-badge-4k-fill::before {
  content: "\f15c";
}

.bi-badge-4k::before {
  content: "\f15d";
}

.bi-badge-8k-fill::before {
  content: "\f15e";
}

.bi-badge-8k::before {
  content: "\f15f";
}

.bi-badge-ad-fill::before {
  content: "\f160";
}

.bi-badge-ad::before {
  content: "\f161";
}

.bi-badge-ar-fill::before {
  content: "\f162";
}

.bi-badge-ar::before {
  content: "\f163";
}

.bi-badge-cc-fill::before {
  content: "\f164";
}

.bi-badge-cc::before {
  content: "\f165";
}

.bi-badge-hd-fill::before {
  content: "\f166";
}

.bi-badge-hd::before {
  content: "\f167";
}

.bi-badge-tm-fill::before {
  content: "\f168";
}

.bi-badge-tm::before {
  content: "\f169";
}

.bi-badge-vo-fill::before {
  content: "\f16a";
}

.bi-badge-vo::before {
  content: "\f16b";
}

.bi-badge-vr-fill::before {
  content: "\f16c";
}

.bi-badge-vr::before {
  content: "\f16d";
}

.bi-badge-wc-fill::before {
  content: "\f16e";
}

.bi-badge-wc::before {
  content: "\f16f";
}

.bi-bag-check-fill::before {
  content: "\f170";
}

.bi-bag-check::before {
  content: "\f171";
}

.bi-bag-dash-fill::before {
  content: "\f172";
}

.bi-bag-dash::before {
  content: "\f173";
}

.bi-bag-fill::before {
  content: "\f174";
}

.bi-bag-plus-fill::before {
  content: "\f175";
}

.bi-bag-plus::before {
  content: "\f176";
}

.bi-bag-x-fill::before {
  content: "\f177";
}

.bi-bag-x::before {
  content: "\f178";
}

.bi-bag::before {
  content: "\f179";
}

.bi-bar-chart-fill::before {
  content: "\f17a";
}

.bi-bar-chart-line-fill::before {
  content: "\f17b";
}

.bi-bar-chart-line::before {
  content: "\f17c";
}

.bi-bar-chart-steps::before {
  content: "\f17d";
}

.bi-bar-chart::before {
  content: "\f17e";
}

.bi-basket-fill::before {
  content: "\f17f";
}

.bi-basket::before {
  content: "\f180";
}

.bi-basket2-fill::before {
  content: "\f181";
}

.bi-basket2::before {
  content: "\f182";
}

.bi-basket3-fill::before {
  content: "\f183";
}

.bi-basket3::before {
  content: "\f184";
}

.bi-battery-charging::before {
  content: "\f185";
}

.bi-battery-full::before {
  content: "\f186";
}

.bi-battery-half::before {
  content: "\f187";
}

.bi-battery::before {
  content: "\f188";
}

.bi-bell-fill::before {
  content: "\f189";
}

.bi-bell::before {
  content: "\f18a";
}

.bi-bezier::before {
  content: "\f18b";
}

.bi-bezier2::before {
  content: "\f18c";
}

.bi-bicycle::before {
  content: "\f18d";
}

.bi-binoculars-fill::before {
  content: "\f18e";
}

.bi-binoculars::before {
  content: "\f18f";
}

.bi-blockquote-left::before {
  content: "\f190";
}

.bi-blockquote-right::before {
  content: "\f191";
}

.bi-book-fill::before {
  content: "\f192";
}

.bi-book-half::before {
  content: "\f193";
}

.bi-book::before {
  content: "\f194";
}

.bi-bookmark-check-fill::before {
  content: "\f195";
}

.bi-bookmark-check::before {
  content: "\f196";
}

.bi-bookmark-dash-fill::before {
  content: "\f197";
}

.bi-bookmark-dash::before {
  content: "\f198";
}

.bi-bookmark-fill::before {
  content: "\f199";
}

.bi-bookmark-heart-fill::before {
  content: "\f19a";
}

.bi-bookmark-heart::before {
  content: "\f19b";
}

.bi-bookmark-plus-fill::before {
  content: "\f19c";
}

.bi-bookmark-plus::before {
  content: "\f19d";
}

.bi-bookmark-star-fill::before {
  content: "\f19e";
}

.bi-bookmark-star::before {
  content: "\f19f";
}

.bi-bookmark-x-fill::before {
  content: "\f1a0";
}

.bi-bookmark-x::before {
  content: "\f1a1";
}

.bi-bookmark::before {
  content: "\f1a2";
}

.bi-bookmarks-fill::before {
  content: "\f1a3";
}

.bi-bookmarks::before {
  content: "\f1a4";
}

.bi-bookshelf::before {
  content: "\f1a5";
}

.bi-bootstrap-fill::before {
  content: "\f1a6";
}

.bi-bootstrap-reboot::before {
  content: "\f1a7";
}

.bi-bootstrap::before {
  content: "\f1a8";
}

.bi-border-all::before {
  content: "\f1a9";
}

.bi-border-bottom::before {
  content: "\f1aa";
}

.bi-border-center::before {
  content: "\f1ab";
}

.bi-border-inner::before {
  content: "\f1ac";
}

.bi-border-left::before {
  content: "\f1ad";
}

.bi-border-middle::before {
  content: "\f1ae";
}

.bi-border-outer::before {
  content: "\f1af";
}

.bi-border-right::before {
  content: "\f1b0";
}

.bi-border-style::before {
  content: "\f1b1";
}

.bi-border-top::before {
  content: "\f1b2";
}

.bi-border-width::before {
  content: "\f1b3";
}

.bi-border::before {
  content: "\f1b4";
}

.bi-bounding-box-circles::before {
  content: "\f1b5";
}

.bi-bounding-box::before {
  content: "\f1b6";
}

.bi-box-arrow-down-left::before {
  content: "\f1b7";
}

.bi-box-arrow-down-right::before {
  content: "\f1b8";
}

.bi-box-arrow-down::before {
  content: "\f1b9";
}

.bi-box-arrow-in-down-left::before {
  content: "\f1ba";
}

.bi-box-arrow-in-down-right::before {
  content: "\f1bb";
}

.bi-box-arrow-in-down::before {
  content: "\f1bc";
}

.bi-box-arrow-in-left::before {
  content: "\f1bd";
}

.bi-box-arrow-in-right::before {
  content: "\f1be";
}

.bi-box-arrow-in-up-left::before {
  content: "\f1bf";
}

.bi-box-arrow-in-up-right::before {
  content: "\f1c0";
}

.bi-box-arrow-in-up::before {
  content: "\f1c1";
}

.bi-box-arrow-left::before {
  content: "\f1c2";
}

.bi-box-arrow-right::before {
  content: "\f1c3";
}

.bi-box-arrow-up-left::before {
  content: "\f1c4";
}

.bi-box-arrow-up-right::before {
  content: "\f1c5";
}

.bi-box-arrow-up::before {
  content: "\f1c6";
}

.bi-box-seam::before {
  content: "\f1c7";
}

.bi-box::before {
  content: "\f1c8";
}

.bi-braces::before {
  content: "\f1c9";
}

.bi-bricks::before {
  content: "\f1ca";
}

.bi-briefcase-fill::before {
  content: "\f1cb";
}

.bi-briefcase::before {
  content: "\f1cc";
}

.bi-brightness-alt-high-fill::before {
  content: "\f1cd";
}

.bi-brightness-alt-high::before {
  content: "\f1ce";
}

.bi-brightness-alt-low-fill::before {
  content: "\f1cf";
}

.bi-brightness-alt-low::before {
  content: "\f1d0";
}

.bi-brightness-high-fill::before {
  content: "\f1d1";
}

.bi-brightness-high::before {
  content: "\f1d2";
}

.bi-brightness-low-fill::before {
  content: "\f1d3";
}

.bi-brightness-low::before {
  content: "\f1d4";
}

.bi-broadcast-pin::before {
  content: "\f1d5";
}

.bi-broadcast::before {
  content: "\f1d6";
}

.bi-brush-fill::before {
  content: "\f1d7";
}

.bi-brush::before {
  content: "\f1d8";
}

.bi-bucket-fill::before {
  content: "\f1d9";
}

.bi-bucket::before {
  content: "\f1da";
}

.bi-bug-fill::before {
  content: "\f1db";
}

.bi-bug::before {
  content: "\f1dc";
}

.bi-building::before {
  content: "\f1dd";
}

.bi-bullseye::before {
  content: "\f1de";
}

.bi-calculator-fill::before {
  content: "\f1df";
}

.bi-calculator::before {
  content: "\f1e0";
}

.bi-calendar-check-fill::before {
  content: "\f1e1";
}

.bi-calendar-check::before {
  content: "\f1e2";
}

.bi-calendar-date-fill::before {
  content: "\f1e3";
}

.bi-calendar-date::before {
  content: "\f1e4";
}

.bi-calendar-day-fill::before {
  content: "\f1e5";
}

.bi-calendar-day::before {
  content: "\f1e6";
}

.bi-calendar-event-fill::before {
  content: "\f1e7";
}

.bi-calendar-event::before {
  content: "\f1e8";
}

.bi-calendar-fill::before {
  content: "\f1e9";
}

.bi-calendar-minus-fill::before {
  content: "\f1ea";
}

.bi-calendar-minus::before {
  content: "\f1eb";
}

.bi-calendar-month-fill::before {
  content: "\f1ec";
}

.bi-calendar-month::before {
  content: "\f1ed";
}

.bi-calendar-plus-fill::before {
  content: "\f1ee";
}

.bi-calendar-plus::before {
  content: "\f1ef";
}

.bi-calendar-range-fill::before {
  content: "\f1f0";
}

.bi-calendar-range::before {
  content: "\f1f1";
}

.bi-calendar-week-fill::before {
  content: "\f1f2";
}

.bi-calendar-week::before {
  content: "\f1f3";
}

.bi-calendar-x-fill::before {
  content: "\f1f4";
}

.bi-calendar-x::before {
  content: "\f1f5";
}

.bi-calendar::before {
  content: "\f1f6";
}

.bi-calendar2-check-fill::before {
  content: "\f1f7";
}

.bi-calendar2-check::before {
  content: "\f1f8";
}

.bi-calendar2-date-fill::before {
  content: "\f1f9";
}

.bi-calendar2-date::before {
  content: "\f1fa";
}

.bi-calendar2-day-fill::before {
  content: "\f1fb";
}

.bi-calendar2-day::before {
  content: "\f1fc";
}

.bi-calendar2-event-fill::before {
  content: "\f1fd";
}

.bi-calendar2-event::before {
  content: "\f1fe";
}

.bi-calendar2-fill::before {
  content: "\f1ff";
}

.bi-calendar2-minus-fill::before {
  content: "\f200";
}

.bi-calendar2-minus::before {
  content: "\f201";
}

.bi-calendar2-month-fill::before {
  content: "\f202";
}

.bi-calendar2-month::before {
  content: "\f203";
}

.bi-calendar2-plus-fill::before {
  content: "\f204";
}

.bi-calendar2-plus::before {
  content: "\f205";
}

.bi-calendar2-range-fill::before {
  content: "\f206";
}

.bi-calendar2-range::before {
  content: "\f207";
}

.bi-calendar2-week-fill::before {
  content: "\f208";
}

.bi-calendar2-week::before {
  content: "\f209";
}

.bi-calendar2-x-fill::before {
  content: "\f20a";
}

.bi-calendar2-x::before {
  content: "\f20b";
}

.bi-calendar2::before {
  content: "\f20c";
}

.bi-calendar3-event-fill::before {
  content: "\f20d";
}

.bi-calendar3-event::before {
  content: "\f20e";
}

.bi-calendar3-fill::before {
  content: "\f20f";
}

.bi-calendar3-range-fill::before {
  content: "\f210";
}

.bi-calendar3-range::before {
  content: "\f211";
}

.bi-calendar3-week-fill::before {
  content: "\f212";
}

.bi-calendar3-week::before {
  content: "\f213";
}

.bi-calendar3::before {
  content: "\f214";
}

.bi-calendar4-event::before {
  content: "\f215";
}

.bi-calendar4-range::before {
  content: "\f216";
}

.bi-calendar4-week::before {
  content: "\f217";
}

.bi-calendar4::before {
  content: "\f218";
}

.bi-camera-fill::before {
  content: "\f219";
}

.bi-camera-reels-fill::before {
  content: "\f21a";
}

.bi-camera-reels::before {
  content: "\f21b";
}

.bi-camera-video-fill::before {
  content: "\f21c";
}

.bi-camera-video-off-fill::before {
  content: "\f21d";
}

.bi-camera-video-off::before {
  content: "\f21e";
}

.bi-camera-video::before {
  content: "\f21f";
}

.bi-camera::before {
  content: "\f220";
}

.bi-camera2::before {
  content: "\f221";
}

.bi-capslock-fill::before {
  content: "\f222";
}

.bi-capslock::before {
  content: "\f223";
}

.bi-card-checklist::before {
  content: "\f224";
}

.bi-card-heading::before {
  content: "\f225";
}

.bi-card-image::before {
  content: "\f226";
}

.bi-card-list::before {
  content: "\f227";
}

.bi-card-text::before {
  content: "\f228";
}

.bi-caret-down-fill::before {
  content: "\f229";
}

.bi-caret-down-square-fill::before {
  content: "\f22a";
}

.bi-caret-down-square::before {
  content: "\f22b";
}

.bi-caret-down::before {
  content: "\f22c";
}

.bi-caret-left-fill::before {
  content: "\f22d";
}

.bi-caret-left-square-fill::before {
  content: "\f22e";
}

.bi-caret-left-square::before {
  content: "\f22f";
}

.bi-caret-left::before {
  content: "\f230";
}

.bi-caret-right-fill::before {
  content: "\f231";
}

.bi-caret-right-square-fill::before {
  content: "\f232";
}

.bi-caret-right-square::before {
  content: "\f233";
}

.bi-caret-right::before {
  content: "\f234";
}

.bi-caret-up-fill::before {
  content: "\f235";
}

.bi-caret-up-square-fill::before {
  content: "\f236";
}

.bi-caret-up-square::before {
  content: "\f237";
}

.bi-caret-up::before {
  content: "\f238";
}

.bi-cart-check-fill::before {
  content: "\f239";
}

.bi-cart-check::before {
  content: "\f23a";
}

.bi-cart-dash-fill::before {
  content: "\f23b";
}

.bi-cart-dash::before {
  content: "\f23c";
}

.bi-cart-fill::before {
  content: "\f23d";
}

.bi-cart-plus-fill::before {
  content: "\f23e";
}

.bi-cart-plus::before {
  content: "\f23f";
}

.bi-cart-x-fill::before {
  content: "\f240";
}

.bi-cart-x::before {
  content: "\f241";
}

.bi-cart::before {
  content: "\f242";
}

.bi-cart2::before {
  content: "\f243";
}

.bi-cart3::before {
  content: "\f244";
}

.bi-cart4::before {
  content: "\f245";
}

.bi-cash-stack::before {
  content: "\f246";
}

.bi-cash::before {
  content: "\f247";
}

.bi-cast::before {
  content: "\f248";
}

.bi-chat-dots-fill::before {
  content: "\f249";
}

.bi-chat-dots::before {
  content: "\f24a";
}

.bi-chat-fill::before {
  content: "\f24b";
}

.bi-chat-left-dots-fill::before {
  content: "\f24c";
}

.bi-chat-left-dots::before {
  content: "\f24d";
}

.bi-chat-left-fill::before {
  content: "\f24e";
}

.bi-chat-left-quote-fill::before {
  content: "\f24f";
}

.bi-chat-left-quote::before {
  content: "\f250";
}

.bi-chat-left-text-fill::before {
  content: "\f251";
}

.bi-chat-left-text::before {
  content: "\f252";
}

.bi-chat-left::before {
  content: "\f253";
}

.bi-chat-quote-fill::before {
  content: "\f254";
}

.bi-chat-quote::before {
  content: "\f255";
}

.bi-chat-right-dots-fill::before {
  content: "\f256";
}

.bi-chat-right-dots::before {
  content: "\f257";
}

.bi-chat-right-fill::before {
  content: "\f258";
}

.bi-chat-right-quote-fill::before {
  content: "\f259";
}

.bi-chat-right-quote::before {
  content: "\f25a";
}

.bi-chat-right-text-fill::before {
  content: "\f25b";
}

.bi-chat-right-text::before {
  content: "\f25c";
}

.bi-chat-right::before {
  content: "\f25d";
}

.bi-chat-square-dots-fill::before {
  content: "\f25e";
}

.bi-chat-square-dots::before {
  content: "\f25f";
}

.bi-chat-square-fill::before {
  content: "\f260";
}

.bi-chat-square-quote-fill::before {
  content: "\f261";
}

.bi-chat-square-quote::before {
  content: "\f262";
}

.bi-chat-square-text-fill::before {
  content: "\f263";
}

.bi-chat-square-text::before {
  content: "\f264";
}

.bi-chat-square::before {
  content: "\f265";
}

.bi-chat-text-fill::before {
  content: "\f266";
}

.bi-chat-text::before {
  content: "\f267";
}

.bi-chat::before {
  content: "\f268";
}

.bi-check-all::before {
  content: "\f269";
}

.bi-check-circle-fill::before {
  content: "\f26a";
}

.bi-check-circle::before {
  content: "\f26b";
}

.bi-check-square-fill::before {
  content: "\f26c";
}

.bi-check-square::before {
  content: "\f26d";
}

.bi-check::before {
  content: "\f26e";
}

.bi-check2-all::before {
  content: "\f26f";
}

.bi-check2-circle::before {
  content: "\f270";
}

.bi-check2-square::before {
  content: "\f271";
}

.bi-check2::before {
  content: "\f272";
}

.bi-chevron-bar-contract::before {
  content: "\f273";
}

.bi-chevron-bar-down::before {
  content: "\f274";
}

.bi-chevron-bar-expand::before {
  content: "\f275";
}

.bi-chevron-bar-left::before {
  content: "\f276";
}

.bi-chevron-bar-right::before {
  content: "\f277";
}

.bi-chevron-bar-up::before {
  content: "\f278";
}

.bi-chevron-compact-down::before {
  content: "\f279";
}

.bi-chevron-compact-left::before {
  content: "\f27a";
}

.bi-chevron-compact-right::before {
  content: "\f27b";
}

.bi-chevron-compact-up::before {
  content: "\f27c";
}

.bi-chevron-contract::before {
  content: "\f27d";
}

.bi-chevron-double-down::before {
  content: "\f27e";
}

.bi-chevron-double-left::before {
  content: "\f27f";
}

.bi-chevron-double-right::before {
  content: "\f280";
}

.bi-chevron-double-up::before {
  content: "\f281";
}

.bi-chevron-down::before {
  content: "\f282";
}

.bi-chevron-expand::before {
  content: "\f283";
}

.bi-chevron-left::before {
  content: "\f284";
}

.bi-chevron-right::before {
  content: "\f285";
}

.bi-chevron-up::before {
  content: "\f286";
}

.bi-circle-fill::before {
  content: "\f287";
}

.bi-circle-half::before {
  content: "\f288";
}

.bi-circle-square::before {
  content: "\f289";
}

.bi-circle::before {
  content: "\f28a";
}

.bi-clipboard-check::before {
  content: "\f28b";
}

.bi-clipboard-data::before {
  content: "\f28c";
}

.bi-clipboard-minus::before {
  content: "\f28d";
}

.bi-clipboard-plus::before {
  content: "\f28e";
}

.bi-clipboard-x::before {
  content: "\f28f";
}

.bi-clipboard::before {
  content: "\f290";
}

.bi-clock-fill::before {
  content: "\f291";
}

.bi-clock-history::before {
  content: "\f292";
}

.bi-clock::before {
  content: "\f293";
}

.bi-cloud-arrow-down-fill::before {
  content: "\f294";
}

.bi-cloud-arrow-down::before {
  content: "\f295";
}

.bi-cloud-arrow-up-fill::before {
  content: "\f296";
}

.bi-cloud-arrow-up::before {
  content: "\f297";
}

.bi-cloud-check-fill::before {
  content: "\f298";
}

.bi-cloud-check::before {
  content: "\f299";
}

.bi-cloud-download-fill::before {
  content: "\f29a";
}

.bi-cloud-download::before {
  content: "\f29b";
}

.bi-cloud-drizzle-fill::before {
  content: "\f29c";
}

.bi-cloud-drizzle::before {
  content: "\f29d";
}

.bi-cloud-fill::before {
  content: "\f29e";
}

.bi-cloud-fog-fill::before {
  content: "\f29f";
}

.bi-cloud-fog::before {
  content: "\f2a0";
}

.bi-cloud-fog2-fill::before {
  content: "\f2a1";
}

.bi-cloud-fog2::before {
  content: "\f2a2";
}

.bi-cloud-hail-fill::before {
  content: "\f2a3";
}

.bi-cloud-hail::before {
  content: "\f2a4";
}

.bi-cloud-haze-fill::before {
  content: "\f2a6";
}

.bi-cloud-haze::before {
  content: "\f2a7";
}

.bi-cloud-haze2-fill::before {
  content: "\f2a8";
}

.bi-cloud-lightning-fill::before {
  content: "\f2a9";
}

.bi-cloud-lightning-rain-fill::before {
  content: "\f2aa";
}

.bi-cloud-lightning-rain::before {
  content: "\f2ab";
}

.bi-cloud-lightning::before {
  content: "\f2ac";
}

.bi-cloud-minus-fill::before {
  content: "\f2ad";
}

.bi-cloud-minus::before {
  content: "\f2ae";
}

.bi-cloud-moon-fill::before {
  content: "\f2af";
}

.bi-cloud-moon::before {
  content: "\f2b0";
}

.bi-cloud-plus-fill::before {
  content: "\f2b1";
}

.bi-cloud-plus::before {
  content: "\f2b2";
}

.bi-cloud-rain-fill::before {
  content: "\f2b3";
}

.bi-cloud-rain-heavy-fill::before {
  content: "\f2b4";
}

.bi-cloud-rain-heavy::before {
  content: "\f2b5";
}

.bi-cloud-rain::before {
  content: "\f2b6";
}

.bi-cloud-slash-fill::before {
  content: "\f2b7";
}

.bi-cloud-slash::before {
  content: "\f2b8";
}

.bi-cloud-sleet-fill::before {
  content: "\f2b9";
}

.bi-cloud-sleet::before {
  content: "\f2ba";
}

.bi-cloud-snow-fill::before {
  content: "\f2bb";
}

.bi-cloud-snow::before {
  content: "\f2bc";
}

.bi-cloud-sun-fill::before {
  content: "\f2bd";
}

.bi-cloud-sun::before {
  content: "\f2be";
}

.bi-cloud-upload-fill::before {
  content: "\f2bf";
}

.bi-cloud-upload::before {
  content: "\f2c0";
}

.bi-cloud::before {
  content: "\f2c1";
}

.bi-clouds-fill::before {
  content: "\f2c2";
}

.bi-clouds::before {
  content: "\f2c3";
}

.bi-cloudy-fill::before {
  content: "\f2c4";
}

.bi-cloudy::before {
  content: "\f2c5";
}

.bi-code-slash::before {
  content: "\f2c6";
}

.bi-code-square::before {
  content: "\f2c7";
}

.bi-code::before {
  content: "\f2c8";
}

.bi-collection-fill::before {
  content: "\f2c9";
}

.bi-collection-play-fill::before {
  content: "\f2ca";
}

.bi-collection-play::before {
  content: "\f2cb";
}

.bi-collection::before {
  content: "\f2cc";
}

.bi-columns-gap::before {
  content: "\f2cd";
}

.bi-columns::before {
  content: "\f2ce";
}

.bi-command::before {
  content: "\f2cf";
}

.bi-compass-fill::before {
  content: "\f2d0";
}

.bi-compass::before {
  content: "\f2d1";
}

.bi-cone-striped::before {
  content: "\f2d2";
}

.bi-cone::before {
  content: "\f2d3";
}

.bi-controller::before {
  content: "\f2d4";
}

.bi-cpu-fill::before {
  content: "\f2d5";
}

.bi-cpu::before {
  content: "\f2d6";
}

.bi-credit-card-2-back-fill::before {
  content: "\f2d7";
}

.bi-credit-card-2-back::before {
  content: "\f2d8";
}

.bi-credit-card-2-front-fill::before {
  content: "\f2d9";
}

.bi-credit-card-2-front::before {
  content: "\f2da";
}

.bi-credit-card-fill::before {
  content: "\f2db";
}

.bi-credit-card::before {
  content: "\f2dc";
}

.bi-crop::before {
  content: "\f2dd";
}

.bi-cup-fill::before {
  content: "\f2de";
}

.bi-cup-straw::before {
  content: "\f2df";
}

.bi-cup::before {
  content: "\f2e0";
}

.bi-cursor-fill::before {
  content: "\f2e1";
}

.bi-cursor-text::before {
  content: "\f2e2";
}

.bi-cursor::before {
  content: "\f2e3";
}

.bi-dash-circle-dotted::before {
  content: "\f2e4";
}

.bi-dash-circle-fill::before {
  content: "\f2e5";
}

.bi-dash-circle::before {
  content: "\f2e6";
}

.bi-dash-square-dotted::before {
  content: "\f2e7";
}

.bi-dash-square-fill::before {
  content: "\f2e8";
}

.bi-dash-square::before {
  content: "\f2e9";
}

.bi-dash::before {
  content: "\f2ea";
}

.bi-diagram-2-fill::before {
  content: "\f2eb";
}

.bi-diagram-2::before {
  content: "\f2ec";
}

.bi-diagram-3-fill::before {
  content: "\f2ed";
}

.bi-diagram-3::before {
  content: "\f2ee";
}

.bi-diamond-fill::before {
  content: "\f2ef";
}

.bi-diamond-half::before {
  content: "\f2f0";
}

.bi-diamond::before {
  content: "\f2f1";
}

.bi-dice-1-fill::before {
  content: "\f2f2";
}

.bi-dice-1::before {
  content: "\f2f3";
}

.bi-dice-2-fill::before {
  content: "\f2f4";
}

.bi-dice-2::before {
  content: "\f2f5";
}

.bi-dice-3-fill::before {
  content: "\f2f6";
}

.bi-dice-3::before {
  content: "\f2f7";
}

.bi-dice-4-fill::before {
  content: "\f2f8";
}

.bi-dice-4::before {
  content: "\f2f9";
}

.bi-dice-5-fill::before {
  content: "\f2fa";
}

.bi-dice-5::before {
  content: "\f2fb";
}

.bi-dice-6-fill::before {
  content: "\f2fc";
}

.bi-dice-6::before {
  content: "\f2fd";
}

.bi-disc-fill::before {
  content: "\f2fe";
}

.bi-disc::before {
  content: "\f2ff";
}

.bi-discord::before {
  content: "\f300";
}

.bi-display-fill::before {
  content: "\f301";
}

.bi-display::before {
  content: "\f302";
}

.bi-distribute-horizontal::before {
  content: "\f303";
}

.bi-distribute-vertical::before {
  content: "\f304";
}

.bi-door-closed-fill::before {
  content: "\f305";
}

.bi-door-closed::before {
  content: "\f306";
}

.bi-door-open-fill::before {
  content: "\f307";
}

.bi-door-open::before {
  content: "\f308";
}

.bi-dot::before {
  content: "\f309";
}

.bi-download::before {
  content: "\f30a";
}

.bi-droplet-fill::before {
  content: "\f30b";
}

.bi-droplet-half::before {
  content: "\f30c";
}

.bi-droplet::before {
  content: "\f30d";
}

.bi-earbuds::before {
  content: "\f30e";
}

.bi-easel-fill::before {
  content: "\f30f";
}

.bi-easel::before {
  content: "\f310";
}

.bi-egg-fill::before {
  content: "\f311";
}

.bi-egg-fried::before {
  content: "\f312";
}

.bi-egg::before {
  content: "\f313";
}

.bi-eject-fill::before {
  content: "\f314";
}

.bi-eject::before {
  content: "\f315";
}

.bi-emoji-angry-fill::before {
  content: "\f316";
}

.bi-emoji-angry::before {
  content: "\f317";
}

.bi-emoji-dizzy-fill::before {
  content: "\f318";
}

.bi-emoji-dizzy::before {
  content: "\f319";
}

.bi-emoji-expressionless-fill::before {
  content: "\f31a";
}

.bi-emoji-expressionless::before {
  content: "\f31b";
}

.bi-emoji-frown-fill::before {
  content: "\f31c";
}

.bi-emoji-frown::before {
  content: "\f31d";
}

.bi-emoji-heart-eyes-fill::before {
  content: "\f31e";
}

.bi-emoji-heart-eyes::before {
  content: "\f31f";
}

.bi-emoji-laughing-fill::before {
  content: "\f320";
}

.bi-emoji-laughing::before {
  content: "\f321";
}

.bi-emoji-neutral-fill::before {
  content: "\f322";
}

.bi-emoji-neutral::before {
  content: "\f323";
}

.bi-emoji-smile-fill::before {
  content: "\f324";
}

.bi-emoji-smile-upside-down-fill::before {
  content: "\f325";
}

.bi-emoji-smile-upside-down::before {
  content: "\f326";
}

.bi-emoji-smile::before {
  content: "\f327";
}

.bi-emoji-sunglasses-fill::before {
  content: "\f328";
}

.bi-emoji-sunglasses::before {
  content: "\f329";
}

.bi-emoji-wink-fill::before {
  content: "\f32a";
}

.bi-emoji-wink::before {
  content: "\f32b";
}

.bi-envelope-fill::before {
  content: "\f32c";
}

.bi-envelope-open-fill::before {
  content: "\f32d";
}

.bi-envelope-open::before {
  content: "\f32e";
}

.bi-envelope::before {
  content: "\f32f";
}

.bi-eraser-fill::before {
  content: "\f330";
}

.bi-eraser::before {
  content: "\f331";
}

.bi-exclamation-circle-fill::before {
  content: "\f332";
}

.bi-exclamation-circle::before {
  content: "\f333";
}

.bi-exclamation-diamond-fill::before {
  content: "\f334";
}

.bi-exclamation-diamond::before {
  content: "\f335";
}

.bi-exclamation-octagon-fill::before {
  content: "\f336";
}

.bi-exclamation-octagon::before {
  content: "\f337";
}

.bi-exclamation-square-fill::before {
  content: "\f338";
}

.bi-exclamation-square::before {
  content: "\f339";
}

.bi-exclamation-triangle-fill::before {
  content: "\f33a";
}

.bi-exclamation-triangle::before {
  content: "\f33b";
}

.bi-exclamation::before {
  content: "\f33c";
}

.bi-exclude::before {
  content: "\f33d";
}

.bi-eye-fill::before {
  content: "\f33e";
}

.bi-eye-slash-fill::before {
  content: "\f33f";
}

.bi-eye-slash::before {
  content: "\f340";
}

.bi-eye::before {
  content: "\f341";
}

.bi-eyedropper::before {
  content: "\f342";
}

.bi-eyeglasses::before {
  content: "\f343";
}

.bi-facebook::before {
  content: "\f344";
}

.bi-file-arrow-down-fill::before {
  content: "\f345";
}

.bi-file-arrow-down::before {
  content: "\f346";
}

.bi-file-arrow-up-fill::before {
  content: "\f347";
}

.bi-file-arrow-up::before {
  content: "\f348";
}

.bi-file-bar-graph-fill::before {
  content: "\f349";
}

.bi-file-bar-graph::before {
  content: "\f34a";
}

.bi-file-binary-fill::before {
  content: "\f34b";
}

.bi-file-binary::before {
  content: "\f34c";
}

.bi-file-break-fill::before {
  content: "\f34d";
}

.bi-file-break::before {
  content: "\f34e";
}

.bi-file-check-fill::before {
  content: "\f34f";
}

.bi-file-check::before {
  content: "\f350";
}

.bi-file-code-fill::before {
  content: "\f351";
}

.bi-file-code::before {
  content: "\f352";
}

.bi-file-diff-fill::before {
  content: "\f353";
}

.bi-file-diff::before {
  content: "\f354";
}

.bi-file-earmark-arrow-down-fill::before {
  content: "\f355";
}

.bi-file-earmark-arrow-down::before {
  content: "\f356";
}

.bi-file-earmark-arrow-up-fill::before {
  content: "\f357";
}

.bi-file-earmark-arrow-up::before {
  content: "\f358";
}

.bi-file-earmark-bar-graph-fill::before {
  content: "\f359";
}

.bi-file-earmark-bar-graph::before {
  content: "\f35a";
}

.bi-file-earmark-binary-fill::before {
  content: "\f35b";
}

.bi-file-earmark-binary::before {
  content: "\f35c";
}

.bi-file-earmark-break-fill::before {
  content: "\f35d";
}

.bi-file-earmark-break::before {
  content: "\f35e";
}

.bi-file-earmark-check-fill::before {
  content: "\f35f";
}

.bi-file-earmark-check::before {
  content: "\f360";
}

.bi-file-earmark-code-fill::before {
  content: "\f361";
}

.bi-file-earmark-code::before {
  content: "\f362";
}

.bi-file-earmark-diff-fill::before {
  content: "\f363";
}

.bi-file-earmark-diff::before {
  content: "\f364";
}

.bi-file-earmark-easel-fill::before {
  content: "\f365";
}

.bi-file-earmark-easel::before {
  content: "\f366";
}

.bi-file-earmark-excel-fill::before {
  content: "\f367";
}

.bi-file-earmark-excel::before {
  content: "\f368";
}

.bi-file-earmark-fill::before {
  content: "\f369";
}

.bi-file-earmark-font-fill::before {
  content: "\f36a";
}

.bi-file-earmark-font::before {
  content: "\f36b";
}

.bi-file-earmark-image-fill::before {
  content: "\f36c";
}

.bi-file-earmark-image::before {
  content: "\f36d";
}

.bi-file-earmark-lock-fill::before {
  content: "\f36e";
}

.bi-file-earmark-lock::before {
  content: "\f36f";
}

.bi-file-earmark-lock2-fill::before {
  content: "\f370";
}

.bi-file-earmark-lock2::before {
  content: "\f371";
}

.bi-file-earmark-medical-fill::before {
  content: "\f372";
}

.bi-file-earmark-medical::before {
  content: "\f373";
}

.bi-file-earmark-minus-fill::before {
  content: "\f374";
}

.bi-file-earmark-minus::before {
  content: "\f375";
}

.bi-file-earmark-music-fill::before {
  content: "\f376";
}

.bi-file-earmark-music::before {
  content: "\f377";
}

.bi-file-earmark-person-fill::before {
  content: "\f378";
}

.bi-file-earmark-person::before {
  content: "\f379";
}

.bi-file-earmark-play-fill::before {
  content: "\f37a";
}

.bi-file-earmark-play::before {
  content: "\f37b";
}

.bi-file-earmark-plus-fill::before {
  content: "\f37c";
}

.bi-file-earmark-plus::before {
  content: "\f37d";
}

.bi-file-earmark-post-fill::before {
  content: "\f37e";
}

.bi-file-earmark-post::before {
  content: "\f37f";
}

.bi-file-earmark-ppt-fill::before {
  content: "\f380";
}

.bi-file-earmark-ppt::before {
  content: "\f381";
}

.bi-file-earmark-richtext-fill::before {
  content: "\f382";
}

.bi-file-earmark-richtext::before {
  content: "\f383";
}

.bi-file-earmark-ruled-fill::before {
  content: "\f384";
}

.bi-file-earmark-ruled::before {
  content: "\f385";
}

.bi-file-earmark-slides-fill::before {
  content: "\f386";
}

.bi-file-earmark-slides::before {
  content: "\f387";
}

.bi-file-earmark-spreadsheet-fill::before {
  content: "\f388";
}

.bi-file-earmark-spreadsheet::before {
  content: "\f389";
}

.bi-file-earmark-text-fill::before {
  content: "\f38a";
}

.bi-file-earmark-text::before {
  content: "\f38b";
}

.bi-file-earmark-word-fill::before {
  content: "\f38c";
}

.bi-file-earmark-word::before {
  content: "\f38d";
}

.bi-file-earmark-x-fill::before {
  content: "\f38e";
}

.bi-file-earmark-x::before {
  content: "\f38f";
}

.bi-file-earmark-zip-fill::before {
  content: "\f390";
}

.bi-file-earmark-zip::before {
  content: "\f391";
}

.bi-file-earmark::before {
  content: "\f392";
}

.bi-file-easel-fill::before {
  content: "\f393";
}

.bi-file-easel::before {
  content: "\f394";
}

.bi-file-excel-fill::before {
  content: "\f395";
}

.bi-file-excel::before {
  content: "\f396";
}

.bi-file-fill::before {
  content: "\f397";
}

.bi-file-font-fill::before {
  content: "\f398";
}

.bi-file-font::before {
  content: "\f399";
}

.bi-file-image-fill::before {
  content: "\f39a";
}

.bi-file-image::before {
  content: "\f39b";
}

.bi-file-lock-fill::before {
  content: "\f39c";
}

.bi-file-lock::before {
  content: "\f39d";
}

.bi-file-lock2-fill::before {
  content: "\f39e";
}

.bi-file-lock2::before {
  content: "\f39f";
}

.bi-file-medical-fill::before {
  content: "\f3a0";
}

.bi-file-medical::before {
  content: "\f3a1";
}

.bi-file-minus-fill::before {
  content: "\f3a2";
}

.bi-file-minus::before {
  content: "\f3a3";
}

.bi-file-music-fill::before {
  content: "\f3a4";
}

.bi-file-music::before {
  content: "\f3a5";
}

.bi-file-person-fill::before {
  content: "\f3a6";
}

.bi-file-person::before {
  content: "\f3a7";
}

.bi-file-play-fill::before {
  content: "\f3a8";
}

.bi-file-play::before {
  content: "\f3a9";
}

.bi-file-plus-fill::before {
  content: "\f3aa";
}

.bi-file-plus::before {
  content: "\f3ab";
}

.bi-file-post-fill::before {
  content: "\f3ac";
}

.bi-file-post::before {
  content: "\f3ad";
}

.bi-file-ppt-fill::before {
  content: "\f3ae";
}

.bi-file-ppt::before {
  content: "\f3af";
}

.bi-file-richtext-fill::before {
  content: "\f3b0";
}

.bi-file-richtext::before {
  content: "\f3b1";
}

.bi-file-ruled-fill::before {
  content: "\f3b2";
}

.bi-file-ruled::before {
  content: "\f3b3";
}

.bi-file-slides-fill::before {
  content: "\f3b4";
}

.bi-file-slides::before {
  content: "\f3b5";
}

.bi-file-spreadsheet-fill::before {
  content: "\f3b6";
}

.bi-file-spreadsheet::before {
  content: "\f3b7";
}

.bi-file-text-fill::before {
  content: "\f3b8";
}

.bi-file-text::before {
  content: "\f3b9";
}

.bi-file-word-fill::before {
  content: "\f3ba";
}

.bi-file-word::before {
  content: "\f3bb";
}

.bi-file-x-fill::before {
  content: "\f3bc";
}

.bi-file-x::before {
  content: "\f3bd";
}

.bi-file-zip-fill::before {
  content: "\f3be";
}

.bi-file-zip::before {
  content: "\f3bf";
}

.bi-file::before {
  content: "\f3c0";
}

.bi-files-alt::before {
  content: "\f3c1";
}

.bi-files::before {
  content: "\f3c2";
}

.bi-film::before {
  content: "\f3c3";
}

.bi-filter-circle-fill::before {
  content: "\f3c4";
}

.bi-filter-circle::before {
  content: "\f3c5";
}

.bi-filter-left::before {
  content: "\f3c6";
}

.bi-filter-right::before {
  content: "\f3c7";
}

.bi-filter-square-fill::before {
  content: "\f3c8";
}

.bi-filter-square::before {
  content: "\f3c9";
}

.bi-filter::before {
  content: "\f3ca";
}

.bi-flag-fill::before {
  content: "\f3cb";
}

.bi-flag::before {
  content: "\f3cc";
}

.bi-flower1::before {
  content: "\f3cd";
}

.bi-flower2::before {
  content: "\f3ce";
}

.bi-flower3::before {
  content: "\f3cf";
}

.bi-folder-check::before {
  content: "\f3d0";
}

.bi-folder-fill::before {
  content: "\f3d1";
}

.bi-folder-minus::before {
  content: "\f3d2";
}

.bi-folder-plus::before {
  content: "\f3d3";
}

.bi-folder-symlink-fill::before {
  content: "\f3d4";
}

.bi-folder-symlink::before {
  content: "\f3d5";
}

.bi-folder-x::before {
  content: "\f3d6";
}

.bi-folder::before {
  content: "\f3d7";
}

.bi-folder2-open::before {
  content: "\f3d8";
}

.bi-folder2::before {
  content: "\f3d9";
}

.bi-fonts::before {
  content: "\f3da";
}

.bi-forward-fill::before {
  content: "\f3db";
}

.bi-forward::before {
  content: "\f3dc";
}

.bi-front::before {
  content: "\f3dd";
}

.bi-fullscreen-exit::before {
  content: "\f3de";
}

.bi-fullscreen::before {
  content: "\f3df";
}

.bi-funnel-fill::before {
  content: "\f3e0";
}

.bi-funnel::before {
  content: "\f3e1";
}

.bi-gear-fill::before {
  content: "\f3e2";
}

.bi-gear-wide-connected::before {
  content: "\f3e3";
}

.bi-gear-wide::before {
  content: "\f3e4";
}

.bi-gear::before {
  content: "\f3e5";
}

.bi-gem::before {
  content: "\f3e6";
}

.bi-geo-alt-fill::before {
  content: "\f3e7";
}

.bi-geo-alt::before {
  content: "\f3e8";
}

.bi-geo-fill::before {
  content: "\f3e9";
}

.bi-geo::before {
  content: "\f3ea";
}

.bi-gift-fill::before {
  content: "\f3eb";
}

.bi-gift::before {
  content: "\f3ec";
}

.bi-github::before {
  content: "\f3ed";
}

.bi-globe::before {
  content: "\f3ee";
}

.bi-globe2::before {
  content: "\f3ef";
}

.bi-google::before {
  content: "\f3f0";
}

.bi-graph-down::before {
  content: "\f3f1";
}

.bi-graph-up::before {
  content: "\f3f2";
}

.bi-grid-1x2-fill::before {
  content: "\f3f3";
}

.bi-grid-1x2::before {
  content: "\f3f4";
}

.bi-grid-3x2-gap-fill::before {
  content: "\f3f5";
}

.bi-grid-3x2-gap::before {
  content: "\f3f6";
}

.bi-grid-3x2::before {
  content: "\f3f7";
}

.bi-grid-3x3-gap-fill::before {
  content: "\f3f8";
}

.bi-grid-3x3-gap::before {
  content: "\f3f9";
}

.bi-grid-3x3::before {
  content: "\f3fa";
}

.bi-grid-fill::before {
  content: "\f3fb";
}

.bi-grid::before {
  content: "\f3fc";
}

.bi-grip-horizontal::before {
  content: "\f3fd";
}

.bi-grip-vertical::before {
  content: "\f3fe";
}

.bi-hammer::before {
  content: "\f3ff";
}

.bi-hand-index-fill::before {
  content: "\f400";
}

.bi-hand-index-thumb-fill::before {
  content: "\f401";
}

.bi-hand-index-thumb::before {
  content: "\f402";
}

.bi-hand-index::before {
  content: "\f403";
}

.bi-hand-thumbs-down-fill::before {
  content: "\f404";
}

.bi-hand-thumbs-down::before {
  content: "\f405";
}

.bi-hand-thumbs-up-fill::before {
  content: "\f406";
}

.bi-hand-thumbs-up::before {
  content: "\f407";
}

.bi-handbag-fill::before {
  content: "\f408";
}

.bi-handbag::before {
  content: "\f409";
}

.bi-hash::before {
  content: "\f40a";
}

.bi-hdd-fill::before {
  content: "\f40b";
}

.bi-hdd-network-fill::before {
  content: "\f40c";
}

.bi-hdd-network::before {
  content: "\f40d";
}

.bi-hdd-rack-fill::before {
  content: "\f40e";
}

.bi-hdd-rack::before {
  content: "\f40f";
}

.bi-hdd-stack-fill::before {
  content: "\f410";
}

.bi-hdd-stack::before {
  content: "\f411";
}

.bi-hdd::before {
  content: "\f412";
}

.bi-headphones::before {
  content: "\f413";
}

.bi-headset::before {
  content: "\f414";
}

.bi-heart-fill::before {
  content: "\f415";
}

.bi-heart-half::before {
  content: "\f416";
}

.bi-heart::before {
  content: "\f417";
}

.bi-heptagon-fill::before {
  content: "\f418";
}

.bi-heptagon-half::before {
  content: "\f419";
}

.bi-heptagon::before {
  content: "\f41a";
}

.bi-hexagon-fill::before {
  content: "\f41b";
}

.bi-hexagon-half::before {
  content: "\f41c";
}

.bi-hexagon::before {
  content: "\f41d";
}

.bi-hourglass-bottom::before {
  content: "\f41e";
}

.bi-hourglass-split::before {
  content: "\f41f";
}

.bi-hourglass-top::before {
  content: "\f420";
}

.bi-hourglass::before {
  content: "\f421";
}

.bi-house-door-fill::before {
  content: "\f422";
}

.bi-house-door::before {
  content: "\f423";
}

.bi-house-fill::before {
  content: "\f424";
}

.bi-house::before {
  content: "\f425";
}

.bi-hr::before {
  content: "\f426";
}

.bi-hurricane::before {
  content: "\f427";
}

.bi-image-alt::before {
  content: "\f428";
}

.bi-image-fill::before {
  content: "\f429";
}

.bi-image::before {
  content: "\f42a";
}

.bi-images::before {
  content: "\f42b";
}

.bi-inbox-fill::before {
  content: "\f42c";
}

.bi-inbox::before {
  content: "\f42d";
}

.bi-inboxes-fill::before {
  content: "\f42e";
}

.bi-inboxes::before {
  content: "\f42f";
}

.bi-info-circle-fill::before {
  content: "\f430";
}

.bi-info-circle::before {
  content: "\f431";
}

.bi-info-square-fill::before {
  content: "\f432";
}

.bi-info-square::before {
  content: "\f433";
}

.bi-info::before {
  content: "\f434";
}

.bi-input-cursor-text::before {
  content: "\f435";
}

.bi-input-cursor::before {
  content: "\f436";
}

.bi-instagram::before {
  content: "\f437";
}

.bi-intersect::before {
  content: "\f438";
}

.bi-journal-album::before {
  content: "\f439";
}

.bi-journal-arrow-down::before {
  content: "\f43a";
}

.bi-journal-arrow-up::before {
  content: "\f43b";
}

.bi-journal-bookmark-fill::before {
  content: "\f43c";
}

.bi-journal-bookmark::before {
  content: "\f43d";
}

.bi-journal-check::before {
  content: "\f43e";
}

.bi-journal-code::before {
  content: "\f43f";
}

.bi-journal-medical::before {
  content: "\f440";
}

.bi-journal-minus::before {
  content: "\f441";
}

.bi-journal-plus::before {
  content: "\f442";
}

.bi-journal-richtext::before {
  content: "\f443";
}

.bi-journal-text::before {
  content: "\f444";
}

.bi-journal-x::before {
  content: "\f445";
}

.bi-journal::before {
  content: "\f446";
}

.bi-journals::before {
  content: "\f447";
}

.bi-joystick::before {
  content: "\f448";
}

.bi-justify-left::before {
  content: "\f449";
}

.bi-justify-right::before {
  content: "\f44a";
}

.bi-justify::before {
  content: "\f44b";
}

.bi-kanban-fill::before {
  content: "\f44c";
}

.bi-kanban::before {
  content: "\f44d";
}

.bi-key-fill::before {
  content: "\f44e";
}

.bi-key::before {
  content: "\f44f";
}

.bi-keyboard-fill::before {
  content: "\f450";
}

.bi-keyboard::before {
  content: "\f451";
}

.bi-ladder::before {
  content: "\f452";
}

.bi-lamp-fill::before {
  content: "\f453";
}

.bi-lamp::before {
  content: "\f454";
}

.bi-laptop-fill::before {
  content: "\f455";
}

.bi-laptop::before {
  content: "\f456";
}

.bi-layer-backward::before {
  content: "\f457";
}

.bi-layer-forward::before {
  content: "\f458";
}

.bi-layers-fill::before {
  content: "\f459";
}

.bi-layers-half::before {
  content: "\f45a";
}

.bi-layers::before {
  content: "\f45b";
}

.bi-layout-sidebar-inset-reverse::before {
  content: "\f45c";
}

.bi-layout-sidebar-inset::before {
  content: "\f45d";
}

.bi-layout-sidebar-reverse::before {
  content: "\f45e";
}

.bi-layout-sidebar::before {
  content: "\f45f";
}

.bi-layout-split::before {
  content: "\f460";
}

.bi-layout-text-sidebar-reverse::before {
  content: "\f461";
}

.bi-layout-text-sidebar::before {
  content: "\f462";
}

.bi-layout-text-window-reverse::before {
  content: "\f463";
}

.bi-layout-text-window::before {
  content: "\f464";
}

.bi-layout-three-columns::before {
  content: "\f465";
}

.bi-layout-wtf::before {
  content: "\f466";
}

.bi-life-preserver::before {
  content: "\f467";
}

.bi-lightbulb-fill::before {
  content: "\f468";
}

.bi-lightbulb-off-fill::before {
  content: "\f469";
}

.bi-lightbulb-off::before {
  content: "\f46a";
}

.bi-lightbulb::before {
  content: "\f46b";
}

.bi-lightning-charge-fill::before {
  content: "\f46c";
}

.bi-lightning-charge::before {
  content: "\f46d";
}

.bi-lightning-fill::before {
  content: "\f46e";
}

.bi-lightning::before {
  content: "\f46f";
}

.bi-link-45deg::before {
  content: "\f470";
}

.bi-link::before {
  content: "\f471";
}

.bi-linkedin::before {
  content: "\f472";
}

.bi-list-check::before {
  content: "\f473";
}

.bi-list-nested::before {
  content: "\f474";
}

.bi-list-ol::before {
  content: "\f475";
}

.bi-list-stars::before {
  content: "\f476";
}

.bi-list-task::before {
  content: "\f477";
}

.bi-list-ul::before {
  content: "\f478";
}

.bi-list::before {
  content: "\f479";
}

.bi-lock-fill::before {
  content: "\f47a";
}

.bi-lock::before {
  content: "\f47b";
}

.bi-mailbox::before {
  content: "\f47c";
}

.bi-mailbox2::before {
  content: "\f47d";
}

.bi-map-fill::before {
  content: "\f47e";
}

.bi-map::before {
  content: "\f47f";
}

.bi-markdown-fill::before {
  content: "\f480";
}

.bi-markdown::before {
  content: "\f481";
}

.bi-mask::before {
  content: "\f482";
}

.bi-megaphone-fill::before {
  content: "\f483";
}

.bi-megaphone::before {
  content: "\f484";
}

.bi-menu-app-fill::before {
  content: "\f485";
}

.bi-menu-app::before {
  content: "\f486";
}

.bi-menu-button-fill::before {
  content: "\f487";
}

.bi-menu-button-wide-fill::before {
  content: "\f488";
}

.bi-menu-button-wide::before {
  content: "\f489";
}

.bi-menu-button::before {
  content: "\f48a";
}

.bi-menu-down::before {
  content: "\f48b";
}

.bi-menu-up::before {
  content: "\f48c";
}

.bi-mic-fill::before {
  content: "\f48d";
}

.bi-mic-mute-fill::before {
  content: "\f48e";
}

.bi-mic-mute::before {
  content: "\f48f";
}

.bi-mic::before {
  content: "\f490";
}

.bi-minecart-loaded::before {
  content: "\f491";
}

.bi-minecart::before {
  content: "\f492";
}

.bi-moisture::before {
  content: "\f493";
}

.bi-moon-fill::before {
  content: "\f494";
}

.bi-moon-stars-fill::before {
  content: "\f495";
}

.bi-moon-stars::before {
  content: "\f496";
}

.bi-moon::before {
  content: "\f497";
}

.bi-mouse-fill::before {
  content: "\f498";
}

.bi-mouse::before {
  content: "\f499";
}

.bi-mouse2-fill::before {
  content: "\f49a";
}

.bi-mouse2::before {
  content: "\f49b";
}

.bi-mouse3-fill::before {
  content: "\f49c";
}

.bi-mouse3::before {
  content: "\f49d";
}

.bi-music-note-beamed::before {
  content: "\f49e";
}

.bi-music-note-list::before {
  content: "\f49f";
}

.bi-music-note::before {
  content: "\f4a0";
}

.bi-music-player-fill::before {
  content: "\f4a1";
}

.bi-music-player::before {
  content: "\f4a2";
}

.bi-newspaper::before {
  content: "\f4a3";
}

.bi-node-minus-fill::before {
  content: "\f4a4";
}

.bi-node-minus::before {
  content: "\f4a5";
}

.bi-node-plus-fill::before {
  content: "\f4a6";
}

.bi-node-plus::before {
  content: "\f4a7";
}

.bi-nut-fill::before {
  content: "\f4a8";
}

.bi-nut::before {
  content: "\f4a9";
}

.bi-octagon-fill::before {
  content: "\f4aa";
}

.bi-octagon-half::before {
  content: "\f4ab";
}

.bi-octagon::before {
  content: "\f4ac";
}

.bi-option::before {
  content: "\f4ad";
}

.bi-outlet::before {
  content: "\f4ae";
}

.bi-paint-bucket::before {
  content: "\f4af";
}

.bi-palette-fill::before {
  content: "\f4b0";
}

.bi-palette::before {
  content: "\f4b1";
}

.bi-palette2::before {
  content: "\f4b2";
}

.bi-paperclip::before {
  content: "\f4b3";
}

.bi-paragraph::before {
  content: "\f4b4";
}

.bi-patch-check-fill::before {
  content: "\f4b5";
}

.bi-patch-check::before {
  content: "\f4b6";
}

.bi-patch-exclamation-fill::before {
  content: "\f4b7";
}

.bi-patch-exclamation::before {
  content: "\f4b8";
}

.bi-patch-minus-fill::before {
  content: "\f4b9";
}

.bi-patch-minus::before {
  content: "\f4ba";
}

.bi-patch-plus-fill::before {
  content: "\f4bb";
}

.bi-patch-plus::before {
  content: "\f4bc";
}

.bi-patch-question-fill::before {
  content: "\f4bd";
}

.bi-patch-question::before {
  content: "\f4be";
}

.bi-pause-btn-fill::before {
  content: "\f4bf";
}

.bi-pause-btn::before {
  content: "\f4c0";
}

.bi-pause-circle-fill::before {
  content: "\f4c1";
}

.bi-pause-circle::before {
  content: "\f4c2";
}

.bi-pause-fill::before {
  content: "\f4c3";
}

.bi-pause::before {
  content: "\f4c4";
}

.bi-peace-fill::before {
  content: "\f4c5";
}

.bi-peace::before {
  content: "\f4c6";
}

.bi-pen-fill::before {
  content: "\f4c7";
}

.bi-pen::before {
  content: "\f4c8";
}

.bi-pencil-fill::before {
  content: "\f4c9";
}

.bi-pencil-square::before {
  content: "\f4ca";
}

.bi-pencil::before {
  content: "\f4cb";
}

.bi-pentagon-fill::before {
  content: "\f4cc";
}

.bi-pentagon-half::before {
  content: "\f4cd";
}

.bi-pentagon::before {
  content: "\f4ce";
}

.bi-people-fill::before {
  content: "\f4cf";
}

.bi-people::before {
  content: "\f4d0";
}

.bi-percent::before {
  content: "\f4d1";
}

.bi-person-badge-fill::before {
  content: "\f4d2";
}

.bi-person-badge::before {
  content: "\f4d3";
}

.bi-person-bounding-box::before {
  content: "\f4d4";
}

.bi-person-check-fill::before {
  content: "\f4d5";
}

.bi-person-check::before {
  content: "\f4d6";
}

.bi-person-circle::before {
  content: "\f4d7";
}

.bi-person-dash-fill::before {
  content: "\f4d8";
}

.bi-person-dash::before {
  content: "\f4d9";
}

.bi-person-fill::before {
  content: "\f4da";
}

.bi-person-lines-fill::before {
  content: "\f4db";
}

.bi-person-plus-fill::before {
  content: "\f4dc";
}

.bi-person-plus::before {
  content: "\f4dd";
}

.bi-person-square::before {
  content: "\f4de";
}

.bi-person-x-fill::before {
  content: "\f4df";
}

.bi-person-x::before {
  content: "\f4e0";
}

.bi-person::before {
  content: "\f4e1";
}

.bi-phone-fill::before {
  content: "\f4e2";
}

.bi-phone-landscape-fill::before {
  content: "\f4e3";
}

.bi-phone-landscape::before {
  content: "\f4e4";
}

.bi-phone-vibrate-fill::before {
  content: "\f4e5";
}

.bi-phone-vibrate::before {
  content: "\f4e6";
}

.bi-phone::before {
  content: "\f4e7";
}

.bi-pie-chart-fill::before {
  content: "\f4e8";
}

.bi-pie-chart::before {
  content: "\f4e9";
}

.bi-pin-angle-fill::before {
  content: "\f4ea";
}

.bi-pin-angle::before {
  content: "\f4eb";
}

.bi-pin-fill::before {
  content: "\f4ec";
}

.bi-pin::before {
  content: "\f4ed";
}

.bi-pip-fill::before {
  content: "\f4ee";
}

.bi-pip::before {
  content: "\f4ef";
}

.bi-play-btn-fill::before {
  content: "\f4f0";
}

.bi-play-btn::before {
  content: "\f4f1";
}

.bi-play-circle-fill::before {
  content: "\f4f2";
}

.bi-play-circle::before {
  content: "\f4f3";
}

.bi-play-fill::before {
  content: "\f4f4";
}

.bi-play::before {
  content: "\f4f5";
}

.bi-plug-fill::before {
  content: "\f4f6";
}

.bi-plug::before {
  content: "\f4f7";
}

.bi-plus-circle-dotted::before {
  content: "\f4f8";
}

.bi-plus-circle-fill::before {
  content: "\f4f9";
}

.bi-plus-circle::before {
  content: "\f4fa";
}

.bi-plus-square-dotted::before {
  content: "\f4fb";
}

.bi-plus-square-fill::before {
  content: "\f4fc";
}

.bi-plus-square::before {
  content: "\f4fd";
}

.bi-plus::before {
  content: "\f4fe";
}

.bi-power::before {
  content: "\f4ff";
}

.bi-printer-fill::before {
  content: "\f500";
}

.bi-printer::before {
  content: "\f501";
}

.bi-puzzle-fill::before {
  content: "\f502";
}

.bi-puzzle::before {
  content: "\f503";
}

.bi-question-circle-fill::before {
  content: "\f504";
}

.bi-question-circle::before {
  content: "\f505";
}

.bi-question-diamond-fill::before {
  content: "\f506";
}

.bi-question-diamond::before {
  content: "\f507";
}

.bi-question-octagon-fill::before {
  content: "\f508";
}

.bi-question-octagon::before {
  content: "\f509";
}

.bi-question-square-fill::before {
  content: "\f50a";
}

.bi-question-square::before {
  content: "\f50b";
}

.bi-question::before {
  content: "\f50c";
}

.bi-rainbow::before {
  content: "\f50d";
}

.bi-receipt-cutoff::before {
  content: "\f50e";
}

.bi-receipt::before {
  content: "\f50f";
}

.bi-reception-0::before {
  content: "\f510";
}

.bi-reception-1::before {
  content: "\f511";
}

.bi-reception-2::before {
  content: "\f512";
}

.bi-reception-3::before {
  content: "\f513";
}

.bi-reception-4::before {
  content: "\f514";
}

.bi-record-btn-fill::before {
  content: "\f515";
}

.bi-record-btn::before {
  content: "\f516";
}

.bi-record-circle-fill::before {
  content: "\f517";
}

.bi-record-circle::before {
  content: "\f518";
}

.bi-record-fill::before {
  content: "\f519";
}

.bi-record::before {
  content: "\f51a";
}

.bi-record2-fill::before {
  content: "\f51b";
}

.bi-record2::before {
  content: "\f51c";
}

.bi-reply-all-fill::before {
  content: "\f51d";
}

.bi-reply-all::before {
  content: "\f51e";
}

.bi-reply-fill::before {
  content: "\f51f";
}

.bi-reply::before {
  content: "\f520";
}

.bi-rss-fill::before {
  content: "\f521";
}

.bi-rss::before {
  content: "\f522";
}

.bi-rulers::before {
  content: "\f523";
}

.bi-save-fill::before {
  content: "\f524";
}

.bi-save::before {
  content: "\f525";
}

.bi-save2-fill::before {
  content: "\f526";
}

.bi-save2::before {
  content: "\f527";
}

.bi-scissors::before {
  content: "\f528";
}

.bi-screwdriver::before {
  content: "\f529";
}

.bi-search::before {
  content: "\f52a";
}

.bi-segmented-nav::before {
  content: "\f52b";
}

.bi-server::before {
  content: "\f52c";
}

.bi-share-fill::before {
  content: "\f52d";
}

.bi-share::before {
  content: "\f52e";
}

.bi-shield-check::before {
  content: "\f52f";
}

.bi-shield-exclamation::before {
  content: "\f530";
}

.bi-shield-fill-check::before {
  content: "\f531";
}

.bi-shield-fill-exclamation::before {
  content: "\f532";
}

.bi-shield-fill-minus::before {
  content: "\f533";
}

.bi-shield-fill-plus::before {
  content: "\f534";
}

.bi-shield-fill-x::before {
  content: "\f535";
}

.bi-shield-fill::before {
  content: "\f536";
}

.bi-shield-lock-fill::before {
  content: "\f537";
}

.bi-shield-lock::before {
  content: "\f538";
}

.bi-shield-minus::before {
  content: "\f539";
}

.bi-shield-plus::before {
  content: "\f53a";
}

.bi-shield-shaded::before {
  content: "\f53b";
}

.bi-shield-slash-fill::before {
  content: "\f53c";
}

.bi-shield-slash::before {
  content: "\f53d";
}

.bi-shield-x::before {
  content: "\f53e";
}

.bi-shield::before {
  content: "\f53f";
}

.bi-shift-fill::before {
  content: "\f540";
}

.bi-shift::before {
  content: "\f541";
}

.bi-shop-window::before {
  content: "\f542";
}

.bi-shop::before {
  content: "\f543";
}

.bi-shuffle::before {
  content: "\f544";
}

.bi-signpost-2-fill::before {
  content: "\f545";
}

.bi-signpost-2::before {
  content: "\f546";
}

.bi-signpost-fill::before {
  content: "\f547";
}

.bi-signpost-split-fill::before {
  content: "\f548";
}

.bi-signpost-split::before {
  content: "\f549";
}

.bi-signpost::before {
  content: "\f54a";
}

.bi-sim-fill::before {
  content: "\f54b";
}

.bi-sim::before {
  content: "\f54c";
}

.bi-skip-backward-btn-fill::before {
  content: "\f54d";
}

.bi-skip-backward-btn::before {
  content: "\f54e";
}

.bi-skip-backward-circle-fill::before {
  content: "\f54f";
}

.bi-skip-backward-circle::before {
  content: "\f550";
}

.bi-skip-backward-fill::before {
  content: "\f551";
}

.bi-skip-backward::before {
  content: "\f552";
}

.bi-skip-end-btn-fill::before {
  content: "\f553";
}

.bi-skip-end-btn::before {
  content: "\f554";
}

.bi-skip-end-circle-fill::before {
  content: "\f555";
}

.bi-skip-end-circle::before {
  content: "\f556";
}

.bi-skip-end-fill::before {
  content: "\f557";
}

.bi-skip-end::before {
  content: "\f558";
}

.bi-skip-forward-btn-fill::before {
  content: "\f559";
}

.bi-skip-forward-btn::before {
  content: "\f55a";
}

.bi-skip-forward-circle-fill::before {
  content: "\f55b";
}

.bi-skip-forward-circle::before {
  content: "\f55c";
}

.bi-skip-forward-fill::before {
  content: "\f55d";
}

.bi-skip-forward::before {
  content: "\f55e";
}

.bi-skip-start-btn-fill::before {
  content: "\f55f";
}

.bi-skip-start-btn::before {
  content: "\f560";
}

.bi-skip-start-circle-fill::before {
  content: "\f561";
}

.bi-skip-start-circle::before {
  content: "\f562";
}

.bi-skip-start-fill::before {
  content: "\f563";
}

.bi-skip-start::before {
  content: "\f564";
}

.bi-slack::before {
  content: "\f565";
}

.bi-slash-circle-fill::before {
  content: "\f566";
}

.bi-slash-circle::before {
  content: "\f567";
}

.bi-slash-square-fill::before {
  content: "\f568";
}

.bi-slash-square::before {
  content: "\f569";
}

.bi-slash::before {
  content: "\f56a";
}

.bi-sliders::before {
  content: "\f56b";
}

.bi-smartwatch::before {
  content: "\f56c";
}

.bi-snow::before {
  content: "\f56d";
}

.bi-snow2::before {
  content: "\f56e";
}

.bi-snow3::before {
  content: "\f56f";
}

.bi-sort-alpha-down-alt::before {
  content: "\f570";
}

.bi-sort-alpha-down::before {
  content: "\f571";
}

.bi-sort-alpha-up-alt::before {
  content: "\f572";
}

.bi-sort-alpha-up::before {
  content: "\f573";
}

.bi-sort-down-alt::before {
  content: "\f574";
}

.bi-sort-down::before {
  content: "\f575";
}

.bi-sort-numeric-down-alt::before {
  content: "\f576";
}

.bi-sort-numeric-down::before {
  content: "\f577";
}

.bi-sort-numeric-up-alt::before {
  content: "\f578";
}

.bi-sort-numeric-up::before {
  content: "\f579";
}

.bi-sort-up-alt::before {
  content: "\f57a";
}

.bi-sort-up::before {
  content: "\f57b";
}

.bi-soundwave::before {
  content: "\f57c";
}

.bi-speaker-fill::before {
  content: "\f57d";
}

.bi-speaker::before {
  content: "\f57e";
}

.bi-speedometer::before {
  content: "\f57f";
}

.bi-speedometer2::before {
  content: "\f580";
}

.bi-spellcheck::before {
  content: "\f581";
}

.bi-square-fill::before {
  content: "\f582";
}

.bi-square-half::before {
  content: "\f583";
}

.bi-square::before {
  content: "\f584";
}

.bi-stack::before {
  content: "\f585";
}

.bi-star-fill::before {
  content: "\f586";
}

.bi-star-half::before {
  content: "\f587";
}

.bi-star::before {
  content: "\f588";
}

.bi-stars::before {
  content: "\f589";
}

.bi-stickies-fill::before {
  content: "\f58a";
}

.bi-stickies::before {
  content: "\f58b";
}

.bi-sticky-fill::before {
  content: "\f58c";
}

.bi-sticky::before {
  content: "\f58d";
}

.bi-stop-btn-fill::before {
  content: "\f58e";
}

.bi-stop-btn::before {
  content: "\f58f";
}

.bi-stop-circle-fill::before {
  content: "\f590";
}

.bi-stop-circle::before {
  content: "\f591";
}

.bi-stop-fill::before {
  content: "\f592";
}

.bi-stop::before {
  content: "\f593";
}

.bi-stoplights-fill::before {
  content: "\f594";
}

.bi-stoplights::before {
  content: "\f595";
}

.bi-stopwatch-fill::before {
  content: "\f596";
}

.bi-stopwatch::before {
  content: "\f597";
}

.bi-subtract::before {
  content: "\f598";
}

.bi-suit-club-fill::before {
  content: "\f599";
}

.bi-suit-club::before {
  content: "\f59a";
}

.bi-suit-diamond-fill::before {
  content: "\f59b";
}

.bi-suit-diamond::before {
  content: "\f59c";
}

.bi-suit-heart-fill::before {
  content: "\f59d";
}

.bi-suit-heart::before {
  content: "\f59e";
}

.bi-suit-spade-fill::before {
  content: "\f59f";
}

.bi-suit-spade::before {
  content: "\f5a0";
}

.bi-sun-fill::before {
  content: "\f5a1";
}

.bi-sun::before {
  content: "\f5a2";
}

.bi-sunglasses::before {
  content: "\f5a3";
}

.bi-sunrise-fill::before {
  content: "\f5a4";
}

.bi-sunrise::before {
  content: "\f5a5";
}

.bi-sunset-fill::before {
  content: "\f5a6";
}

.bi-sunset::before {
  content: "\f5a7";
}

.bi-symmetry-horizontal::before {
  content: "\f5a8";
}

.bi-symmetry-vertical::before {
  content: "\f5a9";
}

.bi-table::before {
  content: "\f5aa";
}

.bi-tablet-fill::before {
  content: "\f5ab";
}

.bi-tablet-landscape-fill::before {
  content: "\f5ac";
}

.bi-tablet-landscape::before {
  content: "\f5ad";
}

.bi-tablet::before {
  content: "\f5ae";
}

.bi-tag-fill::before {
  content: "\f5af";
}

.bi-tag::before {
  content: "\f5b0";
}

.bi-tags-fill::before {
  content: "\f5b1";
}

.bi-tags::before {
  content: "\f5b2";
}

.bi-telegram::before {
  content: "\f5b3";
}

.bi-telephone-fill::before {
  content: "\f5b4";
}

.bi-telephone-forward-fill::before {
  content: "\f5b5";
}

.bi-telephone-forward::before {
  content: "\f5b6";
}

.bi-telephone-inbound-fill::before {
  content: "\f5b7";
}

.bi-telephone-inbound::before {
  content: "\f5b8";
}

.bi-telephone-minus-fill::before {
  content: "\f5b9";
}

.bi-telephone-minus::before {
  content: "\f5ba";
}

.bi-telephone-outbound-fill::before {
  content: "\f5bb";
}

.bi-telephone-outbound::before {
  content: "\f5bc";
}

.bi-telephone-plus-fill::before {
  content: "\f5bd";
}

.bi-telephone-plus::before {
  content: "\f5be";
}

.bi-telephone-x-fill::before {
  content: "\f5bf";
}

.bi-telephone-x::before {
  content: "\f5c0";
}

.bi-telephone::before {
  content: "\f5c1";
}

.bi-terminal-fill::before {
  content: "\f5c2";
}

.bi-terminal::before {
  content: "\f5c3";
}

.bi-text-center::before {
  content: "\f5c4";
}

.bi-text-indent-left::before {
  content: "\f5c5";
}

.bi-text-indent-right::before {
  content: "\f5c6";
}

.bi-text-left::before {
  content: "\f5c7";
}

.bi-text-paragraph::before {
  content: "\f5c8";
}

.bi-text-right::before {
  content: "\f5c9";
}

.bi-textarea-resize::before {
  content: "\f5ca";
}

.bi-textarea-t::before {
  content: "\f5cb";
}

.bi-textarea::before {
  content: "\f5cc";
}

.bi-thermometer-half::before {
  content: "\f5cd";
}

.bi-thermometer-high::before {
  content: "\f5ce";
}

.bi-thermometer-low::before {
  content: "\f5cf";
}

.bi-thermometer-snow::before {
  content: "\f5d0";
}

.bi-thermometer-sun::before {
  content: "\f5d1";
}

.bi-thermometer::before {
  content: "\f5d2";
}

.bi-three-dots-vertical::before {
  content: "\f5d3";
}

.bi-three-dots::before {
  content: "\f5d4";
}

.bi-toggle-off::before {
  content: "\f5d5";
}

.bi-toggle-on::before {
  content: "\f5d6";
}

.bi-toggle2-off::before {
  content: "\f5d7";
}

.bi-toggle2-on::before {
  content: "\f5d8";
}

.bi-toggles::before {
  content: "\f5d9";
}

.bi-toggles2::before {
  content: "\f5da";
}

.bi-tools::before {
  content: "\f5db";
}

.bi-tornado::before {
  content: "\f5dc";
}

.bi-trash-fill::before {
  content: "\f5dd";
}

.bi-trash::before {
  content: "\f5de";
}

.bi-trash2-fill::before {
  content: "\f5df";
}

.bi-trash2::before {
  content: "\f5e0";
}

.bi-tree-fill::before {
  content: "\f5e1";
}

.bi-tree::before {
  content: "\f5e2";
}

.bi-triangle-fill::before {
  content: "\f5e3";
}

.bi-triangle-half::before {
  content: "\f5e4";
}

.bi-triangle::before {
  content: "\f5e5";
}

.bi-trophy-fill::before {
  content: "\f5e6";
}

.bi-trophy::before {
  content: "\f5e7";
}

.bi-tropical-storm::before {
  content: "\f5e8";
}

.bi-truck-flatbed::before {
  content: "\f5e9";
}

.bi-truck::before {
  content: "\f5ea";
}

.bi-tsunami::before {
  content: "\f5eb";
}

.bi-tv-fill::before {
  content: "\f5ec";
}

.bi-tv::before {
  content: "\f5ed";
}

.bi-twitch::before {
  content: "\f5ee";
}

.bi-twitter::before {
  content: "\f5ef";
}

.bi-type-bold::before {
  content: "\f5f0";
}

.bi-type-h1::before {
  content: "\f5f1";
}

.bi-type-h2::before {
  content: "\f5f2";
}

.bi-type-h3::before {
  content: "\f5f3";
}

.bi-type-italic::before {
  content: "\f5f4";
}

.bi-type-strikethrough::before {
  content: "\f5f5";
}

.bi-type-underline::before {
  content: "\f5f6";
}

.bi-type::before {
  content: "\f5f7";
}

.bi-ui-checks-grid::before {
  content: "\f5f8";
}

.bi-ui-checks::before {
  content: "\f5f9";
}

.bi-ui-radios-grid::before {
  content: "\f5fa";
}

.bi-ui-radios::before {
  content: "\f5fb";
}

.bi-umbrella-fill::before {
  content: "\f5fc";
}

.bi-umbrella::before {
  content: "\f5fd";
}

.bi-union::before {
  content: "\f5fe";
}

.bi-unlock-fill::before {
  content: "\f5ff";
}

.bi-unlock::before {
  content: "\f600";
}

.bi-upc-scan::before {
  content: "\f601";
}

.bi-upc::before {
  content: "\f602";
}

.bi-upload::before {
  content: "\f603";
}

.bi-vector-pen::before {
  content: "\f604";
}

.bi-view-list::before {
  content: "\f605";
}

.bi-view-stacked::before {
  content: "\f606";
}

.bi-vinyl-fill::before {
  content: "\f607";
}

.bi-vinyl::before {
  content: "\f608";
}

.bi-voicemail::before {
  content: "\f609";
}

.bi-volume-down-fill::before {
  content: "\f60a";
}

.bi-volume-down::before {
  content: "\f60b";
}

.bi-volume-mute-fill::before {
  content: "\f60c";
}

.bi-volume-mute::before {
  content: "\f60d";
}

.bi-volume-off-fill::before {
  content: "\f60e";
}

.bi-volume-off::before {
  content: "\f60f";
}

.bi-volume-up-fill::before {
  content: "\f610";
}

.bi-volume-up::before {
  content: "\f611";
}

.bi-vr::before {
  content: "\f612";
}

.bi-wallet-fill::before {
  content: "\f613";
}

.bi-wallet::before {
  content: "\f614";
}

.bi-wallet2::before {
  content: "\f615";
}

.bi-watch::before {
  content: "\f616";
}

.bi-water::before {
  content: "\f617";
}

.bi-whatsapp::before {
  content: "\f618";
}

.bi-wifi-1::before {
  content: "\f619";
}

.bi-wifi-2::before {
  content: "\f61a";
}

.bi-wifi-off::before {
  content: "\f61b";
}

.bi-wifi::before {
  content: "\f61c";
}

.bi-wind::before {
  content: "\f61d";
}

.bi-window-dock::before {
  content: "\f61e";
}

.bi-window-sidebar::before {
  content: "\f61f";
}

.bi-window::before {
  content: "\f620";
}

.bi-wrench::before {
  content: "\f621";
}

.bi-x-circle-fill::before {
  content: "\f622";
}

.bi-x-circle::before {
  content: "\f623";
}

.bi-x-diamond-fill::before {
  content: "\f624";
}

.bi-x-diamond::before {
  content: "\f625";
}

.bi-x-octagon-fill::before {
  content: "\f626";
}

.bi-x-octagon::before {
  content: "\f627";
}

.bi-x-square-fill::before {
  content: "\f628";
}

.bi-x-square::before {
  content: "\f629";
}

.bi-x::before {
  content: "\f62a";
}

.bi-youtube::before {
  content: "\f62b";
}

.bi-zoom-in::before {
  content: "\f62c";
}

.bi-zoom-out::before {
  content: "\f62d";
}

.bi-bank::before {
  content: "\f62e";
}

.bi-bank2::before {
  content: "\f62f";
}

.bi-bell-slash-fill::before {
  content: "\f630";
}

.bi-bell-slash::before {
  content: "\f631";
}

.bi-cash-coin::before {
  content: "\f632";
}

.bi-check-lg::before {
  content: "\f633";
}

.bi-coin::before {
  content: "\f634";
}

.bi-currency-bitcoin::before {
  content: "\f635";
}

.bi-currency-dollar::before {
  content: "\f636";
}

.bi-currency-euro::before {
  content: "\f637";
}

.bi-currency-exchange::before {
  content: "\f638";
}

.bi-currency-pound::before {
  content: "\f639";
}

.bi-currency-yen::before {
  content: "\f63a";
}

.bi-dash-lg::before {
  content: "\f63b";
}

.bi-exclamation-lg::before {
  content: "\f63c";
}

.bi-file-earmark-pdf-fill::before {
  content: "\f63d";
}

.bi-file-earmark-pdf::before {
  content: "\f63e";
}

.bi-file-pdf-fill::before {
  content: "\f63f";
}

.bi-file-pdf::before {
  content: "\f640";
}

.bi-gender-ambiguous::before {
  content: "\f641";
}

.bi-gender-female::before {
  content: "\f642";
}

.bi-gender-male::before {
  content: "\f643";
}

.bi-gender-trans::before {
  content: "\f644";
}

.bi-headset-vr::before {
  content: "\f645";
}

.bi-info-lg::before {
  content: "\f646";
}

.bi-mastodon::before {
  content: "\f647";
}

.bi-messenger::before {
  content: "\f648";
}

.bi-piggy-bank-fill::before {
  content: "\f649";
}

.bi-piggy-bank::before {
  content: "\f64a";
}

.bi-pin-map-fill::before {
  content: "\f64b";
}

.bi-pin-map::before {
  content: "\f64c";
}

.bi-plus-lg::before {
  content: "\f64d";
}

.bi-question-lg::before {
  content: "\f64e";
}

.bi-recycle::before {
  content: "\f64f";
}

.bi-reddit::before {
  content: "\f650";
}

.bi-safe-fill::before {
  content: "\f651";
}

.bi-safe2-fill::before {
  content: "\f652";
}

.bi-safe2::before {
  content: "\f653";
}

.bi-sd-card-fill::before {
  content: "\f654";
}

.bi-sd-card::before {
  content: "\f655";
}

.bi-skype::before {
  content: "\f656";
}

.bi-slash-lg::before {
  content: "\f657";
}

.bi-translate::before {
  content: "\f658";
}

.bi-x-lg::before {
  content: "\f659";
}

.bi-safe::before {
  content: "\f65a";
}

.bi-apple::before {
  content: "\f65b";
}

.bi-microsoft::before {
  content: "\f65d";
}

.bi-windows::before {
  content: "\f65e";
}

.bi-behance::before {
  content: "\f65c";
}

.bi-dribbble::before {
  content: "\f65f";
}

.bi-line::before {
  content: "\f660";
}

.bi-medium::before {
  content: "\f661";
}

.bi-paypal::before {
  content: "\f662";
}

.bi-pinterest::before {
  content: "\f663";
}

.bi-signal::before {
  content: "\f664";
}

.bi-snapchat::before {
  content: "\f665";
}

.bi-spotify::before {
  content: "\f666";
}

.bi-stack-overflow::before {
  content: "\f667";
}

.bi-strava::before {
  content: "\f668";
}

.bi-wordpress::before {
  content: "\f669";
}

.bi-vimeo::before {
  content: "\f66a";
}

.bi-activity::before {
  content: "\f66b";
}

.bi-easel2-fill::before {
  content: "\f66c";
}

.bi-easel2::before {
  content: "\f66d";
}

.bi-easel3-fill::before {
  content: "\f66e";
}

.bi-easel3::before {
  content: "\f66f";
}

.bi-fan::before {
  content: "\f670";
}

.bi-fingerprint::before {
  content: "\f671";
}

.bi-graph-down-arrow::before {
  content: "\f672";
}

.bi-graph-up-arrow::before {
  content: "\f673";
}

.bi-hypnotize::before {
  content: "\f674";
}

.bi-magic::before {
  content: "\f675";
}

.bi-person-rolodex::before {
  content: "\f676";
}

.bi-person-video::before {
  content: "\f677";
}

.bi-person-video2::before {
  content: "\f678";
}

.bi-person-video3::before {
  content: "\f679";
}

.bi-person-workspace::before {
  content: "\f67a";
}

.bi-radioactive::before {
  content: "\f67b";
}

.bi-webcam-fill::before {
  content: "\f67c";
}

.bi-webcam::before {
  content: "\f67d";
}

.bi-yin-yang::before {
  content: "\f67e";
}

.bi-bandaid-fill::before {
  content: "\f680";
}

.bi-bandaid::before {
  content: "\f681";
}

.bi-bluetooth::before {
  content: "\f682";
}

.bi-body-text::before {
  content: "\f683";
}

.bi-boombox::before {
  content: "\f684";
}

.bi-boxes::before {
  content: "\f685";
}

.bi-dpad-fill::before {
  content: "\f686";
}

.bi-dpad::before {
  content: "\f687";
}

.bi-ear-fill::before {
  content: "\f688";
}

.bi-ear::before {
  content: "\f689";
}

.bi-envelope-check-fill::before {
  content: "\f68b";
}

.bi-envelope-check::before {
  content: "\f68c";
}

.bi-envelope-dash-fill::before {
  content: "\f68e";
}

.bi-envelope-dash::before {
  content: "\f68f";
}

.bi-envelope-exclamation-fill::before {
  content: "\f691";
}

.bi-envelope-exclamation::before {
  content: "\f692";
}

.bi-envelope-plus-fill::before {
  content: "\f693";
}

.bi-envelope-plus::before {
  content: "\f694";
}

.bi-envelope-slash-fill::before {
  content: "\f696";
}

.bi-envelope-slash::before {
  content: "\f697";
}

.bi-envelope-x-fill::before {
  content: "\f699";
}

.bi-envelope-x::before {
  content: "\f69a";
}

.bi-explicit-fill::before {
  content: "\f69b";
}

.bi-explicit::before {
  content: "\f69c";
}

.bi-git::before {
  content: "\f69d";
}

.bi-infinity::before {
  content: "\f69e";
}

.bi-list-columns-reverse::before {
  content: "\f69f";
}

.bi-list-columns::before {
  content: "\f6a0";
}

.bi-meta::before {
  content: "\f6a1";
}

.bi-nintendo-switch::before {
  content: "\f6a4";
}

.bi-pc-display-horizontal::before {
  content: "\f6a5";
}

.bi-pc-display::before {
  content: "\f6a6";
}

.bi-pc-horizontal::before {
  content: "\f6a7";
}

.bi-pc::before {
  content: "\f6a8";
}

.bi-playstation::before {
  content: "\f6a9";
}

.bi-plus-slash-minus::before {
  content: "\f6aa";
}

.bi-projector-fill::before {
  content: "\f6ab";
}

.bi-projector::before {
  content: "\f6ac";
}

.bi-qr-code-scan::before {
  content: "\f6ad";
}

.bi-qr-code::before {
  content: "\f6ae";
}

.bi-quora::before {
  content: "\f6af";
}

.bi-quote::before {
  content: "\f6b0";
}

.bi-robot::before {
  content: "\f6b1";
}

.bi-send-check-fill::before {
  content: "\f6b2";
}

.bi-send-check::before {
  content: "\f6b3";
}

.bi-send-dash-fill::before {
  content: "\f6b4";
}

.bi-send-dash::before {
  content: "\f6b5";
}

.bi-send-exclamation-fill::before {
  content: "\f6b7";
}

.bi-send-exclamation::before {
  content: "\f6b8";
}

.bi-send-fill::before {
  content: "\f6b9";
}

.bi-send-plus-fill::before {
  content: "\f6ba";
}

.bi-send-plus::before {
  content: "\f6bb";
}

.bi-send-slash-fill::before {
  content: "\f6bc";
}

.bi-send-slash::before {
  content: "\f6bd";
}

.bi-send-x-fill::before {
  content: "\f6be";
}

.bi-send-x::before {
  content: "\f6bf";
}

.bi-send::before {
  content: "\f6c0";
}

.bi-steam::before {
  content: "\f6c1";
}

.bi-terminal-dash::before {
  content: "\f6c3";
}

.bi-terminal-plus::before {
  content: "\f6c4";
}

.bi-terminal-split::before {
  content: "\f6c5";
}

.bi-ticket-detailed-fill::before {
  content: "\f6c6";
}

.bi-ticket-detailed::before {
  content: "\f6c7";
}

.bi-ticket-fill::before {
  content: "\f6c8";
}

.bi-ticket-perforated-fill::before {
  content: "\f6c9";
}

.bi-ticket-perforated::before {
  content: "\f6ca";
}

.bi-ticket::before {
  content: "\f6cb";
}

.bi-tiktok::before {
  content: "\f6cc";
}

.bi-window-dash::before {
  content: "\f6cd";
}

.bi-window-desktop::before {
  content: "\f6ce";
}

.bi-window-fullscreen::before {
  content: "\f6cf";
}

.bi-window-plus::before {
  content: "\f6d0";
}

.bi-window-split::before {
  content: "\f6d1";
}

.bi-window-stack::before {
  content: "\f6d2";
}

.bi-window-x::before {
  content: "\f6d3";
}

.bi-xbox::before {
  content: "\f6d4";
}

.bi-ethernet::before {
  content: "\f6d5";
}

.bi-hdmi-fill::before {
  content: "\f6d6";
}

.bi-hdmi::before {
  content: "\f6d7";
}

.bi-usb-c-fill::before {
  content: "\f6d8";
}

.bi-usb-c::before {
  content: "\f6d9";
}

.bi-usb-fill::before {
  content: "\f6da";
}

.bi-usb-plug-fill::before {
  content: "\f6db";
}

.bi-usb-plug::before {
  content: "\f6dc";
}

.bi-usb-symbol::before {
  content: "\f6dd";
}

.bi-usb::before {
  content: "\f6de";
}

.bi-boombox-fill::before {
  content: "\f6df";
}

.bi-displayport::before {
  content: "\f6e1";
}

.bi-gpu-card::before {
  content: "\f6e2";
}

.bi-memory::before {
  content: "\f6e3";
}

.bi-modem-fill::before {
  content: "\f6e4";
}

.bi-modem::before {
  content: "\f6e5";
}

.bi-motherboard-fill::before {
  content: "\f6e6";
}

.bi-motherboard::before {
  content: "\f6e7";
}

.bi-optical-audio-fill::before {
  content: "\f6e8";
}

.bi-optical-audio::before {
  content: "\f6e9";
}

.bi-pci-card::before {
  content: "\f6ea";
}

.bi-router-fill::before {
  content: "\f6eb";
}

.bi-router::before {
  content: "\f6ec";
}

.bi-thunderbolt-fill::before {
  content: "\f6ef";
}

.bi-thunderbolt::before {
  content: "\f6f0";
}

.bi-usb-drive-fill::before {
  content: "\f6f1";
}

.bi-usb-drive::before {
  content: "\f6f2";
}

.bi-usb-micro-fill::before {
  content: "\f6f3";
}

.bi-usb-micro::before {
  content: "\f6f4";
}

.bi-usb-mini-fill::before {
  content: "\f6f5";
}

.bi-usb-mini::before {
  content: "\f6f6";
}

.bi-cloud-haze2::before {
  content: "\f6f7";
}

.bi-device-hdd-fill::before {
  content: "\f6f8";
}

.bi-device-hdd::before {
  content: "\f6f9";
}

.bi-device-ssd-fill::before {
  content: "\f6fa";
}

.bi-device-ssd::before {
  content: "\f6fb";
}

.bi-displayport-fill::before {
  content: "\f6fc";
}

.bi-mortarboard-fill::before {
  content: "\f6fd";
}

.bi-mortarboard::before {
  content: "\f6fe";
}

.bi-terminal-x::before {
  content: "\f6ff";
}

.bi-arrow-through-heart-fill::before {
  content: "\f700";
}

.bi-arrow-through-heart::before {
  content: "\f701";
}

.bi-badge-sd-fill::before {
  content: "\f702";
}

.bi-badge-sd::before {
  content: "\f703";
}

.bi-bag-heart-fill::before {
  content: "\f704";
}

.bi-bag-heart::before {
  content: "\f705";
}

.bi-balloon-fill::before {
  content: "\f706";
}

.bi-balloon-heart-fill::before {
  content: "\f707";
}

.bi-balloon-heart::before {
  content: "\f708";
}

.bi-balloon::before {
  content: "\f709";
}

.bi-box2-fill::before {
  content: "\f70a";
}

.bi-box2-heart-fill::before {
  content: "\f70b";
}

.bi-box2-heart::before {
  content: "\f70c";
}

.bi-box2::before {
  content: "\f70d";
}

.bi-braces-asterisk::before {
  content: "\f70e";
}

.bi-calendar-heart-fill::before {
  content: "\f70f";
}

.bi-calendar-heart::before {
  content: "\f710";
}

.bi-calendar2-heart-fill::before {
  content: "\f711";
}

.bi-calendar2-heart::before {
  content: "\f712";
}

.bi-chat-heart-fill::before {
  content: "\f713";
}

.bi-chat-heart::before {
  content: "\f714";
}

.bi-chat-left-heart-fill::before {
  content: "\f715";
}

.bi-chat-left-heart::before {
  content: "\f716";
}

.bi-chat-right-heart-fill::before {
  content: "\f717";
}

.bi-chat-right-heart::before {
  content: "\f718";
}

.bi-chat-square-heart-fill::before {
  content: "\f719";
}

.bi-chat-square-heart::before {
  content: "\f71a";
}

.bi-clipboard-check-fill::before {
  content: "\f71b";
}

.bi-clipboard-data-fill::before {
  content: "\f71c";
}

.bi-clipboard-fill::before {
  content: "\f71d";
}

.bi-clipboard-heart-fill::before {
  content: "\f71e";
}

.bi-clipboard-heart::before {
  content: "\f71f";
}

.bi-clipboard-minus-fill::before {
  content: "\f720";
}

.bi-clipboard-plus-fill::before {
  content: "\f721";
}

.bi-clipboard-pulse::before {
  content: "\f722";
}

.bi-clipboard-x-fill::before {
  content: "\f723";
}

.bi-clipboard2-check-fill::before {
  content: "\f724";
}

.bi-clipboard2-check::before {
  content: "\f725";
}

.bi-clipboard2-data-fill::before {
  content: "\f726";
}

.bi-clipboard2-data::before {
  content: "\f727";
}

.bi-clipboard2-fill::before {
  content: "\f728";
}

.bi-clipboard2-heart-fill::before {
  content: "\f729";
}

.bi-clipboard2-heart::before {
  content: "\f72a";
}

.bi-clipboard2-minus-fill::before {
  content: "\f72b";
}

.bi-clipboard2-minus::before {
  content: "\f72c";
}

.bi-clipboard2-plus-fill::before {
  content: "\f72d";
}

.bi-clipboard2-plus::before {
  content: "\f72e";
}

.bi-clipboard2-pulse-fill::before {
  content: "\f72f";
}

.bi-clipboard2-pulse::before {
  content: "\f730";
}

.bi-clipboard2-x-fill::before {
  content: "\f731";
}

.bi-clipboard2-x::before {
  content: "\f732";
}

.bi-clipboard2::before {
  content: "\f733";
}

.bi-emoji-kiss-fill::before {
  content: "\f734";
}

.bi-emoji-kiss::before {
  content: "\f735";
}

.bi-envelope-heart-fill::before {
  content: "\f736";
}

.bi-envelope-heart::before {
  content: "\f737";
}

.bi-envelope-open-heart-fill::before {
  content: "\f738";
}

.bi-envelope-open-heart::before {
  content: "\f739";
}

.bi-envelope-paper-fill::before {
  content: "\f73a";
}

.bi-envelope-paper-heart-fill::before {
  content: "\f73b";
}

.bi-envelope-paper-heart::before {
  content: "\f73c";
}

.bi-envelope-paper::before {
  content: "\f73d";
}

.bi-filetype-aac::before {
  content: "\f73e";
}

.bi-filetype-ai::before {
  content: "\f73f";
}

.bi-filetype-bmp::before {
  content: "\f740";
}

.bi-filetype-cs::before {
  content: "\f741";
}

.bi-filetype-css::before {
  content: "\f742";
}

.bi-filetype-csv::before {
  content: "\f743";
}

.bi-filetype-doc::before {
  content: "\f744";
}

.bi-filetype-docx::before {
  content: "\f745";
}

.bi-filetype-exe::before {
  content: "\f746";
}

.bi-filetype-gif::before {
  content: "\f747";
}

.bi-filetype-heic::before {
  content: "\f748";
}

.bi-filetype-html::before {
  content: "\f749";
}

.bi-filetype-java::before {
  content: "\f74a";
}

.bi-filetype-jpg::before {
  content: "\f74b";
}

.bi-filetype-js::before {
  content: "\f74c";
}

.bi-filetype-jsx::before {
  content: "\f74d";
}

.bi-filetype-key::before {
  content: "\f74e";
}

.bi-filetype-m4p::before {
  content: "\f74f";
}

.bi-filetype-md::before {
  content: "\f750";
}

.bi-filetype-mdx::before {
  content: "\f751";
}

.bi-filetype-mov::before {
  content: "\f752";
}

.bi-filetype-mp3::before {
  content: "\f753";
}

.bi-filetype-mp4::before {
  content: "\f754";
}

.bi-filetype-otf::before {
  content: "\f755";
}

.bi-filetype-pdf::before {
  content: "\f756";
}

.bi-filetype-php::before {
  content: "\f757";
}

.bi-filetype-png::before {
  content: "\f758";
}

.bi-filetype-ppt::before {
  content: "\f75a";
}

.bi-filetype-psd::before {
  content: "\f75b";
}

.bi-filetype-py::before {
  content: "\f75c";
}

.bi-filetype-raw::before {
  content: "\f75d";
}

.bi-filetype-rb::before {
  content: "\f75e";
}

.bi-filetype-sass::before {
  content: "\f75f";
}

.bi-filetype-scss::before {
  content: "\f760";
}

.bi-filetype-sh::before {
  content: "\f761";
}

.bi-filetype-svg::before {
  content: "\f762";
}

.bi-filetype-tiff::before {
  content: "\f763";
}

.bi-filetype-tsx::before {
  content: "\f764";
}

.bi-filetype-ttf::before {
  content: "\f765";
}

.bi-filetype-txt::before {
  content: "\f766";
}

.bi-filetype-wav::before {
  content: "\f767";
}

.bi-filetype-woff::before {
  content: "\f768";
}

.bi-filetype-xls::before {
  content: "\f76a";
}

.bi-filetype-xml::before {
  content: "\f76b";
}

.bi-filetype-yml::before {
  content: "\f76c";
}

.bi-heart-arrow::before {
  content: "\f76d";
}

.bi-heart-pulse-fill::before {
  content: "\f76e";
}

.bi-heart-pulse::before {
  content: "\f76f";
}

.bi-heartbreak-fill::before {
  content: "\f770";
}

.bi-heartbreak::before {
  content: "\f771";
}

.bi-hearts::before {
  content: "\f772";
}

.bi-hospital-fill::before {
  content: "\f773";
}

.bi-hospital::before {
  content: "\f774";
}

.bi-house-heart-fill::before {
  content: "\f775";
}

.bi-house-heart::before {
  content: "\f776";
}

.bi-incognito::before {
  content: "\f777";
}

.bi-magnet-fill::before {
  content: "\f778";
}

.bi-magnet::before {
  content: "\f779";
}

.bi-person-heart::before {
  content: "\f77a";
}

.bi-person-hearts::before {
  content: "\f77b";
}

.bi-phone-flip::before {
  content: "\f77c";
}

.bi-plugin::before {
  content: "\f77d";
}

.bi-postage-fill::before {
  content: "\f77e";
}

.bi-postage-heart-fill::before {
  content: "\f77f";
}

.bi-postage-heart::before {
  content: "\f780";
}

.bi-postage::before {
  content: "\f781";
}

.bi-postcard-fill::before {
  content: "\f782";
}

.bi-postcard-heart-fill::before {
  content: "\f783";
}

.bi-postcard-heart::before {
  content: "\f784";
}

.bi-postcard::before {
  content: "\f785";
}

.bi-search-heart-fill::before {
  content: "\f786";
}

.bi-search-heart::before {
  content: "\f787";
}

.bi-sliders2-vertical::before {
  content: "\f788";
}

.bi-sliders2::before {
  content: "\f789";
}

.bi-trash3-fill::before {
  content: "\f78a";
}

.bi-trash3::before {
  content: "\f78b";
}

.bi-valentine::before {
  content: "\f78c";
}

.bi-valentine2::before {
  content: "\f78d";
}

.bi-wrench-adjustable-circle-fill::before {
  content: "\f78e";
}

.bi-wrench-adjustable-circle::before {
  content: "\f78f";
}

.bi-wrench-adjustable::before {
  content: "\f790";
}

.bi-filetype-json::before {
  content: "\f791";
}

.bi-filetype-pptx::before {
  content: "\f792";
}

.bi-filetype-xlsx::before {
  content: "\f793";
}

.bi-1-circle-fill::before {
  content: "\f796";
}

.bi-1-circle::before {
  content: "\f797";
}

.bi-1-square-fill::before {
  content: "\f798";
}

.bi-1-square::before {
  content: "\f799";
}

.bi-2-circle-fill::before {
  content: "\f79c";
}

.bi-2-circle::before {
  content: "\f79d";
}

.bi-2-square-fill::before {
  content: "\f79e";
}

.bi-2-square::before {
  content: "\f79f";
}

.bi-3-circle-fill::before {
  content: "\f7a2";
}

.bi-3-circle::before {
  content: "\f7a3";
}

.bi-3-square-fill::before {
  content: "\f7a4";
}

.bi-3-square::before {
  content: "\f7a5";
}

.bi-4-circle-fill::before {
  content: "\f7a8";
}

.bi-4-circle::before {
  content: "\f7a9";
}

.bi-4-square-fill::before {
  content: "\f7aa";
}

.bi-4-square::before {
  content: "\f7ab";
}

.bi-5-circle-fill::before {
  content: "\f7ae";
}

.bi-5-circle::before {
  content: "\f7af";
}

.bi-5-square-fill::before {
  content: "\f7b0";
}

.bi-5-square::before {
  content: "\f7b1";
}

.bi-6-circle-fill::before {
  content: "\f7b4";
}

.bi-6-circle::before {
  content: "\f7b5";
}

.bi-6-square-fill::before {
  content: "\f7b6";
}

.bi-6-square::before {
  content: "\f7b7";
}

.bi-7-circle-fill::before {
  content: "\f7ba";
}

.bi-7-circle::before {
  content: "\f7bb";
}

.bi-7-square-fill::before {
  content: "\f7bc";
}

.bi-7-square::before {
  content: "\f7bd";
}

.bi-8-circle-fill::before {
  content: "\f7c0";
}

.bi-8-circle::before {
  content: "\f7c1";
}

.bi-8-square-fill::before {
  content: "\f7c2";
}

.bi-8-square::before {
  content: "\f7c3";
}

.bi-9-circle-fill::before {
  content: "\f7c6";
}

.bi-9-circle::before {
  content: "\f7c7";
}

.bi-9-square-fill::before {
  content: "\f7c8";
}

.bi-9-square::before {
  content: "\f7c9";
}

.bi-airplane-engines-fill::before {
  content: "\f7ca";
}

.bi-airplane-engines::before {
  content: "\f7cb";
}

.bi-airplane-fill::before {
  content: "\f7cc";
}

.bi-airplane::before {
  content: "\f7cd";
}

.bi-alexa::before {
  content: "\f7ce";
}

.bi-alipay::before {
  content: "\f7cf";
}

.bi-android::before {
  content: "\f7d0";
}

.bi-android2::before {
  content: "\f7d1";
}

.bi-box-fill::before {
  content: "\f7d2";
}

.bi-box-seam-fill::before {
  content: "\f7d3";
}

.bi-browser-chrome::before {
  content: "\f7d4";
}

.bi-browser-edge::before {
  content: "\f7d5";
}

.bi-browser-firefox::before {
  content: "\f7d6";
}

.bi-browser-safari::before {
  content: "\f7d7";
}

.bi-c-circle-fill::before {
  content: "\f7da";
}

.bi-c-circle::before {
  content: "\f7db";
}

.bi-c-square-fill::before {
  content: "\f7dc";
}

.bi-c-square::before {
  content: "\f7dd";
}

.bi-capsule-pill::before {
  content: "\f7de";
}

.bi-capsule::before {
  content: "\f7df";
}

.bi-car-front-fill::before {
  content: "\f7e0";
}

.bi-car-front::before {
  content: "\f7e1";
}

.bi-cassette-fill::before {
  content: "\f7e2";
}

.bi-cassette::before {
  content: "\f7e3";
}

.bi-cc-circle-fill::before {
  content: "\f7e6";
}

.bi-cc-circle::before {
  content: "\f7e7";
}

.bi-cc-square-fill::before {
  content: "\f7e8";
}

.bi-cc-square::before {
  content: "\f7e9";
}

.bi-cup-hot-fill::before {
  content: "\f7ea";
}

.bi-cup-hot::before {
  content: "\f7eb";
}

.bi-currency-rupee::before {
  content: "\f7ec";
}

.bi-dropbox::before {
  content: "\f7ed";
}

.bi-escape::before {
  content: "\f7ee";
}

.bi-fast-forward-btn-fill::before {
  content: "\f7ef";
}

.bi-fast-forward-btn::before {
  content: "\f7f0";
}

.bi-fast-forward-circle-fill::before {
  content: "\f7f1";
}

.bi-fast-forward-circle::before {
  content: "\f7f2";
}

.bi-fast-forward-fill::before {
  content: "\f7f3";
}

.bi-fast-forward::before {
  content: "\f7f4";
}

.bi-filetype-sql::before {
  content: "\f7f5";
}

.bi-fire::before {
  content: "\f7f6";
}

.bi-google-play::before {
  content: "\f7f7";
}

.bi-h-circle-fill::before {
  content: "\f7fa";
}

.bi-h-circle::before {
  content: "\f7fb";
}

.bi-h-square-fill::before {
  content: "\f7fc";
}

.bi-h-square::before {
  content: "\f7fd";
}

.bi-indent::before {
  content: "\f7fe";
}

.bi-lungs-fill::before {
  content: "\f7ff";
}

.bi-lungs::before {
  content: "\f800";
}

.bi-microsoft-teams::before {
  content: "\f801";
}

.bi-p-circle-fill::before {
  content: "\f804";
}

.bi-p-circle::before {
  content: "\f805";
}

.bi-p-square-fill::before {
  content: "\f806";
}

.bi-p-square::before {
  content: "\f807";
}

.bi-pass-fill::before {
  content: "\f808";
}

.bi-pass::before {
  content: "\f809";
}

.bi-prescription::before {
  content: "\f80a";
}

.bi-prescription2::before {
  content: "\f80b";
}

.bi-r-circle-fill::before {
  content: "\f80e";
}

.bi-r-circle::before {
  content: "\f80f";
}

.bi-r-square-fill::before {
  content: "\f810";
}

.bi-r-square::before {
  content: "\f811";
}

.bi-repeat-1::before {
  content: "\f812";
}

.bi-repeat::before {
  content: "\f813";
}

.bi-rewind-btn-fill::before {
  content: "\f814";
}

.bi-rewind-btn::before {
  content: "\f815";
}

.bi-rewind-circle-fill::before {
  content: "\f816";
}

.bi-rewind-circle::before {
  content: "\f817";
}

.bi-rewind-fill::before {
  content: "\f818";
}

.bi-rewind::before {
  content: "\f819";
}

.bi-train-freight-front-fill::before {
  content: "\f81a";
}

.bi-train-freight-front::before {
  content: "\f81b";
}

.bi-train-front-fill::before {
  content: "\f81c";
}

.bi-train-front::before {
  content: "\f81d";
}

.bi-train-lightrail-front-fill::before {
  content: "\f81e";
}

.bi-train-lightrail-front::before {
  content: "\f81f";
}

.bi-truck-front-fill::before {
  content: "\f820";
}

.bi-truck-front::before {
  content: "\f821";
}

.bi-ubuntu::before {
  content: "\f822";
}

.bi-unindent::before {
  content: "\f823";
}

.bi-unity::before {
  content: "\f824";
}

.bi-universal-access-circle::before {
  content: "\f825";
}

.bi-universal-access::before {
  content: "\f826";
}

.bi-virus::before {
  content: "\f827";
}

.bi-virus2::before {
  content: "\f828";
}

.bi-wechat::before {
  content: "\f829";
}

.bi-yelp::before {
  content: "\f82a";
}

.bi-sign-stop-fill::before {
  content: "\f82b";
}

.bi-sign-stop-lights-fill::before {
  content: "\f82c";
}

.bi-sign-stop-lights::before {
  content: "\f82d";
}

.bi-sign-stop::before {
  content: "\f82e";
}

.bi-sign-turn-left-fill::before {
  content: "\f82f";
}

.bi-sign-turn-left::before {
  content: "\f830";
}

.bi-sign-turn-right-fill::before {
  content: "\f831";
}

.bi-sign-turn-right::before {
  content: "\f832";
}

.bi-sign-turn-slight-left-fill::before {
  content: "\f833";
}

.bi-sign-turn-slight-left::before {
  content: "\f834";
}

.bi-sign-turn-slight-right-fill::before {
  content: "\f835";
}

.bi-sign-turn-slight-right::before {
  content: "\f836";
}

.bi-sign-yield-fill::before {
  content: "\f837";
}

.bi-sign-yield::before {
  content: "\f838";
}

.bi-ev-station-fill::before {
  content: "\f839";
}

.bi-ev-station::before {
  content: "\f83a";
}

.bi-fuel-pump-diesel-fill::before {
  content: "\f83b";
}

.bi-fuel-pump-diesel::before {
  content: "\f83c";
}

.bi-fuel-pump-fill::before {
  content: "\f83d";
}

.bi-fuel-pump::before {
  content: "\f83e";
}

.bi-0-circle-fill::before {
  content: "\f83f";
}

.bi-0-circle::before {
  content: "\f840";
}

.bi-0-square-fill::before {
  content: "\f841";
}

.bi-0-square::before {
  content: "\f842";
}

.bi-rocket-fill::before {
  content: "\f843";
}

.bi-rocket-takeoff-fill::before {
  content: "\f844";
}

.bi-rocket-takeoff::before {
  content: "\f845";
}

.bi-rocket::before {
  content: "\f846";
}

.bi-stripe::before {
  content: "\f847";
}

.bi-subscript::before {
  content: "\f848";
}

.bi-superscript::before {
  content: "\f849";
}

.bi-trello::before {
  content: "\f84a";
}

.bi-envelope-at-fill::before {
  content: "\f84b";
}

.bi-envelope-at::before {
  content: "\f84c";
}

.bi-regex::before {
  content: "\f84d";
}

.bi-text-wrap::before {
  content: "\f84e";
}

.bi-sign-dead-end-fill::before {
  content: "\f84f";
}

.bi-sign-dead-end::before {
  content: "\f850";
}

.bi-sign-do-not-enter-fill::before {
  content: "\f851";
}

.bi-sign-do-not-enter::before {
  content: "\f852";
}

.bi-sign-intersection-fill::before {
  content: "\f853";
}

.bi-sign-intersection-side-fill::before {
  content: "\f854";
}

.bi-sign-intersection-side::before {
  content: "\f855";
}

.bi-sign-intersection-t-fill::before {
  content: "\f856";
}

.bi-sign-intersection-t::before {
  content: "\f857";
}

.bi-sign-intersection-y-fill::before {
  content: "\f858";
}

.bi-sign-intersection-y::before {
  content: "\f859";
}

.bi-sign-intersection::before {
  content: "\f85a";
}

.bi-sign-merge-left-fill::before {
  content: "\f85b";
}

.bi-sign-merge-left::before {
  content: "\f85c";
}

.bi-sign-merge-right-fill::before {
  content: "\f85d";
}

.bi-sign-merge-right::before {
  content: "\f85e";
}

.bi-sign-no-left-turn-fill::before {
  content: "\f85f";
}

.bi-sign-no-left-turn::before {
  content: "\f860";
}

.bi-sign-no-parking-fill::before {
  content: "\f861";
}

.bi-sign-no-parking::before {
  content: "\f862";
}

.bi-sign-no-right-turn-fill::before {
  content: "\f863";
}

.bi-sign-no-right-turn::before {
  content: "\f864";
}

.bi-sign-railroad-fill::before {
  content: "\f865";
}

.bi-sign-railroad::before {
  content: "\f866";
}

.bi-building-add::before {
  content: "\f867";
}

.bi-building-check::before {
  content: "\f868";
}

.bi-building-dash::before {
  content: "\f869";
}

.bi-building-down::before {
  content: "\f86a";
}

.bi-building-exclamation::before {
  content: "\f86b";
}

.bi-building-fill-add::before {
  content: "\f86c";
}

.bi-building-fill-check::before {
  content: "\f86d";
}

.bi-building-fill-dash::before {
  content: "\f86e";
}

.bi-building-fill-down::before {
  content: "\f86f";
}

.bi-building-fill-exclamation::before {
  content: "\f870";
}

.bi-building-fill-gear::before {
  content: "\f871";
}

.bi-building-fill-lock::before {
  content: "\f872";
}

.bi-building-fill-slash::before {
  content: "\f873";
}

.bi-building-fill-up::before {
  content: "\f874";
}

.bi-building-fill-x::before {
  content: "\f875";
}

.bi-building-fill::before {
  content: "\f876";
}

.bi-building-gear::before {
  content: "\f877";
}

.bi-building-lock::before {
  content: "\f878";
}

.bi-building-slash::before {
  content: "\f879";
}

.bi-building-up::before {
  content: "\f87a";
}

.bi-building-x::before {
  content: "\f87b";
}

.bi-buildings-fill::before {
  content: "\f87c";
}

.bi-buildings::before {
  content: "\f87d";
}

.bi-bus-front-fill::before {
  content: "\f87e";
}

.bi-bus-front::before {
  content: "\f87f";
}

.bi-ev-front-fill::before {
  content: "\f880";
}

.bi-ev-front::before {
  content: "\f881";
}

.bi-globe-americas::before {
  content: "\f882";
}

.bi-globe-asia-australia::before {
  content: "\f883";
}

.bi-globe-central-south-asia::before {
  content: "\f884";
}

.bi-globe-europe-africa::before {
  content: "\f885";
}

.bi-house-add-fill::before {
  content: "\f886";
}

.bi-house-add::before {
  content: "\f887";
}

.bi-house-check-fill::before {
  content: "\f888";
}

.bi-house-check::before {
  content: "\f889";
}

.bi-house-dash-fill::before {
  content: "\f88a";
}

.bi-house-dash::before {
  content: "\f88b";
}

.bi-house-down-fill::before {
  content: "\f88c";
}

.bi-house-down::before {
  content: "\f88d";
}

.bi-house-exclamation-fill::before {
  content: "\f88e";
}

.bi-house-exclamation::before {
  content: "\f88f";
}

.bi-house-gear-fill::before {
  content: "\f890";
}

.bi-house-gear::before {
  content: "\f891";
}

.bi-house-lock-fill::before {
  content: "\f892";
}

.bi-house-lock::before {
  content: "\f893";
}

.bi-house-slash-fill::before {
  content: "\f894";
}

.bi-house-slash::before {
  content: "\f895";
}

.bi-house-up-fill::before {
  content: "\f896";
}

.bi-house-up::before {
  content: "\f897";
}

.bi-house-x-fill::before {
  content: "\f898";
}

.bi-house-x::before {
  content: "\f899";
}

.bi-person-add::before {
  content: "\f89a";
}

.bi-person-down::before {
  content: "\f89b";
}

.bi-person-exclamation::before {
  content: "\f89c";
}

.bi-person-fill-add::before {
  content: "\f89d";
}

.bi-person-fill-check::before {
  content: "\f89e";
}

.bi-person-fill-dash::before {
  content: "\f89f";
}

.bi-person-fill-down::before {
  content: "\f8a0";
}

.bi-person-fill-exclamation::before {
  content: "\f8a1";
}

.bi-person-fill-gear::before {
  content: "\f8a2";
}

.bi-person-fill-lock::before {
  content: "\f8a3";
}

.bi-person-fill-slash::before {
  content: "\f8a4";
}

.bi-person-fill-up::before {
  content: "\f8a5";
}

.bi-person-fill-x::before {
  content: "\f8a6";
}

.bi-person-gear::before {
  content: "\f8a7";
}

.bi-person-lock::before {
  content: "\f8a8";
}

.bi-person-slash::before {
  content: "\f8a9";
}

.bi-person-up::before {
  content: "\f8aa";
}

.bi-scooter::before {
  content: "\f8ab";
}

.bi-taxi-front-fill::before {
  content: "\f8ac";
}

.bi-taxi-front::before {
  content: "\f8ad";
}

.bi-amd::before {
  content: "\f8ae";
}

.bi-database-add::before {
  content: "\f8af";
}

.bi-database-check::before {
  content: "\f8b0";
}

.bi-database-dash::before {
  content: "\f8b1";
}

.bi-database-down::before {
  content: "\f8b2";
}

.bi-database-exclamation::before {
  content: "\f8b3";
}

.bi-database-fill-add::before {
  content: "\f8b4";
}

.bi-database-fill-check::before {
  content: "\f8b5";
}

.bi-database-fill-dash::before {
  content: "\f8b6";
}

.bi-database-fill-down::before {
  content: "\f8b7";
}

.bi-database-fill-exclamation::before {
  content: "\f8b8";
}

.bi-database-fill-gear::before {
  content: "\f8b9";
}

.bi-database-fill-lock::before {
  content: "\f8ba";
}

.bi-database-fill-slash::before {
  content: "\f8bb";
}

.bi-database-fill-up::before {
  content: "\f8bc";
}

.bi-database-fill-x::before {
  content: "\f8bd";
}

.bi-database-fill::before {
  content: "\f8be";
}

.bi-database-gear::before {
  content: "\f8bf";
}

.bi-database-lock::before {
  content: "\f8c0";
}

.bi-database-slash::before {
  content: "\f8c1";
}

.bi-database-up::before {
  content: "\f8c2";
}

.bi-database-x::before {
  content: "\f8c3";
}

.bi-database::before {
  content: "\f8c4";
}

.bi-houses-fill::before {
  content: "\f8c5";
}

.bi-houses::before {
  content: "\f8c6";
}

.bi-nvidia::before {
  content: "\f8c7";
}

.bi-person-vcard-fill::before {
  content: "\f8c8";
}

.bi-person-vcard::before {
  content: "\f8c9";
}

.bi-sina-weibo::before {
  content: "\f8ca";
}

.bi-tencent-qq::before {
  content: "\f8cb";
}

.bi-wikipedia::before {
  content: "\f8cc";
}

.bi-alphabet-uppercase::before {
  content: "\f2a5";
}

.bi-alphabet::before {
  content: "\f68a";
}

.bi-amazon::before {
  content: "\f68d";
}

.bi-arrows-collapse-vertical::before {
  content: "\f690";
}

.bi-arrows-expand-vertical::before {
  content: "\f695";
}

.bi-arrows-vertical::before {
  content: "\f698";
}

.bi-arrows::before {
  content: "\f6a2";
}

.bi-ban-fill::before {
  content: "\f6a3";
}

.bi-ban::before {
  content: "\f6b6";
}

.bi-bing::before {
  content: "\f6c2";
}

.bi-cake::before {
  content: "\f6e0";
}

.bi-cake2::before {
  content: "\f6ed";
}

.bi-cookie::before {
  content: "\f6ee";
}

.bi-copy::before {
  content: "\f759";
}

.bi-crosshair::before {
  content: "\f769";
}

.bi-crosshair2::before {
  content: "\f794";
}

.bi-emoji-astonished-fill::before {
  content: "\f795";
}

.bi-emoji-astonished::before {
  content: "\f79a";
}

.bi-emoji-grimace-fill::before {
  content: "\f79b";
}

.bi-emoji-grimace::before {
  content: "\f7a0";
}

.bi-emoji-grin-fill::before {
  content: "\f7a1";
}

.bi-emoji-grin::before {
  content: "\f7a6";
}

.bi-emoji-surprise-fill::before {
  content: "\f7a7";
}

.bi-emoji-surprise::before {
  content: "\f7ac";
}

.bi-emoji-tear-fill::before {
  content: "\f7ad";
}

.bi-emoji-tear::before {
  content: "\f7b2";
}

.bi-envelope-arrow-down-fill::before {
  content: "\f7b3";
}

.bi-envelope-arrow-down::before {
  content: "\f7b8";
}

.bi-envelope-arrow-up-fill::before {
  content: "\f7b9";
}

.bi-envelope-arrow-up::before {
  content: "\f7be";
}

.bi-feather::before {
  content: "\f7bf";
}

.bi-feather2::before {
  content: "\f7c4";
}

.bi-floppy-fill::before {
  content: "\f7c5";
}

.bi-floppy::before {
  content: "\f7d8";
}

.bi-floppy2-fill::before {
  content: "\f7d9";
}

.bi-floppy2::before {
  content: "\f7e4";
}

.bi-gitlab::before {
  content: "\f7e5";
}

.bi-highlighter::before {
  content: "\f7f8";
}

.bi-marker-tip::before {
  content: "\f802";
}

.bi-nvme-fill::before {
  content: "\f803";
}

.bi-nvme::before {
  content: "\f80c";
}

.bi-opencollective::before {
  content: "\f80d";
}

.bi-pci-card-network::before {
  content: "\f8cd";
}

.bi-pci-card-sound::before {
  content: "\f8ce";
}

.bi-radar::before {
  content: "\f8cf";
}

.bi-send-arrow-down-fill::before {
  content: "\f8d0";
}

.bi-send-arrow-down::before {
  content: "\f8d1";
}

.bi-send-arrow-up-fill::before {
  content: "\f8d2";
}

.bi-send-arrow-up::before {
  content: "\f8d3";
}

.bi-sim-slash-fill::before {
  content: "\f8d4";
}

.bi-sim-slash::before {
  content: "\f8d5";
}

.bi-sourceforge::before {
  content: "\f8d6";
}

.bi-substack::before {
  content: "\f8d7";
}

.bi-threads-fill::before {
  content: "\f8d8";
}

.bi-threads::before {
  content: "\f8d9";
}

.bi-transparency::before {
  content: "\f8da";
}

.bi-twitter-x::before {
  content: "\f8db";
}

.bi-type-h4::before {
  content: "\f8dc";
}

.bi-type-h5::before {
  content: "\f8dd";
}

.bi-type-h6::before {
  content: "\f8de";
}

.bi-backpack-fill::before {
  content: "\f8df";
}

.bi-backpack::before {
  content: "\f8e0";
}

.bi-backpack2-fill::before {
  content: "\f8e1";
}

.bi-backpack2::before {
  content: "\f8e2";
}

.bi-backpack3-fill::before {
  content: "\f8e3";
}

.bi-backpack3::before {
  content: "\f8e4";
}

.bi-backpack4-fill::before {
  content: "\f8e5";
}

.bi-backpack4::before {
  content: "\f8e6";
}

.bi-brilliance::before {
  content: "\f8e7";
}

.bi-cake-fill::before {
  content: "\f8e8";
}

.bi-cake2-fill::before {
  content: "\f8e9";
}

.bi-duffle-fill::before {
  content: "\f8ea";
}

.bi-duffle::before {
  content: "\f8eb";
}

.bi-exposure::before {
  content: "\f8ec";
}

.bi-gender-neuter::before {
  content: "\f8ed";
}

.bi-highlights::before {
  content: "\f8ee";
}

.bi-luggage-fill::before {
  content: "\f8ef";
}

.bi-luggage::before {
  content: "\f8f0";
}

.bi-mailbox-flag::before {
  content: "\f8f1";
}

.bi-mailbox2-flag::before {
  content: "\f8f2";
}

.bi-noise-reduction::before {
  content: "\f8f3";
}

.bi-passport-fill::before {
  content: "\f8f4";
}

.bi-passport::before {
  content: "\f8f5";
}

.bi-person-arms-up::before {
  content: "\f8f6";
}

.bi-person-raised-hand::before {
  content: "\f8f7";
}

.bi-person-standing-dress::before {
  content: "\f8f8";
}

.bi-person-standing::before {
  content: "\f8f9";
}

.bi-person-walking::before {
  content: "\f8fa";
}

.bi-person-wheelchair::before {
  content: "\f8fb";
}

.bi-shadows::before {
  content: "\f8fc";
}

.bi-suitcase-fill::before {
  content: "\f8fd";
}

.bi-suitcase-lg-fill::before {
  content: "\f8fe";
}

.bi-suitcase-lg::before {
  content: "\f8ff";
}

.bi-suitcase::before {
  content: "豈";
}

.bi-suitcase2-fill::before {
  content: "更";
}

.bi-suitcase2::before {
  content: "車";
}

.bi-vignette::before {
  content: "賈";
}

@font-face {
  font-family: Lato;
  src: url("/assets/Lato-Black-BGKY3P7n.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: Lato;
  src: url("/assets/Lato-BlackItalic-Bn3AYdVg.ttf") format("truetype");
  font-weight: 900;
  font-style: italic;
}
@font-face {
  font-family: Lato;
  src: url("/assets/Lato-Bold-B5iD31kO.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: Lato;
  src: url("/assets/Lato-BoldItalic-CT6m3OwA.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
}
@font-face {
  font-family: Lato;
  src: url("/assets/Lato-Regular-BwLIet1C.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: Lato;
  src: url("/assets/Lato-Italic-DOTKc3_v.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: Lato;
  src: url("/assets/Lato-Light-hJCcuSzX.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: Lato;
  src: url("/assets/Lato-LightItalic-DInKUxwu.ttf") format("truetype");
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: Lato;
  src: url("/assets/Lato-Thin-BBFgnKgu.ttf") format("truetype");
  font-weight: 100;
  font-style: normal;
}
@font-face {
  font-family: Lato;
  src: url("/assets/Lato-ThinItalic-BKQInFEV.ttf") format("truetype");
  font-weight: 100;
  font-style: italic;
}
/* arabic */
@font-face {
  font-family: "Vazirmatn";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/Vazirmatn-VF-arabic-Cafbb7Zc.woff2") format("woff2");
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
/* latin-ext */
@font-face {
  font-family: "Vazirmatn";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/Vazirmatn-VF-latin-ext-tDTa1Fj6.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Vazirmatn";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/Vazirmatn-VF-latin-BFexNX-K.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* @use 'colors'; */
html {
  scroll-behavior: smooth;
}

:root {
  --fw-track-progress: 0;
}

@media screen and (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
input[type=search]::-webkit-search-cancel-button {
  -webkit-appearance: none;
          appearance: none;
}

.two-images {
  margin-right: 1em;
  position: relative;
  width: 3.5em;
  height: 3.5em;
}
.two-images.large {
  width: 15em;
  height: 15em;
}
.two-images.large img {
  width: 11em;
}
.two-images img {
  width: 2.5em;
  position: absolute;
}
.two-images img:last-child {
  bottom: 0;
  left: 0;
}
.two-images img:first-child {
  top: 0;
  right: 0;
}

.channel-entry-card, .channel-serie-card {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
}
.channel-entry-card .controls, .channel-serie-card .controls {
  margin-right: 1em;
}
.channel-entry-card .image, .channel-serie-card .image {
  width: 3em;
  height: 3em;
  margin-right: 1em;
  line-height: 3em;
  text-align: center;
  font-weight: bold;
}
.channel-entry-card .two-images, .channel-serie-card .two-images {
  margin-right: 1em;
  position: relative;
  width: 3.5em;
  height: 3.5em;
}
.channel-entry-card .two-images.large, .channel-serie-card .two-images.large {
  width: 15em;
  height: 15em;
}
.channel-entry-card .two-images.large img, .channel-serie-card .two-images.large img {
  width: 11em;
}
.channel-entry-card .two-images img, .channel-serie-card .two-images img {
  width: 2.5em;
  position: absolute;
}
.channel-entry-card .two-images img:last-child, .channel-serie-card .two-images img:last-child {
  bottom: 0;
  left: 0;
}
.channel-entry-card .two-images img:first-child, .channel-serie-card .two-images img:first-child {
  top: 0;
  right: 0;
}
.channel-entry-card .content, .channel-serie-card .content {
  flex-grow: 1;
}

.album-entries > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.album-entries .content {
  flex-grow: 1;
}

.ui.artist-label .icon {
  width: 2em;
}
.ui.artist-label.rounded {
  border-radius: 5em;
  padding: 0.2em 0.75em 0.2em 0.2em;
  line-height: 2em;
}
.ui.artist-label.rounded img {
  border-radius: 50%;
  vertical-align: middle;
}

.album-entry:hover {
  cursor: pointer;
}
.album-entry:hover .ui.inverted.vibrant.button {
  background-color: var(--vibrant-hover-color);
  color: white;
  box-shadow: 0 0 0 2px var(--vibrant-color) inset;
}

.album-entry, .channel-entry-card {
  border-radius: 5px;
  padding: 0.5em;
}
.album-entry .meta, .channel-entry-card .meta {
  text-align: right;
  min-width: 7em;
}
.album-entry > div, .channel-entry-card > div {
  padding: 0.25em;
}
.album-entry > div:not(:last-child), .channel-entry-card > div:not(:last-child) {
  margin-right: 0.25em;
}
.album-entry.active, .channel-entry-card.active {
  background: rgba(155, 155, 155, 0.2);
}
.album-entry:hover, .channel-entry-card:hover {
  background: rgba(155, 155, 155, 0.1);
}
.album-entry .favorite-icon.tiny.button, .channel-entry-card .favorite-icon.tiny.button {
  border: none !important;
  padding: 0 !important;
  margin: 0 0.5em;
}

.channel-image {
  width: 200px;
  height: 200px;
}
.channel-image.large {
  width: 8em !important;
}

.channel-type.field .radio {
  display: block;
  padding: 1.5em;
}
.channel-type.field .radio.selected {
  /* Satisfy both vitepress (docs) and funkwhale (front) convention */
  /* Also note the strong (triple) force which satisfies the CSS gods very much (enough) */
}
:is(body.theme-light, html:not(.dark) > body:not(.theme-dark)) .channel-type.field .radio.selected, .force-light-theme.force-light-theme.force-light-theme .channel-type.field .radio.selected {
  background-color: rgba(0, 0, 0, 0.05);
}

.channel-type.field .radio.selected {
  /* Satisfy both vitepress (docs) and funkwhale (front) convention */
  /* Also note the strong (triple) force which satisfies the CSS gods very much (enough) */
}
:is(body.theme-dark, html.dark > body:not(.theme-light)) .channel-type.field .radio.selected, .force-dark-theme.force-dark-theme.force-dark-theme .channel-type.field .radio.selected {
  background-color: rgba(255, 255, 255, 0.05);
}

.main.with-background, .opaque {
  background: var(--background-color);
}

.main.pusher > .ui.secondary.menu {
  box-shadow: var(--secondary-menu-box-shadow);
  background: var(--secondary-menu-background);
}
.main.pusher > .ui.secondary.menu .ui.item.active {
  box-shadow: var(--secondary-menu-active-item-box-shadow);
}

.when-queue-focused .group {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1.1em;
}
.when-queue-focused .group > * {
  margin-left: 0.5em;
}
@media (max-width: 1023px) {
  .when-queue-focused {
    width: 100%;
    justify-content: space-between !important;
  }
}

@media (max-width: 1023px) {
  #app > :not(.queue-focused) .when-queue-focused {
    display: none;
  }
}

#app > div {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: flex;
  flex-direction: column;
}
#app > div.has-bottom-player {
  padding-bottom: 4rem;
}

#footer {
  border-bottom: none;
  border-top: 1px solid rgba(34, 36, 38, 0.15);
}

#app > div > main, #app > .main {
  flex: 1;
}

#app > div > .main.pusher,
#app > div > .footer {
  position: relative;
}
@media (min-width: 1025px) {
  #app > div > .main.pusher,
  #app > div > .footer {
    margin-left: 275px !important;
  }
}
@media (min-width: 1201px) {
  #app > div > .main.pusher,
  #app > div > .footer {
    margin-left: 275px !important;
  }
}
#app > div > .main.pusher,
#app > div > .footer {
  transform: none !important;
}

.ui.small.text.container {
  max-width: 500px !important;
}

.column .ui.text.container {
  max-width: 100% !important;
}

.main.pusher.hidden {
  display: none;
}

.main.pusher > .ui.secondary.menu {
  margin-left: 0;
  margin-right: 0;
  border: none;
  overflow-y: auto;
}
.main.pusher > .ui.secondary.menu .ui.item {
  border: none;
  border-bottom-style: none;
  margin-bottom: 0px;
}
@media (min-width: 769px) {
  .main.pusher > .ui.secondary.menu {
    padding: 0 2.5rem;
  }
}
.main.pusher > .ui.secondary.menu .item {
  padding-top: 1.5em;
  padding-bottom: 1.5em;
}

.ui.stripe.segment,
#footer {
  padding: 1em;
}
.ui.stripe.segment.ui.container,
#footer.ui.container {
  margin: 0;
}
@media (min-width: 769px) {
  .ui.stripe.segment,
  #footer {
    padding: 2em;
  }
}
@media (min-width: 1201px) {
  .ui.stripe.segment,
  #footer {
    padding: 3em;
  }
}

.stripe.segment > .secondary.menu:last-child {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  border-bottom: none;
}

.ui.small.divider {
  margin: 0.5rem 0;
}

.ui.very.small.divider {
  margin: 0.25rem 0;
}

.ui.horizontal.divider {
  display: inline-block;
  margin: 0 0.5em;
}

@media (max-width: 1023px) {
  .dimmed .ui.bottom-player {
    z-index: 0;
  }
}

@media (max-width: 1023px) {
  #app > .queue-focused .queue-not-focused {
    display: none;
  }
}

.ui.vertical.segment {
  color: var(--main-color);
  background: var(--main-background);
}

.ui.segment:not(.basic):not(.vertical) {
  color: var(--segment-color);
  background: var(--segment-background);
}

.segment .ui.list .item {
  background-color: transparent;
}

.visually-hidden {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.visually-hidden:focus {
  clip: auto;
  height: auto;
  overflow: auto;
  position: absolute;
  width: auto;
}

.center.aligned.menu {
  justify-content: center;
}

.text.center.aligned {
  text-align: center;
}

.ellipsis:not(.icon) {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.link {
  cursor: pointer;
}

.ui.icon.header .circular.icon {
  display: flex;
  justify-content: center;
}

a {
  cursor: pointer;
}

.segment.hidden {
  display: none;
}

.hidden:not(.divider) {
  display: none !important;
}

.nomargin {
  margin: 0 !important;
}

.text.align.left {
  text-align: left;
}

.left.floated {
  float: left;
}

.right.floated {
  float: right;
}

@media (max-width: 1023px) {
  .desktop-and-up {
    display: none !important;
  }
}

@media (min-width: 1024px) {
  .desktop-and-below {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .tablet-and-up {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .tablet-and-below {
    display: none !important;
  }
}

@media (min-width: 769px) {
  .mobile-only {
    display: none !important;
  }
}

.expandable:not(.expanded) {
  overflow: hidden;
  max-height: 15vh;
}

.ui.list .list.icon {
  padding-left: 0;
}

.ui.dropdown .item[disabled] {
  display: none;
}

span.diff.added {
  background-color: rgba(0, 255, 0, 0.25);
}

span.diff.removed {
  background-color: rgba(255, 0, 0, 0.25);
}

.default-cover {
  background-image: url("/assets/default-cover-R_6x7k-h.png") !important;
}

.discrete {
  color: var(--discrete-text-color);
}

.really.discrete {
  color: var(--really-discrete-text-color);
}

.ui.inverted.dimmer {
  background-color: var(--dimmer-background);
}
.ui.inverted.dimmer > .ui.dimmer {
  color: var(--dimmer-color);
}

.symbol.left::after {
  padding-right: 0.25em;
}
.symbol.right::after {
  padding-left: 0.25em;
}
.symbol.middle::after {
  padding: 0 0.25em;
}
.symbol.at::after {
  content: "@";
}
.symbol.slash::after {
  content: "/";
}
.symbol.pipe::after {
  content: "|";
}
.symbol.middledot::after {
  content: "·";
}
.symbol.infinity::after {
  content: "∞";
}
.symbol.single::after {
  content: "1";
}
.symbol.hashtag::after {
  content: "#";
}
.symbol.ellipses::after {
  content: "…";
}
.symbol.doubledot::after {
  content: "..";
}
.symbol.hyphen::after {
  content: "-";
}
.symbol.colon::after {
  content: ":";
}
.symbol.percent::after {
  content: "%";
}

.component-action-table .count.field {
  font-weight: normal;
}
.component-action-table .ui.form .inline.fields {
  margin: 0;
}

.component-album-card.card.app-card > .head-image > .icon {
  margin: 0.5em;
}

#avatarLabel {
  display: block;
  margin: 0 0 0.28571429rem 0;
  color: var(--form-label-color);
  font-size: 0.92857143em;
  font-weight: bold;
  text-transform: none;
}

.ui.tiny.avatar {
  width: 28px;
  height: 28px;
  display: block;
  float: left;
  text-align: center;
  font-size: 1em !important;
  border-radius: 50%;
}
.ui.tiny.avatar.label {
  align-content: center;
  padding: 4px 8px;
}

#radioFilterLabel {
  display: block;
  margin-top: 0.7rem;
  margin-bottom: 0.7rem;
}

#addFilter {
  margin: 0 0 0 0.85714286em;
}

:not(.active) button.title {
  outline-color: white;
}

/* button, *[role="button"] {
  * {
    cursor: pointer;
  }
}*/
.reset.button {
  margin-top: 0.5em;
}

button.reset {
  border: none;
  margin: 0;
  padding: 0;
  width: auto;
  overflow: visible;
  background: transparent;
  /* inherit font & color from ancestor */
  color: inherit;
  font: inherit;
  /* Normalize `line-height`. Cannot be changed from `normal` in Firefox 4+. */
  line-height: normal;
  /* Corrects font smoothing for webkit */
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  /* Corrects inability to style clickable `input` types in iOS */
  -webkit-appearance: none;
  text-align: inherit;
}

.button.icon.tiny {
  padding: 0.5em !important;
}

.floated.buttons .button ~ .dropdown {
  border-left: none;
}

.header-buttons > .buttons {
  display: inline-block;
  padding: 0.2em;
  margin: 0;
  font-size: 1em;
}
.header-buttons > .buttons .buttons {
  margin: 0;
}

.ui.really.basic.button:not(:focus) {
  box-shadow: none !important;
  background-color: none !important;
}

/* [role="button"] {
  cursor: pointer;
} */
.button-group > *:not(:first-child) {
  margin-left: 0.5em;
}

.ui.borderless.button {
  border: none !important;
  box-shadow: none !important;
  padding-left: 0;
  padding-right: 0;
}

.ui.dropdown .menu > .item {
  background: var(--dropdown-background);
}

.ui.circular.button {
  padding: 0.78571429em;
}
.ui.circular.button > i {
  margin-right: 0;
}

.icon.button > i {
  margin-right: 0;
}

.ui.inverted.buttons .button:hover,
.ui.inverted.button:hover,
.ui.inverted.buttons .button:focus,
.ui.inverted.button:focus {
  color: white;
}

.ui.button:disabled, .ui.buttons .disabled.button:not(.basic), .ui.disabled.active.button, .ui.disabled.button, .ui.disabled.button:hover {
  cursor: default;
  opacity: 0.45 !important;
  background-image: none;
  box-shadow: none;
  pointer-events: none !important;
}

.card {
  /* Satisfy both vitepress (docs) and funkwhale (front) convention */
  /* Also note the strong (triple) force which satisfies the CSS gods very much (enough) */
}
:is(body.theme-dark, html.dark > body:not(.theme-light)) .card, .force-dark-theme.force-dark-theme.force-dark-theme .card {
  border-color: var(--hover-background-color) !important;
}

.content-form {
  background: var(--input-background);
}
.content-form .segment {
  background: none;
}
.content-form .segment:first-child {
  min-height: 15em;
  display: grid;
  grid-template-rows: auto 1fr auto;
}
.content-form .segment:first-child textarea {
  height: 100%;
  resize: none;
  overflow-y: hidden;
  max-height: none;
}
.content-form .ui.secondary.menu {
  background: none;
  margin-top: -0.5em;
}
.content-form .input {
  width: 100%;
}

.component-copy-input .message {
  position: absolute;
  right: 0;
  bottom: -3em;
  padding: 0.3em;
  box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3);
  background-color: white;
  z-index: 999;
}

.component-empty-state .ui.header .content {
  text-align: center;
  display: block;
}

.favorite-icon.favorited {
  animation: 0.5s linear burst;
  outline-color: transparent;
}
@keyframes burst {
  0%, 10% {
    transform: scale(1);
    opacity: 0.5;
    color: lavender;
    box-shadow: none;
  }
  45% {
    transform: scale(0.2) rotate(30deg);
    opacity: 0.75;
    box-shadow: none;
  }
  50% {
    transform: scale(2) rotate(-37.5deg);
    opacity: 1;
    color: #E03997;
    text-shadow: 2px 2px 6px rgba(235, 9, 9, 0.5);
    box-shadow: none;
  }
  90%, 95% {
    transform: scale(1) rotate(10deg);
    text-shadow: none;
  }
  100% {
    transform: rotate(-2.5deg);
  }
}

.ui.basic.button.really.favorite-icon {
  box-shadow: none;
}

.ui.form select.dropdown {
  display: block;
  height: 48px;
  margin-top: 7px;
  border-radius: var(--fw-border-radius);
  font-size: 14px;
  font-family: var(--font-family);
  line-height: 28px;
  border: 12px solid transparent;
  padding: 0px 12px;
  color: var(--input-color);
  transition: color 0.1s ease, border-color 0.1s ease;
  /* Satisfy both vitepress (docs) and funkwhale (front) convention */
  /* Also note the strong (triple) force which satisfies the CSS gods very much (enough) */
}
:is(body.theme-light, html:not(.dark) > body:not(.theme-dark)) .ui.form select.dropdown, .force-light-theme.force-light-theme.force-light-theme .ui.form select.dropdown {
  color: var(--fw-gray-800);
  background-color: var(--fw-gray-200);
  border-color: transparent;
}

.ui.form select.dropdown {
  /* Satisfy both vitepress (docs) and funkwhale (front) convention */
  /* Also note the strong (triple) force which satisfies the CSS gods very much (enough) */
}
:is(body.theme-dark, html.dark > body:not(.theme-light)) .ui.form select.dropdown, .force-dark-theme.force-dark-theme.force-dark-theme .ui.form select.dropdown {
  color: var(--fw-gray-300);
  background-color: var(--fw-gray-850);
  border-color: var(--fw-gray-850);
}

.ui.form label {
  font-size: 14px;
  font-weight: 600;
  align-self: baseline;
}

.ui.checkbox label {
  cursor: pointer;
  color: var(--text-color);
}

input + .help {
  margin-top: 0.5em;
}

.component-form .parent.checkbox {
  margin: 1em 0;
}
.component-form .child.checkbox {
  margin-left: 1em;
}

.ui.labeled.input input,
.ui.labeled.input .label {
  background-color: var(--input-background);
}
.ui.labeled.input input::-moz-placeholder, .ui.labeled.input .label::-moz-placeholder {
  color: var(--input-placeholder-color);
}
.ui.labeled.input input::placeholder,
.ui.labeled.input .label::placeholder {
  color: var(--input-placeholder-color);
}

.ui.icon.input > .icon {
  color: var(--input-color);
}

#updatePlaylistLabel {
  display: block;
  margin: 0 0 0.28571429rem 0;
  color: var(--form-label-color);
  font-size: 0.92857143em;
  font-weight: bold;
  text-transform: none;
}

#updatePlaylistLabel:before {
  content: "​";
}

.ui.toggle.checkbox label::before {
  background-color: var(--input-selection-background);
}

.component-file-upload .file-uploads.ui.button {
  padding: 2em 1em;
  width: 100%;
  box-shadow: none;
  border-style: dashed !important;
  border: 2px solid var(--border-color);
  font-size: 1.5em;
  background-color: var(--color-150);
}
.component-file-upload .file-uploads.ui.button Button {
  margin: 0 auto;
}
.component-file-upload .file-uploads.channels.ui.button {
  font-size: 1.2em;
  padding: 0;
}
.component-file-upload .file-uploads.channels.ui.button > div:not(.divider) {
  padding: 1em;
}

.channel-file {
  display: flex;
  align-items: top;
  margin-bottom: 1em;
}
.channel-file > :first-child {
  width: 3em;
}
.channel-file .header {
  margin: 0 1em;
}
.channel-file .header .sub.header {
  margin-top: 0.5em;
}

.component-fs-browser {
  max-height: 400px;
  overflow-y: auto;
}

.component-fs-logs {
  max-height: 300px;
  overflow-y: auto;
  background-color: rgb(25, 25, 25) !important;
  color: white !important;
}

@media (min-width: 769px) {
  .header.with-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
.header.with-actions .actions {
  font-weight: normal;
  font-size: 0.6em;
}

.ui.header .content {
  display: block;
}

.component-label.huge.circular.label {
  padding-left: 1em !important;
  padding-right: 1em !important;
}
.component-label.vertically-spaced.label.ui {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.ui.menu .item > .label {
  background-color: var(--accent-color);
  border-color: var(--accent-color);
  color: #fff;
}

body > .modals {
  z-index: 99999 !important;
}

.modal > .header {
  text-align: center;
}

.component-pagination .ui.pagination.menu .item {
  cursor: pointer;
}

.ui.pagination.menu {
  margin-top: 1em;
}
.ui.pagination.menu + span {
  margin-left: 1em;
}
.ui.pagination.menu {
  color: var(--text-color);
  background-color: var(--light-background-color);
}
.ui.pagination.menu .active.item {
  color: var(--discrete-background-color);
}

.placeholder.image {
  background-color: rgba(0, 0, 0, 0.08);
  width: 48px;
  height: 48px;
}
.placeholder.image.large {
  width: 8em;
  height: 8em;
}
.placeholder.image {
  max-width: 100%;
  display: block;
}
.placeholder.image.circular {
  border-radius: 50%;
}
.placeholder.image.static {
  animation: none;
}
.placeholder.image.shifted {
  margin-top: -15px;
}

.component-placeholder {
  width: 100%;
}
.component-placeholder.ui.small.placeholder.segment {
  min-height: auto;
}
.component-placeholder.ui.segment .field, .component-placeholder.ui.segment textarea, .component-placeholder.ui.segment .ui.input, .component-placeholder.ui.segment .button {
  max-width: 100%;
}

.component-play-button button.item {
  width: 100%;
}
.component-play-button > .floating.dropdown:not(.button) {
  background: transparent;
  padding: 0;
  border: none;
}

#audio-bars {
  height: 48px;
  display: flex;
  width: 48px;
  align-items: center;
  padding: 8px;
}

.audio-bar {
  background: var(--main-color);
  width: 8px;
  height: 100%;
  animation: sound 1s cubic-bezier(0.17, 0.37, 0.43, 0.67) infinite alternate;
  animation-fill-mode: forwards;
  will-change: opacity, transform;
  transform-origin: bottom;
}

@keyframes sound {
  0% {
    opacity: 0.35;
    transform: scaleY(0.1) translateZ(0);
  }
  100% {
    opacity: 1;
    transform: scaleY(1) translateZ(0);
  }
}
/* Keyframes for individual bars */
@keyframes sound1 {
  0% {
    opacity: 0.35;
    transform: scaleY(0.1) translateZ(0);
  }
  100% {
    opacity: 1;
    transform: scaleY(0.7); /* Scale to 70% of the container height */
  }
}
@keyframes sound2 {
  0% {
    opacity: 0.35;
    transform: scaleY(0.1) translateZ(0);
  }
  100% {
    opacity: 1;
    transform: scaleY(0.8); /* Scale to 80% of the container height */
  }
}
@keyframes sound3 {
  0% {
    opacity: 0.35;
    transform: scaleY(0.1) translateZ(0);
  }
  100% {
    opacity: 1;
    transform: scaleY(1); /* Scale to 100% of the container height */
  }
}
@keyframes sound4 {
  0% {
    opacity: 0.35;
    transform: scaleY(0.1) translateZ(0);
  }
  100% {
    opacity: 1;
    transform: scaleY(0.9); /* Scale to 90% of the container height */
  }
}
@keyframes sound5 {
  0% {
    opacity: 0.35;
    transform: scaleY(0.1) translateZ(0);
  }
  100% {
    opacity: 1;
    transform: scaleY(0.9); /* Scale to 90% of the container height */
  }
}
@keyframes sound6 {
  0% {
    opacity: 0.35;
    transform: scaleY(0.1) translateZ(0);
  }
  100% {
    opacity: 1;
    transform: scaleY(0.8); /* Scale to 80% of the container height */
  }
}
@keyframes sound7 {
  0% {
    opacity: 0.35;
    transform: scaleY(0.1) translateZ(0);
  }
  100% {
    opacity: 1;
    transform: scaleY(0.7); /* Scale to 70% of the container height */
  }
}
@keyframes sound8 {
  0% {
    opacity: 0.35;
    transform: scaleY(0.1) translateZ(0);
  }
  100% {
    opacity: 1;
    transform: scaleY(0.6); /* Scale to 60% of the container height */
  }
}
/* Bass frequencies - slower attack, higher elevation */
.audio-bar:nth-child(1) {
  animation-duration: 0.8s;
  animation-name: sound1;
}

.audio-bar:nth-child(2) {
  animation-duration: 0.7s;
  animation-name: sound2;
}

/* Mid frequencies - moderate attack and elevation */
.audio-bar:nth-child(3) {
  animation-duration: 0.6s;
  animation-name: sound3;
}

.audio-bar:nth-child(4) {
  animation-duration: 0.5s;
  animation-name: sound4;
}

.audio-bar:nth-child(5) {
  animation-duration: 0.4s;
  animation-name: sound5;
}

/* High frequencies - quicker attack, lower elevation */
.audio-bar:nth-child(6) {
  animation-duration: 0.4s;
  animation-name: sound6;
}

.audio-bar:nth-child(7) {
  animation-duration: 0.3s;
  animation-name: sound7;
}

.audio-bar:nth-child(8) {
  animation-duration: 0.2s;
  animation-name: sound8;
}

.ui.bottom-player {
  z-index: 999999;
  width: 100%;
  width: 100vw;
}
.ui.bottom-player .ui.top.attached.progress {
  top: 0;
  height: 3px;
  z-index: 1;
  border-radius: 0;
}
.ui.bottom-player .ui.top.attached.progress .bar {
  height: 0.2rem;
}

.ui.bottom-player > .segment.fixed-controls {
  max-width: 100vw;
  color: var(--color);
  width: 100%;
  border-radius: 0;
  padding: 0em;
  position: fixed;
  bottom: 0;
  left: 0;
  margin: 0;
  z-index: 1001;
  height: 4rem;
  cursor: pointer;
}
.ui.bottom-player > .segment.fixed-controls .controls-row {
  height: 4rem;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
@media (min-width: 1025px) {
  .ui.bottom-player > .segment.fixed-controls .controls-row {
    padding: 0 1em;
    justify-content: space-around;
  }
}
.ui.bottom-player > .segment.fixed-controls .indicating.progress {
  overflow: hidden;
}
.ui.bottom-player > .segment.fixed-controls .ui.progress .bar {
  transition: none;
  width: 100%;
  transform-origin: top left;
  will-change: transform;
  position: absolute;
}
.ui.bottom-player > .segment.fixed-controls .ui.progress .bar.seek {
  background: var(--player-color);
  opacity: 0;
  transition: opacity 0.2s ease;
  mix-blend-mode: overlay;
}
.ui.bottom-player > .segment.fixed-controls .ui.progress .bar.position {
  transform: translate3d(calc(var(--fw-track-progress) - 100%), 0, 0);
}
.ui.bottom-player > .segment.fixed-controls .ui.progress:hover .bar.seek {
  opacity: 0.4;
}
@keyframes MOVE-BG {
  from {
    transform: translateX(0px);
  }
  to {
    transform: translateX(46px);
  }
}
.ui.bottom-player > .segment.fixed-controls .discrete.link {
  color: inherit;
}
.ui.bottom-player > .segment.fixed-controls .indicating.progress .bar {
  left: -46px;
  width: 200% !important;
  color: grey;
  background: repeating-linear-gradient(-55deg, grey 1px, grey 10px, transparent 10px, transparent 20px) !important;
  animation-name: MOVE-BG;
  animation-duration: 2s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
.ui.bottom-player > .segment.fixed-controls .ui.progress:not(.indeterminate) .bar.position:not(.buffer) {
  background: var(--vibrant-color);
}
.ui.bottom-player > .segment.fixed-controls .track-controls {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-grow: 1;
}
.ui.bottom-player > .segment.fixed-controls .track-controls .image {
  margin: 0.5em;
  width: auto;
  margin-right: 1em;
}
.ui.bottom-player > .segment.fixed-controls .track-controls .image > img {
  max-height: 40px;
  max-width: 40px;
}
.ui.bottom-player > .segment.fixed-controls .controls {
  min-width: 8em;
}
.ui.bottom-player > .segment.fixed-controls .controls a {
  text-decoration: none;
  font-size: 16px;
}
.ui.bottom-player > .segment.fixed-controls .controls .meta {
  line-height: 1.5em;
}
.ui.bottom-player > .segment.fixed-controls .controls .button {
  border: none;
  cursor: pointer;
}
.ui.bottom-player > .segment.fixed-controls .controls .button:hover {
  background-color: transparent !important;
}
.ui.bottom-player > .segment.fixed-controls .controls .button:hover > i {
  color: var(--color);
  transform: scale(1.2);
}
.ui.bottom-player > .segment.fixed-controls .controls .button:disabled i {
  color: var(--fw-gray-700);
}
.ui.bottom-player > .segment.fixed-controls .controls #volume-slider {
  accent-color: var(--vibrant-color);
}
.ui.bottom-player > .segment.fixed-controls .controls .looping > i,
.ui.bottom-player > .segment.fixed-controls .controls .shuffling > i,
.ui.bottom-player > .segment.fixed-controls .controls .looping:hover > i,
.ui.bottom-player > .segment.fixed-controls .controls .shuffling:hover > i {
  color: var(--vibrant-color);
}
@media (min-width: 1025px) {
  .ui.bottom-player > .segment.fixed-controls .controls:not(.fluid) {
    width: 20%;
  }
  .ui.bottom-player > .segment.fixed-controls .controls.queue-controls {
    width: 32.5%;
  }
  .ui.bottom-player > .segment.fixed-controls .controls.progress-controls {
    width: 10%;
  }
  .ui.bottom-player > .segment.fixed-controls .controls.player-controls {
    gap: 8px;
  }
  .ui.bottom-player > .segment.fixed-controls .controls.player-controls i {
    font-size: 1.8em;
  }
}
@media (min-width: 1025px) {
  .ui.bottom-player > .segment.fixed-controls .controls.small, .ui.bottom-player > .segment.fixed-controls .controls .small {
    font-size: 0.9em;
  }
}
.ui.bottom-player > .segment.fixed-controls .controls i {
  font-size: 1.3em;
  color: var(--player-color);
}
.ui.bottom-player > .segment.fixed-controls .controls .large i {
  font-size: 3.2em;
}
@media (min-width: 1025px) {
  .ui.bottom-player > .segment.fixed-controls .controls:not(.track-controls) {
    line-height: 1em;
  }
}
.ui.bottom-player > .segment.fixed-controls .controls:not(.track-controls) {
  justify-content: center;
  align-items: center;
}
.ui.bottom-player > .segment.fixed-controls .controls:not(.track-controls).align-right {
  justify-content: flex-end;
}
.ui.bottom-player > .segment.fixed-controls .controls:not(.track-controls).align-left {
  justify-content: flex-start;
}
.ui.bottom-player > .segment.fixed-controls .controls:not(.track-controls) > * {
  padding: 0.5em;
}
.ui.bottom-player > .segment.fixed-controls .controls:not(.track-controls) .close-control {
  background-color: transparent;
  color: var(--vibrant-color);
}
.ui.bottom-player > .segment.fixed-controls .controls:not(.track-controls) .close-control:hover {
  color: var(--vibrant-color);
}
.ui.bottom-player > .segment.fixed-controls .controls:not(.track-controls) .close-control i {
  color: var(--vibrant-color);
}

.component-player .controls {
  display: flex;
}
.component-player .fake-dropdown {
  display: flex;
  z-index: 2;
}

.component-playlist-editor .duplicate-tracks-list {
  max-height: 10em;
  overflow-y: auto;
}

@keyframes scroll-text {
  0%, 10%, 90%, 100% {
    transform: translateX(0);
  }
  45%, 55% {
    transform: translateX(calc(-25% + 10px));
  }
}
.opaque {
  /* Satisfy both vitepress (docs) and funkwhale (front) convention */
  /* Also note the strong (triple) force which satisfies the CSS gods very much (enough) */
}
:is(body.theme-dark, html.dark > body:not(.theme-light)) .opaque, .force-dark-theme.force-dark-theme.force-dark-theme .opaque {
  background-color: rgba(41, 37, 37, 0.8);
}

.opaque {
  /* Satisfy both vitepress (docs) and funkwhale (front) convention */
  /* Also note the strong (triple) force which satisfies the CSS gods very much (enough) */
}
:is(body.theme-light, html:not(.dark) > body:not(.theme-dark)) .opaque, .force-light-theme.force-light-theme.force-light-theme .opaque {
  background-color: rgba(255, 255, 255, 0.8);
}

.opaque {
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

@media (max-width: 1023px) {
  .queue-controls {
    height: 4rem;
  }
}

.ui.clearing.segment {
  box-shadow: var(--secondary-menu-box-shadow);
  margin: 0 !important;
}

.queue-enter-active,
.queue-leave-active {
  transition: all 0.2s ease !important;
  will-change: transform, opacity !important;
}

.queue-enter-from,
.queue-leave-to {
  opacity: 0 !important;
  transform: translateY(5vh) !important;
}

.component-queue.main {
  position: fixed;
  min-height: 100vh;
  width: 100vw;
  z-index: 1000;
}
.component-queue.main > .button {
  position: fixed;
  top: 1em;
  right: 1em;
  z-index: 9999999;
}
@media (max-width: 1023px) {
  .component-queue.main > .button {
    display: none;
  }
}
.component-queue .queue.segment #player {
  padding: 0em;
}
.component-queue .queue.segment #player > * {
  padding: 0.5em;
}
.component-queue #queue .sub.header {
  font-size: 18px;
  line-height: 24px;
  font-weight: normal;
}
.component-queue .queue-column {
  overflow-y: auto;
}
.component-queue .queue-column .table {
  margin-top: 4em !important;
  margin-bottom: 4rem;
}
.component-queue .ui.table > tbody > tr > td.controls {
  text-align: right;
}
.component-queue .ui.table > tbody > tr > td {
  border: none;
}
.component-queue td:first-child {
  padding-left: 1em !important;
}
.component-queue td:last-child {
  padding-right: 1em !important;
}
.component-queue .image-cell {
  width: 4em;
}
.component-queue .mini.image {
  width: 40px;
}
@media (max-width: 1023px) {
  .component-queue .queue.segment {
    padding: 0;
  }
}
.component-queue .queue.segment > .container {
  margin: 0 !important;
}
@media (max-width: 1023px) {
  .component-queue .handle {
    display: none;
  }
}
@media (max-width: 767px) {
  .component-queue .duration-cell {
    display: none;
  }
}
.component-queue .fixed-header {
  position: fixed;
  right: 0;
  left: 0;
  top: 0;
  z-index: 9;
}
@media (max-width: 1023px) {
  .component-queue .fixed-header {
    padding: 1em;
  }
}
@media (min-width: 1024px) {
  .component-queue .fixed-header {
    right: 1em;
    left: 38%;
  }
}
.component-queue .fixed-header .header .content {
  display: block;
}
.component-queue .current-track #player {
  font-size: 1.8em;
  padding: 1em;
  text-align: center;
  display: flex;
  position: fixed;
  height: 100vh;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  bottom: 0;
  top: 0;
  width: 32%;
}
.component-queue .current-track #player > img {
  width: 100%;
  height: auto;
  max-height: 60vh;
  max-width: 60vh;
}
@media (max-width: 1023px) {
  .component-queue .current-track #player {
    padding: 0.5em;
    font-size: 1.5em;
    width: 100%;
    width: 100vw;
    left: 0;
    right: 0;
  }
  .component-queue .current-track #player > .image {
    max-height: 50vh;
  }
}
.component-queue .current-track #player > *:not(.image):not(img) {
  width: 100%;
}
.component-queue .current-track #player h1 {
  margin: 0;
  min-height: auto;
}
.component-queue .progress-area .progress {
  border-radius: 0.28571429rem;
  background: rgba(255, 255, 255, 0.1); /* This makes it visible on load */
  position: relative;
  overflow: hidden;
}
.component-queue .ui.progress .bar.position {
  /* Fallback to 0% if the variable is missing */
  transform: translate3d(calc(var(--fw-track-progress, 0%) - 100%), 0, 0);
}
.component-queue .warning.message {
  width: 25em;
}
.component-queue .ui.progress .bar {
  transition: none;
  width: 100%;
  transform-origin: top left;
  will-change: transform;
}
.component-queue .ui.progress .bar.position {
  transform: translate3d(calc(var(--fw-track-progress) - 100%), 0, 0);
}
.component-queue .ui.progress .buffer.bar {
  background-color: rgba(255, 255, 255, 0.15);
  height: 1em;
  margin-bottom: -1em;
}
.component-queue .ui.progress:not(.indeterminate) .bar.position:not(.buffer) {
  background: var(--vibrant-color);
}
.component-queue .indicating.progress .bar {
  left: -46px;
  width: 200% !important;
  color: grey;
  background: repeating-linear-gradient(-55deg, grey 1px, grey 10px, transparent 10px, transparent 20px) !important;
  animation-name: MOVE-BG;
  animation-duration: 2s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
.component-queue .indicating.progress .bar:not(.buffer) {
  background: transparent !important;
}
.component-queue .ui.progress {
  margin: 1.5rem 0;
}
.component-queue .timer {
  font-size: 0.7em;
}
.component-queue .progress {
  cursor: pointer;
}
.component-queue .player-controls {
  display: flex;
}
.component-queue .player-controls .control:not(:first-child) {
  margin-left: 1em;
}
.component-queue .player-controls.queue-controls .button {
  width: 80px !important;
  height: 80px !important;
  background: transparent !important;
  border: none;
}
.component-queue .player-controls.queue-controls .button:hover {
  background: transparent;
}
.component-queue .player-controls.queue-controls .button:hover i {
  transform: scale(1.2);
}
.component-queue .player-controls.queue-controls .button.large > i {
  font-size: 4em;
}
.component-queue .player-controls.queue-controls .button > i {
  font-size: 2em;
}
.component-queue .handle {
  cursor: grab;
}
.component-queue .sortable-chosen {
  cursor: grabbing;
}
.component-queue .queue-item .handle svg {
  pointer-events: none;
}
.component-queue .queue-item.sortable-ghost td {
  border-top: 3px dashed rgba(0, 0, 0, 0.15) !important;
  border-bottom: 3px dashed rgba(0, 0, 0, 0.15) !important;
}
.component-queue .queue-item.sortable-ghost td:first-child {
  border-left: 3px dashed rgba(0, 0, 0, 0.15) !important;
}
.component-queue .queue-item.sortable-ghost td:last-child {
  border-right: 3px dashed rgba(0, 0, 0, 0.15) !important;
}
.component-queue .radio-populating {
  margin-top: 1em;
  color: #333;
  text-align: center;
}
.component-queue .radio-message {
  margin-top: 1em !important;
  margin-right: 1em;
}

.theme-light .cover-container.fullscreen {
  background: #fff;
}

.component-queue #queue-grid {
  display: grid;
  grid-template-columns: 35% 65%;
  gap: 16px;
}
.component-queue #queue-grid #queue {
  position: relative;
}
@media (max-width: 1023px) {
  .component-queue #queue-grid {
    grid-template-columns: 1fr 0;
  }
  .component-queue #queue-grid.show-player #queue {
    display: none;
  }
  .component-queue #queue-grid.show-queue #player {
    display: none;
  }
}
.component-queue #queue-grid #player {
  display: flex;
  flex-flow: column;
  justify-content: center;
  text-align: center;
  max-width: 100vw;
}
.component-queue #queue-grid #player h1 {
  width: 100%;
  margin-bottom: 0px;
  overflow: clip;
}
.component-queue #queue-grid #player h1 a.track {
  font-size: 24px;
  font-weight: 600;
  display: inline-block;
  white-space: nowrap;
}
.component-queue #queue-grid #player h1 a.track.scrolling {
  animation: scroll-text 8s ease-in-out infinite;
}
.component-queue #queue-grid #player h2 {
  margin-top: 0px;
  margin-bottom: 10px;
}
.component-queue #queue-grid #player h2 a {
  font-size: 16px;
}
.component-queue #queue-grid #player .cover-container {
  max-width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.component-queue #queue-grid #player .cover-container.idle {
  cursor: none;
}
.component-queue #queue-grid #player .cover-container.fullscreen .cover {
  width: 100%;
  height: 100%;
  max-width: 100%;
}
.component-queue #queue-grid #player .cover-container.fullscreen .cover .visualizer {
  width: 100%;
  height: 100%;
}
.component-queue #queue-grid #player .cover-container.fullscreen .cover canvas {
  aspect-ratio: auto;
}
.component-queue #queue-grid #player .cover-container .cover {
  width: 90%;
  max-width: 50vh;
  position: relative;
}
.component-queue #queue-grid #player .cover-container .cover canvas,
.component-queue #queue-grid #player .cover-container .cover img {
  width: 100%;
  height: 100%;
}
.component-queue #queue-grid #player .cover-container .cover canvas {
  aspect-ratio: 1;
}
.component-queue #queue-grid #player .cover-container .cover img {
  object-fit: contain;
  object-position: center;
}
.component-queue #queue-grid #player .cover-container .cover:hover .cover-buttons {
  opacity: 1;
  transform: translateY(0);
}
.component-queue #queue-grid #player .cover-container .cover .cover-shadow {
  transform: scale(1.2);
  filter: blur(15vh);
  border-radius: 22vh;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.component-queue #queue-grid #player .cover-container .cover .cover-buttons {
  position: absolute;
  bottom: 1em;
  right: 1em;
  z-index: 3;
  display: flex;
  flex-direction: row-reverse;
  pointer-events: none;
}
@media (min-width: 769px) {
  .component-queue #queue-grid #player .cover-container .cover .cover-buttons {
    transition: all 0.2s ease-in-out;
    opacity: 0;
    transform: translateY(0.5em);
  }
}
.component-queue #queue-grid #player .cover-container .cover .cover-buttons .tooltip {
  z-index: 2;
  pointer-events: all;
}
.component-queue #queue-grid #player .cover-container .cover .cover-buttons button {
  z-index: 2;
  padding: 0.78571429em;
  pointer-events: all;
}
.component-queue #queue-grid #player .cover-container .cover .cover-buttons button:first-child {
  margin-right: 0 !important;
}
.component-queue #queue-grid #player .cover-container .cover .cover-buttons button i.icon {
  display: inline-block;
  margin-right: 0 !important;
  display: contents;
}
.component-queue #queue-grid #player .cover-container .cover .cover-buttons button i.icon::before {
  display: flex;
  justify-content: center;
  width: 1em;
  height: 1em;
}
.component-queue #queue-grid #player .cover-container .track-info {
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 0;
  width: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), #000);
  color: #fff;
  text-align: left;
  padding: 3em 1em 1em;
}
.component-queue #queue-grid #player .cover-container .track-info h1,
.component-queue #queue-grid #player .cover-container .track-info h2 {
  margin: 0;
}
.component-queue #queue-grid #player .cover-container:not(.fullscreen) .track-info {
  transition: none !important;
}
.component-queue #queue-grid #player .progress-wrapper {
  font-size: 1rem;
  max-width: 100%;
}
.component-queue #queue-grid #player .progress-wrapper .position.bar {
  position: relative;
  bottom: 0px;
  height: 1em;
}
.component-queue #queue-grid > div {
  height: calc(100vh - 4rem);
  margin: 0 !important;
}
.component-queue #queue-grid > div:nth-child(2) {
  display: grid;
  grid-template-rows: auto 1fr;
}
.component-queue #queue-grid > div:nth-child(2) > :nth-child(2) {
  overflow-y: hidden;
}
.component-queue #queue-grid > div:nth-child(2) .virtual-list {
  height: 100%;
  overflow-y: auto;
  padding-bottom: 2rem;
}
.component-queue .queue-item {
  height: 60px;
  display: grid;
  grid-template-columns: 10% auto 1fr 10% auto;
  cursor: pointer;
  padding: 0 0.875rem;
}
.component-queue .queue-item .heart:not(.pink) {
  color: rgba(0, 0, 0, 0.2);
}
.component-queue .queue-item .handle > .grip {
  pointer-events: none;
}
.component-queue .queue-item > div {
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .component-queue .queue-item .title.ellipsis {
    max-width: 35vw;
  }
}
.component-queue .queue-item {
  /* button.pink > i {
    color: var(--fw-red-800);
  } */
}
.component-queue .queue-item.active {
  /* .button.pink > i {
    color: var(--fw-red-800);
  } */
}
.component-queue .queue-item.active:hover .button > i {
  color: var(--player-color);
}

.component-settings-group .ui.checkbox p {
  margin-top: 1rem;
}

.search-wrapper .category.search .results .category:last-child .results {
  border-left: 0;
  text-align: right;
}

@media (min-width: 1025px) {
  .ui.wide.left.sidebar {
    width: 275px;
  }
}
@media (min-width: 1201px) {
  .ui.wide.left.sidebar {
    width: 275px;
  }
}

.sidebar .logo.bordered.icon {
  padding: 0.5em 0.41em !important;
}
.sidebar .logo path {
  fill: white;
}
.sidebar .tab {
  flex-direction: column;
}

.component-sidebar .ui.search .input {
  flex: 1;
}
.component-sidebar .ui.search .input .prompt {
  border-radius: 0;
}
.component-sidebar .ui.search .results {
  vertical-align: middle;
}
.component-sidebar .ui.search .name {
  vertical-align: middle;
}
.component-sidebar.sidebar {
  z-index: 10000 !important;
  overflow-y: visible !important;
  background: var(--sidebar-background);
  z-index: 1;
}
@media (min-width: 1025px) {
  .component-sidebar.sidebar {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-bottom: 4em;
  }
}
.component-sidebar.sidebar > nav {
  flex-grow: 1;
  overflow-y: auto;
}
@media (min-width: 1025px) {
  .component-sidebar.sidebar .menu .item.collapse-button-wrapper {
    padding: 0;
  }
  .component-sidebar.sidebar .collapse.button {
    display: none !important;
  }
}
@media (max-width: 1024px) {
  .component-sidebar.sidebar {
    position: static !important;
    width: 100% !important;
  }
  .component-sidebar.sidebar.collapsed .player-wrapper,
  .component-sidebar.sidebar.collapsed .search,
  .component-sidebar.sidebar.collapsed .signup.segment,
  .component-sidebar.sidebar.collapsed nav.secondary {
    display: none;
  }
}
.component-sidebar.sidebar > div {
  margin: 0;
  background-color: var(--sidebar-background);
}
.component-sidebar.sidebar .menu.vertical {
  background: transparent;
}
.component-sidebar .ui.vertical.menu .item .item {
  font-size: 1em;
}
.component-sidebar .ui.vertical.menu .item .item > i.icon {
  float: none;
  margin: 0 0.5em 0 0;
}
.component-sidebar .ui.vertical.menu .item.router-link-exact-active {
  border-right: 5px solid var(--vibrant-color);
  border-radius: 0 !important;
  background: var(--sidebar-active-item-background) !important;
}
.component-sidebar .ui.vertical.menu .item.collapsed:not(:focus) > .menu {
  display: none;
}
.component-sidebar .ui.vertical.menu .item.collapsed .header {
  margin-bottom: 0;
}
.component-sidebar .ui.vertical.menu .collapsible.item .header {
  cursor: pointer;
}
.component-sidebar .ui.secondary.menu {
  margin-left: 0;
  margin-right: 0;
}
.component-sidebar .tabs {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  justify-content: space-between;
}
@media (max-width: 1024px) {
  .component-sidebar .tabs {
    max-height: 500px;
  }
}
.component-sidebar .ui.tab.active {
  display: flex;
}
.component-sidebar .tab[data-tab=queue] {
  flex-direction: column;
}
.component-sidebar .tab[data-tab=queue] tr {
  cursor: pointer;
}
.component-sidebar .tab[data-tab=queue] td:nth-child(2) {
  width: 55px;
}
.component-sidebar .item .header .angle.icon {
  float: right;
  margin: 0;
}
.component-sidebar .tab[data-tab=library] {
  flex-direction: column;
  flex: 1 1 auto;
}
.component-sidebar .tab[data-tab=library] > .menu {
  flex: 1;
  flex-grow: 1;
}
.component-sidebar .tab[data-tab=library] > .player-wrapper {
  width: 100%;
}
.component-sidebar .sidebar .segment {
  margin: 0;
  border-radius: 0;
}
.component-sidebar .ui.menu .item.inline.admin-dropdown.dropdown > .menu {
  left: 0;
  right: auto;
}
.component-sidebar .ui.segment.header-wrapper {
  background: var(--sidebar-header-background);
  color: var(--sidebar-header-color);
  box-shadow: var(--sidebar-header-box-shadow);
  padding: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 4em;
  margin-bottom: 0;
}
.component-sidebar .ui.segment.header-wrapper nav > .item:hover,
.component-sidebar .ui.segment.header-wrapper nav > .menu > .item > .item:hover {
  background-color: transparent;
}
.component-sidebar nav.top.title-menu {
  flex-grow: 1;
}
.component-sidebar nav.top.title-menu .item {
  font-size: 1.5em;
}
.component-sidebar .logo {
  cursor: pointer;
  display: inline-block;
  margin: 0px;
}
@media (max-width: 1023px) {
  .component-sidebar.collapsed .search-wrapper {
    padding: 0;
  }
}
.component-sidebar .ui.search {
  display: flex;
}
.component-sidebar .ui.message.black {
  background: var(--sidebar-background);
}
.component-sidebar .ui.mini.image {
  width: 100%;
}
.component-sidebar nav.top {
  align-items: self-end;
  padding: 0.5em 0;
}
.component-sidebar nav.top > .item,
.component-sidebar nav.top > .right.menu > .item {
  font-size: 1.2em;
}
.component-sidebar nav.top > .item > .label,
.component-sidebar nav.top > .item > .dropdown > .label,
.component-sidebar nav.top > .right.menu > .item > .label,
.component-sidebar nav.top > .right.menu > .item > .dropdown > .label {
  font-size: 0.5em;
  right: 1.7em;
  bottom: -0.5em;
  z-index: 0 !important;
}
.component-sidebar .ui.user-dropdown .ui.menu {
  left: auto;
  right: 0;
}
.component-sidebar .ui.user-dropdown > .text > .label {
  margin-right: 0;
}
.component-sidebar .logo-wrapper {
  display: inline-block;
  margin: 0 auto;
}
@media (max-width: 1023px) {
  .component-sidebar .logo-wrapper {
    margin: 0;
  }
}
.component-sidebar .logo-wrapper img {
  height: 1em;
  display: inline-block;
  margin: 0 auto;
}
@media (min-width: 769px) {
  .component-sidebar .logo-wrapper img {
    height: 1.5em;
  }
}

.ellipsis-rows tr > td:nth-child(1) {
  max-width: 4em;
}
.ellipsis-rows tr > td:nth-child(2) {
  position: relative;
}
.ellipsis-rows tr > td:nth-child(2):before {
  content: "&nbsp;";
  visibility: hidden;
}
.ellipsis-rows tr > td:nth-child(2) > * {
  position: absolute;
  left: 0;
  right: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-right: 0.5em;
}

.ui.table > caption {
  font-weight: bold;
  padding: 0.5em;
  text-align: left;
}

.table-wrapper {
  display: block;
  overflow-x: auto;
}

td.align.right {
  text-align: right;
}

.ui.basic.table > tbody > tr {
  border-bottom: var(--table-border);
}

.component-tags-list .ui.circular.label {
  padding-left: 1em !important;
  padding-right: 1em !important;
}
.component-tags-list .hashtag {
  margin: 0.25em;
}

[data-tooltip] {
  position: relative;
  cursor: help;
}

[data-tooltip]::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: 125%;
  left: 50%;
  transform: translateX(-50%);
  padding: 1rem;
  border-radius: 6px;
  white-space: normal;
  width: 200px;
  max-width: 200px;
  z-index: 999;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease-in-out;
  background-color: var(--tooltip-background);
  color: var(--tooltip-color);
  font-size: 0.875rem;
  line-height: 1.4;
}

[data-tooltip]:hover::after {
  opacity: 1;
}

label .tooltip {
  margin-left: 1em;
}

.component-track-widget .play-overlay {
  position: absolute;
  top: 4em;
  left: 4em;
}
@media (min-width: 769px) {
  .component-track-widget .play-overlay {
    top: 2.5em;
    left: 2.5em;
  }
}
.component-track-widget .refresh.icon {
  float: right;
}
.component-track-widget .ui.divided.items > .item:last-child {
  padding-bottom: 1em !important;
}
@media (min-width: 769px) {
  .component-track-widget .divided.items > .track-item.inline {
    width: 25em;
    float: left;
    border-top: none;
  }
  .component-track-widget .divided.items > .track-item.inline, .component-track-widget .divided.items > .track-item.inline:first-child {
    margin-top: 0.5em !important;
    margin-right: 0.5em !important;
    padding: 1em 0 !important;
  }
}

.component-user-link .tiny.circular.avatar {
  width: 1.7em;
  height: 1.7em;
}

.ui.overlay.fullscreen.modal .user-modal-title,
.ui.overlay.fullscreen.modal .user-modal-subtitle {
  margin: 0.1em;
}
.ui.overlay.fullscreen.modal .user-modal-subtitle {
  font-weight: normal;
}
.ui.overlay.fullscreen.modal .user-modal.list-icon {
  margin-right: 1em;
}
.ui.overlay.fullscreen.modal .user-modal.list-item {
  font-weight: bold;
  font-size: large;
}
.ui.overlay.fullscreen.modal a {
  color: var(--text-color);
  text-decoration: none;
}

.scrolling.dimmable.dimmed > .dimmer {
  overflow: auto;
  --webkit-overflow-scrolling: touch;
}
.scrolling.dimmable.dimmed ::-webkit-scrollbar {
  width: 0px;
  background: transparent;
}

.component-volume-control {
  display: flex;
  line-height: inherit;
  align-items: center;
  position: relative;
  overflow: visible;
}
.component-volume-control input {
  max-width: 5.5em;
  height: 4px;
}
.component-volume-control.expandable .popup {
  background-color: light-dark(var(--fw-gray-200), var(--fw-gray-800));
  border-radius: var(--fw-border-radius);
  position: absolute;
  left: -3.5em;
  top: -5.5em;
  transform: rotate(-90deg);
  display: flex;
  align-items: center;
  height: 2.5em;
  padding: 0 0.5em;
}
.component-volume-control.expandable input {
  max-width: 8.5em;
  padding: 1em 0em;
}
.component-volume-control.expandable:not(:hover):not(.expanded) .popup {
  display: none;
}

.ui.dimmer {
  background-color: var(--dimmer-background);
}

.ui.loading.form:before {
  background-color: var(--dimmer-background);
}

.page-about p {
  text-align: justify;
}
.page-about .ui.list .list.icon {
  padding: 0;
}
.page-about .ui.basic.segment {
  margin: 0;
}
.page-about section.ui.segment.head {
  border-radius: 0.5em;
}
.page-about table.ui.very.basic {
  border-radius: 0;
  border-top: var(--table-border);
  border-bottom: var(--table-border);
}
.page-about table.ui.very.basic tr:last-child {
  border-bottom: 0;
}
.page-about h1.header, .page-about h1 .sub.header {
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.8);
  color: #fff !important;
}
.page-about h1.ui.header {
  font-size: 3em;
}
.page-about h1.ui.header .sub.header {
  font-size: 0.8em;
}
.page-about .main.pusher {
  margin-top: 0;
  min-height: 10em;
}
.page-about section.segment.head {
  padding: 8em 3em;
  background: linear-gradient(90deg, rgb(40, 88, 125) 0%, rgb(64, 130, 180) 100%);
  background-repeat: no-repeat;
  background-size: cover;
}
.page-about #pod {
  font-size: 110%;
  display: block;
}
.page-about .signup-form {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.page-about .about-pod-info-container {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  margin-top: 2em;
}
.page-about .about-pod-info-container .about-pod-info-toc {
  margin-bottom: 2em;
}
.page-about .about-pod-info-container .about-pod-info-toc .ui.secondary.pointing.menu.vertical {
  border-right-width: 0;
  border-right-style: none;
  border-left: var(--table-border);
  border-left-width: 2px;
}
.page-about .about-pod-info-container .about-pod-info-toc .ui.secondary.pointing.menu.vertical .item {
  border-right-style: none;
  border-right-width: 0;
  border-left-color: transparent;
  border-left-style: solid;
  border-left-width: 2px;
  margin: 0 0 0 -2px;
  transition: all 0.2s ease-in-out;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}
.page-about .about-pod-info-container .about-pod-info-toc .ui.secondary.pointing.menu.vertical .item.active {
  border-left-color: currentColor;
}
.page-about .about-pod-info-container .about-pod-info-toc .ui.secondary.pointing.menu.vertical .item.active:not(.router-link-exact-active) {
  border-left: 4px solid currentColor;
  margin-left: -3px;
  margin-right: -1px;
}
.page-about .about-pod-info-container .about-pod-info-toc .ui.secondary.pointing.menu .active.item {
  color: var(--vibrant-color);
}
.page-about .statistics-container {
  padding-top: 0.5rem;
  padding-bottom: 1rem;
  display: flex;
  flex-wrap: wrap;
}
.page-about .statistics-container .statistics-statistic {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  display: inline-flex;
  flex-basis: 25%;
}
.page-about .statistics-container .statistics-statistic .statistics-figure {
  color: var(--really-discrete-text-color);
  padding-bottom: 1rem;
}
.page-about .statistics-container .statistics-statistic .statistics-figure span {
  display: inline-block;
  padding-bottom: 0.25rem;
}
.page-about .features-container {
  padding-top: 0.5rem;
  padding-bottom: 1rem;
}
.page-about .features-container .features-status {
  color: var(--really-discrete-text-color);
}
@media (min-width: 1025px) {
  .page-about .about-pod-info-container {
    flex-direction: row-reverse;
  }
  .page-about .about-pod-info-container .about-pod-info-toc {
    width: 25%;
  }
  .page-about .about-pod-info-container .about-pod-info {
    width: 75%;
    padding-right: 2em;
  }
}
@media (max-width: 767px) {
  .page-about .about-pod-info-container {
    padding: 0 2em;
  }
  .page-about .ui.horizontally.fitted.stripe.basic.segment {
    padding-top: 0px;
  }
  .page-about .ui.basic.vertically.fitted.stripe.segment.content {
    padding: 0px;
  }
  .page-about .ui.head.vertical.center.aligned.stripe.segment {
    border-radius: 0 !important;
  }
  .page-about .statistics-container .statistics-statistic {
    flex-basis: 50%;
  }
  .page-about .features-container .column {
    padding: 0 !important;
  }
  .page-about .features-container .column + .column table {
    border-top: 0;
  }
}
.page-about h3.ui.header i {
  display: inline;
  font-size: 14px;
}
.page-about .ui.card .signup-form.content {
  flex-grow: initial;
}
.page-about .ui.card .pod-description {
  flex-direction: column;
  display: flex;
}
.page-about .ui.card .pod-description p {
  margin: auto;
  padding: 1.2em;
}

.page-admin-account-detail .placeholder.segment {
  width: 100%;
}
.page-admin-account-detail .ui.input input[name=quota] {
  max-width: 7em;
}

.page-admin-domain-detail .placeholder.segment {
  width: 100%;
}

.page-admin-library .ui.menu .item > .label {
  position: absolute;
  right: -2em;
}

#excludeCompilation {
  margin-top: 0;
}

#excludeCompilation input {
  margin-top: 0.7rem;
}

#excludeHeader {
  display: block;
  margin: 0 0 0.28571429rem 0;
  color: var(--form-label-color);
  font-size: 0.92857143em;
  font-weight: bold;
  text-transform: none;
}

.ui.multiple.search.dropdown > input.search {
  width: auto;
}

.page-home .ui.list .list.icon {
  padding: 0;
}
.page-home h1.header, .page-home h1 .sub.header {
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
  color: #fff !important;
}
@media (min-width: 769px) {
  .page-home h1.ui.header {
    font-size: 3em;
  }
}
.page-home h1.ui.header .sub.header {
  font-size: 0.8em;
}
.page-home .main.pusher {
  margin-top: 0;
  min-height: 10em;
}
.page-home section.segment.head {
  padding: 8em 3em;
  background: linear-gradient(90deg, rgb(40, 88, 125) 0%, rgb(64, 130, 180) 100%);
  background-repeat: no-repeat;
  background-size: cover;
}
.page-home #pod {
  font-size: 110%;
  display: block;
}

#renderedDescription {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#renderedDescription p {
  margin: 0;
}

#renderedDescription *:not(:first-child) {
  display: none;
}

.page-library .ui.cards {
  align-items: flex-start;
}
.page-library .ui.cards .ui.card {
  min-height: 200px;
}
.page-library .ui.segment.head {
  background-size: cover;
  background-position: center;
  padding: 0;
}
.page-library .ui.segment.head .segment-content {
  margin: 0 auto;
  padding: 2em;
}
@media (min-width: 769px) {
  .page-library .ui.segment.head .segment-content {
    padding: 4em;
  }
}
.page-library .ui.segment.head.with-background .header,
.page-library .ui.segment.head.with-background .header .sub {
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.8);
  color: white !important;
}
.page-library .ui.segment.head.with-background .segment-content {
  background-color: rgba(0, 0, 0, 0.5);
}

.page-notifications .event .ui.label.avatar {
  font-size: 1.5em;
  position: relative;
  top: 0.35em;
}

.page-profile .ui.header > img.image {
  width: 8em;
}

.theme-light {
  --font-family: Lato, Helvetica Neue, Arial, Helvetica, sans-serif;
  --vibrant-color: #f2711c;
  --vibrant-hover-color: #f26202;
  --vibrant-active-color: #cf590c;
  --vibrant-focus-color: var(--vibrant-hover-color);
  --success-color: #206b00;
  --success-hover-color: #3a9104;
  --success-active-color: #198f35;
  --success-focus-color: var(--success-hover-color);
  --primary-color: #0050C6;
  --primary-hover-color: #1678c2;
  --primary-active-color: #1a69a4;
  --primary-focus-color: var(--primary-hover-color);
  --warning-color: #FBBD08;
  --warning-hover-color: #eaae00;
  --warning-active-color: #cd9903;
  --warning-focus-color: var(--warning-hover-color);
  --danger-color: #DB2828;
  --danger-hover-color: #ff392b;
  --danger-active-color: #b21e1e;
  --danger-focus-color: var(--danger-hover-color);
  --accent-color: #00B5AD;
  --accent-hover-color: #009c95;
  --accent-active-color: #00827c;
  --accent-focus-color: var(--accent-hover-color);
  --link-color: #0d52bf;
  --link-text-decoration: none;
  --link-hover-color: #002e99;
  --link-hover-text-decoration: underline;
  --sidebar-background: #2D2F33;
  --sidebar-header-background: var(--sidebar-background);
  --sidebar-header-color: var(--sidebar-color);
  --sidebar-active-item-background: rgba(255, 255, 255, 0.15);
  --sidebar-header-box-shadow: none;
  --sidebar-box-shadow: 0 0 20px rgba(34, 36, 38, 0.15);
  --site-background: white;
  --text-color: rgba(0, 0, 0, 0.87);
  --discrete-text-color: rgba(0, 0, 0, 0.72);
  --really-discrete-text-color: rgba(0, 0, 0, 0.57);
  --text-selection-background: #CCE2FF;
  --text-selection-color: rgba(0, 0, 0, 0.87);
  --header-color: var(--text-color);
  --main-color: var(--text-color);
  --main-background: var(--site-background);
  --menu-item-color: var(--text-color);
  --secondary-menu-background: var(--site-background);
  --secondary-menu-box-shadow: inset 0px -2px 0px 0px rgba(34, 36, 38, 0.15);
  --secondary-menu-active-item-box-shadow: inset 0 -2px 0 0 #000;
  --secondary-menu-active-item-color: rgba(0, 0, 0, 0.95);
  --secondary-menu-hover-item-color: var(--secondary-menu-active-item-color);
  --inverted-menu-item-color: hsla(0, 0%, 100%, 0.75);
  --inverted-menu-item-header-color: hsla(0, 0%, 100%, 0.95);
  --menu-inverted-active-item-color: white;
  --button-basic-background: transparent;
  --button-basic-color: rgba(0, 0, 0, 0.6);
  --button-basic-box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.15) inset;
  --button-basic-hover-background: var(--site-background);
  --button-basic-hover-color: var(--text-color);
  --button-basic-hover-box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.35) inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset;
  --button-orange-background: var(--vibrant-color);
  --form-label-color: var(--text-color);
  --input-selection-background: rgba(100, 100, 100, 0.4);
  --input-selection-color: var(--text-selection-color);
  --input-background: white;
  --input-color: var(--text-color);
  --input-focus-color: var(--input-color);
  --input-focus-background: var(--input-background);
  --input-placeholder-color: var(--really-discrete-text-color);
  --input-focus-placeholder-color: var(--discrete-text-color);
  --divider-color: rgba(34, 36, 38, 0.15);
  --divider: 1px solid var(--divider-color);
  --modal-background: var(--site-background);
  --dropdown-background: var(--input-background);
  --dropdown-color: var(--input-color);
  --dropdown-header-color: var(--dropdown-color);
  --dropdown-item-color: var(--dropdown-color);
  --dropdown-item-hover-color: var(--dropdown-item-color);
  --dropdown-item-hover-background: rgba(0, 0, 0, 0.05);
  --dropdown-item-selected-color: var(--dropdown-item-hover-color);
  --dropdown-item-selected-background: var(--dropdown-item-hover-background);
  --segment-color: var(--text-color);
  --segment-background: var(--site-background);
  --table-background: transparent;
  --table-border: var(--divider);
  --tooltip-background: var(--site-background);
  --tooltip-color: var(--text-color);
  --card-background: var(--site-background);
  --card-text-color: var(--text-color);
  --card-box-shadow: 0 1px 3px 0 #D4D4D5, 0 0 0 1px #D4D4D5;
  --dimmer-background: rgba(255, 255, 255, 0.85);
  --dimmer-color: var(--text-color);
  --border-color: rgba(34, 36, 38, 0.15);
}

/* purgecss start ignore */
.theme-dark {
  --font-family: Lato, Helvetica Neue, Arial, Helvetica, sans-serif;
  --vibrant-color: #f2711c;
  --vibrant-hover-color: #f26202;
  --vibrant-active-color: #cf590c;
  --vibrant-focus-color: var(--vibrant-hover-color);
  --success-color: #206b00;
  --success-hover-color: #3a9104;
  --success-active-color: #198f35;
  --success-focus-color: var(--success-hover-color);
  --primary-color: #0050C6;
  --primary-hover-color: #1678c2;
  --primary-active-color: #1a69a4;
  --primary-focus-color: var(--primary-hover-color);
  --warning-color: #FBBD08;
  --warning-hover-color: #eaae00;
  --warning-active-color: #cd9903;
  --warning-focus-color: var(--warning-hover-color);
  --danger-color: #DB2828;
  --danger-hover-color: #ff392b;
  --danger-active-color: #b21e1e;
  --danger-focus-color: var(--danger-hover-color);
  --accent-color: #00B5AD;
  --accent-hover-color: #009c95;
  --accent-active-color: #00827c;
  --accent-focus-color: var(--accent-hover-color);
  --link-color: rgb(255, 144, 0);
  --link-text-decoration: none;
  --link-hover-color: rgb(255, 144, 0);
  --link-hover-text-decoration: underline;
  --sidebar-background: #2D2F33;
  --sidebar-header-background: var(--sidebar-background);
  --sidebar-header-color: var(--sidebar-color);
  --sidebar-active-item-background: rgba(255, 255, 255, 0.15);
  --sidebar-header-box-shadow: none;
  --sidebar-box-shadow: 0 0 20px rgba(34, 36, 38, 0.15);
  --site-background: rgb(43, 58, 66);
  --text-color: rgb(223, 235, 240);
  --discrete-text-color: rgba(223, 235, 240, 0.904);
  --really-discrete-text-color: rgba(223, 235, 240, 0.804);
  --text-selection-background: #CCE2FF;
  --text-selection-color: rgba(0, 0, 0, 0.87);
  --header-color: var(--text-color);
  --main-color: var(--text-color);
  --main-background: var(--site-background);
  --menu-item-color: var(--text-color);
  --secondary-menu-background: var(--site-background);
  --secondary-menu-box-shadow: inset 0px -2px 0px 0px rgba(34, 36, 38, 0.15);
  --secondary-menu-active-item-box-shadow: inset 0px -2px 0px 0px rgba(63, 102, 97, 0.95);
  --secondary-menu-active-item-color: rgb(223, 235, 240);
  --secondary-menu-hover-item-color: var(--secondary-menu-active-item-color);
  --inverted-menu-item-color: hsla(0, 0%, 100%, 0.75);
  --inverted-menu-item-header-color: hsla(0, 0%, 100%, 0.95);
  --menu-inverted-active-item-color: white;
  --button-basic-background: transparent;
  --button-basic-color: rgb(223, 235, 240);
  --button-basic-box-shadow: 0px 0px 0px 1px rgba(223, 235, 240, 0.15) inset;
  --button-basic-hover-background: var(--site-background);
  --button-basic-hover-color: var(--text-color);
  --button-basic-hover-box-shadow: 0px 0px 0px 1px rgb(223, 235, 240) inset;
  --button-orange-background: var(--vibrant-color);
  --form-label-color: var(--text-color);
  --input-selection-background: rgb(223, 235, 240);
  --input-selection-color: var(--text-selection-color);
  --input-background: rgb(65, 86, 97);
  --input-color: var(--text-color);
  --input-focus-color: var(--input-color);
  --input-focus-background: var(--input-background);
  --input-placeholder-color: var(--really-discrete-text-color);
  --input-focus-placeholder-color: var(--discrete-text-color);
  --divider-color: rgba(104, 136, 155, 0.5);
  --divider: 1px solid var(--divider-color);
  --modal-background: var(--site-background);
  --dropdown-background: var(--input-background);
  --dropdown-color: var(--input-color);
  --dropdown-header-color: var(--dropdown-color);
  --dropdown-item-color: var(--dropdown-color);
  --dropdown-item-hover-color: var(--dropdown-item-color);
  --dropdown-item-hover-background: rgb(51, 71, 82);
  --dropdown-item-selected-color: var(--dropdown-item-hover-color);
  --dropdown-item-selected-background: var(--dropdown-item-hover-background);
  --segment-color: var(--text-color);
  --segment-background: rgb(51, 71, 82);
  --table-background: rgb(65, 86, 97);
  --table-border: var(--divider);
  --tooltip-background: var(--site-background);
  --tooltip-color: var(--text-color);
  --card-background: var(--site-background);
  --card-text-color: var(--text-color);
  --card-box-shadow: 0 1px 3px 0 #D4D4D5, 0 0 0 1px #D4D4D5;
  --dimmer-background: rgba(43, 58, 66, 0.9);
  --dimmer-color: var(--text-color);
  --border-color: rgba(104, 136, 155, 0.5);
  --light-background-color: rgb(51, 71, 82);
  --light-shadow-color: rgba(223, 235, 240, 0.15);
  --shadow-color: rgba(63, 102, 97, 0.95);
  --box-shadow: 0px 1px 3px 0px rgba(63, 88, 102, 0.95), 0px 0px 0px 1px rgba(63, 88, 102, 0.98);
  --secondary-meny-box-shadow: inset 0px -2px 0px 0px rgb(51, 71, 82);
}

.direction-rtl .theme-dark,
.direction-rtl .theme-light {
  --font-family: "Vazirmatn", ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
}

html,
body {
  font-family: var(--font-family);
  font-size: 16px;
  margin: 0;
}

.has-background-light {
  background-color: var(--fw-gray-100);
}

* {
  --fw-translate-x: 0;
  --fw-translate-y: 0;
  --fw-scale: 1;
}

.funkwhale,
:root {
  --fw-border-radius: 8px;
}

:root {
  /* Do not show white background when scrolling past the end */
  overscroll-behavior: none;
}
._message_g9wi8_2 {
    position: fixed;
    bottom: 65px;
    right: 0;
    top: auto;
}

:hover>.larger-on-hover[data-v-4da751e7]{
    transform:scale(1.2);
}
.ui.progress[data-v-4da751e7] {
  position: relative;
  cursor: pointer;
  overflow: visible !important; /* Ensure the hit area isn't clipped */
}

/* Create a generous 24px invisible hit area for lumpy fingers on small mobile screens */
.ui.progress[data-v-4da751e7]::after {
  content: '';
  position: absolute;
  top: -5px;    /* Slight overlap above */
  bottom: -15px; /* Large area below for easier thumb access */
  left: 0;
  right: 0;
  z-index: 20;
}
.progress-area[data-v-4da751e7] {
  cursor: pointer;
  /* Ensure the container is easy to hit */
  padding: 10px 0;
}
.fake-dropdown {
&[data-v-4da751e7]{
  border: 1px solid gray;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 8em;
  z-index: 2;
    }
> .control.button[data-v-4da751e7] {
    padding: 0.5em;
}
.position.control[data-v-4da751e7] {
    flex-grow: 1;
}
.angle.icon[data-v-4da751e7] {
    margin-right: 0;
}
}
.vue-recycle-scroller{position:relative}.vue-recycle-scroller.direction-vertical:not(.page-mode){overflow-y:auto}.vue-recycle-scroller.direction-horizontal:not(.page-mode){overflow-x:auto}.vue-recycle-scroller.direction-horizontal{display:flex}.vue-recycle-scroller__slot{flex:auto 0 0}.vue-recycle-scroller__item-wrapper{flex:1;box-sizing:border-box;overflow:hidden;position:relative}.vue-recycle-scroller.ready .vue-recycle-scroller__item-view{position:absolute;top:0;left:0;will-change:transform}.vue-recycle-scroller.direction-vertical .vue-recycle-scroller__item-wrapper{width:100%}.vue-recycle-scroller.direction-horizontal .vue-recycle-scroller__item-wrapper{height:100%}.vue-recycle-scroller.ready.direction-vertical .vue-recycle-scroller__item-view{width:100%}.vue-recycle-scroller.ready.direction-horizontal .vue-recycle-scroller__item-view{height:100%}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.drag-container {
  position: relative;
}
.dragging {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: grab !important;
}
.drop-before {
  box-shadow: 0 -1px 0 var(--vibrant-color), inset 0 1px 0 var(--vibrant-color);
}
.drop-before:last-child {
  box-shadow: inset 0 2px 0 var(--vibrant-color);
}
.drop-after {
  box-shadow: 0 1px 0 var(--vibrant-color), inset 0 -1px 0 var(--vibrant-color);
}
.drop-after:last-child {
  box-shadow: inset 0 -2px 0 var(--vibrant-color);
}
.drag-ghost {
  background: transparent !important;
}
.ghost-container {
  position: absolute;
  pointer-events: none;
  z-index: 1002;
  width: 100%;
  transform: translateY(-50%);
  left: 0;
  top: 0;
  opacity: 0.8;
  background: rgba(255, 255, 255, 0.1);
}
.theme-light .ghost-container {
  background: rgba(0, 0, 0, 0.1);
}
.vue-recycle-scroller__item-view {
  width: 100% !important;
}
._item_1qklo_2 {
  background-color: transparent;
&:hover, &:focus-visible {
    background-color: var(--color-background-200);
}
&[aria-current="true"] {
    background-color: var(--color-background-300);
    color: var(--color-foreground-800);
&:hover, &:focus-visible {
      background-color: var(--color-background-200);
}
}
}

@media (min-width: 1024px) {
#queue-grid[data-v-1549992b] {
      padding: 16px;
}
}
@media (max-width: 1024px) {
#queue-grid[data-v-1549992b] {
      grid-template-columns: 1fr;
}
}

.avatar[data-v-b1bad47d] {
      width: 40px;
      height: 40px;
      border-radius: 50%;
}
nav.button-list[data-v-b1bad47d] {
  width: 100%;
}

.search-section~._hideIfAfterSection_1qupz_2 {
    display: none;
}
._placeholder_1qupz_5 {
    position: relative;
    flex-grow: 1;
    border: none;
    border-radius: 8px;
    height: 48px;
    flex-shrink: 0;
    opacity: .2;
    transition: all .2s;
}
._input_1qupz_15._input_1qupz_15._input_1qupz_15 {
    height: 48px;
    z-index: var(--v8173dd6a);
    position: fixed;
&> * {
        z-index: 99999;
}
    transition: width .2s, top .3s, left .4s;
}

._section-heading_qz4yc_2 {
  color: color-mix(in oklab, currentcolor 50%, var(--border-color));
  margin: 0;
}
._sidebar_qz4yc_7 {
&._sticky-content_qz4yc_8 {
    overflow: auto;
    top: 0;
._upload-progress_qz4yc_12 {
      background: var(--fw-blue-500);
      position: absolute;
      left: 0;
      bottom: 2px;
      width: 100%;
      padding: 2px;
&.v-enter-active,
      &.v-leave-active {
        transition: transform 0.2s ease, opacity 0.2s ease;
}
&.v-leave-to,
      &.v-enter-from {
        transform: translateY(0.5rem);
        opacity: 0;
}
> ._progress_qz4yc_31 {
        height: 0.25rem;
        width: 100%;
        transition: max-width 0.1s ease;
        background: var(--fw-gray-100);
        border-radius: 100vh;
        position: relative;
&._fake_qz4yc_39 {
          background: var(--fw-blue-700);
}
&:not(._fake_qz4yc_39) {
          position: absolute;
          inset: 2px;
}
}
}
._avatar_qz4yc_50 {
      aspect-ratio: 1;
      background: var(--fw-beige-100);
      border-radius: 100%;

      text-decoration: none !important;
      color: var(--fw-gray-700);
> img,
      > i {
        width: 100%;
        height: 100%;

        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0 !important;
        border-radius: 100vh;
}
}
> h3 {
      margin: 0;
      padding: 0 32px 8px;
      font-size: 14px;
      line-height: 1.2;
}
._menu-links_qz4yc_77 {
      padding: 0 16px 72px;
      flex-grow: 1;
}
}
.hide-on-mobile {
    max-height: 0px;
    min-height: 0px;
    overflow: hidden;
    transition: all .8s;
}
@media screen and (min-width: 1024px) {
    height: 100%;
.hide-on-desktop {
      display: none !important;
}
.hide-on-mobile {
      max-height: 100dvh;
      pointer-events: unset;
}
&._sticky-content_qz4yc_8 {
      position: sticky;
      max-height: 100dvh;
}
}
}
._indicate-active_qz4yc_109 {
    text-decoration: none;
}

/* Links are ultra-bold when active */
[aria-current="page"] ._indicate-active_qz4yc_109 {
  font-weight: 1000;
  letter-spacing: -.025em;
}

._description_1obk2_2 {
    font-size: 0.875em;
}

._description_1obk2_2 {
    font-size: 0.875em;
}

._uploader_q7ocb_2 label {
    background: transparent;
    cursor: pointer;
}
._uploader_q7ocb_2 {
    padding: 32px;
    border-radius: var(--fw-border-radius);
    border: 2px dashed var(--color-500);
    align-items: center;
    display: flex;
    flex-direction: column;
}

._uploader_x7h4g_2 {
  padding: 32px;
  border-radius: var(--fw-border-radius);
  border: 2px dashed var(--border-color);
  align-items: center;
  display: flex;
  flex-direction: column;
  background-color: var(--color-150);
}
._table_x7h4g_12 {
b {
    padding: 0 6px;
}
}
._progress_x7h4g_18 {
  display: block;
  border-radius: 4px;
  padding: 2px 6px;
  background-image: linear-gradient(var(--fw-pastel-blue-650), var(--fw-pastel-blue-650));
  background-repeat: no-repeat;
  background-size: var(--progress, 0%) 100%;
  transition: background-size .2s ease;
}

._imageBackground_1y9l2_2 {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
._icon_1y9l2_10 {
  font-size: 6em;
}

.v-enter-active,
.v-leave-active {
  transition: all 0.5s ease;
}
.v-enter-from,
.v-leave-to {
  opacity: 0;
&.forward {
    transform: translateX(100%);
}
&.backward {
    transform: translateX(-100%);
}
}
.v-leave-to {
&.forward {
    transform: translateX(100%);
}
&.backward {
    transform: translateX(-100%);
}
}

.responsive[data-v-848d878a] {
  display: grid !important;
  grid-template-columns: 300px minmax(0, 1fr);
  grid-template-rows: min-content auto 4rem;

  min-height: 100vh;

  grid-template-areas:
    "sidebar sidebar"
    "main main"
    "player player";
@media screen and (min-width: 1024px) {
    grid-template-areas:
      "sidebar main"
      "sidebar main"
      "player player";
}
}

/* Make inert pages (behind modals) unscrollable */
body:has(#app[inert="true"]) {
  overflow: hidden;
}
body, html {
    /* Default color (sidebar and player) */
    background-color: var(--color-200);
}

._layout_3jsy2_2 {
  /* Make space for the play bar */
  padding-bottom: 5rem;

  transition: all .3s;

  /* Recessed (less contrasty) color */
  background-color: var(--color-background-150)
}
/*!
* # Funkwhale - Default Theme
*
* This file is organized by feature (alphabetically).
* Each feature is organized by layer.
* Each layer is organized alphabetically.
*
* This way, overrides can be found close together and top-to-bottom.
* As a theme author, you can pick the rules you want to override and rewrite them in your theme file.
*
* ## Layers
*
* - (no layer)
*   - Theme-specific values (Brand colors, reusable snippets)
*   - Unitless scales
* - **@layer sanitize**
*   - Just a versioned copy of sanitize.css (Browser normalization and modern defaults)
* - **@layer document**
*   - Style Markdown previews, Frontend guide/docs, Website
* - **@layer system**
*   - Apply classes and attributes (Funkwhale design system)
*
* Note that rules outside of any layer have higher precedence: Component style blocks override all layers.
*
*/

@layer sanitize, document, system;

/* #region color */
/**
* ====================================================================
* Color
* ====================================================================
*/

:root {
  color-scheme: light dark;
}

/**
* Basic funkwhale palette.
*
* When writing a theme, use your own theme-specific prefix: `--dracula-color-scary-900: chartreuse`.
* These series are extrapolated from original design system colors with the `generate_palette` python script,
* with minor adjustment in the extreme ranges.
*/
:root {
  /* blue */
  --fw-blue-50: oklch(1.070 0.000 206.19);
  --fw-blue-100: oklch(1.028 0.000 205.68);
  --fw-blue-150: oklch(0.986 0.000 206.78);
  --fw-blue-200: oklch(0.943 0.000 209.15);
  --fw-blue-250: oklch(0.900 0.012 212.43);
  --fw-blue-300: oklch(0.856 0.030 216.21);
  --fw-blue-350: oklch(0.810 0.048 220.03);
  --fw-blue-400: oklch(0.764 0.064 223.38);
  --fw-blue-450: oklch(0.717 0.075 225.69);
  --fw-blue-500: oklch(0.669 0.078 226.34);
  --fw-blue-550: oklch(0.619 0.078 226.32);
  --fw-blue-600: oklch(0.568 0.078 226.21);
  --fw-blue-650: oklch(0.514 0.076 225.94);
  --fw-blue-700: oklch(0.459 0.073 225.39);
  --fw-blue-750: oklch(0.400 0.069 224.42);
  --fw-blue-800: oklch(0.338 0.060 222.84);
  --fw-blue-850: oklch(0.271 0.048 220.31);
  --fw-blue-900: oklch(0.193 0.027 216.21);
  --fw-blue-950: oklch(0.080 0.000 207.35);
  /* gray */
  --fw-gray-50: oklch(1.070 0.002 -344.51);
  --fw-gray-100: oklch(1.028 0.000 211.88);
  --fw-gray-150: oklch(0.986 0.001 117.76);
  --fw-gray-200: oklch(0.943 0.004 17.22);
  --fw-gray-250: oklch(0.900 0.005 17.23);
  --fw-gray-300: oklch(0.856 0.006 17.25);
  --fw-gray-350: oklch(0.810 0.008 17.29);
  --fw-gray-400: oklch(0.764 0.008 17.33);
  --fw-gray-450: oklch(0.717 0.009 17.37);
  --fw-gray-500: oklch(0.669 0.010 17.40);
  --fw-gray-550: oklch(0.619 0.010 17.42);
  --fw-gray-600: oklch(0.568 0.010 17.43);
  --fw-gray-650: oklch(0.514 0.009 17.44);
  --fw-gray-700: oklch(0.459 0.009 17.46);
  --fw-gray-750: oklch(0.400 0.008 17.47);
  --fw-gray-800: oklch(0.338 0.007 17.48);
  --fw-gray-850: oklch(0.271 0.006 17.48);
  --fw-gray-900: oklch(0.193 0.003 17.48);
  --fw-gray-950: oklch(0.080 0.000 17.46);
  /* orange */
  --fw-orange-50: oklch(1.070 0.000 61.86);
  --fw-orange-100: oklch(1.028 0.000 58.35);
  --fw-orange-150: oklch(0.986 0.000 55.09);
  --fw-orange-200: oklch(0.943 0.000 52.10);
  --fw-orange-250: oklch(0.900 0.000 49.42);
  --fw-orange-300: oklch(0.856 0.039 47.05);
  --fw-orange-350: oklch(0.810 0.090 45.03);
  --fw-orange-400: oklch(0.764 0.133 43.38);
  --fw-orange-450: oklch(0.717 0.165 42.16);
  --fw-orange-500: oklch(0.669 0.185 41.39);
  --fw-orange-550: oklch(0.619 0.192 41.12);
  --fw-orange-600: oklch(0.568 0.181 41.68);
  --fw-orange-650: oklch(0.514 0.154 42.97);
  --fw-orange-700: oklch(0.459 0.122 44.39);
  --fw-orange-750: oklch(0.400 0.099 45.25);
  --fw-orange-800: oklch(0.338 0.083 45.77);
  --fw-orange-850: oklch(0.271 0.069 46.14);
  --fw-orange-900: oklch(0.193 0.059 46.10);
  --fw-orange-950: oklch(0.080 0.064 44.62);
  /* pastel-blue */
  --fw-pastel-blue-50: oklch(1.070 0.003 165.08);
  --fw-pastel-blue-100: oklch(1.028 0.000 171.15);
  --fw-pastel-blue-150: oklch(0.986 0.000 184.67);
  --fw-pastel-blue-200: oklch(0.943 0.001 196.92);
  --fw-pastel-blue-250: oklch(0.900 0.010 205.02);
  --fw-pastel-blue-300: oklch(0.856 0.029 212.26);
  --fw-pastel-blue-350: oklch(0.810 0.049 217.57);
  --fw-pastel-blue-400: oklch(0.764 0.060 219.73);
  --fw-pastel-blue-450: oklch(0.717 0.062 219.49);
  --fw-pastel-blue-500: oklch(0.669 0.064 218.85);
  --fw-pastel-blue-550: oklch(0.619 0.065 218.01);
  --fw-pastel-blue-600: oklch(0.568 0.064 217.22);
  --fw-pastel-blue-650: oklch(0.514 0.057 216.46);
  --fw-pastel-blue-700: oklch(0.459 0.047 215.46);
  --fw-pastel-blue-750: oklch(0.400 0.038 213.77);
  --fw-pastel-blue-800: oklch(0.338 0.029 210.07);
  --fw-pastel-blue-850: oklch(0.271 0.020 204.00);
  --fw-pastel-blue-900: oklch(0.193 0.009 195.31);
  --fw-pastel-blue-950: oklch(0.080 0.000 181.10);
  /* pastel-green */
  --fw-pastel-green-50: oklch(1.070 0.000 225.45);
  --fw-pastel-green-100: oklch(1.028 0.000 202.89);
  --fw-pastel-green-150: oklch(0.986 0.005 168.26);
  --fw-pastel-green-200: oklch(0.943 0.022 134.68);
  --fw-pastel-green-250: oklch(0.900 0.040 116.56);
  --fw-pastel-green-300: oklch(0.856 0.064 116.19);
  --fw-pastel-green-350: oklch(0.810 0.094 116.39);
  --fw-pastel-green-400: oklch(0.764 0.115 116.70);
  --fw-pastel-green-450: oklch(0.717 0.115 117.61);
  --fw-pastel-green-500: oklch(0.669 0.109 120.12);
  --fw-pastel-green-550: oklch(0.619 0.101 122.71);
  --fw-pastel-green-600: oklch(0.568 0.092 123.97);
  --fw-pastel-green-650: oklch(0.514 0.080 124.95);
  --fw-pastel-green-700: oklch(0.459 0.066 125.78);
  --fw-pastel-green-750: oklch(0.400 0.053 126.36);
  --fw-pastel-green-800: oklch(0.338 0.043 126.50);
  --fw-pastel-green-850: oklch(0.271 0.035 124.53);
  --fw-pastel-green-900: oklch(0.193 0.027 119.33);
  --fw-pastel-green-950: oklch(0.080 0.021 108.06);
  /* pastel-ochre */
  --fw-pastel-ochre-50: oklch(1.070 0.000 61.80);
  --fw-pastel-ochre-100: oklch(1.028 0.000 60.89);
  --fw-pastel-ochre-150: oklch(0.986 0.000 60.14);
  --fw-pastel-ochre-200: oklch(0.943 0.000 59.52);
  --fw-pastel-ochre-250: oklch(0.900 0.002 59.03);
  --fw-pastel-ochre-300: oklch(0.856 0.016 58.66);
  --fw-pastel-ochre-350: oklch(0.810 0.029 58.40);
  --fw-pastel-ochre-400: oklch(0.764 0.041 58.22);
  --fw-pastel-ochre-450: oklch(0.717 0.050 58.12);
  --fw-pastel-ochre-500: oklch(0.669 0.057 58.08);
  --fw-pastel-ochre-550: oklch(0.619 0.061 58.07);
  --fw-pastel-ochre-600: oklch(0.568 0.061 58.10);
  --fw-pastel-ochre-650: oklch(0.514 0.059 58.30);
  --fw-pastel-ochre-700: oklch(0.459 0.055 58.66);
  --fw-pastel-ochre-750: oklch(0.400 0.048 59.20);
  --fw-pastel-ochre-800: oklch(0.338 0.037 59.91);
  --fw-pastel-ochre-850: oklch(0.271 0.020 60.81);
  --fw-pastel-ochre-900: oklch(0.193 0.000 61.96);
  --fw-pastel-ochre-950: oklch(0.080 0.000 63.72);
  /* pastel-purple */
  --fw-pastel-purple-50: oklch(1.070 0.052 329.13);
  --fw-pastel-purple-100: oklch(1.028 0.040 329.71);
  --fw-pastel-purple-150: oklch(0.986 0.030 326.80);
  --fw-pastel-purple-200: oklch(0.943 0.025 323.47);
  --fw-pastel-purple-250: oklch(0.900 0.025 322.66);
  --fw-pastel-purple-300: oklch(0.856 0.035 322.68);
  --fw-pastel-purple-350: oklch(0.810 0.053 322.72);
  --fw-pastel-purple-400: oklch(0.764 0.073 322.76);
  --fw-pastel-purple-450: oklch(0.717 0.092 322.80);
  --fw-pastel-purple-500: oklch(0.669 0.102 322.82);
  --fw-pastel-purple-550: oklch(0.619 0.100 322.80);
  --fw-pastel-purple-600: oklch(0.568 0.089 322.72);
  --fw-pastel-purple-650: oklch(0.514 0.074 322.60);
  --fw-pastel-purple-700: oklch(0.459 0.061 322.46);
  --fw-pastel-purple-750: oklch(0.400 0.050 322.27);
  --fw-pastel-purple-800: oklch(0.338 0.040 321.99);
  --fw-pastel-purple-850: oklch(0.271 0.029 321.62);
  --fw-pastel-purple-900: oklch(0.193 0.017 321.11);
  --fw-pastel-purple-950: oklch(0.080 0.003 320.25);
  /* pastel-red */
  --fw-pastel-red-50: oklch(1.070 0.025 18.05);
  --fw-pastel-red-100: oklch(1.028 0.023 17.72);
  --fw-pastel-red-150: oklch(0.986 0.022 17.57);
  --fw-pastel-red-200: oklch(0.943 0.023 17.56);
  --fw-pastel-red-250: oklch(0.900 0.033 17.79);
  --fw-pastel-red-300: oklch(0.856 0.048 18.13);
  --fw-pastel-red-350: oklch(0.810 0.067 18.63);
  --fw-pastel-red-400: oklch(0.764 0.090 19.55);
  --fw-pastel-red-450: oklch(0.717 0.120 21.00);
  --fw-pastel-red-500: oklch(0.669 0.149 22.64);
  --fw-pastel-red-550: oklch(0.619 0.172 24.06);
  --fw-pastel-red-600: oklch(0.568 0.179 24.78);
  --fw-pastel-red-650: oklch(0.514 0.170 25.06);
  --fw-pastel-red-700: oklch(0.459 0.152 25.27);
  --fw-pastel-red-750: oklch(0.400 0.132 25.50);
  --fw-pastel-red-800: oklch(0.338 0.109 25.79);
  --fw-pastel-red-850: oklch(0.271 0.079 26.11);
  --fw-pastel-red-900: oklch(0.193 0.039 26.49);
  --fw-pastel-red-950: oklch(0.080 0.000 27.05);
  /* pastel-yellow */
  --fw-pastel-yellow-50: oklch(1.070 0.028 82.74);
  --fw-pastel-yellow-100: oklch(1.028 0.101 83.83);
  --fw-pastel-yellow-150: oklch(0.986 0.130 84.90);
  --fw-pastel-yellow-200: oklch(0.943 0.129 85.88);
  --fw-pastel-yellow-250: oklch(0.900 0.111 86.68);
  --fw-pastel-yellow-300: oklch(0.856 0.091 87.18);
  --fw-pastel-yellow-350: oklch(0.810 0.085 87.26);
  --fw-pastel-yellow-400: oklch(0.764 0.089 86.55);
  --fw-pastel-yellow-450: oklch(0.717 0.096 85.18);
  --fw-pastel-yellow-500: oklch(0.669 0.105 83.49);
  --fw-pastel-yellow-550: oklch(0.619 0.114 81.86);
  --fw-pastel-yellow-600: oklch(0.568 0.120 80.74);
  --fw-pastel-yellow-650: oklch(0.514 0.121 80.55);
  --fw-pastel-yellow-700: oklch(0.459 0.115 80.81);
  --fw-pastel-yellow-750: oklch(0.400 0.104 81.43);
  --fw-pastel-yellow-800: oklch(0.338 0.086 82.57);
  --fw-pastel-yellow-850: oklch(0.271 0.062 84.44);
  --fw-pastel-yellow-900: oklch(0.193 0.029 87.51);
  --fw-pastel-yellow-950: oklch(0.080 0.000 94.12);
  /* red */
  --fw-red-50: oklch(1.070 0.007 23.64);
  --fw-red-100: oklch(1.028 0.005 24.21);
  --fw-red-150: oklch(0.986 0.007 24.79);
  --fw-red-200: oklch(0.943 0.013 25.37);
  --fw-red-250: oklch(0.900 0.023 25.96);
  --fw-red-300: oklch(0.856 0.035 26.55);
  --fw-red-350: oklch(0.810 0.051 27.15);
  --fw-red-400: oklch(0.764 0.075 27.83);
  --fw-red-450: oklch(0.717 0.109 28.60);
  --fw-red-500: oklch(0.669 0.146 29.36);
  --fw-red-550: oklch(0.619 0.179 29.99);
  --fw-red-600: oklch(0.568 0.196 30.36);
  --fw-red-650: oklch(0.514 0.197 30.45);
  --fw-red-700: oklch(0.459 0.200 30.35);
  --fw-red-750: oklch(0.400 0.210 29.78);
  --fw-red-800: oklch(0.338 0.230 28.64);
  --fw-red-850: oklch(0.271 0.263 26.80);
  --fw-red-900: oklch(0.193 0.313 23.97);
  --fw-red-950: oklch(0.080 0.407 18.51);
  /* pink */
  --fw-pink-50: oklch(1.070 0.164 378.03);
  --fw-pink-100: oklch(1.028 0.177 376.46);
  --fw-pink-150: oklch(0.986 0.191 374.86);
  --fw-pink-200: oklch(0.943 0.205 373.24);
  --fw-pink-250: oklch(0.900 0.219 371.59);
  --fw-pink-300: oklch(0.856 0.233 369.91);
  --fw-pink-350: oklch(0.810 0.248 368.19);
  --fw-pink-400: oklch(0.764 0.263 366.45);
  --fw-pink-450: oklch(0.717 0.278 364.66);
  --fw-pink-500: oklch(0.669 0.293 362.82);
  --fw-pink-550: oklch(0.619 0.309 360.94);
  --fw-pink-600: oklch(0.568 0.326 358.99);
  --fw-pink-650: oklch(0.514 0.343 356.98);
  --fw-pink-700: oklch(0.459 0.361 354.87);
  --fw-pink-750: oklch(0.400 0.380 352.66);
  --fw-pink-800: oklch(0.338 0.400 350.30);
  --fw-pink-850: oklch(0.271 0.422 347.74);
  --fw-pink-900: oklch(0.193 0.446 344.81);
  --fw-pink-950: oklch(0.080 0.483 340.52);
}

/**
* Apply default light/dark theme colors
*/
@layer document {
  body {
    color: var(--color-700);
    background-color: var(--color-100);
  }
  :root {
      background-color: var(--color-100);
  }
}

/**
* Apply theme-specific colors to semantic situations.
*
* Use in components or styles (Example has a contrast ratio of ca. 4.5:1):
* ```css
*  background: var(--color-50);
*  color: var(--color-500);
* ```
*
* The number represents the approximate contrast against a white or black background.
* @reference Use `light-dark` to target both light and dark backgrounds at once: https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value/light-dark
* * `--color-*-100` is suitable as a background color.
* * `--color-*-400` has a contrast of approx. 3:1 over a background of 100, and is therefore usable for outlines and other essential non-text content according to WCAG2.
* * `--color-*-550+` has suitable contrast for high-visibility items such as small text.
* * If you use `--color-background-200` as a background color, then add 100 to all contrasting colors.
*
* On a dark background, higher numbers are brighter.
*/
@layer system {
  /* Named default scale - available regardless of class */
  :root {
    --color-default-50: light-dark(var(--fw-gray-50), var(--fw-gray-950));
    --color-default-100: light-dark(var(--fw-gray-100), var(--fw-gray-900));
    --color-default-150: light-dark(var(--fw-gray-150), var(--fw-gray-850));
    --color-default-200: light-dark(var(--fw-gray-200), var(--fw-gray-800));
    --color-default-250: light-dark(var(--fw-gray-250), var(--fw-gray-750));
    --color-default-300: light-dark(var(--fw-gray-300), var(--fw-gray-700));
    --color-default-350: light-dark(var(--fw-gray-350), var(--fw-gray-650));
    --color-default-400: light-dark(var(--fw-gray-400), var(--fw-gray-600));
    --color-default-450: light-dark(var(--fw-gray-450), var(--fw-gray-550));
    --color-default-500: light-dark(var(--fw-gray-500), var(--fw-gray-500));
    --color-default-550: light-dark(var(--fw-gray-550), var(--fw-gray-450));
    --color-default-600: light-dark(var(--fw-gray-600), var(--fw-gray-400));
    --color-default-650: light-dark(var(--fw-gray-650), var(--fw-gray-350));
    --color-default-700: light-dark(var(--fw-gray-700), var(--fw-gray-300));
    --color-default-750: light-dark(var(--fw-gray-750), var(--fw-gray-250));
    --color-default-800: light-dark(var(--fw-gray-800), var(--fw-gray-200));
    --color-default-850: light-dark(var(--fw-gray-850), var(--fw-gray-150));
    --color-default-900: light-dark(var(--fw-gray-900), var(--fw-gray-100));
    --color-default-950: light-dark(var(--fw-gray-950), var(--fw-gray-50));

    --color-shadow: light-dark(rgba(0,0,0,.3), rgba(0,0,0,.8));
  }

  /* Default color values */
  :root,
  .color-default, .color-default-solid, .color-default-ghost {
    --color-50: var(--color-default-50);
    --color-100: var(--color-default-100);
    --color-150: var(--color-default-150);
    --color-200: var(--color-default-200);
    --color-250: var(--color-default-250);
    --color-300: var(--color-default-300);
    --color-350: var(--color-default-350);
    --color-400: var(--color-default-400);
    --color-450: var(--color-default-450);
    --color-500: var(--color-default-500);
    --color-550: var(--color-default-550);
    --color-600: var(--color-default-600);
    --color-650: var(--color-default-650);
    --color-700: var(--color-default-700);
    --color-750: var(--color-default-750);
    --color-800: var(--color-default-800);
    --color-850: var(--color-default-850);
    --color-900: var(--color-default-900);
    --color-950: var(--color-default-950);

    --color-background: var(--color-200);
    --color-foreground: var(--color-750);

    /* Copy button colors */
    --color-background-active: var(--color-300);
    --color-foreground-active: var(--color-850);
    --color-background-pressed: var(--color-600);
    --color-foreground-pressed: var(--color-50);

    /* Tag colors */
    /* Dropdown Menu hover color*/
    --color-background-hover: var(--color-250);
    --color-foreground-hover: var(--color-800);

    --color-background-selected: light-dark(var(--color-850), var(--color-50));
    --color-foreground-selected: light-dark(var(--color-50), var(--color-850));

    --color-background-editing: light-dark(var(--fw-orange-500), var(--fw-orange-500));
    --color-foreground-editing: light-dark(var(--fw-orange-150), var(--fw-orange-50));
    /*---*/

    --color-link: light-dark(var(--fw-pastel-blue-550), var(--fw-pastel-blue-450));
    --color-link-hover: light-dark(var(--fw-pastel-blue-600), var(--fw-pastel-blue-400));
    --color-link-active: light-dark(var(--fw-pastel-blue-650), var(--fw-pastel-blue-350));

    --color-focus: light-dark(var(--fw-blue-400), var(--fw-blue-600));
    /*End TODO*/

    /* Set foreground shade */
    color: var(--color-foreground-850);

    /* Set background shade for solids and ghosts */
    &[class*='solid']{
      background-color: var(--color-background-200);
      &[ui-sunken] {
              background-color: var(--color-150);
          }
        &[ui-raised] {
            background-color: var(--color-300);
        }
    }

    /* Set varied shades for interactive states */
    &:is(a, button, select, [ui-interactive]) {
        &:hover, &:focus-visible {
            color: var(--color-foreground-750);
            background-color: var(--color-background-250);
            &[ui-raised] {
                background-color: var(--color-400);
            }

            &:active:hover, &:focus-visible:hover, &:focus-visible:active {
                color: var(--color-foreground-750);
                background-color: var(--color-background-350);
            }
        }
        &:is([aria-pressed="true"], [aria-expanded="true"], [aria-selected="true"], [aria-checked="true"], [aria-current]:not([aria-current="false"]):not([aria-current="page"])) {
            color: var(--color-foreground-50);
            background-color: var(--color-background-600);

            &:hover:not(:active){
                color: var(--color-foreground-150);
                background-color: var(--color-background-750);
            }
        }

        &[aria-current="page"] {
            color: var(--color-foreground-900);
            background-color: var(--color-background-300);
        }
    }
  }

  :is(.color-destructive, .color-primary, .color-accent) {
    --color-background: light-dark(var(--color-550), var(--color-350));
    --color-foreground: light-dark(var(--color-150), var(--color-900));

    --color-background-hover: light-dark(var(--color-600), var(--color-400));
    --color-foreground-hover: light-dark(var(--color-150), var(--color-950));

    --color-background-active: light-dark(var(--color-650), var(--color-300));
    --color-foreground-active: light-dark(var(--color-200), var(--color-800));

    --color-background-pressed: light-dark(var(--color-950), var(--color-50));
    --color-foreground-pressed: light-dark(var(--color-400), var(--color-600));
  }

  /* Accent */
  .color-accent, .color-accent-solid, .color-accent-ghost {
    --color-50: light-dark(var(--fw-orange-50), var(--fw-orange-950));
    --color-100: light-dark(var(--fw-orange-100), var(--fw-orange-900));
    --color-150: light-dark(var(--fw-orange-150), var(--fw-orange-850));
    --color-200: light-dark(var(--fw-orange-200), var(--fw-orange-800));
    --color-250: light-dark(var(--fw-orange-250), var(--fw-orange-750));
    --color-300: light-dark(var(--fw-orange-300), var(--fw-orange-700));
    --color-350: light-dark(var(--fw-orange-350), var(--fw-orange-650));
    --color-400: light-dark(var(--fw-orange-400), var(--fw-orange-600));
    --color-450: light-dark(var(--fw-orange-450), var(--fw-orange-550));
    --color-500: light-dark(var(--fw-orange-500), var(--fw-orange-500));
    --color-550: light-dark(var(--fw-orange-550), var(--fw-orange-450));
    --color-600: light-dark(var(--fw-orange-600), var(--fw-orange-400));
    --color-650: light-dark(var(--fw-orange-650), var(--fw-orange-350));
    --color-700: light-dark(var(--fw-orange-700), var(--fw-orange-300));
    --color-750: light-dark(var(--fw-orange-750), var(--fw-orange-250));
    --color-800: light-dark(var(--fw-orange-800), var(--fw-orange-200));
    --color-850: light-dark(var(--fw-orange-850), var(--fw-orange-150));
    --color-900: light-dark(var(--fw-orange-900), var(--fw-orange-100));
    --color-950: light-dark(var(--fw-orange-950), var(--fw-orange-50));

    /* Set foreground shade */
    color: var(--color-foreground-500);

    /* Set background shade for solids and ghosts */
    &[class*='solid'], &[class*='ghost'] {
        background-color: var(--color-background-200);
    }

    /* Set varied shades for interactive states */
    &:is(a, button, select, [ui-interactive]) {
        &:hover, &:focus-visible {
            color: var(--color-foreground-650);
            background-color: var(--color-background-450);

            &:focus-visible {
                color: var(--color-foreground-800);
                background-color: var(--color-background-400);
            }

            &:active:hover, &:focus-visible:hover, &:focus-visible:active {
                color: var(--color-foreground-750);
                background-color: var(--color-background-300);
            }

        }
            &:is([aria-pressed=true], [aria-expanded=true], [aria-selected=true], [aria-checked=true], [aria-current]:not([aria-current=false])):is([class*='ghost']) {
                color: var(--color-foreground-50);
                background-color: var(--color-background-600);

                &:hover:not(:active){
                    color: var(--color-foreground-150);
                    background-color: var(--color-background-750);
                }
            }
    }
  }

  /* Blue */
  .color-blue, .color-blue-solid, .color-blue-ghost, .color-blue-deep-solid, .color-blue-deep-ghost {
    --color-50: light-dark(var(--fw-pastel-blue-50), var(--fw-pastel-blue-950));
    --color-100: light-dark(var(--fw-pastel-blue-100), var(--fw-pastel-blue-900));
    --color-150: light-dark(var(--fw-pastel-blue-150), var(--fw-pastel-blue-850));
    --color-200: light-dark(var(--fw-pastel-blue-200), var(--fw-pastel-blue-800));
    --color-250: light-dark(var(--fw-pastel-blue-250), var(--fw-pastel-blue-750));
    --color-300: light-dark(var(--fw-pastel-blue-300), var(--fw-pastel-blue-700));
    --color-350: light-dark(var(--fw-pastel-blue-350), var(--fw-pastel-blue-650));
    --color-400: light-dark(var(--fw-pastel-blue-400), var(--fw-pastel-blue-600));
    --color-450: light-dark(var(--fw-pastel-blue-450), var(--fw-pastel-blue-550));
    --color-500: light-dark(var(--fw-pastel-blue-500), var(--fw-pastel-blue-500));
    --color-550: light-dark(var(--fw-pastel-blue-550), var(--fw-pastel-blue-450));
    --color-600: light-dark(var(--fw-pastel-blue-600), var(--fw-pastel-blue-400));
    --color-650: light-dark(var(--fw-pastel-blue-650), var(--fw-pastel-blue-350));
    --color-700: light-dark(var(--fw-pastel-blue-700), var(--fw-pastel-blue-300));
    --color-750: light-dark(var(--fw-pastel-blue-750), var(--fw-pastel-blue-250));
    --color-800: light-dark(var(--fw-pastel-blue-800), var(--fw-pastel-blue-200));
    --color-850: light-dark(var(--fw-pastel-blue-850), var(--fw-pastel-blue-150));
    --color-900: light-dark(var(--fw-pastel-blue-900), var(--fw-pastel-blue-100));
    --color-950: light-dark(var(--fw-pastel-blue-950), var(--fw-pastel-blue-50));

    /* Set foreground shade */
    color: var(--color-foreground-650);

    &[class*='deep'] {
        color: var(--color-foreground-900);
    }

    /* Set background shade for solids and ghosts */
    &[class*='solid'], &[class*='ghost'] {
        background-color: light-dark(var(--color-background-250), var(--color-background-200));
        &[ui-sunken] {
                background-color: var(--color-150);
            }
        &[ui-raised] {
            background-color: var(--color-350);
        }

        &[class*='deep'] {
            background-color: var(--color-background-600);
        }
    }

    /* Set varied shades for interactive states */
    &:is(a, button, select, [ui-interactive]) {
        &:hover, &:focus-visible {
            color: var(--color-foreground-650);
            background-color: var(--color-background-250);
            &[ui-sunken] {
                background-color: var(--color-150);
            }
            &[ui-raised] {
                background-color: var(--color-450);
            }

            &:focus-visible {
                color: var(--color-foreground-800);
                background-color: var(--color-background-400);
            }

            &:active:hover, &:focus-visible:hover, &:focus-visible:active {
                color: var(--color-foreground-750);
                background-color: var(--color-background-300);
            }

        }
            &:is([aria-pressed=true], [aria-expanded=true], [aria-selected=true], [aria-checked=true], [aria-current]:not([aria-current=false])) {
                color: var(--color-foreground-50);
                background-color: var(--color-background-600);

                &:hover:not(:active){
                    color: var(--color-foreground-150);
                    background-color: var(--color-background-750);
                }
            }
    }
  }

  .color-destructive, .color-destructive-solid, .color-destructive-ghost {
    --color-50: light-dark(var(--fw-red-50), var(--fw-red-950));
    --color-100: light-dark(var(--fw-red-100), var(--fw-red-900));
    --color-150: light-dark(var(--fw-red-150), var(--fw-red-850));
    --color-200: light-dark(var(--fw-red-200), var(--fw-red-800));
    --color-250: light-dark(var(--fw-red-250), var(--fw-red-750));
    --color-300: light-dark(var(--fw-red-300), var(--fw-red-700));
    --color-350: light-dark(var(--fw-red-350), var(--fw-red-650));
    --color-400: light-dark(var(--fw-red-400), var(--fw-red-600));
    --color-450: light-dark(var(--fw-red-450), var(--fw-red-550));
    --color-500: light-dark(var(--fw-red-500), var(--fw-red-500));
    --color-550: light-dark(var(--fw-red-550), var(--fw-red-450));
    --color-600: light-dark(var(--fw-red-600), var(--fw-red-400));
    --color-650: light-dark(var(--fw-red-650), var(--fw-red-350));
    --color-700: light-dark(var(--fw-red-700), var(--fw-red-300));
    --color-750: light-dark(var(--fw-red-750), var(--fw-red-250));
    --color-800: light-dark(var(--fw-red-800), var(--fw-red-200));
    --color-850: light-dark(var(--fw-red-850), var(--fw-red-150));
    --color-900: light-dark(var(--fw-red-900), var(--fw-red-100));
    --color-950: light-dark(var(--fw-red-950), var(--fw-red-50));

    --color-link: light-dark(var(--fw-pastel-yellow-50), var(--fw-pastel-yellow-950));
    --color-link-hover: light-dark(var(--fw-pastel-yellow-100), var(--fw-pastel-yellow-900));
    --color-link-active: light-dark(var(--fw-pastel-yellow-50), var(--fw-pastel-yellow-950));

    /* Set foreground shade */
    color: var(--color-foreground-650);

    /* Set background shade for solids and ghosts */
    &[class*='ghost'] {
        background-color: var(--color-background-500);
        color: light-dark(var(--color-foreground-550), var(--color-foreground-500));
    }

    &[class*='solid'] {
        background-color: light-dark(var(--color-background-500), var(--color-background-650));
        color: light-dark(var(--color-foreground-850), var(--color-foreground-200));
    }

    /* Set varied shades for interactive states */
    &:is(a, button, select, [ui-interactive]) {
        &:hover, &:focus-visible {
            color: var(--color-foreground-50);
            background-color: var(--color-background-600);

            &:active:hover, &:focus-visible:hover, &:focus-visible:active {
                color: var(--color-foreground-750);
                background-color: var(--color-background-350);
            }

        }
            &:is([aria-pressed=true], [aria-expanded=true], [aria-selected=true], [aria-checked=true], [aria-current]:not([aria-current=false])) {
                color: var(--color-foreground-50);
                background-color: var(--color-background-600);

                &:hover:not(:active){
                    color: var(--color-foreground-150);
                    background-color: var(--color-background-750);
                }
            }
    }
  }

  /* Green */
  .color-green, .color-green-deep-solid, .color-green-deep-ghost, .color-green-solid, .color-green-ghost {
    --color-50: light-dark(var(--fw-pastel-green-50), var(--fw-pastel-green-950));
    --color-100: light-dark(var(--fw-pastel-green-100), var(--fw-pastel-green-900));
    --color-150: light-dark(var(--fw-pastel-green-150), var(--fw-pastel-green-850));
    --color-200: light-dark(var(--fw-pastel-green-200), var(--fw-pastel-green-800));
    --color-250: light-dark(var(--fw-pastel-green-250), var(--fw-pastel-green-750));
    --color-300: light-dark(var(--fw-pastel-green-300), var(--fw-pastel-green-700));
    --color-350: light-dark(var(--fw-pastel-green-350), var(--fw-pastel-green-650));
    --color-400: light-dark(var(--fw-pastel-green-400), var(--fw-pastel-green-600));
    --color-450: light-dark(var(--fw-pastel-green-450), var(--fw-pastel-green-550));
    --color-500: light-dark(var(--fw-pastel-green-500), var(--fw-pastel-green-500));
    --color-550: light-dark(var(--fw-pastel-green-550), var(--fw-pastel-green-450));
    --color-600: light-dark(var(--fw-pastel-green-600), var(--fw-pastel-green-400));
    --color-650: light-dark(var(--fw-pastel-green-650), var(--fw-pastel-green-350));
    --color-700: light-dark(var(--fw-pastel-green-700), var(--fw-pastel-green-300));
    --color-750: light-dark(var(--fw-pastel-green-750), var(--fw-pastel-green-250));
    --color-800: light-dark(var(--fw-pastel-green-800), var(--fw-pastel-green-200));
    --color-850: light-dark(var(--fw-pastel-green-850), var(--fw-pastel-green-150));
    --color-900: light-dark(var(--fw-pastel-green-900), var(--fw-pastel-green-100));
    --color-950: light-dark(var(--fw-pastel-green-950), var(--fw-pastel-green-50));

    /* Set foreground shade */
    color: var(--color-foreground-700);

    &[class*='deep'] {
        color: var(--color-foreground-900);
    }

    /* Set background shade for solids and ghosts */
    &[class*='solid'], &[class*='ghost'] {
        background-color: var(--color-background-200);

        &[class*='deep'] {
            background-color: var(--color-background-500);
        }
    }

    /* Set varied shades for interactive states */
    &:is(a, button, select, [ui-interactive]) {
        &:hover, &:focus-visible {
            color: var(--color-foreground-650);
            background-color: var(--color-background-450);

            &:focus-visible {
                color: var(--color-foreground-800);
                background-color: var(--color-background-400);
            }

            &:active:hover, &:focus-visible:hover, &:focus-visible:active {
                color: var(--color-foreground-750);
                background-color: var(--color-background-300);
            }

        }
            &:is([aria-pressed=true], [aria-expanded=true], [aria-selected=true], [aria-checked=true], [aria-current]:not([aria-current=false])) {
                color: var(--color-foreground-50);
                background-color: var(--color-background-600);

                &:hover:not(:active){
                    color: var(--color-foreground-150);
                    background-color: var(--color-background-750);
                }
            }
    }
  }

  /* Ochre (reddish gray) */
  .color-ochre, .color-ochre-deep-ghost, .color-ochre-deep-solid, .color-ochre-solid, .color-ochre-ghost {
    --color-50: light-dark(var(--fw-pastel-ochre-50), var(--fw-pastel-ochre-950));
    --color-100: light-dark(var(--fw-pastel-ochre-100), var(--fw-pastel-ochre-900));
    --color-150: light-dark(var(--fw-pastel-ochre-150), var(--fw-pastel-ochre-850));
    --color-200: light-dark(var(--fw-pastel-ochre-200), var(--fw-pastel-ochre-800));
    --color-250: light-dark(var(--fw-pastel-ochre-250), var(--fw-pastel-ochre-750));
    --color-300: light-dark(var(--fw-pastel-ochre-300), var(--fw-pastel-ochre-700));
    --color-350: light-dark(var(--fw-pastel-ochre-350), var(--fw-pastel-ochre-650));
    --color-400: light-dark(var(--fw-pastel-ochre-400), var(--fw-pastel-ochre-600));
    --color-450: light-dark(var(--fw-pastel-ochre-450), var(--fw-pastel-ochre-550));
    --color-500: light-dark(var(--fw-pastel-ochre-500), var(--fw-pastel-ochre-500));
    --color-550: light-dark(var(--fw-pastel-ochre-550), var(--fw-pastel-ochre-450));
    --color-600: light-dark(var(--fw-pastel-ochre-600), var(--fw-pastel-ochre-400));
    --color-650: light-dark(var(--fw-pastel-ochre-650), var(--fw-pastel-ochre-350));
    --color-700: light-dark(var(--fw-pastel-ochre-700), var(--fw-pastel-ochre-300));
    --color-750: light-dark(var(--fw-pastel-ochre-750), var(--fw-pastel-ochre-250));
    --color-800: light-dark(var(--fw-pastel-ochre-800), var(--fw-pastel-ochre-200));
    --color-850: light-dark(var(--fw-pastel-ochre-850), var(--fw-pastel-ochre-150));
    --color-900: light-dark(var(--fw-pastel-ochre-900), var(--fw-pastel-ochre-100));
    --color-950: light-dark(var(--fw-pastel-ochre-950), var(--fw-pastel-ochre-50));

    /* Set foreground shade */
    color: var(--color-foreground-700);

    &[class*='deep'] {
        color: var(--color-foreground-950);
    }

    /* Set background shade for solids and ghosts */
    &[class*='solid'], &[class*='ghost'] {
        background-color: var(--color-background-250);

        &[class*='deep'] {
            background-color: light-dark(var(--color-background-550), var(--color-background-350));
            color: var(--color-150);
        }
    }

    /* Set varied shades for interactive states */
    &:is(a, button, select, [ui-interactive]) {
        &:hover, &:focus-visible {
            color: var(--color-foreground-650);
            background-color: var(--color-background-450);

            &:focus-visible {
                color: var(--color-foreground-800);
                background-color: var(--color-background-400);
            }

            &:active:hover, &:focus-visible:hover, &:focus-visible:active {
                color: var(--color-foreground-750);
                background-color: var(--color-background-300);
            }

        }
            &:is([aria-pressed=true], [aria-expanded=true], [aria-selected=true], [aria-checked=true], [aria-current]:not([aria-current=false])) {
                color: var(--color-foreground-50);
                background-color: var(--color-background-600);

                &:hover:not(:active){
                    color: var(--color-foreground-150);
                    background-color: var(--color-background-750);
                }
            }
    }
  }

  /* Primary */
  .color-primary, .color-primary-solid, .color-primary-ghost {
    --color-50: light-dark(var(--fw-blue-50), var(--fw-blue-950));
    --color-100: light-dark(var(--fw-blue-100), var(--fw-blue-900));
    --color-150: light-dark(var(--fw-blue-150), var(--fw-blue-850));
    --color-200: light-dark(var(--fw-blue-200), var(--fw-blue-800));
    --color-250: light-dark(var(--fw-blue-250), var(--fw-blue-750));
    --color-300: light-dark(var(--fw-blue-300), var(--fw-blue-700));
    --color-350: light-dark(var(--fw-blue-350), var(--fw-blue-650));
    --color-400: light-dark(var(--fw-blue-400), var(--fw-blue-600));
    --color-450: light-dark(var(--fw-blue-450), var(--fw-blue-550));
    --color-500: light-dark(var(--fw-blue-500), var(--fw-blue-500));
    --color-550: light-dark(var(--fw-blue-550), var(--fw-blue-450));
    --color-600: light-dark(var(--fw-blue-600), var(--fw-blue-400));
    --color-650: light-dark(var(--fw-blue-650), var(--fw-blue-350));
    --color-700: light-dark(var(--fw-blue-700), var(--fw-blue-300));
    --color-750: light-dark(var(--fw-blue-750), var(--fw-blue-250));
    --color-800: light-dark(var(--fw-blue-800), var(--fw-blue-200));
    --color-850: light-dark(var(--fw-blue-850), var(--fw-blue-150));
    --color-900: light-dark(var(--fw-blue-900), var(--fw-blue-100));
    --color-950: light-dark(var(--fw-blue-950), var(--fw-blue-50));

    --color-link: light-dark(var(--fw-blue-50), var(--fw-blue-950));
    --color-link-hover: light-dark(var(--fw-blue-100), var(--fw-blue-900));
    --color-link-active: light-dark(var(--fw-blue-50), var(--fw-blue-950));

    --color-focus: light-dark(var(--fw-blue-450), var(--fw-blue-550));

    /* Set foreground shade */
    color: var(--color-foreground-550);

    /* Set background shade for solids and ghosts. Note that background-color is transparent when not .ghost:hover */
    &[class*='solid'], &[class*='ghost']:hover{
        background-color: light-dark(var(--color-background-500), var(--color-background-650));
        &[ui-sunken] {
                background-color: var(--color-150);
            }

        color: light-dark(var(--color-foreground-850), var(--color-foreground-100));

    }

    /* Set varied shades for interactive states */
    &:is(a, button, select, [ui-interactive]) {
        &:is(:hover, :focus-visible) {
          color: var(--color-foreground-750);
        }
        &:is([class*='solid'], [class*='ghost']):is(:hover, :focus-visible) {
            color: light-dark(var(--color-foreground-750), var(--color-foreground-150));
            background-color: light-dark(var(--color-background-400), var(--color-background-550));
            &[ui-sunken] {
                background-color: var(--color-150);
            }
            &[ui-raised] {
                background-color: light-dark(var(--color-background-550), var(--color-background-600));  ;
            }

            &:active:hover, &:focus-visible:hover, &:focus-visible:active {
                color: var(--color-foreground-750);
                background-color: var(--color-background-350);
            }

        }
            &:is([aria-pressed=true], [aria-expanded=true], [aria-selected=true], [aria-checked=true], [aria-current]:not([aria-current=false])) {
                color: var(--color-foreground-50);
                background-color: var(--color-background-600);

                &:hover:not(:active){
                    color: var(--color-foreground-150);
                    background-color: var(--color-background-750);
                }
            }
    }
    }

    /* pink */
    .color-pink, .color-pink-deep-solid, .color-pink-deep-ghost, .color-pink-solid, .color-pink-ghost {
        --color-50: light-dark(var(--fw-pink-50), var(--fw-pink-950));
        --color-100: light-dark(var(--fw-pink-100), var(--fw-pink-900));
        --color-150: light-dark(var(--fw-pink-150), var(--fw-pink-850));
        --color-200: light-dark(var(--fw-pink-200), var(--fw-pink-800));
        --color-250: light-dark(var(--fw-pink-250), var(--fw-pink-750));
        --color-300: light-dark(var(--fw-pink-300), var(--fw-pink-700));
        --color-350: light-dark(var(--fw-pink-350), var(--fw-pink-650));
        --color-400: light-dark(var(--fw-pink-400), var(--fw-pink-600));
        --color-450: light-dark(var(--fw-pink-450), var(--fw-pink-550));
        --color-500: light-dark(var(--fw-pink-500), var(--fw-pink-500));
        --color-550: light-dark(var(--fw-pink-550), var(--fw-pink-450));
        --color-600: light-dark(var(--fw-pink-600), var(--fw-pink-400));
        --color-650: light-dark(var(--fw-pink-650), var(--fw-pink-350));
        --color-700: light-dark(var(--fw-pink-700), var(--fw-pink-300));
        --color-750: light-dark(var(--fw-pink-750), var(--fw-pink-250));
        --color-800: light-dark(var(--fw-pink-800), var(--fw-pink-200));
        --color-850: light-dark(var(--fw-pink-850), var(--fw-pink-150));
        --color-900: light-dark(var(--fw-pink-900), var(--fw-pink-100));
        --color-950: light-dark(var(--fw-pink-950), var(--fw-pink-50));

        /* Set foreground shade */
        color: var(--color-foreground-700);

        &[class*='deep'] {
            color: var(--color-foreground-950);
        }

        /* Set background shade for solids and ghosts */
        &[class*='solid'], &[class*='ghost'] {
            background-color: var(--color-background-200);

            &[class*='deep'] {
                background-color: light-dark(var(--color-background-550), var(--color-background-350));
                color: var(--color-150);
            }
        }

        /* Set varied shades for interactive states */
        &:is(a, button, select, [ui-interactive]) {
            &:hover, &:focus-visible {
                color: var(--color-foreground-650);
                background-color: var(--color-background-450);

                &:focus-visible {
                    color: var(--color-foreground-800);
                    background-color: var(--color-background-400);
                }

                &:active:hover, &:focus-visible:hover, &:focus-visible:active {
                    color: var(--color-foreground-750);
                    background-color: var(--color-background-300);
                }

            }
                &:is([aria-pressed=true], [aria-expanded=true], [aria-selected=true], [aria-checked=true], [aria-current]:not([aria-current=false])) {
                    color: var(--color-foreground-50);
                    background-color: var(--color-background-600);

                    &:hover:not(:active){
                        color: var(--color-foreground-150);
                        background-color: var(--color-background-750);
                    }
                }
        }
  }

  /*Correction: Primary foreground on dark background has higher contrast*/
    :is([class*="-deep-"], [class*="color-primary"], [class*="color-destructive"]) :is([class*="color-primary"]) {
      color: var(--color-foreground-800);
  }

  /* Purple */
  .color-purple, .color-purple-deep-solid, .color-purple-deep-ghost, .color-purple-solid, .color-purple-ghost {
    --color-50: light-dark(var(--fw-pastel-purple-50), var(--fw-pastel-purple-950));
    --color-100: light-dark(var(--fw-pastel-purple-100), var(--fw-pastel-purple-900));
    --color-150: light-dark(var(--fw-pastel-purple-150), var(--fw-pastel-purple-850));
    --color-200: light-dark(var(--fw-pastel-purple-200), var(--fw-pastel-purple-800));
    --color-250: light-dark(var(--fw-pastel-purple-250), var(--fw-pastel-purple-750));
    --color-300: light-dark(var(--fw-pastel-purple-300), var(--fw-pastel-purple-700));
    --color-350: light-dark(var(--fw-pastel-purple-350), var(--fw-pastel-purple-650));
    --color-400: light-dark(var(--fw-pastel-purple-400), var(--fw-pastel-purple-600));
    --color-450: light-dark(var(--fw-pastel-purple-450), var(--fw-pastel-purple-550));
    --color-500: light-dark(var(--fw-pastel-purple-500), var(--fw-pastel-purple-500));
    --color-550: light-dark(var(--fw-pastel-purple-550), var(--fw-pastel-purple-450));
    --color-600: light-dark(var(--fw-pastel-purple-600), var(--fw-pastel-purple-400));
    --color-650: light-dark(var(--fw-pastel-purple-650), var(--fw-pastel-purple-350));
    --color-700: light-dark(var(--fw-pastel-purple-700), var(--fw-pastel-purple-300));
    --color-750: light-dark(var(--fw-pastel-purple-750), var(--fw-pastel-purple-250));
    --color-800: light-dark(var(--fw-pastel-purple-800), var(--fw-pastel-purple-200));
    --color-850: light-dark(var(--fw-pastel-purple-850), var(--fw-pastel-purple-150));
    --color-900: light-dark(var(--fw-pastel-purple-900), var(--fw-pastel-purple-100));
    --color-950: light-dark(var(--fw-pastel-purple-950), var(--fw-pastel-purple-50));

    /* Set foreground shade */
    color: var(--color-foreground-700);

    &[class*='deep'] {
        color: var(--color-foreground-900);
    }

    /* Set background shade for solids and ghosts */
    &[class*='solid'], &[class*='ghost'] {
        background-color: var(--color-background-200);

        &[class*='deep'] {
            background-color: var(--color-background-500);
        }
    }

    /* Set varied shades for interactive states */
    &:is(a, button, select, [ui-interactive]) {
        &:hover, &:focus-visible {
            color: var(--color-foreground-650);
            background-color: var(--color-background-450);

            &:focus-visible {
                color: var(--color-foreground-800);
                background-color: var(--color-background-400);
            }

            &:active:hover, &:focus-visible:hover, &:focus-visible:active {
                color: var(--color-foreground-750);
                background-color: var(--color-background-300);
            }

        }
            &:is([aria-pressed=true], [aria-expanded=true], [aria-selected=true], [aria-checked=true], [aria-current]:not([aria-current=false])) {
                color: var(--color-foreground-50);
                background-color: var(--color-background-600);

                &:hover:not(:active){
                    color: var(--color-foreground-150);
                    background-color: var(--color-background-750);
                }
            }
    }
  }

  /* Red */
  .color-red, .color-red-deep-solid, .color-red-deep-ghost, .color-red-solid, .color-red-ghost {
    --color-50: light-dark(var(--fw-pastel-red-50), var(--fw-pastel-red-950));
    --color-100: light-dark(var(--fw-pastel-red-100), var(--fw-pastel-red-900));
    --color-150: light-dark(var(--fw-pastel-red-150), var(--fw-pastel-red-850));
    --color-200: light-dark(var(--fw-pastel-red-200), var(--fw-pastel-red-800));
    --color-250: light-dark(var(--fw-pastel-red-250), var(--fw-pastel-red-750));
    --color-300: light-dark(var(--fw-pastel-red-300), var(--fw-pastel-red-700));
    --color-350: light-dark(var(--fw-pastel-red-350), var(--fw-pastel-red-650));
    --color-400: light-dark(var(--fw-pastel-red-400), var(--fw-pastel-red-600));
    --color-450: light-dark(var(--fw-pastel-red-450), var(--fw-pastel-red-550));
    --color-500: light-dark(var(--fw-pastel-red-500), var(--fw-pastel-red-500));
    --color-550: light-dark(var(--fw-pastel-red-550), var(--fw-pastel-red-450));
    --color-600: light-dark(var(--fw-pastel-red-600), var(--fw-pastel-red-400));
    --color-650: light-dark(var(--fw-pastel-red-650), var(--fw-pastel-red-350));
    --color-700: light-dark(var(--fw-pastel-red-700), var(--fw-pastel-red-300));
    --color-750: light-dark(var(--fw-pastel-red-750), var(--fw-pastel-red-250));
    --color-800: light-dark(var(--fw-pastel-red-800), var(--fw-pastel-red-200));
    --color-850: light-dark(var(--fw-pastel-red-850), var(--fw-pastel-red-150));
    --color-900: light-dark(var(--fw-pastel-red-900), var(--fw-pastel-red-100));
    --color-950: light-dark(var(--fw-pastel-red-950), var(--fw-pastel-red-50));

    /* Set foreground shade */
    color: var(--color-foreground-800);

    &[class*='deep'] {
        color: var(--color-foreground-950);
    }

    /* Set background shade for solids and ghosts */
    &[class*='solid'], &[class*='ghost'] {
        background-color: var(--color-background-200);

        &[class*='deep'] {
            background-color: var(--color-background-600);
        }
    }

    /* Set varied shades for interactive states */
    &:is(a, button, select, [ui-interactive]) {
        &:hover, &:focus-visible {
            color: var(--color-foreground-650);
            background-color: var(--color-background-450);

            &:focus-visible {
                color: var(--color-foreground-800);
                background-color: var(--color-background-400);
            }

            &:active:hover, &:focus-visible:hover, &:focus-visible:active {
                color: var(--color-foreground-750);
                background-color: var(--color-background-300);
            }

        }
            &:is([aria-pressed=true], [aria-expanded=true], [aria-selected=true], [aria-checked=true], [aria-current]:not([aria-current=false])) {
                color: var(--color-foreground-50);
                background-color: var(--color-background-600);

                &:hover:not(:active){
                    color: var(--color-foreground-150);
                    background-color: var(--color-background-750);
                }
            }
    }
  }

  /* Yellow */
  .color-yellow, .color-yellow-deep-solid, .color-yellow-deep-ghost, .color-yellow-solid, .color-yellow-ghost {
    --color-50: light-dark(var(--fw-pastel-yellow-50), var(--fw-pastel-yellow-950));
    --color-100: light-dark(var(--fw-pastel-yellow-100), var(--fw-pastel-yellow-900));
    --color-150: light-dark(var(--fw-pastel-yellow-150), var(--fw-pastel-yellow-850));
    --color-200: light-dark(var(--fw-pastel-yellow-200), var(--fw-pastel-yellow-800));
    --color-250: light-dark(var(--fw-pastel-yellow-250), var(--fw-pastel-yellow-750));
    --color-300: light-dark(var(--fw-pastel-yellow-300), var(--fw-pastel-yellow-700));
    --color-350: light-dark(var(--fw-pastel-yellow-350), var(--fw-pastel-yellow-650));
    --color-400: light-dark(var(--fw-pastel-yellow-400), var(--fw-pastel-yellow-600));
    --color-450: light-dark(var(--fw-pastel-yellow-450), var(--fw-pastel-yellow-550));
    --color-500: light-dark(var(--fw-pastel-yellow-500), var(--fw-pastel-yellow-500));
    --color-550: light-dark(var(--fw-pastel-yellow-550), var(--fw-pastel-yellow-450));
    --color-600: light-dark(var(--fw-pastel-yellow-600), var(--fw-pastel-yellow-400));
    --color-650: light-dark(var(--fw-pastel-yellow-650), var(--fw-pastel-yellow-350));
    --color-700: light-dark(var(--fw-pastel-yellow-700), var(--fw-pastel-yellow-300));
    --color-750: light-dark(var(--fw-pastel-yellow-750), var(--fw-pastel-yellow-250));
    --color-800: light-dark(var(--fw-pastel-yellow-800), var(--fw-pastel-yellow-200));
    --color-850: light-dark(var(--fw-pastel-yellow-850), var(--fw-pastel-yellow-150));
    --color-900: light-dark(var(--fw-pastel-yellow-900), var(--fw-pastel-yellow-100));
    --color-950: light-dark(var(--fw-pastel-yellow-950), var(--fw-pastel-yellow-50));

    /* Set foreground shade */
    color: var(--color-foreground-750);

    &[class*='deep'] {
        color: var(--color-foreground-950);
    }

    /* Set background shade for solids and ghosts */
    &[class*='solid'], &[class*='ghost'] {
        background-color: light-dark(var(--color-background-150), var(--color-background-300));

        &[class*='deep'] {
            background-color: light-dark(var(--color-background-600), var(--color-background-350));
        }
    }

    /* Set varied shades for interactive states */
    &:is(a, button, select, [ui-interactive]) {
        &:hover, &:focus-visible {
            color: var(--color-foreground-650);
            background-color: var(--color-background-450);

            &:focus-visible {
                color: var(--color-foreground-800);
                background-color: var(--color-background-400);
            }

            &:active:hover, &:focus-visible:hover, &:focus-visible:active {
                color: var(--color-foreground-750);
                background-color: var(--color-background-300);
            }
        }

        &:is([aria-pressed=true], [aria-expanded=true], [aria-selected=true], [aria-checked=true], [aria-current]:not([aria-current=false])) {
            color: var(--color-foreground-50);
            background-color: var(--color-background-600);

            &:hover:not(:active){
                color: var(--color-foreground-150);
                background-color: var(--color-background-750);
            }
        }
    }
  }
}

/* Decoration */
[ui-shadow] {
    box-shadow: 0px 2px 8px 0px var(--color-shadow);
}

/* Branding */
@layer document {
    /* eslint-disable-next-line css/use-baseline */
  :is(p, a, input, span, label, h1, h2, h3, h4, h5, h6, h7, h8, header, footer, article, button, code)::-moz-selection {
    background-color: color-mix(in oklch, transparent 75%, color-mix(in oklch, var(--color-link) 80%, currentColor));
  }
  :is(p, a, input, span, label, h1, h2, h3, h4, h5, h6, h7, h8, header, footer, article, button, code)::selection {
    background-color: color-mix(in oklch, transparent 75%, color-mix(in oklch, var(--color-link) 80%, currentColor));
  }
}


@layer system {
/* Note: Using "inherits:false" here. If we ever want to access the background-color in non-solids, we can replace it with an override-rule which sets it to transparent for each element that has a color with no solid fill. I prefer the "low-power" solution (less dangling values) of @property and I see no use case for reusing an ancestor's background color. */
@property --color-background-50 {
    syntax: '<color>';
    inherits: false;
    initial-value: transparent;
}
@property --color-background-100 {
    syntax: '<color>';
    inherits: false;
    initial-value: transparent;
}
@property --color-background-150 {
    syntax: '<color>';
    inherits: false;
    initial-value: transparent;
}
@property --color-background-200 {
    syntax: '<color>';
    inherits: false;
    initial-value: transparent;
}
@property --color-background-250 {
    syntax: '<color>';
    inherits: false;
    initial-value: transparent;
}
@property --color-background-300 {
    syntax: '<color>';
    inherits: false;
    initial-value: transparent;
}
@property --color-background-350 {
    syntax: '<color>';
    inherits: false;
    initial-value: transparent;
}
@property --color-background-400 {
    syntax: '<color>';
    inherits: false;
    initial-value: transparent;
}
@property --color-background-450 {
    syntax: '<color>';
    inherits: false;
    initial-value: transparent;
}
@property --color-background-500 {
    syntax: '<color>';
    inherits: false;
    initial-value: transparent;
}
@property --color-background-550 {
    syntax: '<color>';
    inherits: false;
    initial-value: transparent;
}
@property --color-background-600 {
    syntax: '<color>';
    inherits: false;
    initial-value: transparent;
}
@property --color-background-650 {
    syntax: '<color>';
    inherits: false;
    initial-value: transparent;
}
@property --color-background-700 {
    syntax: '<color>';
    inherits: false;
    initial-value: transparent;
}
@property --color-background-750 {
    syntax: '<color>';
    inherits: false;
    initial-value: transparent;
}
@property --color-background-800 {
    syntax: '<color>';
    inherits: false;
    initial-value: transparent;
}
@property --color-background-850 {
    syntax: '<color>';
    inherits: false;
    initial-value: transparent;
}
@property --color-background-900 {
    syntax: '<color>';
    inherits: false;
    initial-value: transparent;
}
@property --color-background-950 {
    syntax: '<color>';
    inherits: false;
    initial-value: transparent;
}

/* Filled surfaces with positive scale */
@scope (:is(
   /* Implicit default on :root */
   :root,

    /* Positive fill */
    .color-default-solid,
    .color-accent-solid,
    .color-green-solid,
    .color-blue-solid,
    .color-ochre-solid,
    .color-purple-solid,
    .color-red-solid,
    .color-yellow-solid,

    /* Positive ghost fill */
    :is(
        .color-default-ghost,
        .color-accent-ghost,
        .color-green-ghost,
        .color-blue-ghost,
        .color-ochre-ghost,
        .color-purple-ghost,
        .color-red-ghost,
        .color-yellow-ghost
    ):is(
        :hover,
        :focus-visible,
        [aria-selected=true],
        [aria-pressed=true],
        [aria-expanded=true],
        [aria-checked=true],
        [aria-current]:not([aria-current=false]))
)) {
    /* 1. Apply positive background to filled element */
    :scope {
    --color-background-50: var(--color-50);
    --color-background-100: var(--color-100);
    --color-background-150: var(--color-150);
    --color-background-200: var(--color-200);
    --color-background-250: var(--color-250);
    --color-background-300: var(--color-300);
    --color-background-350: var(--color-350);
    --color-background-400: var(--color-400);
    --color-background-450: var(--color-450);
    --color-background-500: var(--color-500);
    --color-background-550: var(--color-550);
    --color-background-600: var(--color-600);
    --color-background-650: var(--color-650);
    --color-background-700: var(--color-700);
    --color-background-750: var(--color-750);
    --color-background-800: var(--color-800);
    --color-background-850: var(--color-850);
    --color-background-900: var(--color-900);
    --color-background-950: var(--color-950);
    }

    /* 2. Apply positive foregrounds (inheriting) to all descendents with color-class down to next solid */
    :scope, [class*='color-'] {
    --color-foreground-50: var(--color-50);
    --color-foreground-100: var(--color-100);
    --color-foreground-150: var(--color-150);
    --color-foreground-200: var(--color-200);
    --color-foreground-250: var(--color-250);
    --color-foreground-300: var(--color-300);
    --color-foreground-350: var(--color-350);
    --color-foreground-400: var(--color-400);
    --color-foreground-450: var(--color-450);
    --color-foreground-500: var(--color-500);
    --color-foreground-550: var(--color-550);
    --color-foreground-600: var(--color-600);
    --color-foreground-650: var(--color-650);
    --color-foreground-700: var(--color-700);
    --color-foreground-750: var(--color-750);
    --color-foreground-800: var(--color-800);
    --color-foreground-850: var(--color-850);
    --color-foreground-900: var(--color-900);
    --color-foreground-950: var(--color-950);
    }

    /* 3. Exception: Solid accent has default background*/
    :scope[class*='color-accent'] {
        --color-background-50: var(--color-default-50);
        --color-background-100: var(--color-default-100);
        --color-background-150: var(--color-default-150);
        --color-background-200: var(--color-default-200);
        --color-background-250: var(--color-default-250);
        --color-background-300: var(--color-default-300);
        --color-background-350: var(--color-default-350);
        --color-background-400: var(--color-default-400);
        --color-background-450: var(--color-default-450);
        --color-background-500: var(--color-default-500);
        --color-background-550: var(--color-default-550);
        --color-background-600: var(--color-default-600);
        --color-background-650: var(--color-default-650);
        --color-background-700: var(--color-default-700);
        --color-background-750: var(--color-default-750);
        --color-background-800: var(--color-default-800);
        --color-background-850: var(--color-default-850);
        --color-background-900: var(--color-default-900);
        --color-background-950: var(--color-default-950);
    }
}

/* Filled surfaces with negative scale */
@scope (:is(
    /* Negative fill */
    .color-primary-solid,
    .color-destructive-solid,
    .color-green-deep-solid,
    .color-blue-deep-solid,
    .color-ochre-deep-solid,
    .color-purple-deep-solid,
    .color-red-deep-solid,
    .color-yellow-deep-solid,

    /* Negative ghost fill */
    :is(
        .color-primary-ghost,
        .color-destructive-ghost,
        .color-green-deep-ghost,
        .color-blue-deep-ghost,
        .color-ochre-deep-ghost,
        .color-purple-deep-ghost,
        .color-red-deep-ghost,
        .color-yellow-deep-ghost
    ):is(
        :hover,
        :focus-visible,
        [aria-selected=true],
        [aria-pressed=true],
        [aria-expanded=true],
        [aria-checked=true],
        [aria-current]:not([aria-current=false]))
)) {
    /* 1. Apply negative background to filled element */
    :scope {
    --color-background-50: var(--color-950);
    --color-background-100: var(--color-900);
    --color-background-150: var(--color-850);
    --color-background-200: var(--color-800);
    --color-background-250: var(--color-750);
    --color-background-300: var(--color-700);
    --color-background-350: var(--color-650);
    --color-background-400: var(--color-600);
    --color-background-450: var(--color-550);
    --color-background-500: var(--color-500);
    --color-background-550: var(--color-450);
    --color-background-600: var(--color-400);
    --color-background-650: var(--color-350);
    --color-background-700: var(--color-300);
    --color-background-750: var(--color-250);
    --color-background-800: var(--color-200);
    --color-background-850: var(--color-150);
    --color-background-900: var(--color-100);
    --color-background-950: var(--color-50);
    }

    /* 2. Apply negative foregrounds (inheriting) to all descendents with color-class down to next solid */
    :scope, [class*='color-'] {
    --color-foreground-50: var(--color-950);
    --color-foreground-100: var(--color-900);
    --color-foreground-150: var(--color-850);
    --color-foreground-200: var(--color-800);
    --color-foreground-250: var(--color-750);
    --color-foreground-300: var(--color-700);
    --color-foreground-350: var(--color-650);
    --color-foreground-400: var(--color-600);
    --color-foreground-450: var(--color-550);
    --color-foreground-500: var(--color-500);
    --color-foreground-550: var(--color-450);
    --color-foreground-600: var(--color-400);
    --color-foreground-650: var(--color-350);
    --color-foreground-700: var(--color-300);
    --color-foreground-750: var(--color-250);
    --color-foreground-800: var(--color-200);
    --color-foreground-850: var(--color-150);
    --color-foreground-900: var(--color-100);
    --color-foreground-950: var(--color-50);
    }

    /* 3. Exception: Solid primaries and destructive surfaces have default foreground*/
    :scope[class*='color-primary'], :scope[class*='color-destructive'] {
    --color-foreground-50: var(--color-default-950);
    --color-foreground-100: var(--color-default-900);
    --color-foreground-150: var(--color-default-850);
    --color-foreground-200: var(--color-default-800);
    --color-foreground-250: var(--color-default-750);
    --color-foreground-300: var(--color-default-700);
    --color-foreground-350: var(--color-default-650);
    --color-foreground-400: var(--color-default-600);
    --color-foreground-450: var(--color-default-550);
    --color-foreground-500: var(--color-default-500);
    --color-foreground-550: var(--color-default-450);
    --color-foreground-600: var(--color-default-400);
    --color-foreground-650: var(--color-default-350);
    --color-foreground-700: var(--color-default-300);
    --color-foreground-750: var(--color-default-250);
    --color-foreground-800: var(--color-default-200);
    --color-foreground-850: var(--color-default-150);
    --color-foreground-900: var(--color-default-100);
    --color-foreground-950: var(--color-default-50);
    }
  }
}
/* #endregion color */


/* #region font */

/**
* ====================================================================
* Font
* ====================================================================
*
* TODO: If necessary, add appropriate fonts for more scripts
* TODO: Optical correction for arabic script
*/

@layer system {
  .iconify {
    font-size: 1.25em;
    vertical-align: -0.125em;
  }
}

@layer document {
  /* *
 * Arabic (rtl)
 */

  /* arabic */
  @font-face {
    font-family: 'Vazirmatn';
    src: url('/assets/Vazirmatn-VF-arabic-Cafbb7Zc.woff2') format('woff2-variations');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF,
      U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27,
      U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B,
      U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3,
      U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
  }

  /* latin-ext */
  @font-face {
    font-family: 'Vazirmatn';
    src: url('/assets/Vazirmatn-VF-latin-ext-tDTa1Fj6.woff2') format('woff2-variations');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
      U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }

  /* latin */
  @font-face {
    font-family: 'Vazirmatn';
    src: url('/assets/Vazirmatn-VF-latin-BFexNX-K.woff2') format('woff2-variations');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
      U+2212, U+2215, U+FEFF, U+FFFD;
  }

  /* Apply to right-to-left nodes */
  :where(:dir(rtl)) {
    font-family: 'Vazirmatn', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji', system-ui, sans-serif;
  }

  /* *
 * Latin (ltr)
 *
 * Note that by design, Lato has an ascent of 1974/2000 (98.7%) and a descent of 426/2000 (21.3%).
 * We correct an optical imbalance and place Lato glyphs such that the `-` and `·` are vertically centered on the line-box by shifting the glyphs up 10%.
 * In order to prevent a line height change, the sum of ascent and descent remains fixed at 2400/2000.
 * Note that as of now (3/2026), Safari ignores the optical correction.
 */

  /* upright */
  @font-face {
    font-family: 'Lato';
    src: url('/assets/Lato3Upr3M-VF-BS60sTW_.woff2') format('woff2-variations');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;

    ascent-override: 89%;
    descent-override: 31%;
  }

  /* italic */
  @font-face {
    font-family: 'Lato';
    src: url('/assets/Lato3Ita3M-VF-C8KUZ9bO.woff2') format('woff2-variations');
    font-weight: 100 900;
    font-style: italic;
    font-display: swap;

    ascent-override: 89%;
    descent-override: 31%;
  }

  /* Apply to left-to-right nodes */
  :where(:dir(ltr)) {
    font-family: 'Lato', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji', system-ui, sans-serif;
  }

  /* code/monospace */
  @font-face {
    font-family: 'GoMono';
    src: url('/assets/Go-Mono-DV0OtDv6.woff2') format('woff2');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;

    ascent-override: 89%;
    descent-override: 31%;
  }

  .font-monospace,
  code,
  code :where(:dir(ltr)) {
    font-family: 'GoMono', monospace;
    font-size-adjust: 0.5;
    letter-spacing: calc(0.5px - 6%);
    color: color-mix(in oklch, transparent 20%, currentColor);
    font-size: .96em;
  }
}

/**
* Typography fallback
*
* Styles used in Website, App (Markdown previews) and ui-docs / frontend guide.
* Define once, use thrice to reduce maintenance burden.
*
* * Cover default elements produced by markdown renderers.
* * Override these styles in component/module CSS blocks where appropriate.
* * Keep this lean: Remove any definition that is not used in at least two of these projects and use project-specific stylesheets instead.
* * Keep this steady: Make sure any change is appropriate for all three targets.
*/

@layer document {
  :is(h1, h2, h3, h4, h5, h6) {
    scroll-margin: 1.2em;
  }

  h1 {
    text-wrap: balance;
    font-size: 60px;
    font-weight: 250;
    line-height: var(--block-size-64);
    margin: var(--block-size-16) 0;
    letter-spacing: -0.03em;
    text-indent: -0.1em;
  }

  h2 {
    text-wrap: balance;
    font-size: 44px;
    font-weight: 300;
    line-height: var(--block-size-48);
    margin: var(--block-size-64) 0 var(--block-size-16);
    letter-spacing: -0.02em;
    text-indent: -0.1em;
  }

  h3 {
    font-size: 24px;
    font-weight: 1000;
    line-height: var(--block-size-24);
    margin: var(--block-size-48) 0 var(--block-size-16);
    letter-spacing: -0.03em;
    opacity: .85;
  }

  strong,
  b {
    font-weight: 800;
    /* Make bold text approximately as wide as normal text to prevent layout shifts: */
    letter-spacing: -0.01em;
  }

  a[href] {
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 2px;

    &[ui-no-underline]:not(:hover):not(:focus-visible) {
        text-decoration-color: transparent;
    }

    color: var(--color-link);

    &:hover, &:focus-visible {
      color: var(--color-link-hover);

      &:active {
        color: var(--color-link-active);
      }
    }
  }

    p, ol, ul, pre { margin: var(--block-size-12) 0; }

    ol, ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    li {
        text-wrap: balance;
        position: relative;
        padding-left: 1.5rem;
    }

    ul > li::before {
        content: '—\00A0';
        position: absolute;
        inset-inline-start: 0;
        inset-block-start: 0;
    }

    ol {
        counter-reset: ol-counter;
    }

    ol > li {
        counter-increment: ol-counter;
    }

    ol > li::before {
        content: counter(ol-counter) ".";
        position: absolute;
        left: 0;
        top: 0;
        width: 1.2rem;
        text-align: end;
    }

    li > ul,
    li > ol {
        margin-left: var(--inline-size-24);
    }

    hr {
        border-color: currentcolor;
    }
}

@layer system {

  /** Page heading */
  .font-page-heading {
    text-wrap: balance;
    font-size: 36px;
    font-weight: 900;
    letter-spacing: -1px;
    line-height: var(--block-size-48);
    margin-block-start: 0;
  }

  .font-large-section-heading {
    font-size: 28px;
    font-weight: 700;
    letter-spacing: -0.5px;
    line-height: var(--block-size-32);
  }

  /** Section heading, Modal heading [DEFAULT] */
  .font-section-heading {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -0.5px;
  }

  /* Form subsection */
  .font-subsection-heading {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0;
  }

  /* input caption */
  .font-caption {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0px;
  }

  /* Buttons and links */
  .font-caption-emphasized {
    font-weight: 800;
    /* Make bold text approximately as wide as normal text to prevent layout shifts: */
    letter-spacing: -0.01em;
    font-size: 14px;
  }

  /* Tab title, Channel title, Card title, Activity title */
  .font-title {
    font-size: 16px;
    font-weight: 700;
    line-height: var(--block-size-20);
  }

  /* Tab title, Channel title, Card title, Activity title */
  .font-title-large {
    font-size: 18px;
    font-weight: 700;
    line-height: var(--block-size-20);
  }

  .font-card-title {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0px;
    line-height: var(--block-size-20);
  }

  /* Primary radio title */
  .font-radio {
    font-size: 28px;
    font-weight: 900;
    letter-spacing: -0.5px;
  }

  /* Secondary radio title */
  .font-secondary {
    font-size: 28px;
    font-weight: 300;
    letter-spacing: -0.5px;
  }

  /* auxiliary text (footers, etc.) */
  .font-small {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: -.1px;
  }

  .font-monospace {
      font-family: 'GoMono', monospace;
      font-size-adjust: 0.5;
      letter-spacing: calc(0.5px - 6%);
      font-size: .96em;
  }
}

/* #endregion font */

/* #region interactivity */

/**
* ====================================================================
* Interactivity
* ====================================================================
*
* - Cover all A11y basics such as "`focus-visible` is visible" and "<a> without [href] should not feel interactive"
* - Override these styles in component/module CSS blocks where appropriate
* - Keep this lean: Remove any definition that is not used in at least two of these projects and use project-specific stylesheets instead; Only implement A11y necessities and UX standards here
* - Keep this steady: Make sure any change is appropriate for all three targets (Website, frontend guide, web app)
*/
@layer document {
  :where(button, a, [role='button'], input, select, textarea) {
    transition:
      filter 0.2s,
      background-color 0.2s;

    &:focus-visible {
      outline: 2px solid var(--color-focus);
      outline-offset: 2px;
    }

    &:disabled,
    &[aria-disabled='true'] {
      opacity: .5;
      filter: saturate(0.1);
      cursor: not-allowed;
      pointer-events: none;
    }

    &[aria-busy='true'] {
      cursor: wait;
    }
  }
}

select {
  background-image: unset;
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
}

/* Indicate overflow with a small gradient to transparency */
@layer system {
  @property --mask-start {
    syntax: "<number>";
    inherits: false;
    initial-value: 1;
  }

  @property --mask-end {
    syntax: "<number>";
    inherits: false;
    initial-value: 1;
  }

  [ui-indicate-overflow] {
    --fade-size: 24px;
    --mask-padding-inline-start: 0px;
    --mask-padding-inline-end: 0px;

    --mask-start: 1;
    --mask-end: 1;

    overflow: auto;
    white-space: nowrap;
    scrollbar-width: none;

    /* Allow for some overshoot; show focus-outlines etc. */
    margin: -16px;
    padding: 16px;

    /* Keyboard-only scrolling when tabbing */
    scroll-padding-inline: var(--fade-size);

    -webkit-mask-image: linear-gradient(
      to right,
      transparent 0,
      transparent var(--mask-padding-inline-start),
      rgba(0, 0, 0, var(--mask-start)) var(--mask-padding-inline-start),
      rgba(0, 0, 0, 1) calc(var(--mask-padding-inline-start) + var(--fade-size)),
      rgba(0, 0, 0, 1) calc(100% - var(--mask-padding-inline-end) - var(--fade-size)),
      rgba(0, 0, 0, var(--mask-end)) calc(100% - var(--mask-padding-inline-end)),
      transparent calc(100% - var(--mask-padding-inline-end)),
      transparent 100%
    );

    mask-image: linear-gradient(
      to right,
      transparent 0,
      transparent var(--mask-padding-inline-start),
      rgba(0, 0, 0, var(--mask-start)) var(--mask-padding-inline-start),
      rgba(0, 0, 0, 1) calc(var(--mask-padding-inline-start) + var(--fade-size)),
      rgba(0, 0, 0, 1) calc(100% - var(--mask-padding-inline-end) - var(--fade-size)),
      rgba(0, 0, 0, var(--mask-end)) calc(100% - var(--mask-padding-inline-end)),
      transparent calc(100% - var(--mask-padding-inline-end)),
      transparent 100%
    );

    animation: ui-overflow-fade linear both;
    /* eslint-disable-next-line css/use-baseline */
    animation-timeline: scroll(self inline);
  }

  [ui-indicate-overflow]::-webkit-scrollbar {
    display: none;
  }

  @keyframes ui-overflow-fade {
    0% {
      --mask-start: 1;
      --mask-end: 0;
    }
    5%, 95% {
      --mask-start: 0;
      --mask-end: 0;
    }
    100% {
      --mask-start: 0;
      --mask-end: 1;
    }
  }
}

/* eslint-disable */
@layer sanitize {
  /*!
   * sanitize.css
   * https://csstools.github.io/sanitize.css/
   * License: CC0 1.0 Universal - https://github.com/csstools/sanitize.css/blob/61c85b6961f684d0124093d97475073bb08f557e/LICENSE.md
   * https://unpkg.com/sanitize.css@13.0.0/reduce-motion.css
   */

  /*
 * 1. Remove animations when motion is reduced (opinionated).
 * 2. Remove fixed background attachments when motion is reduced (opinionated).
 * 3. Remove timed scrolling behaviors when motion is reduced (opinionated).
 * 4. Remove transitions when motion is reduced (opinionated).
 */

  @media (prefers-reduced-motion: reduce) {
    *,
    ::before,
    ::after {
      animation-delay: -1ms !important;
      /* 1 */
      animation-duration: 1ms !important;
      /* 1 */
      animation-iteration-count: 1 !important;
      /* 1 */
      background-attachment: initial !important;
      /* 2 */
      scroll-behavior: auto !important;
      /* 3 */
      transition-delay: 0s !important;
      /* 4 */
      transition-duration: 0s !important;
      /* 4 */
    }
  }
}
/* eslint-enable */

/* #endregion interactivity */

/* #region animation */

/**
* ====================================================================
* Animation
* ====================================================================
*/

/* eslint-disable */
@layer sanitize {
  /*!
   * sanitize.css
   * https://csstools.github.io/sanitize.css/
   * License: CC0 1.0 Universal - https://github.com/csstools/sanitize.css/blob/61c85b6961f684d0124093d97475073bb08f557e/LICENSE.md
   * https://unpkg.com/sanitize.css@13.0.0/forms.css
   */

  /**
    * 1. Change the inconsistent appearance in all browsers (opinionated).
    * 2. Add typography inheritance in all browsers (opinionated).
    */

  :where(button, input, select, textarea) {
    background-color: transparent;
    /* 1 */
    border: 1px solid WindowFrame;
    /* 1 */
    color: inherit;
    /* 1 */
    font: inherit;
    /* 2 */
    letter-spacing: inherit;
    /* 2 */
    padding: 0.25em 0.375em;
    /* 1 */
  }

  /**
    * Change the inconsistent appearance in all browsers (opinionated).
    */

    :where(select) {
      -webkit-appearance: none;
      -moz-appearance: none;
           appearance: none;
      background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='4'%3E%3Cpath d='M4 0h6L7 4'/%3E%3C/svg%3E") no-repeat right center / 1em;
      border-radius: 0;
      padding-right: 1em;
    }

  /**
    * Don't show the arrow for multiple choice selects
    */

  :where(select[multiple]) {
    background-image: none;
  }

  /**
    * Remove the border and padding in all browsers (opinionated).
    */

  :where([type='color' i], [type='range' i]) {
    border-width: 0;
    padding: 0;
  }
}
/* eslint-enable */

/* #endregion animation */

/* #region layout */

/**
* ====================================================================
* Layout
* ====================================================================
*
* - Default font size
* - Sizes and gaps in both dimensions
* - Predefined flex and grid layouts
* - Utilities for flex and grid children
*/

@layer document {
  html,
  body {
    font-size: 16px;
  }
}

/**
* Block sizes
*
* Discrete values on continuous scales. They combine nicely to form rhythms.
* Components expose them as string props:
* `<Button ui-block-size=24>`
*
* For vertical rhythm, all block sizes are fractions or multiples of 48 (the base rhythm). When using non-integer fractions such as 40 (5/6), add a gap of 1/6 to restore the rhythm.
*
* * Scales are unitless. Their name indicates the base CSS implementation but theme authors can apply nonlinear mappings.
* * To forbid page authors from setting a certain scalar, component authors can use `ui-block-size: never`.
*/
:root {
  --block-size-4: 4px;
  --block-size-6: 6px;
  --block-size-8: 8px;
  --block-size-12: 12px;
  --block-size-16: 16px;
  --block-size-24: 24px;
  --block-size-32: 32px;
  --block-size-40: 40px;
  --block-size-48: 48px;
  --block-size-56: 56px;
  --block-size-64: 64px;
  --block-size-72: 72px;
  --block-size-96: 96px;
}

@layer system {
    /**
     * In LTR writing systems, define vertical and then horizontal spacing     between items. Only applies to grid and flex (row, stack) layouts.
    */
    [ui-gap] {
        gap: var(--block-gap) var(--inline-gap);
    }
}

/*
## Block cadences and gaps

A cadence is the block-size (height) at which a pattern repeats. Example: Consecutive labeled single-line inputs in a form repeat each 96px. Use the gradient of gaps and cadences to create visual hierarchy and groupings. Equal cadences can harmonize a layout. Add spacers where sections are a little smaller than the next **multiple of 32px**.

Gaps and cadences are measured between **optical lines**. The optical line of text goes through the `-` glyph in the Lato font, which is 0.36em above the baseline. The optical lines of rectangular shapes are simply the edges. The optical lines of round and triangular shapes add some [_overshoot_](#overshoot), typically 8%, to balance out optical weight.

- **96**: Cadence of labeled inputs in a form
- **64**:
  - Gap between shapes or sections on a page
  - Gap between sections in a form
  - Total height (first to last line) of a single-line input
- **32**:
  - Distance between cards in a grid
  - Line height in large text and heading
  - Gap between items in a section
- **24**:
  - Line height in paragraph text
  - Bounding box height of a small circular or rectangular button or a pill ("Token")
- **16**: Line height in small text
*/

@layer system {
    [ui-gap='0'] {
    --block-gap: 0;
    }
    /** **4**: Floating layouts inside Menu items or inputs */
    [ui-gap='4'] {
        --block-gap: var(--block-size-4);
    }
    /** **16**: Gap between label and component; between icon and text */
    [ui-gap='8'] {
        --block-gap: var(--block-size-8);
    }
    /** **12**: In Modal actions */
    [ui-gap='12'] {
        --block-gap: var(--block-size-12);
    }
    /** **16**: Toolbars with unlabeled items */
    [ui-gap='16'] {
        --block-gap: var(--block-size-16);
    }
  [ui-line-height='16'] {
    line-height: var(--block-size-16);
  }

  /* Line height in paragraph text: */
  [ui-line-height='24'] {
    line-height: var(--block-size-24);
  }

  /* Bounding box height of a small circular or rectangular button or a pill ("Token"): */
  [ui-block-size='24'] {
    block-size: var(--block-size-24);
    --block-size: var(--block-size-24);
  }

  /* Bounding box height of a dense button or a input: */
  [ui-block-size='40'] {
    block-size: var(--block-size-40);
    --block-size: var(--block-size-40);
  }

  [ui-line-height='32'] {
    line-height: var(--block-size-32);
  }

  /*Gap between items in a section:*/
  [ui-gap='32'] {
    --block-gap: var(--block-size-32);
    --inline-gap: var(--inline-size-32);
  }

  [ui-block-size='48'] {
    block-size: var(--block-size-48);
    --block-size: var(--block-size-48);
  }

  /* Total height (first to last line) of a single-line input: */
  [ui-block-size='64'] {
    block-size: var(--block-size-64);
  }


  /** **48 8**: Gap for dense forms and labeled toolbars (Higher block gap)*/
  [ui-gap='48 8'] {
      --block-gap: var(--block-size-48);
  }
  /** **48 16**: Typical gap for toolbars where items have labels*/
  [ui-gap='48 16'] {
      --block-gap: var(--block-size-48);
  }
  /** Gap between sections in a form; gap between shapes or sections on a page:*/
  [ui-gap='64 8'] {
      --block-gap: var(--block-size-64);
  }
  /** Cadence of labeled inputs in a form: */
  [ui-block-size='96'] {
    block-size: var(--block-size-96);
  }
}

/*
## Inline sizes
*/
:root {
  --inline-size-4: 4px;
  --inline-size-8: 8px;
  --inline-size-12: 12px;
  --inline-size-16: 16px;
  --inline-size-24: 24px;
  --inline-size-32: 32px;
  --inline-size-40: 40px;
  --inline-size-48: 48px;
  --inline-size-56: 56px;
  --inline-size-72: 72px;
  --inline-size-80: 80px;
  --inline-size-96: 96px;
  --inline-size-128: 128px;
  --inline-size-160: 160px;
  --inline-size-208: 208px;
  --inline-size-240: 240px;
  --inline-size-288: 288px;
  --inline-size-320: 320px;
  --inline-size-448: 448px;
}

/*
## Inline cadences and gaps

With a typical gap width of 32 and a column width of 48, we can construct a grid with the following typical widths:

- **8**: Typical gap for toolbars
- **24**: Bounding box of a small (circular or square) button
- **32**:
  - Typical gap for card grids
  - Cadence of small buttons
- **48**:
  - Width of 1 column
  - Width of a square button
  - Bounding box width of a circular or square button
- **56**:
  - Cadence of circular or square buttons
- **80**: Cadence of single-column cards
- **96**: Content width in a small card or button
- **128**:
  - Width of a 2-column (small) card
  - Width of a standard button
- **160**:
  - Cadence of 2-column cards
  - Content width in a medium card
- **208**: Width of 3-column (medium) card
- **240**:
  - Cadence of 3-column cards
  - Content width in a large card
- **288**:
  - Width of a 4-column (large) card
  - Width and content width of an activity (no padding)
- **320**: Cadence of 4-column cards
- **448**: 6 columns
*/

@layer system {
    [ui-gap='0'] {
    --inline-gap: 0;
    }
    /** **4**: Floating layouts inside Menu items or inputs */
    [ui-gap='4'] {
        --inline-gap: var(--inline-size-4);
    }
    /** Gap between sections in a form; gap between shapes or sections on a page */
    [ui-gap='64 8'] {
        --inline-gap: var(--inline-size-8);
    }
      /** **16**: Gap between label and component; between icon and text */
      [ui-gap='8'] {
          --inline-gap: var(--inline-size-8);
      }
      /** **12**: In Modal actions */
      [ui-gap='12'] {
          --inline-gap: var(--inline-size-12);
      }
      /** 16: Gap **/
      /** **16**: Toolbars with unlabeled items */
      [ui-gap='16'] {
          --inline-gap: var(--inline-size-16);
      }
      /* **48**: One column (without gutter) */
      [ui-inline-size='48'] {
        inline-size: var(--inline-size-48);
      }
      /** **48 8**: Gap for dense forms and labeled toolbars (Higher block gap)*/
      [ui-gap='48 8'] {
          --inline-gap: var(--inline-size-8);
      }
      /** **48 16**: Typical gap for toolbars where items have labels*/
      [ui-gap='48 16'] {
          --inline-gap: var(--inline-size-16);
      }
  /* **96**: Content in a small card or button */
  [ui-inline-size='96'] {
    inline-size: var(--inline-size-96);
  }
  /* **128**: Size of a small card or default button (shape-field) */
  [ui-inline-size='128'] {
    inline-size: var(--inline-size-128);
    grid-column: span 2;
  }
  /* **160**: Content in a wide (3-column) card */
  [ui-inline-size='160'] {
    inline-size: var(--inline-size-160);
  }
  /* **208**: Size of 3-column (medium) card */
  [ui-inline-size='208'] {
    inline-size: var(--inline-size-208);
    grid-column: span 3;
  }
  /* **240**: Cadence of 3-column cards;  Content width in a large card */
  [ui-inline-size='240'] {
    inline-size: var(--inline-size-240);
    grid-column: span 4;
  }
  /* **288**: Size (and content size) of an activity (no padding); 4-columns (large) card*/
  [ui-inline-size='288'] {
    inline-size: var(--inline-size-288);
    grid-column: span 4;
  }
  /* **448**: 6 column object */
  [ui-inline-size="448"] {
    inline-size: var(--inline-size-448);
    min-inline-size: var(--inline-size-448);
    grid-column: span 6;
  }
}

/*
* Container layouts
*
* Containers align, Items override. Prefer `align-items` over `align-self`.
* Use <Gap> component instead of `justify-content` to split flex items into separate groups with flexible gaps.
*/

@layer system {
  .layout-row, .layout-row-reverse {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    flex-direction: row;
  }

  [class*="layout"] {
      &.align-start {
        align-items: flex-start;
      }
      &.align-center {
        align-items: center;
      }
      &.align-stretch {
        align-items: stretch;
      }
      &.justify-start {
        justify-content: flex-start;
      }
      &.justify-center {
        justify-content: center;
      }
      &.justify-stretch {
        justify-content: stretch;
      }
      &.justify-end {
        justify-content: flex-end;
      }
  }

  .layout-row-reverse {
    flex-direction: row-reverse;
  }

  .layout-stack {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }

  .layout-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, 48px);
    gap: var(--block-size-24) var(--inline-size-32);
    grid-auto-flow: row dense;
  }

  /* Padding */

  .padding-small {
    --padding-inline-start: 16px;
    --padding-inline-end: 16px;
    --padding-block-start: 24px;
    --padding-block-end: 32px;
  }

  .padding-large {
    --padding-inline-start: 24px;
    --padding-inline-end: 24px;
    --padding-block-start: 32px;
    --padding-block-end: 48px;
  }

  .padding-page {
    --padding-inline-start: 32px;
    --padding-inline-end: 32px;
    --padding-block-start: 22px;
    --padding-block-end: 48px;
  }

  @media (max-width: 768px) {
    .padding-page {
      --padding-inline-start: 16px;
      --padding-inline-end: 16px;
    }
  }

  .padding-modal {
    --padding-inline-start: 32px;
    --padding-inline-end: 32px;
    --padding-block-start: 16px;
    --padding-block-end: 48px;
  }

  [class*="padding-"] {
    padding: var(--padding-block-start) var(--padding-inline-end) var(--padding-block-end) var(--padding-inline-start);
    > * {
        --bleed-inline-start: var(--padding-inline-start);
        --bleed-inline-end: var(--padding-inline-end);
        --bleed-block-start: var(--padding-block-start);
        --bleed-block-end: var(--padding-block-end);
      }
  }

  @scope ([class*="padding-"]) {
    [ui-bleed-inline],
    [ui-bleed] {
      margin-inline: calc(var(--bleed-inline-start) * -1) calc(var(--bleed-inline-end) * -1);
      padding-inline: var(--bleed-inline-start) var(--bleed-inline-end);
    }

    [ui-bleed-block],
    [ui-bleed] {
      margin-block: calc(var(--bleed-block-start) * -1) calc(var(--bleed-block-end) * -1);
      padding-block: var(--bleed-block-start) var(--bleed-block-end);
    }

  }

  /* Sizing */

  /** Add to container inside another container if it won't shrink */
  [ui-shrinkable] {
    min-inline-size: 0;
    flex: 1 1 0;
  }

  /** Keep in a single row/column */
  [ui-nowrap] {
      flex-wrap: nowrap;
      text-wrap: nowrap;
  }

  /** Stretch to fill grid */
  [ui-span-all] {
      grid-column: 1 / -1;
      &[ui-inline-size] {
          inline-size: auto;      }
  }

  /**
* ====================================================================
* Shape
* ====================================================================
*/

  /* Modal */
  .shape-modal {
    border-radius: 16px;
  }

  /* Card */
  .shape-card {
    border-radius: 12px;
    &:not([ui-inline-size]):not([ui-span-all]) {
        grid-column: span 3;
        inline-size: var(--inline-size-208);
    }
  }

  /* Form field */
  .shape-field {
    border-radius: max(calc(var(--block-size, 48px) / 2 - 16px), 8px);
    min-inline-size: -moz-max-content;
    min-inline-size: max-content;
    &:not([ui-inline-size]) {
        inline-size: 128px;
    }
    padding: 0 16px;
  }

  /* Narrow form field */
  .shape-field-minimal {
    border-radius: max(calc(var(--block-size, 48px) / 2 - 16px), 8px);
    min-inline-size: -moz-max-content;
    min-inline-size: max-content;
    inline-size: -moz-max-content;
    inline-size: max-content;
    padding: 0 16px;
  }

  /* Growing form field */
  .shape-field-grow {
    border-radius: max(calc(var(--block-size, 48px) / 2 - 16px), 8px);
    min-inline-size: -moz-max-content;
    min-inline-size: max-content;
    inline-size: 128px;
    padding: 0 16px;
    flex-grow: 1;
  }

  /* Full-width form field */
  .shape-field-full {
      border-radius: max(calc(var(--block-size, 48px) / 2 - 16px), 8px);
      inline-size: auto;
      min-inline-size: 0;
      --grid-column: 1 / -1;
      padding: 0 16px;
      place-self: stretch;
  }

  /* Pill */
  .shape-pill {
    border-radius: 100vmax;
    width: -moz-fit-content;
    width: fit-content;

    &[ui-block-size]:not([ui-overshoot-none]) {
      margin-inline: calc(-0.08 * var(--block-size));
    }
  }

  /* Circle */
  .shape-circle {
    aspect-ratio: 1 / 1;
    border-radius: 100vmax;

    &:after {
      border-radius: 100vmax;
    }

    &[ui-block-size]:not([ui-overshoot-none]) {
      block-size: calc(1.16 * var(--block-size));
      inline-size: calc(1.16 * var(--block-size));
      margin: calc(-0.08 * var(--block-size));
    }
  }

  /* Square */
  .shape-square {
    border-radius: calc(var(--block-size, 48px) / 2 - 16px);
    aspect-ratio: 1 / 1;

    &[ui-block-size] {
      block-size: var(--block-size);
      inline-size: var(--block-size);
    }
  }
}

/* TODO: Remove after transition to CSS */
#VPContent .VPPage button {
  border-width: 0px;
}

/* #endregion layout */

/**
* ====================================================================
* Basic Sanitization
* ====================================================================
*/

/* eslint-disable */
@layer sanitize {
  /*!
    * sanitize.css
    * https://csstools.github.io/sanitize.css/
    * License: CC0 1.0 Universal - https://github.com/csstools/sanitize.css/blob/61c85b6961f684d0124093d97475073bb08f557e/LICENSE.md
    * https://unpkg.com/sanitize.css@13.0.0/sanitize.css
    */

  /* Document
 * ========================================================================== */

  /**
    * 1. Add border box sizing in all browsers (opinionated).
    * 2. Backgrounds do not repeat by default (opinionated).
    */

  *,
  ::before,
  ::after {
    box-sizing: border-box;
    /* 1 */
    background-repeat: no-repeat;
    /* 2 */
  }

  /**
    * 1. Add text decoration inheritance in all browsers (opinionated).
    * 2. Add vertical alignment inheritance in all browsers (opinionated).
    */

  ::before,
  ::after {
    text-decoration: inherit;
    /* 1 */
    vertical-align: inherit;
    /* 2 */
  }

  /**
    * 1. Use the default cursor in all browsers (opinionated).
    * 2. Change the line height in all browsers (opinionated).
    * 3. Breaks words to prevent overflow in all browsers (opinionated).
    * 4. Use a 4-space tab width in all browsers (opinionated).
    * 5. Remove the grey highlight on links in iOS (opinionated).
    * 6. Prevent adjustments of font size after orientation changes in iOS.
    */

  :where(:root) {
    cursor: default;
    /* 1 */
    line-height: 1.5;
    /* 2 */
    overflow-wrap: break-word;
    /* 3 */
    -moz-tab-size: 4;
    /* 4 */
    tab-size: 4;
    /* 4 */
    -webkit-tap-highlight-color: transparent;
    /* 5 */
    -webkit-text-size-adjust: 100%;
    /* 6 */
    -moz-text-size-adjust: 100%;
         text-size-adjust: 100%;
    /* 6 */
  }

  /* Sections
    * ========================================================================== */

  /**
    * Remove the margin in all browsers (opinionated).
    */

  :where(body) {
    margin: 0;
  }

  /**
    * Correct the font size and margin on `h1` elements within `section` and
    * `article` contexts in Chrome, Edge, Firefox, and Safari.
    */

  :where(h1) {
    font-size: 2em;
    margin: 0.67em 0;
  }

  /* Grouping content
    * ========================================================================== */

  /**
    * Remove the margin on nested lists in Chrome, Edge, and Safari.
    */

  :where(dl, ol, ul) :where(dl, ol, ul) {
    margin: 0;
  }

  /**
    * 1. Correct the inheritance of border color in Firefox.
    * 2. Add the correct box sizing in Firefox.
    */

  :where(hr) {
    color: inherit;
    /* 1 */
    height: 0;
    /* 2 */
  }

  /**
    * Remove the list style on navigation lists in all browsers (opinionated).
    */

  :where(nav) :where(ol, ul) {
    list-style-type: none;
    padding: 0;
  }

  /**
    * Prevent VoiceOver from ignoring list semantics in Safari (opinionated).
    */

  :where(nav li)::before {
    content: '\200B';
    float: left;
  }

  /**
    * 1. Correct the inheritance and scaling of font size in all browsers.
    * 2. Correct the odd `em` font sizing in all browsers.
    * 3. Prevent overflow of the container in all browsers (opinionated).
    */

  :where(pre) {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
    overflow: auto;
    /* 3 */
  }

  /* Text-level semantics
    * ========================================================================== */

  /**
    * Add the correct text decoration in Safari.
    */

  :where(abbr[title]) {
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
            text-decoration: underline dotted;
  }

  /**
    * Add the correct font weight in Chrome, Edge, and Safari.
    */

  :where(b, strong) {
    font-weight: bolder;
  }

  /**
    * 1. Correct the inheritance and scaling of font size in all browsers.
    * 2. Correct the odd `em` font sizing in all browsers.
    */

  :where(code, kbd, samp) {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
  }

  /**
    * Add the correct font size in all browsers.
    */

  :where(small) {
    font-size: 80%;
  }

  /* Embedded content
    * ========================================================================== */

  /*
    * Change the alignment on media elements in all browsers (opinionated).
    */

  :where(audio, canvas, iframe, img, svg, video) {
    vertical-align: middle;
  }

  /**
    * Remove the border on iframes in all browsers (opinionated).
    */

  :where(iframe) {
    border-style: none;
  }

  /**
    * Change the fill color to match the text color in all browsers (opinionated).
    */

  :where(svg:not([fill])) {
    fill: currentColor;
  }

  /* Tabular data
    * ========================================================================== */

  /**
    * 1. Collapse border spacing in all browsers (opinionated).
    * 2. Correct table border color in Chrome, Edge, and Safari.
    * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
    */

  :where(table) {
    border-collapse: collapse;
    /* 1 */
    border-color: currentColor;
    /* 2 */
    text-indent: 0;
    /* 3 */
  }

  /* Forms
    * ========================================================================== */

  /**
    * Remove the margin on controls in Safari.
    */

  :where(button, input, select) {
    margin: 0;
  }

  /**
    * Correct the inability to style buttons in iOS and Safari.
    */

  :where(button, [type='button' i], [type='reset' i], [type='submit' i]) {
    -webkit-appearance: button;
  }

  /**
    * Change the inconsistent appearance in all browsers (opinionated).
    */

  :where(fieldset) {
    border: 1px solid #a0a0a0;
  }

  /**
    * Add the correct vertical alignment in Chrome, Edge, and Firefox.
    */

  :where(progress) {
    vertical-align: baseline;
  }

  /**
    * 1. Remove the margin in Firefox and Safari.
    * 3. Change the resize direction in all browsers (opinionated).
    */

  :where(textarea) {
    margin: 0;
    /* 1 */
    resize: vertical;
    /* 3 */
  }

  /**
    * 1. Correct the odd appearance in Chrome, Edge, and Safari.
    * 2. Correct the outline style in Safari.
    */

  :where([type='search' i]) {
    -webkit-appearance: textfield;
    /* 1 */
    outline-offset: -2px;
    /* 2 */
  }

  /**
    * Correct the cursor style of increment and decrement buttons in Safari.
    */

  ::-webkit-inner-spin-button,
  ::-webkit-outer-spin-button {
    height: auto;
  }

  /**
    * Correct the text style of placeholders in Chrome, Edge, and Safari.
    */

  ::-webkit-input-placeholder {
    color: inherit;
    opacity: 0.54;
  }

  /**
    * Remove the inner padding in Chrome, Edge, and Safari on macOS.
    */

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  /**
    * 1. Correct the inability to style upload buttons in iOS and Safari.
    * 2. Change font properties to `inherit` in Safari.
    */

  ::-webkit-file-upload-button {
    -webkit-appearance: button;
    /* 1 */
    font: inherit;
    /* 2 */
  }

  /* Interactive
    * ========================================================================== */

  /*
    * Add the correct styles in Safari.
    */

  :where(dialog) {
    background-color: white;
    border: solid;
    color: black;
    height: -moz-fit-content;
    height: fit-content;
    left: 0;
    margin: auto;
    padding: 1em;
    position: absolute;
    right: 0;
    width: -moz-fit-content;
    width: fit-content;
  }

  :where(dialog:not([open])) {
    display: none;
  }

  /*
    * Add the correct display in Safari.
    */

  :where(details > summary:first-of-type) {
    display: list-item;
  }

  /* Accessibility
    * ========================================================================== */

  /**
    * Change the cursor on busy elements in all browsers (opinionated).
    */

  :where([aria-busy='true' i]) {
    cursor: progress;
  }

  /*
    * Change the cursor on disabled, not-editable, or otherwise
    * inoperable elements in all browsers (opinionated).
    */

  :where([aria-disabled='true' i], [disabled]) {
    cursor: not-allowed;
  }

  /*
    * Change the display on visually hidden accessible elements
    * in all browsers (opinionated).
    */

  :where([aria-hidden='false' i][hidden]) {
    display: initial;
  }

  :where([aria-hidden='false' i][hidden]:not(:focus)) {
    clip: rect(0, 0, 0, 0);
    position: absolute;
  }
}
/* eslint-enable */
