private-schrijfsels-en-noti.../2024/freebsd/Proxmox vs FreeBSD_ Which V...

13114 lines
518 KiB
Mason

From: <Saved by Blink>
Snapshot-Content-Location: https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-virtualization-host-performs-better/
Subject: Proxmox vs FreeBSD: Which Virtualization Host Performs Better? - IT Notes - https://it-notes.dragas.net/
Date: Tue, 14 Jan 2025 22:51:24 +0100
MIME-Version: 1.0
Content-Type: multipart/related;
type="text/html";
boundary="----MultipartBoundary--gWmtkLL3aPLL9QvHLWg1Yif3XzwEYNRGNBhxAsKdsK----"
------MultipartBoundary--gWmtkLL3aPLL9QvHLWg1Yif3XzwEYNRGNBhxAsKdsK----
Content-Type: text/html
Content-ID: <frame-2BE56313F514A7C3D552981E893D33BA@mhtml.blink>
Content-Transfer-Encoding: quoted-printable
Content-Location: https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-virtualization-host-performs-better/
<!DOCTYPE html><html itemscope=3D"" itemtype=3D"http://schema.org/WebPage" =
lang=3D"en" data-theme=3D"dark"><head><meta http-equiv=3D"Content-Type" con=
tent=3D"text/html; charset=3DUTF-8"><link rel=3D"stylesheet" type=3D"text/c=
ss" href=3D"cid:css-b229ca40-2394-47f9-8c30-bded7f1341a4@mhtml.blink" /><me=
ta name=3D"viewport" content=3D"width=3Ddevice-width,initial-scale=3D1,maxi=
mum-scale=3D2"><meta name=3D"robots" content=3D"noodp"><title>Proxmox vs Fr=
eeBSD: Which Virtualization Host Performs Better? - IT Notes - https://it-n=
otes.dragas.net/</title><meta name=3D"author" content=3D"Stefano Marinelli"=
>
<meta name=3D"description" content=3D"Comparative tests show FreeBSD's virt=
ualization performance surpasses Proxmox, especially with NVMe drivers."><m=
eta name=3D"keywords" content=3D"freebsd,linux,proxmox,kvm,bhyve,hosting,fi=
lesystems,virtualization,zfs,debian,server"><meta itemprop=3D"name" content=
=3D"Proxmox vs FreeBSD: Which Virtualization Host Performs Better?"><meta i=
temprop=3D"description" content=3D"Comparative tests show FreeBSD's virtual=
ization performance surpasses Proxmox, especially with NVMe drivers."><meta=
itemprop=3D"datePublished" content=3D"2024-06-10T05:53:45+00:00"><meta ite=
mprop=3D"dateModified" content=3D"2024-06-13T00:00:00+00:00"><meta itemprop=
=3D"wordCount" content=3D"3041"><meta itemprop=3D"image" content=3D"https:/=
/it-notes.dragas.net/featured/server_rack.webp"><meta itemprop=3D"keywords"=
content=3D"Freebsd,Linux,Proxmox,Kvm,Bhyve,Hosting,Filesystems,Virtualizat=
ion,Zfs,Debian,Server"><meta property=3D"og:url" content=3D"https://it-note=
s.dragas.net/2024/06/10/proxmox-vs-freebsd-which-virtualization-host-perfor=
ms-better/"><meta property=3D"og:site_name" content=3D"IT Notes"><meta prop=
erty=3D"og:title" content=3D"Proxmox vs FreeBSD: Which Virtualization Host =
Performs Better?"><meta property=3D"og:description" content=3D"Comparative =
tests show FreeBSD's virtualization performance surpasses Proxmox, especial=
ly with NVMe drivers."><meta property=3D"og:locale" content=3D"en"><meta pr=
operty=3D"og:type" content=3D"article"><meta property=3D"article:section" c=
ontent=3D"posts"><meta property=3D"article:published_time" content=3D"2024-=
06-10T05:53:45+00:00"><meta property=3D"article:modified_time" content=3D"2=
024-06-13T00:00:00+00:00"><meta property=3D"article:tag" content=3D"Freebsd=
"><meta property=3D"article:tag" content=3D"Linux"><meta property=3D"articl=
e:tag" content=3D"Proxmox"><meta property=3D"article:tag" content=3D"Kvm"><=
meta property=3D"article:tag" content=3D"Bhyve"><meta property=3D"article:t=
ag" content=3D"Hosting"><meta property=3D"og:image" content=3D"https://it-n=
otes.dragas.net/featured/server_rack.webp"><meta name=3D"twitter:card" cont=
ent=3D"summary_large_image"><meta name=3D"twitter:image" content=3D"https:/=
/it-notes.dragas.net/featured/server_rack.webp"><meta name=3D"twitter:title=
" content=3D"Proxmox vs FreeBSD: Which Virtualization Host Performs Better?=
"><meta name=3D"twitter:description" content=3D"Comparative tests show Free=
BSD's virtualization performance surpasses Proxmox, especially with NVMe dr=
ivers."><meta name=3D"twitter:site" content=3D"@stefanomarinell"><meta name=
=3D"twitter:creator" content=3D"@@stefanomarinell"><meta name=3D"applicatio=
n-name" content=3D"FixIt"><meta name=3D"apple-mobile-web-app-title" content=
=3D"FixIt"><meta name=3D"theme-color" data-light=3D"#f8f8f8" data-dark=3D"#=
252627" content=3D"#252627"><meta name=3D"msapplication-TileColor" content=
=3D"#da532c"><link rel=3D"shortcut icon" type=3D"image/x-icon" href=3D"http=
s://it-notes.dragas.net/favicon.ico"><link rel=3D"icon" type=3D"image/png" =
sizes=3D"32x32" href=3D"https://it-notes.dragas.net/favicon-32x32.png"><lin=
k rel=3D"icon" type=3D"image/png" sizes=3D"16x16" href=3D"https://it-notes.=
dragas.net/favicon-16x16.png"><link rel=3D"apple-touch-icon" sizes=3D"180x1=
80" href=3D"https://it-notes.dragas.net/apple-touch-icon.png"><link rel=3D"=
mask-icon" href=3D"https://it-notes.dragas.net/safari-pinned-tab.svg" color=
=3D"#5bbad5"><link rel=3D"canonical" type=3D"text/html" href=3D"https://it-=
notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-virtualization-host-pe=
rforms-better/" title=3D"Proxmox vs FreeBSD: Which Virtualization Host Perf=
orms Better? - IT Notes"><link rel=3D"prev" type=3D"text/html" href=3D"http=
s://it-notes.dragas.net/2024/06/04/freebsd-tips-and-tricks-creating-snapsho=
ts-with-ufs/" title=3D"FreeBSD Tips and Tricks: Creating Snapshots with UFS=
"><link rel=3D"next" type=3D"text/html" href=3D"https://it-notes.dragas.net=
/2024/06/16/freebsd-blocking-country-access/" title=3D"Blocking Access from=
or to Specific Countries Using FreeBSD and pf"><link rel=3D"alternate" typ=
e=3D"text/markdown" href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-=
vs-freebsd-which-virtualization-host-performs-better/index.md" title=3D"Pro=
xmox vs FreeBSD: Which Virtualization Host Performs Better? - IT Notes"><li=
nk rel=3D"stylesheet" href=3D"https://it-notes.dragas.net/css/style.min.180=
f49bb74aac7ee38959d0058e1b9126a18b0dad12d2f5e73019f770be5f9c4375ff8d6f84421=
986de0169782ed438ba297089c0e5c33ec7e01ac09e56f70da.css"><link rel=3D"styles=
heet" href=3D"https://it-notes.dragas.net/lib/fontawesome-free/all.min.cf78=
0ba5def29277f562835b0b3a9129ce2aca8afc81a294d6a9a7f824a1c5bb81bac00d23d4294=
6884606b7821642b12e17a2e92f424171446db2aea8b8340c.css" as=3D"style"><link r=
el=3D"stylesheet" href=3D"https://it-notes.dragas.net/lib/animate/animate.m=
in.738daa4d2c3fc0f677ff92c1cc3f81c397fb6d2176a31a2eeb011bf88fe5a9e68a579143=
21f32fbd1a7bef6cb88dc24b2ae1943a96c931d83f053979d1f25803.css" as=3D"style">=
<meta name=3D"google-site-verification" content=3D"XLCcpo9FS2GjVnk5j2vFGeVf=
z3cEbrRBn4YNQfX87FA"></head><body data-header-desktop=3D"sticky" data-heade=
r-mobile=3D"auto"><div role=3D"dialog" aria-live=3D"polite" aria-label=3D"c=
ookieconsent" aria-describedby=3D"cookieconsent:desc" class=3D"cc-window cc=
-banner cc-type-info cc-theme-edgeless cc-bottom cc-color-override-18314252=
4 cc-invisible" style=3D"display: none;"><!--googleoff: all--><span id=3D"c=
ookieconsent:desc" class=3D"cc-message">This website uses Cookies to improv=
e your experience. <a aria-label=3D"learn more about cookies" role=3D"butto=
n" tabindex=3D"0" class=3D"cc-link" href=3D"https://www.cookiesandyou.com/"=
rel=3D"noopener noreferrer nofollow" target=3D"_blank">Learn more</a></spa=
n><div class=3D"cc-compliance"><a aria-label=3D"dismiss cookie message" rol=
e=3D"button" tabindex=3D"0" class=3D"cc-btn cc-dismiss">Got it!</a></div><!=
--googleon: all--></div><div class=3D"wrapper" data-page-style=3D"normal"><=
header class=3D"desktop animate__faster" id=3D"header-desktop"><div class=
=3D"header-wrapper"><div class=3D"header-title"><a href=3D"https://it-notes=
.dragas.net/" title=3D"IT Notes"><span class=3D"header-title-text">IT Notes=
</span></a><span class=3D"header-subtitle"></span></div><nav><ul class=3D"m=
enu"><li class=3D"menu-item has-children"><a class=3D"menu-link"><i class=
=3D"fa-solid fa-address-card fa-fw fa-sm" aria-hidden=3D"true"></i> About</=
a><i class=3D"dropdown-icon fa-solid fa-chevron-down" aria-hidden=3D"true">=
</i><ul class=3D"sub-menu" style=3D"min-width: 91px;"><li class=3D"menu-ite=
m"><a class=3D"menu-link" href=3D"https://it-notes.dragas.net/about-me/"><i=
class=3D"fa-solid fa-person fa-fw fa-sm" aria-hidden=3D"true"></i> About M=
e</a></li><li class=3D"menu-item"><a class=3D"menu-link" href=3D"https://it=
-notes.dragas.net/about-blog/"><i class=3D"fa-solid fa-blog fa-fw fa-sm" ar=
ia-hidden=3D"true"></i> About This Blog</a></li></ul></li><li class=3D"menu=
-item"><a class=3D"menu-link" href=3D"https://it-notes.dragas.net/posts/"><=
i class=3D"fa-solid fa-archive fa-fw fa-sm" aria-hidden=3D"true"></i> Archi=
ves</a></li><li class=3D"menu-item"><a class=3D"menu-link" href=3D"https://=
it-notes.dragas.net/categories/"><i class=3D"fa-solid fa-folder-tree fa-fw =
fa-sm" aria-hidden=3D"true"></i> Categories</a></li><li class=3D"menu-item"=
><a class=3D"menu-link" href=3D"https://it-notes.dragas.net/series/"><i cla=
ss=3D"fa-solid fa-tags fa-fw fa-sm" aria-hidden=3D"true"></i> Series</a></l=
i><li class=3D"menu-item"><a class=3D"menu-link" href=3D"https://it-notes.d=
ragas.net/under-the-hood/"><i class=3D"fa-solid fa-microchip fa-fw fa-sm" a=
ria-hidden=3D"true"></i> Under the Hood</a></li><li class=3D"menu-item"><a =
class=3D"menu-link" href=3D"https://it-notes.dragas.net/professional-servic=
es/"><i class=3D"fa-solid fa-screwdriver-wrench fa-fw fa-sm" aria-hidden=3D=
"true"></i> Professional Services</a></li><li class=3D"menu-item delimiter"=
></li><li class=3D"menu-item search" id=3D"search-desktop"><span class=3D"a=
lgolia-autocomplete" style=3D"position: relative; display: inline-block; di=
rection: ltr;"><input type=3D"text" placeholder=3D"Search titles or content=
s ..." id=3D"search-input-desktop" class=3D"input" autocomplete=3D"off" spe=
llcheck=3D"false" role=3D"combobox" aria-autocomplete=3D"list" aria-expande=
d=3D"false" aria-owns=3D"algolia-autocomplete-listbox-0" dir=3D"auto" style=
=3D"position: relative; vertical-align: top;"><pre aria-hidden=3D"true" sty=
le=3D"position: absolute; visibility: hidden; white-space: pre; font-family=
: system-ui, -apple-system, &quot;system-ui&quot;, &quot;PingFang SC&quot;,=
&quot;Microsoft YaHei UI&quot;, &quot;Segoe UI&quot;, Roboto, Oxygen, Ubun=
tu, Cantarell, &quot;Fira Sans&quot;, &quot;Droid Sans&quot;, &quot;Helveti=
ca Neue&quot;, Helvetica, Arial, sans-serif; font-size: 16px; font-style: n=
ormal; font-variant: normal; font-weight: 400; word-spacing: 0px; letter-sp=
acing: normal; text-indent: 0px; text-rendering: auto; text-transform: none=
;"></pre></span>
<a class=3D"search-button search-toggle" id=3D"search-toggle-desktop" title=
=3D"Search"><i class=3D"fa-solid fa-search fa-fw" aria-hidden=3D"true"></i>
</a><a class=3D"search-button search-clear" id=3D"search-clear-desktop" tit=
le=3D"Clear"><i class=3D"fa-solid fa-times-circle fa-fw" aria-hidden=3D"tru=
e"></i>
</a><span class=3D"search-button search-loading" id=3D"search-loading-deskt=
op"><i class=3D"fa-solid fa-spinner fa-fw fa-spin" aria-hidden=3D"true"></i=
></span></li><li class=3D"menu-item theme-switch" title=3D"Switch Theme"><i=
class=3D"fa-solid fa-adjust fa-fw" aria-hidden=3D"true"></i></li></ul></na=
v></div></header><header class=3D"mobile animate__faster animate__animated =
animate__fadeOutUp" id=3D"header-mobile"><div class=3D"header-container"><d=
iv class=3D"header-wrapper"><div class=3D"header-title"><a href=3D"https://=
it-notes.dragas.net/" title=3D"IT Notes"><span class=3D"header-title-text">=
IT Notes</span></a><span class=3D"header-subtitle"></span></div><div class=
=3D"menu-toggle" id=3D"menu-toggle-mobile"><span></span><span></span><span>=
</span></div></div><nav><ul class=3D"menu" id=3D"menu-mobile"><li class=3D"=
search-wrapper"><div class=3D"search mobile" id=3D"search-mobile"><input ty=
pe=3D"text" placeholder=3D"Search titles or contents ..." id=3D"search-inpu=
t-mobile">
<a class=3D"search-button search-toggle" id=3D"search-toggle-mobile" title=
=3D"Search"><i class=3D"fa-solid fa-search fa-fw" aria-hidden=3D"true"></i>
</a><a class=3D"search-button search-clear" id=3D"search-clear-mobile" titl=
e=3D"Clear"><i class=3D"fa-solid fa-times-circle fa-fw" aria-hidden=3D"true=
"></i>
</a><span class=3D"search-button search-loading" id=3D"search-loading-mobil=
e"><i class=3D"fa-solid fa-spinner fa-fw fa-spin" aria-hidden=3D"true"></i>=
</span></div><a class=3D"search-cancel" id=3D"search-cancel-mobile">Cancel<=
/a></li><li class=3D"menu-item"><span class=3D"nested-item"><a class=3D"men=
u-link"><i class=3D"fa-solid fa-address-card fa-fw fa-sm" aria-hidden=3D"tr=
ue"></i> About</a>
<i class=3D"dropdown-icon fa-solid fa-chevron-right" aria-hidden=3D"true"><=
/i></span><ul class=3D"sub-menu"><li class=3D"menu-item"><a class=3D"menu-l=
ink" href=3D"https://it-notes.dragas.net/about-me/"><i class=3D"fa-solid fa=
-person fa-fw fa-sm" aria-hidden=3D"true"></i> About Me</a></li><li class=
=3D"menu-item"><a class=3D"menu-link" href=3D"https://it-notes.dragas.net/a=
bout-blog/"><i class=3D"fa-solid fa-blog fa-fw fa-sm" aria-hidden=3D"true">=
</i> About This Blog</a></li></ul></li><li class=3D"menu-item"><a class=3D"=
menu-link" href=3D"https://it-notes.dragas.net/posts/"><i class=3D"fa-solid=
fa-archive fa-fw fa-sm" aria-hidden=3D"true"></i> Archives</a></li><li cla=
ss=3D"menu-item"><a class=3D"menu-link" href=3D"https://it-notes.dragas.net=
/categories/"><i class=3D"fa-solid fa-folder-tree fa-fw fa-sm" aria-hidden=
=3D"true"></i> Categories</a></li><li class=3D"menu-item"><a class=3D"menu-=
link" href=3D"https://it-notes.dragas.net/series/"><i class=3D"fa-solid fa-=
tags fa-fw fa-sm" aria-hidden=3D"true"></i> Series</a></li><li class=3D"men=
u-item"><a class=3D"menu-link" href=3D"https://it-notes.dragas.net/under-th=
e-hood/"><i class=3D"fa-solid fa-microchip fa-fw fa-sm" aria-hidden=3D"true=
"></i> Under the Hood</a></li><li class=3D"menu-item"><a class=3D"menu-link=
" href=3D"https://it-notes.dragas.net/professional-services/"><i class=3D"f=
a-solid fa-screwdriver-wrench fa-fw fa-sm" aria-hidden=3D"true"></i> Profes=
sional Services</a></li><li class=3D"menu-item menu-system"><span class=3D"=
menu-system-item theme-switch" title=3D"Switch Theme"><i class=3D"fa-solid =
fa-adjust fa-fw" aria-hidden=3D"true"></i></span></li></ul></nav></div></he=
ader><div class=3D"search-dropdown desktop"><div id=3D"search-dropdown-desk=
top" style=3D"position: relative;"><span class=3D"dropdown-menu" role=3D"li=
stbox" id=3D"algolia-autocomplete-listbox-0" style=3D"position: absolute; z=
-index: 100; display: none; top: 0px; left: 0px; right: auto;"><div class=
=3D"dataset-search"></div></span></div></div><div class=3D"search-dropdown =
mobile"><div id=3D"search-dropdown-mobile"></div></div><meta name=3D"fedive=
rse:creator" content=3D"@stefano@bsd.cafe"><a rel=3D"me" href=3D"https://ma=
stodon.bsd.cafe/@stefano"></a><a rel=3D"me" href=3D"https://snac.it-notes.d=
ragas.net/itnotes"></a><main class=3D"container"><aside class=3D"aside-coll=
ection animate__animated animate__fadeIn animate__faster" aria-label=3D"Col=
lections"></aside><article class=3D"page single"><div class=3D"header"><h1 =
class=3D"single-title animate__animated animate__flipInX"><span>Proxmox vs =
FreeBSD: Which Virtualization Host Performs Better?</span></h1></div><div c=
lass=3D"post-meta"><div class=3D"post-meta-line"><span class=3D"post-author=
"><span class=3D"author"><img loading=3D"lazy" src=3D"https://it-notes.drag=
as.net/stesmall.webp" alt=3D"Stefano Marinelli" width=3D"20" height=3D"20" =
class=3D"avatar" title=3D"Stefano Marinelli" data-lazyloaded=3D"">&nbsp;Ste=
fano Marinelli</span></span><span class=3D"post-included-in">&nbsp;included=
in <a href=3D"https://it-notes.dragas.net/categories/freebsd/" class=3D"po=
st-category" title=3D"Category - Freebsd"><i class=3D"fa-regular fa-folder =
fa-fw" aria-hidden=3D"true"></i> Freebsd</a>=E2=80=82<a href=3D"https://it-=
notes.dragas.net/categories/linux/" class=3D"post-category" title=3D"Catego=
ry - Linux"><i class=3D"fa-regular fa-folder fa-fw" aria-hidden=3D"true"></=
i> Linux</a>=E2=80=82<a href=3D"https://it-notes.dragas.net/categories/prox=
mox/" class=3D"post-category" title=3D"Category - Proxmox"><i class=3D"fa-r=
egular fa-folder fa-fw" aria-hidden=3D"true"></i> Proxmox</a>=E2=80=82<a hr=
ef=3D"https://it-notes.dragas.net/categories/kvm/" class=3D"post-category" =
title=3D"Category - Kvm"><i class=3D"fa-regular fa-folder fa-fw" aria-hidde=
n=3D"true"></i> Kvm</a>=E2=80=82<a href=3D"https://it-notes.dragas.net/cate=
gories/bhyve/" class=3D"post-category" title=3D"Category - Bhyve"><i class=
=3D"fa-regular fa-folder fa-fw" aria-hidden=3D"true"></i> Bhyve</a>=E2=80=
=82<a href=3D"https://it-notes.dragas.net/categories/hosting/" class=3D"pos=
t-category" title=3D"Category - Hosting"><i class=3D"fa-regular fa-folder f=
a-fw" aria-hidden=3D"true"></i> Hosting</a>=E2=80=82<a href=3D"https://it-n=
otes.dragas.net/categories/filesystems/" class=3D"post-category" title=3D"C=
ategory - Filesystems"><i class=3D"fa-regular fa-folder fa-fw" aria-hidden=
=3D"true"></i> Filesystems</a>=E2=80=82<a href=3D"https://it-notes.dragas.n=
et/categories/virtualization/" class=3D"post-category" title=3D"Category - =
Virtualization"><i class=3D"fa-regular fa-folder fa-fw" aria-hidden=3D"true=
"></i> Virtualization</a>=E2=80=82<a href=3D"https://it-notes.dragas.net/ca=
tegories/zfs/" class=3D"post-category" title=3D"Category - Zfs"><i class=3D=
"fa-regular fa-folder fa-fw" aria-hidden=3D"true"></i> Zfs</a>=E2=80=82<a h=
ref=3D"https://it-notes.dragas.net/categories/debian/" class=3D"post-catego=
ry" title=3D"Category - Debian"><i class=3D"fa-regular fa-folder fa-fw" ari=
a-hidden=3D"true"></i> Debian</a>=E2=80=82<a href=3D"https://it-notes.draga=
s.net/categories/server/" class=3D"post-category" title=3D"Category - Serve=
r"><i class=3D"fa-regular fa-folder fa-fw" aria-hidden=3D"true"></i> Server=
</a></span></div><div class=3D"post-meta-line"><span title=3D"published on =
2024-06-10 05:53:45"><i class=3D"fa-solid fa-calendar-days fa-fw me-1" aria=
-hidden=3D"true"></i><time datetime=3D"10-06-2024">10-06-2024</time></span>=
&nbsp;<span title=3D"Updated on 2024-06-13 00:00:00"><i class=3D"fa-regular=
fa-calendar-check fa-fw me-1" aria-hidden=3D"true"></i><time datetime=3D"1=
3-06-2024">13-06-2024</time></span>&nbsp;<span title=3D"3041 words"><i clas=
s=3D"fa-solid fa-pencil-alt fa-fw me-1" aria-hidden=3D"true"></i>About 3100=
words</span>&nbsp;<span><i class=3D"fa-regular fa-clock fa-fw me-1" aria-h=
idden=3D"true"></i>15 minutes</span>&nbsp;</div></div><div class=3D"feature=
d-image"><img loading=3D"lazy" src=3D"https://it-notes.dragas.net/featured/=
server_rack.webp" alt=3D"/featured/server_rack.webp" title=3D"Comparative t=
ests show FreeBSD's virtualization performance surpasses Proxmox, especiall=
y with NVMe drivers." data-lazyloaded=3D""></div><div class=3D"details toc"=
id=3D"toc-static" data-kept=3D"true"><div class=3D"details-summary toc-tit=
le"><span>Contents</span>
<span><i class=3D"details-icon fa-solid fa-angle-right" aria-hidden=3D"true=
"></i></span></div><div class=3D"details-content toc-content" id=3D"toc-con=
tent-static"><nav id=3D"TableOfContents"><ul><li><ul><li><a href=3D"https:/=
/it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-virtualization-hos=
t-performs-better/#preamble">Preamble</a></li><li><a href=3D"https://it-not=
es.dragas.net/2024/06/10/proxmox-vs-freebsd-which-virtualization-host-perfo=
rms-better/#hardware-and-test-conditions">Hardware and Test Conditions</a><=
/li><li><a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebs=
d-which-virtualization-host-performs-better/#cpu-and-ram-tests-on-vms">CPU =
and RAM Tests on VMs</a><ul><li><a href=3D"https://it-notes.dragas.net/2024=
/06/10/proxmox-vs-freebsd-which-virtualization-host-performs-better/#compar=
ative-results">Comparative Results</a><ul><li><a href=3D"https://it-notes.d=
ragas.net/2024/06/10/proxmox-vs-freebsd-which-virtualization-host-performs-=
better/#cpu-test">CPU Test</a></li><li><a href=3D"https://it-notes.dragas.n=
et/2024/06/10/proxmox-vs-freebsd-which-virtualization-host-performs-better/=
#cpu-percentage-analysis">CPU Percentage Analysis</a></li><li><a href=3D"ht=
tps://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-virtualizatio=
n-host-performs-better/#ram-test">RAM Test</a></li><li><a href=3D"https://i=
t-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-virtualization-host-=
performs-better/#ram-percentage-analysis">RAM Percentage Analysis</a></li><=
/ul></li><li><a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-f=
reebsd-which-virtualization-host-performs-better/#cpu-and-ram-comparative-r=
esults-table">CPU and RAM Comparative Results Table</a></li></ul></li><li><=
a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-v=
irtualization-host-performs-better/#interpretation-of-cpu-and-ram-results">=
Interpretation of CPU and RAM Results</a></li><li><a href=3D"https://it-not=
es.dragas.net/2024/06/10/proxmox-vs-freebsd-which-virtualization-host-perfo=
rms-better/#io-performance-tests">I/O Performance Tests</a><ul><li><a href=
=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-virtual=
ization-host-performs-better/#io-comparative-performance-data-with-percenta=
ge-differences">I/O Comparative Performance Data with Percentage Difference=
s</a></li><li><a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-=
freebsd-which-virtualization-host-performs-better/#percentage-differences-c=
ompared-to-vm-on-proxmox-zfs">Percentage Differences Compared to VM on Prox=
mox (ZFS)</a></li><li><a href=3D"https://it-notes.dragas.net/2024/06/10/pro=
xmox-vs-freebsd-which-virtualization-host-performs-better/#percentage-diffe=
rences-compared-to-vm-on-proxmox-lvm-as-this-is-the-standard-proxmox-setup"=
>Percentage Differences Compared to VM on Proxmox (LVM) as this is the stan=
dard Proxmox setup</a></li><li><a href=3D"https://it-notes.dragas.net/2024/=
06/10/proxmox-vs-freebsd-which-virtualization-host-performs-better/#analysi=
s-of-performance-data">Analysis of Performance Data</a><ul><li><a href=3D"h=
ttps://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-virtualizati=
on-host-performs-better/#comparative-analysis">Comparative Analysis</a><ul>=
<li><a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-wh=
ich-virtualization-host-performs-better/#hypothesis-on-nvme-performance-and=
-fsync">Hypothesis on NVMe Performance and fsync</a></li></ul></li><li><a h=
ref=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-virt=
ualization-host-performs-better/#host-physical-systems-and-filesystems">Hos=
t Physical Systems and Filesystems</a></li><li><a href=3D"https://it-notes.=
dragas.net/2024/06/10/proxmox-vs-freebsd-which-virtualization-host-performs=
-better/#vms-vs-physical-hosts">VMs vs Physical Hosts</a></li><li><a href=
=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-virtual=
ization-host-performs-better/#vm-configurations-comparison">VM Configuratio=
ns Comparison</a></li></ul></li></ul></li><li><a href=3D"https://it-notes.d=
ragas.net/2024/06/10/proxmox-vs-freebsd-which-virtualization-host-performs-=
better/#conclusion">Conclusion</a></li></ul></li></ul></nav></div></div><di=
v class=3D"content" id=3D"content"><p><strong>TL;DR</strong>: Skip to the <=
a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-v=
irtualization-host-performs-better/#conclusion" target=3D"_blank" rel=3D"ex=
ternal nofollow noopener noreferrer">Conclusion</a> for a summary.</p><h3 i=
d=3D"preamble" class=3D"heading-element"><span>Preamble</span>
<a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-=
virtualization-host-performs-better/#preamble" class=3D"heading-mark"><svg =
class=3D"octicon octicon-link" viewBox=3D"0 0 16 16" width=3D"16" height=3D=
"16" aria-hidden=3D"true"><path d=3D"m7.775 3.275 1.25-1.25a3.5 3.5.0 114.9=
5 4.95l-2.5 2.5a3.5 3.5.0 01-4.95.0.751.751.0 01.018-1.042.751.751.0 011.04=
2-.018 1.998 1.998.0 002.83.0l2.5-2.5a2.002 2.002.0 00-2.83-2.83l-1.25 1.25=
a.751.751.0 01-1.042-.018.751.751.0 01-.018-1.042zm-4.69 9.64a1.998 1.998.0=
002.83.0l1.25-1.25a.751.751.0 011.042.018.751.751.0 01.018 1.042l-1.25 1.2=
5a3.5 3.5.0 11-4.95-4.95l2.5-2.5a3.5 3.5.0 014.95.0.751.751.0 01-.018 1.042=
.751.751.0 01-1.042.018 1.998 1.998.0 00-2.83.0l-2.5 2.5a1.998 1.998.0 000 =
2.83z"></path></svg></a></h3><p>I have always been passionate about virtual=
ization and have consistently used it.</p><p>The first solution I installed=
on my infrastructures (and those of clients) was <a href=3D"https://it-not=
es.dragas.net/2023/08/27/that-old-netbsd-server-running-since-2010/" target=
=3D"_blank" rel=3D"external nofollow noopener noreferrer">Xen on NetBSD</a>=
, with great success. I then used Xen on Linux and, since 2012, OpenNebula,=
followed by Proxmox in 2013. <a href=3D"https://it-notes.dragas.net/catego=
ries/proxmox/" target=3D"_blank" rel=3D"external nofollow noopener noreferr=
er">Proxmox</a> has always given me great satisfaction, and even today I co=
nsider it a valuable platform that I install gladly. I have also used other=
hypervisors like <a href=3D"https://xcp-ng.org/" target=3D"_blank" rel=3D"=
external nofollow noopener noreferrer">XCP-ng</a> but less frequently, and =
in recent years, I have started to make extensive use of bhyve.</p><p>About=
two and a half years ago, <a href=3D"https://it-notes.dragas.net/2022/01/2=
4/why-were-migrating-many-of-our-servers-from-linux-to-freebsd/" target=3D"=
_blank" rel=3D"external nofollow noopener noreferrer">we began a progressiv=
e process of migrating our servers (and those of our clients) from Linux to=
FreeBSD</a>, <a href=3D"https://it-notes.dragas.net/2022/02/05/how-we-are-=
migrating-many-of-our-servers-from-linux-to-freebsd-part-1-system-and-jails=
-setup/" target=3D"_blank" rel=3D"external nofollow noopener noreferrer">us=
ing jails</a> (when possible) or VMs on bhyve. In some cases, <a href=3D"ht=
tps://it-notes.dragas.net/2023/03/14/how-we-are-migrating-many-of-our-serve=
rs-from-linux-to-freebsd-part-3/" target=3D"_blank" rel=3D"external nofollo=
w noopener noreferrer">migrating setups from Proxmox to FreeBSD</a> resulte=
d in performance improvements, even with the same hardware. In some instanc=
es,
I migrated VMs without notifying clients, and they contacted me a few days =
later to inquire if we had new hardware because they noticed better perform=
ance.</p><p>After years, I decided to conduct a test to determine if this w=
as just a perception or if there was a technical basis behind it. Of course=
, <em>this test has no scientific validity</em>, and the results were obtai=
ned on specific hardware and at a specific time, so on different hardware, =
workload, and situations, the results could be entirely opposite.
However, I tried to have as scientific and objective an approach as possibl=
e since I am comparing two solutions that I care about and use daily.</p><h=
3 id=3D"hardware-and-test-conditions" class=3D"heading-element"><span>Hardw=
are and Test Conditions</span>
<a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-=
virtualization-host-performs-better/#hardware-and-test-conditions" class=3D=
"heading-mark"><svg class=3D"octicon octicon-link" viewBox=3D"0 0 16 16" wi=
dth=3D"16" height=3D"16" aria-hidden=3D"true"><path d=3D"m7.775 3.275 1.25-=
1.25a3.5 3.5.0 114.95 4.95l-2.5 2.5a3.5 3.5.0 01-4.95.0.751.751.0 01.018-1.=
042.751.751.0 011.042-.018 1.998 1.998.0 002.83.0l2.5-2.5a2.002 2.002.0 00-=
2.83-2.83l-1.25 1.25a.751.751.0 01-1.042-.018.751.751.0 01-.018-1.042zm-4.6=
9 9.64a1.998 1.998.0 002.83.0l1.25-1.25a.751.751.0 011.042.018.751.751.0 01=
.018 1.042l-1.25 1.25a3.5 3.5.0 11-4.95-4.95l2.5-2.5a3.5 3.5.0 014.95.0.751=
.751.0 01-.018 1.042.751.751.0 01-1.042.018 1.998 1.998.0 00-2.83.0l-2.5 2.=
5a1.998 1.998.0 000 2.83z"></path></svg></a></h3><p>I often see comparative=
tests done on VMs from various providers. In my opinion, this comparison m=
akes no sense because a VM from any provider shares its hardware with many =
other VMs, so the results will vary depending on the load of the =E2=80=9Cn=
eighbors=E2=80=9D and will never be reliable.</p><p>For this test, I decide=
d to take a physical server with the following characteristics:</p><ul><li>=
Intel Core i7-6700</li><li>2x SSD M.2 NVMe 512 GB</li><li>4x RAM 16384 MB D=
DR4</li><li>NIC 1 Gbit Intel I219-LM</li></ul><p>The hardware is not recent=
, but still very widespread. On more recent hardware, the results might dif=
fer, but the test will be based on this configuration.</p><p>I installed <a=
href=3D"https://www.proxmox.com/en/" target=3D"_blank" rel=3D"external nof=
ollow noopener noreferrer">Proxmox 8.2.2</a> starting from the Debian templ=
ate of the provider and <a href=3D"https://pve.proxmox.com/wiki/Install_Pro=
xmox_VE_on_Debian_12_Bookworm" target=3D"_blank" rel=3D"external nofollow n=
oopener noreferrer">manually installed it following the instructions</a>. I=
created a partition for Proxmox and left one partition free on each of the=
two NVME drives to create (at different times) the ZFS pool (in mirror) an=
d the LVM on top of the Linux software raid.</p><p>After all the tests, I i=
nstalled <a href=3D"https://www.freebsd.org/" target=3D"_blank" rel=3D"exte=
rnal nofollow noopener noreferrer">FreeBSD</a> 14.1-RELEASE on ZFS on the s=
ame host, using <em>bsdinstall</em> from an <a href=3D"https://mfsbsd.vx.sk=
/" target=3D"_blank" rel=3D"external nofollow noopener noreferrer">mfsbsd i=
mage</a> since the provider does not directly support installing FreeBSD fr=
om its panel or rescue mode.</p><p>In both installations, I always trimmed =
the NVME drives before starting the tests, and in the case of ZFS, I set (b=
oth on Proxmox and FreeBSD) compression to zstd and atime to off.
No other changes were made compared to the standard installation.</p><p>On =
FreeBSD, the VM was created and managed with <a href=3D"https://github.com/=
churchers/vm-bhyve" target=3D"_blank" rel=3D"external nofollow noopener nor=
eferrer">vm-bhyve (devel)</a>.</p><p>On Proxmox, I tested the physical host=
on ZFS and ext4 and the VM on ZFS and LVM as LVM is the standard and most =
common setup in Proxmox.</p><p>On FreeBSD, I tested the host on ZFS and the=
VM with both virtio and nvme drivers, on zvol, and as an image file within=
a ZFS dataset.</p><p>I used <a href=3D"https://github.com/akopytov/sysbenc=
h" target=3D"_blank" rel=3D"external nofollow noopener noreferrer">sysbench=
</a> installed from the official Debian repository (on Proxmox and VM) and =
from the FreeBSD package on the respective host.</p><p>The VMs, both on Pro=
xmox and FreeBSD, have nearly identical characteristics and default configu=
ration (apart from the nvme drivers set on bhyve, and for that reason, I al=
so tested virtio).</p><p>For those who want to reproduce my tests, here are=
the detailed configurations of the VMs used in bhyve:</p><p><strong>FreeBS=
D bhyve VM Configuration with NVMe Driver</strong>:</p><div class=3D"highli=
ght"><div class=3D"chroma open" data-init=3D"true"><div class=3D"code-heade=
r language-gdscript3"><span class=3D"code-title"><i class=3D"arrow fa-solid=
fa-chevron-right fa-fw" aria-hidden=3D"true"></i></span><span class=3D"ell=
ipses"><i class=3D"fa-solid fa-ellipsis-h fa-fw" aria-hidden=3D"true"></i><=
/span><span class=3D"copy" title=3D"Copy to clipboard"><i class=3D"fa-regul=
ar fa-copy fa-fw" aria-hidden=3D"true"></i></span></div><div class=3D"table=
-wrapper"><table><tbody><tr><td><pre tabindex=3D"0" class=3D"chroma"><code =
class=3D"language-gdscript3" data-lang=3D"gdscript3"><span class=3D"line"><=
span class=3D"cl"><span class=3D"n">loader</span><span class=3D"o">=3D</spa=
n><span class=3D"s2">"uefi"</span>
</span></span><span class=3D"line"><span class=3D"cl"><span class=3D"n">cpu=
</span><span class=3D"o">=3D</span><span class=3D"mi">4</span>
</span></span><span class=3D"line"><span class=3D"cl"><span class=3D"n">mem=
ory</span><span class=3D"o">=3D</span><span class=3D"mi">4096</span><span c=
lass=3D"n">M</span>
</span></span><span class=3D"line"><span class=3D"cl"><span class=3D"n">net=
work0_type</span><span class=3D"o">=3D</span><span class=3D"s2">"virtio-net=
"</span>
</span></span><span class=3D"line"><span class=3D"cl"><span class=3D"n">net=
work0_switch</span><span class=3D"o">=3D</span><span class=3D"s2">"public"<=
/span>
</span></span><span class=3D"line"><span class=3D"cl"><span class=3D"n">dis=
k0_type</span><span class=3D"o">=3D</span><span class=3D"s2">"nvme"</span>
</span></span><span class=3D"line"><span class=3D"cl"><span class=3D"n">dis=
k0_name</span><span class=3D"o">=3D</span><span class=3D"s2">"disk0.img"</s=
pan></span></span></code></pre></td></tr></tbody></table></div></div></div>=
<p><strong>FreeBSD bhyve VM Configuration with virtio Driver</strong>:</p><=
div class=3D"highlight"><div class=3D"chroma open" data-init=3D"true"><div =
class=3D"code-header language-gdscript3"><span class=3D"code-title"><i clas=
s=3D"arrow fa-solid fa-chevron-right fa-fw" aria-hidden=3D"true"></i></span=
><span class=3D"ellipses"><i class=3D"fa-solid fa-ellipsis-h fa-fw" aria-hi=
dden=3D"true"></i></span><span class=3D"copy" title=3D"Copy to clipboard"><=
i class=3D"fa-regular fa-copy fa-fw" aria-hidden=3D"true"></i></span></div>=
<div class=3D"table-wrapper"><table><tbody><tr><td><pre tabindex=3D"0" clas=
s=3D"chroma"><code class=3D"language-gdscript3" data-lang=3D"gdscript3"><sp=
an class=3D"line"><span class=3D"cl"><span class=3D"n">loader</span><span c=
lass=3D"o">=3D</span><span class=3D"s2">"uefi"</span>
</span></span><span class=3D"line"><span class=3D"cl"><span class=3D"n">cpu=
</span><span class=3D"o">=3D</span><span class=3D"mi">4</span>
</span></span><span class=3D"line"><span class=3D"cl"><span class=3D"n">mem=
ory</span><span class=3D"o">=3D</span><span class=3D"mi">4096</span><span c=
lass=3D"n">M</span>
</span></span><span class=3D"line"><span class=3D"cl"><span class=3D"n">net=
work0_type</span><span class=3D"o">=3D</span><span class=3D"s2">"virtio-net=
"</span>
</span></span><span class=3D"line"><span class=3D"cl"><span class=3D"n">net=
work0_switch</span><span class=3D"o">=3D</span><span class=3D"s2">"public"<=
/span>
</span></span><span class=3D"line"><span class=3D"cl"><span class=3D"n">dis=
k0_type</span><span class=3D"o">=3D</span><span class=3D"s2">"virtio-blk"</=
span>
</span></span><span class=3D"line"><span class=3D"cl"><span class=3D"n">dis=
k0_name</span><span class=3D"o">=3D</span><span class=3D"s2">"disk0.img"</s=
pan></span></span></code></pre></td></tr></tbody></table></div></div></div>=
<p><strong>Proxmox VM Configuration</strong>:</p><div class=3D"table-wrappe=
r"><table><thead><tr><th><strong>Component</strong></th><th><strong>Details=
</strong></th></tr></thead><tbody><tr><td><strong>Memory</strong></td><td>4=
.00 GiB [balloon=3D0]</td></tr><tr><td><strong>Processors</strong></td><td>=
4 (1 sockets, 4 cores) [x86-64-v2-AES]</td></tr><tr><td><strong>BIOS</stron=
g></td><td>Default (SeaBIOS)</td></tr><tr><td><strong>Display</strong></td>=
<td>Default</td></tr><tr><td><strong>Machine</strong></td><td>Default (i440=
fx)</td></tr><tr><td><strong>SCSI Controller</strong></td><td>VirtIO SCSI s=
ingle</td></tr><tr><td><strong>CD/DVD Drive (ide2)</strong></td><td>local:i=
so/debian-12.5.0-amd64-netinst.iso,media=3Dcdrom,size=3D629M</td></tr><tr><=
td><strong>Hard Disk (scsi0)</strong></td><td>zfspool:vm-100-disk-0,cache=
=3Dwriteback,discard=3Don,iothread=3D1,size=3D50G,ssd=3D1</td></tr><tr><td>=
<strong>Network Device (net0)</strong></td><td>virtio=3DBC:24:11:22:3D:F0,b=
ridge=3Dvmbr0</td></tr></tbody></table></div><p>In all the configurations, =
I used Debian 12 as the VM operating system, with the file system on ext4.<=
/p><p>I chose Debian 12 as it is a stable, widespread, and modern Linux dis=
tribution. I did not test a FreeBSD VM because, in my setups, <a href=3D"ht=
tps://it-notes.dragas.net/2023/11/27/migrating-from-vm-to-hierarchical-jail=
s-freebsd/" target=3D"_blank" rel=3D"external nofollow noopener noreferrer"=
>I tend not to virtualize FreeBSD on FreeBSD but to use nested jails</a>.</=
p><p>All tests were performed multiple times, and I took the median results=
. CPU and RAM were tested only on the first VM (on Proxmox (ZFS) and FreeBS=
D (ZFS and nvme)) as they are not dependent on the underlying storage. Stor=
age performance, on the other hand, was tested on all configurations.</p><h=
3 id=3D"cpu-and-ram-tests-on-vms" class=3D"heading-element"><span>CPU and R=
AM Tests on VMs</span>
<a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-=
virtualization-host-performs-better/#cpu-and-ram-tests-on-vms" class=3D"hea=
ding-mark"><svg class=3D"octicon octicon-link" viewBox=3D"0 0 16 16" width=
=3D"16" height=3D"16" aria-hidden=3D"true"><path d=3D"m7.775 3.275 1.25-1.2=
5a3.5 3.5.0 114.95 4.95l-2.5 2.5a3.5 3.5.0 01-4.95.0.751.751.0 01.018-1.042=
.751.751.0 011.042-.018 1.998 1.998.0 002.83.0l2.5-2.5a2.002 2.002.0 00-2.8=
3-2.83l-1.25 1.25a.751.751.0 01-1.042-.018.751.751.0 01-.018-1.042zm-4.69 9=
.64a1.998 1.998.0 002.83.0l1.25-1.25a.751.751.0 011.042.018.751.751.0 01.01=
8 1.042l-1.25 1.25a3.5 3.5.0 11-4.95-4.95l2.5-2.5a3.5 3.5.0 014.95.0.751.75=
1.0 01-.018 1.042.751.751.0 01-1.042.018 1.998 1.998.0 00-2.83.0l-2.5 2.5a1=
.998 1.998.0 000 2.83z"></path></svg></a></h3><p>On both VMs:</p><div class=
=3D"highlight"><div class=3D"chroma open" data-init=3D"true"><div class=3D"=
code-header language-shell"><span class=3D"code-title"><i class=3D"arrow fa=
-solid fa-chevron-right fa-fw" aria-hidden=3D"true"></i></span><span class=
=3D"ellipses"><i class=3D"fa-solid fa-ellipsis-h fa-fw" aria-hidden=3D"true=
"></i></span><span class=3D"copy" title=3D"Copy to clipboard"><i class=3D"f=
a-regular fa-copy fa-fw" aria-hidden=3D"true"></i></span></div><div class=
=3D"table-wrapper"><table><tbody><tr><td><pre tabindex=3D"0" class=3D"chrom=
a"><code class=3D"language-shell" data-lang=3D"shell"><span class=3D"line">=
<span class=3D"cl">sysbench --test<span class=3D"o">=3D</span>cpu --cpu-max=
-prime<span class=3D"o">=3D</span><span class=3D"m">20000</span> run
</span></span><span class=3D"line"><span class=3D"cl">sysbench --test<span =
class=3D"o">=3D</span>memory run</span></span></code></pre></td></tr></tbod=
y></table></div></div></div><h4 id=3D"comparative-results" class=3D"heading=
-element"><span>Comparative Results</span>
<a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-=
virtualization-host-performs-better/#comparative-results" class=3D"heading-=
mark"><svg class=3D"octicon octicon-link" viewBox=3D"0 0 16 16" width=3D"16=
" height=3D"16" aria-hidden=3D"true"><path d=3D"m7.775 3.275 1.25-1.25a3.5 =
3.5.0 114.95 4.95l-2.5 2.5a3.5 3.5.0 01-4.95.0.751.751.0 01.018-1.042.751.7=
51.0 011.042-.018 1.998 1.998.0 002.83.0l2.5-2.5a2.002 2.002.0 00-2.83-2.83=
l-1.25 1.25a.751.751.0 01-1.042-.018.751.751.0 01-.018-1.042zm-4.69 9.64a1.=
998 1.998.0 002.83.0l1.25-1.25a.751.751.0 011.042.018.751.751.0 01.018 1.04=
2l-1.25 1.25a3.5 3.5.0 11-4.95-4.95l2.5-2.5a3.5 3.5.0 014.95.0.751.751.0 01=
-.018 1.042.751.751.0 01-1.042.018 1.998 1.998.0 00-2.83.0l-2.5 2.5a1.998 1=
.998.0 000 2.83z"></path></svg></a></h4><h5 id=3D"cpu-test" class=3D"headin=
g-element"><span>CPU Test</span>
<a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-=
virtualization-host-performs-better/#cpu-test" class=3D"heading-mark"><svg =
class=3D"octicon octicon-link" viewBox=3D"0 0 16 16" width=3D"16" height=3D=
"16" aria-hidden=3D"true"><path d=3D"m7.775 3.275 1.25-1.25a3.5 3.5.0 114.9=
5 4.95l-2.5 2.5a3.5 3.5.0 01-4.95.0.751.751.0 01.018-1.042.751.751.0 011.04=
2-.018 1.998 1.998.0 002.83.0l2.5-2.5a2.002 2.002.0 00-2.83-2.83l-1.25 1.25=
a.751.751.0 01-1.042-.018.751.751.0 01-.018-1.042zm-4.69 9.64a1.998 1.998.0=
002.83.0l1.25-1.25a.751.751.0 011.042.018.751.751.0 01.018 1.042l-1.25 1.2=
5a3.5 3.5.0 11-4.95-4.95l2.5-2.5a3.5 3.5.0 014.95.0.751.751.0 01-.018 1.042=
.751.751.0 01-1.042.018 1.998 1.998.0 00-2.83.0l-2.5 2.5a1.998 1.998.0 000 =
2.83z"></path></svg></a></h5><div class=3D"table-wrapper"><table><thead><tr=
><th>Configuration</th><th>Events per Second</th><th>Total Time (s)</th><th=
>Latency (avg) (ms)</th></tr></thead><tbody><tr><td><strong>Proxmox</strong=
></td><td>498.08</td><td>10.0010</td><td>2.01</td></tr><tr><td><strong>Free=
BSD</strong></td><td>473.65</td><td>10.0019</td><td>2.11</td></tr></tbody><=
/table></div><h5 id=3D"cpu-percentage-analysis" class=3D"heading-element"><=
span>CPU Percentage Analysis</span>
<a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-=
virtualization-host-performs-better/#cpu-percentage-analysis" class=3D"head=
ing-mark"><svg class=3D"octicon octicon-link" viewBox=3D"0 0 16 16" width=
=3D"16" height=3D"16" aria-hidden=3D"true"><path d=3D"m7.775 3.275 1.25-1.2=
5a3.5 3.5.0 114.95 4.95l-2.5 2.5a3.5 3.5.0 01-4.95.0.751.751.0 01.018-1.042=
.751.751.0 011.042-.018 1.998 1.998.0 002.83.0l2.5-2.5a2.002 2.002.0 00-2.8=
3-2.83l-1.25 1.25a.751.751.0 01-1.042-.018.751.751.0 01-.018-1.042zm-4.69 9=
.64a1.998 1.998.0 002.83.0l1.25-1.25a.751.751.0 011.042.018.751.751.0 01.01=
8 1.042l-1.25 1.25a3.5 3.5.0 11-4.95-4.95l2.5-2.5a3.5 3.5.0 014.95.0.751.75=
1.0 01-.018 1.042.751.751.0 01-1.042.018 1.998 1.998.0 00-2.83.0l-2.5 2.5a1=
.998 1.998.0 000 2.83z"></path></svg></a></h5><ul><li><strong>Difference in=
Events per Second</strong>: ((498.08 - 473.65) / 498.08 approx -4.91%)</li=
><li><strong>Difference in Total Time</strong>: ((10.0019 - 10.0010) / 10.0=
010 approx +0.009%)</li><li><strong>Difference in Latency (avg)</strong>: (=
(2.11 - 2.01) / 2.01 approx +4.98%)</li></ul><h5 id=3D"ram-test" class=3D"h=
eading-element"><span>RAM Test</span>
<a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-=
virtualization-host-performs-better/#ram-test" class=3D"heading-mark"><svg =
class=3D"octicon octicon-link" viewBox=3D"0 0 16 16" width=3D"16" height=3D=
"16" aria-hidden=3D"true"><path d=3D"m7.775 3.275 1.25-1.25a3.5 3.5.0 114.9=
5 4.95l-2.5 2.5a3.5 3.5.0 01-4.95.0.751.751.0 01.018-1.042.751.751.0 011.04=
2-.018 1.998 1.998.0 002.83.0l2.5-2.5a2.002 2.002.0 00-2.83-2.83l-1.25 1.25=
a.751.751.0 01-1.042-.018.751.751.0 01-.018-1.042zm-4.69 9.64a1.998 1.998.0=
002.83.0l1.25-1.25a.751.751.0 011.042.018.751.751.0 01.018 1.042l-1.25 1.2=
5a3.5 3.5.0 11-4.95-4.95l2.5-2.5a3.5 3.5.0 014.95.0.751.751.0 01-.018 1.042=
.751.751.0 01-1.042.018 1.998 1.998.0 00-2.83.0l-2.5 2.5a1.998 1.998.0 000 =
2.83z"></path></svg></a></h5><div class=3D"table-wrapper"><table><thead><tr=
><th>Configuration</th><th>Total Operations</th><th>Operations per Second</=
th><th>Total MiB Transferred</th><th>MiB/sec</th><th>Latency (avg) (ms)</th=
></tr></thead><tbody><tr><td><strong>Proxmox</strong></td><td>64777227</td>=
<td>6476757.59</td><td>63259.01</td><td>6324.96</td><td>0.00</td></tr><tr><=
td><strong>FreeBSD</strong></td><td>68621063</td><td>6861139.06</td><td>670=
12.76</td><td>6700.33</td><td>0.00</td></tr></tbody></table></div><h5 id=3D=
"ram-percentage-analysis" class=3D"heading-element"><span>RAM Percentage An=
alysis</span>
<a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-=
virtualization-host-performs-better/#ram-percentage-analysis" class=3D"head=
ing-mark"><svg class=3D"octicon octicon-link" viewBox=3D"0 0 16 16" width=
=3D"16" height=3D"16" aria-hidden=3D"true"><path d=3D"m7.775 3.275 1.25-1.2=
5a3.5 3.5.0 114.95 4.95l-2.5 2.5a3.5 3.5.0 01-4.95.0.751.751.0 01.018-1.042=
.751.751.0 011.042-.018 1.998 1.998.0 002.83.0l2.5-2.5a2.002 2.002.0 00-2.8=
3-2.83l-1.25 1.25a.751.751.0 01-1.042-.018.751.751.0 01-.018-1.042zm-4.69 9=
.64a1.998 1.998.0 002.83.0l1.25-1.25a.751.751.0 011.042.018.751.751.0 01.01=
8 1.042l-1.25 1.25a3.5 3.5.0 11-4.95-4.95l2.5-2.5a3.5 3.5.0 014.95.0.751.75=
1.0 01-.018 1.042.751.751.0 01-1.042.018 1.998 1.998.0 00-2.83.0l-2.5 2.5a1=
.998 1.998.0 000 2.83z"></path></svg></a></h5><ul><li><strong>Difference in=
Total Operations</strong>: ((68621063 - 64777227) / 64777227 approx +5.94%=
)</li><li><strong>Difference in Operations per Second</strong>: ((6861139.0=
6 - 6476757.59) / 6476757.59 approx +5.94%)</li><li><strong>Difference in T=
otal MiB Transferred</strong>: ((67012.76 - 63259.01) / 63259.01 approx +5.=
93%)</li><li><strong>Difference in MiB/sec</strong>: ((6700.33 - 6324.96) /=
6324.96 approx +5.93%)</li></ul><h4 id=3D"cpu-and-ram-comparative-results-=
table" class=3D"heading-element"><span>CPU and RAM Comparative Results Tabl=
e</span>
<a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-=
virtualization-host-performs-better/#cpu-and-ram-comparative-results-table"=
class=3D"heading-mark"><svg class=3D"octicon octicon-link" viewBox=3D"0 0 =
16 16" width=3D"16" height=3D"16" aria-hidden=3D"true"><path d=3D"m7.775 3.=
275 1.25-1.25a3.5 3.5.0 114.95 4.95l-2.5 2.5a3.5 3.5.0 01-4.95.0.751.751.0 =
01.018-1.042.751.751.0 011.042-.018 1.998 1.998.0 002.83.0l2.5-2.5a2.002 2.=
002.0 00-2.83-2.83l-1.25 1.25a.751.751.0 01-1.042-.018.751.751.0 01-.018-1.=
042zm-4.69 9.64a1.998 1.998.0 002.83.0l1.25-1.25a.751.751.0 011.042.018.751=
.751.0 01.018 1.042l-1.25 1.25a3.5 3.5.0 11-4.95-4.95l2.5-2.5a3.5 3.5.0 014=
.95.0.751.751.0 01-.018 1.042.751.751.0 01-1.042.018 1.998 1.998.0 00-2.83.=
0l-2.5 2.5a1.998 1.998.0 000 2.83z"></path></svg></a></h4><div class=3D"tab=
le-wrapper"><table><thead><tr><th>Test</th><th>Metric</th><th>Proxmox (KVM)=
</th><th>FreeBSD (bhyve)</th><th>Difference (%)</th></tr></thead><tbody><tr=
><td>CPU</td><td>Events/s</td><td>498.08</td><td>473.65</td><td>-4.91</td><=
/tr><tr><td></td><td>Time (s)</td><td>10.0010</td><td>10.0019</td><td>+0.00=
9</td></tr><tr><td></td><td>Latency</td><td>2.01</td><td>2.11</td><td>+4.98=
</td></tr><tr><td>RAM</td><td>Ops</td><td>64777227</td><td>68621063</td><td=
>+5.94</td></tr><tr><td></td><td>Ops/s</td><td>6476757.59</td><td>6861139.0=
6</td><td>+5.94</td></tr><tr><td></td><td>MiB</td><td>63259.01</td><td>6701=
2.76</td><td>+5.93</td></tr><tr><td></td><td>MiB/s</td><td>6324.96</td><td>=
6700.33</td><td>+5.93</td></tr><tr><td></td><td>Latency</td><td>0.00</td><t=
d>0.00</td><td>0.00</td></tr></tbody></table></div><h3 id=3D"interpretation=
-of-cpu-and-ram-results" class=3D"heading-element"><span>Interpretation of =
CPU and RAM Results</span>
<a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-=
virtualization-host-performs-better/#interpretation-of-cpu-and-ram-results"=
class=3D"heading-mark"><svg class=3D"octicon octicon-link" viewBox=3D"0 0 =
16 16" width=3D"16" height=3D"16" aria-hidden=3D"true"><path d=3D"m7.775 3.=
275 1.25-1.25a3.5 3.5.0 114.95 4.95l-2.5 2.5a3.5 3.5.0 01-4.95.0.751.751.0 =
01.018-1.042.751.751.0 011.042-.018 1.998 1.998.0 002.83.0l2.5-2.5a2.002 2.=
002.0 00-2.83-2.83l-1.25 1.25a.751.751.0 01-1.042-.018.751.751.0 01-.018-1.=
042zm-4.69 9.64a1.998 1.998.0 002.83.0l1.25-1.25a.751.751.0 011.042.018.751=
.751.0 01.018 1.042l-1.25 1.25a3.5 3.5.0 11-4.95-4.95l2.5-2.5a3.5 3.5.0 014=
.95.0.751.751.0 01-.018 1.042.751.751.0 01-1.042.018 1.998 1.998.0 00-2.83.=
0l-2.5 2.5a1.998 1.998.0 000 2.83z"></path></svg></a></h3><ol><li><p><stron=
g>CPU Performance</strong>:</p><ul><li>The VM on FreeBSD has slightly lower=
CPU performance compared to Proxmox (-4.91% in events per second).</li><li=
>The total execution time is nearly identical, with a negligible difference=
.</li><li>The average latency is slightly higher on FreeBSD (+4.98%).</li><=
/ul></li><li><p><strong>RAM Performance</strong>:</p><ul><li>The VM on Free=
BSD has better RAM performance compared to Proxmox (+5.94% in operations an=
d MiB/sec).</li><li>The average latency is identical in both configurations=
.</li></ul></li></ol><p>In summary, while Proxmox provides more consistent =
CPU performance, FreeBSD demonstrates superior memory performance. The choi=
ce between Proxmox and FreeBSD may depend on the specific workload requirem=
ents and the importance of consistent performance versus higher throughput.=
</p><h3 id=3D"io-performance-tests" class=3D"heading-element"><span>I/O Per=
formance Tests</span>
<a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-=
virtualization-host-performs-better/#io-performance-tests" class=3D"heading=
-mark"><svg class=3D"octicon octicon-link" viewBox=3D"0 0 16 16" width=3D"1=
6" height=3D"16" aria-hidden=3D"true"><path d=3D"m7.775 3.275 1.25-1.25a3.5=
3.5.0 114.95 4.95l-2.5 2.5a3.5 3.5.0 01-4.95.0.751.751.0 01.018-1.042.751.=
751.0 011.042-.018 1.998 1.998.0 002.83.0l2.5-2.5a2.002 2.002.0 00-2.83-2.8=
3l-1.25 1.25a.751.751.0 01-1.042-.018.751.751.0 01-.018-1.042zm-4.69 9.64a1=
.998 1.998.0 002.83.0l1.25-1.25a.751.751.0 011.042.018.751.751.0 01.018 1.0=
42l-1.25 1.25a3.5 3.5.0 11-4.95-4.95l2.5-2.5a3.5 3.5.0 014.95.0.751.751.0 0=
1-.018 1.042.751.751.0 01-1.042.018 1.998 1.998.0 00-2.83.0l-2.5 2.5a1.998 =
1.998.0 000 2.83z"></path></svg></a></h3><p>The test has been conducted usi=
ng sysbench, with this command line:</p><div class=3D"highlight"><div class=
=3D"chroma open" data-init=3D"true"><div class=3D"code-header language-sh">=
<span class=3D"code-title"><i class=3D"arrow fa-solid fa-chevron-right fa-f=
w" aria-hidden=3D"true"></i></span><span class=3D"ellipses"><i class=3D"fa-=
solid fa-ellipsis-h fa-fw" aria-hidden=3D"true"></i></span><span class=3D"c=
opy" title=3D"Copy to clipboard"><i class=3D"fa-regular fa-copy fa-fw" aria=
-hidden=3D"true"></i></span></div><div class=3D"table-wrapper"><table><tbod=
y><tr><td><pre tabindex=3D"0" class=3D"chroma"><code class=3D"language-sh" =
data-lang=3D"sh"><span class=3D"line"><span class=3D"cl">sysbench --test<sp=
an class=3D"o">=3D</span>fileio --file-total-size<span class=3D"o">=3D</spa=
n>30G prepare
</span></span><span class=3D"line"><span class=3D"cl">sysbench --test<span =
class=3D"o">=3D</span>fileio --file-total-size<span class=3D"o">=3D</span>3=
0G --file-test-mode<span class=3D"o">=3D</span>rndrw --max-time<span class=
=3D"o">=3D</span><span class=3D"m">300</span> --max-requests<span class=3D"=
o">=3D</span><span class=3D"m">0</span> run</span></span></code></pre></td>=
</tr></tbody></table></div></div></div><h4 id=3D"io-comparative-performance=
-data-with-percentage-differences" class=3D"heading-element"><span>I/O Comp=
arative Performance Data with Percentage Differences</span>
<a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-=
virtualization-host-performs-better/#io-comparative-performance-data-with-p=
ercentage-differences" class=3D"heading-mark"><svg class=3D"octicon octicon=
-link" viewBox=3D"0 0 16 16" width=3D"16" height=3D"16" aria-hidden=3D"true=
"><path d=3D"m7.775 3.275 1.25-1.25a3.5 3.5.0 114.95 4.95l-2.5 2.5a3.5 3.5.=
0 01-4.95.0.751.751.0 01.018-1.042.751.751.0 011.042-.018 1.998 1.998.0 002=
.83.0l2.5-2.5a2.002 2.002.0 00-2.83-2.83l-1.25 1.25a.751.751.0 01-1.042-.01=
8.751.751.0 01-.018-1.042zm-4.69 9.64a1.998 1.998.0 002.83.0l1.25-1.25a.751=
.751.0 011.042.018.751.751.0 01.018 1.042l-1.25 1.25a3.5 3.5.0 11-4.95-4.95=
l2.5-2.5a3.5 3.5.0 014.95.0.751.751.0 01-.018 1.042.751.751.0 01-1.042.018 =
1.998 1.998.0 00-2.83.0l-2.5 2.5a1.998 1.998.0 000 2.83z"></path></svg></a>=
</h4><div class=3D"table-wrapper"><table><thead><tr><th>Metric</th><th>VM o=
n Proxmox (ZFS)</th><th>VM on Proxmox (LVM)</th><th>VM on FreeBSD (ZFS, NVM=
e)</th><th>VM on FreeBSD (ZFS, Virtio)</th><th>VM on FreeBSD (zvol)</th><th=
>Host FreeBSD (ZFS)</th><th>Host Proxmox (ZFS)</th><th>Host Proxmox (ext4)<=
/th></tr></thead><tbody><tr><td><strong>File creation speed (MiB/s)</strong=
></td><td>407.82</td><td>461.52</td><td>1467.83</td><td>1398.81</td><td>133=
3.64</td><td>1625.67</td><td>968.64</td><td>633.13</td></tr><tr><td><strong=
>Reads per second</strong></td><td>650.09</td><td>504.80</td><td>11183.44</=
td><td>806.93</td><td>11834.53</td><td>1234.62</td><td>920.95</td><td>498.3=
7</td></tr><tr><td><strong>Writes per second</strong></td><td>433.40</td><t=
d>336.54</td><td>7455.62</td><td>537.95</td><td>7889.69</td><td>823.08</td>=
<td>613.96</td><td>332.25</td></tr><tr><td><strong>fsyncs per second</stron=
g></td><td>1387.08</td><td>1076.97</td><td>23858.08</td><td>1721.79</td><td=
>25247.36</td><td>2634.01</td><td>1964.96</td><td>1063.19</td></tr><tr><td>=
<strong>Read throughput (MiB/s)</strong></td><td>10.16</td><td>7.89</td><td=
>174.74</td><td>12.61</td><td>184.91</td><td>19.29</td><td>14.39</td><td>7.=
79</td></tr><tr><td><strong>Write throughput (MiB/s)</strong></td><td>6.77<=
/td><td>5.26</td><td>116.49</td><td>8.41</td><td>123.28</td><td>12.86</td><=
td>9.59</td><td>5.19</td></tr><tr><td><strong>Total events</strong></td><td=
>741163</td><td>575588</td><td>12749157</td><td>919952</td><td>13491459</td=
><td>1407592</td><td>1049894</td><td>568277</td></tr><tr><td><strong>Averag=
e latency (ms)</strong></td><td>0.40</td><td>0.52</td><td>0.02</td><td>0.33=
</td><td>0.02</td><td>0.21</td><td>0.29</td><td>0.53</td></tr><tr><td><stro=
ng>95th percentile latency (ms)</strong></td><td>2.30</td><td>3.25</td><td>=
0.06</td><td>1.58</td><td>0.05</td><td>1.32</td><td>1.79</td><td>2.71</td><=
/tr><tr><td><strong>Max latency (ms)</strong></td><td>22.65</td><td>32.30</=
td><td>35.49</td><td>13.60</td><td>77.53</td><td>9.03</td><td>9.47</td><td>=
17.39</td></tr><tr><td><strong>Total test time (s)</strong></td><td>300.047=
5</td><td>300.1147</td><td>300.0020</td><td>300.0226</td><td>300.0012</td><=
td>300.0416</td><td>300.0159</td><td>300.1381</td></tr></tbody></table></di=
v><h4 id=3D"percentage-differences-compared-to-vm-on-proxmox-zfs" class=3D"=
heading-element"><span>Percentage Differences Compared to VM on Proxmox (ZF=
S)</span>
<a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-=
virtualization-host-performs-better/#percentage-differences-compared-to-vm-=
on-proxmox-zfs" class=3D"heading-mark"><svg class=3D"octicon octicon-link" =
viewBox=3D"0 0 16 16" width=3D"16" height=3D"16" aria-hidden=3D"true"><path=
d=3D"m7.775 3.275 1.25-1.25a3.5 3.5.0 114.95 4.95l-2.5 2.5a3.5 3.5.0 01-4.=
95.0.751.751.0 01.018-1.042.751.751.0 011.042-.018 1.998 1.998.0 002.83.0l2=
.5-2.5a2.002 2.002.0 00-2.83-2.83l-1.25 1.25a.751.751.0 01-1.042-.018.751.7=
51.0 01-.018-1.042zm-4.69 9.64a1.998 1.998.0 002.83.0l1.25-1.25a.751.751.0 =
011.042.018.751.751.0 01.018 1.042l-1.25 1.25a3.5 3.5.0 11-4.95-4.95l2.5-2.=
5a3.5 3.5.0 014.95.0.751.751.0 01-.018 1.042.751.751.0 01-1.042.018 1.998 1=
.998.0 00-2.83.0l-2.5 2.5a1.998 1.998.0 000 2.83z"></path></svg></a></h4><d=
iv class=3D"table-wrapper"><table><thead><tr><th>Metric</th><th>VM on Proxm=
ox (LVM)</th><th>VM on FreeBSD (ZFS, NVMe)</th><th>VM on FreeBSD (ZFS, Virt=
io)</th><th>VM on FreeBSD (zvol)</th><th>Host FreeBSD (ZFS)</th><th>Host Pr=
oxmox (ZFS)</th><th>Host Proxmox (ext4)</th></tr></thead><tbody><tr><td><st=
rong>File creation speed (MiB/s)</strong></td><td>+13.18%</td><td>+259.77%<=
/td><td>+242.99%</td><td>+227.02%</td><td>+298.62%</td><td>+137.52%</td><td=
>+55.25%</td></tr><tr><td><strong>Reads per second</strong></td><td>-22.34%=
</td><td>+1619.98%</td><td>+24.13%</td><td>+1720.45%</td><td>+89.92%</td><t=
d>+41.67%</td><td>-23.34%</td></tr><tr><td><strong>Writes per second</stron=
g></td><td>-22.35%</td><td>+1620.26%</td><td>+24.12%</td><td>+1720.42%</td>=
<td>+89.91%</td><td>+41.66%</td><td>-23.34%</td></tr><tr><td><strong>fsyncs=
per second</strong></td><td>-22.36%</td><td>+1620.02%</td><td>+24.13%</td>=
<td>+1720.18%</td><td>+89.90%</td><td>+41.66%</td><td>-23.35%</td></tr><tr>=
<td><strong>Read throughput (MiB/s)</strong></td><td>-22.34%</td><td>+1619.=
88%</td><td>+24.11%</td><td>+1719.98%</td><td>+89.86%</td><td>+41.63%</td><=
td>-23.33%</td></tr><tr><td><strong>Write throughput (MiB/s)</strong></td><=
td>-22.30%</td><td>+1620.68%</td><td>+24.22%</td><td>+1720.97%</td><td>+89.=
96%</td><td>+41.65%</td><td>-23.33%</td></tr><tr><td><strong>Total events</=
strong></td><td>-22.34%</td><td>+1620.16%</td><td>+24.12%</td><td>+1720.31%=
</td><td>+89.92%</td><td>+41.65%</td><td>-23.31%</td></tr><tr><td><strong>A=
verage latency (ms)</strong></td><td>+30.00%</td><td>-95.00%</td><td>-17.50=
%</td><td>-95.00%</td><td>-47.50%</td><td>-27.50%</td><td>+32.50%</td></tr>=
<tr><td><strong>95th percentile latency (ms)</strong></td><td>+41.30%</td><=
td>-97.39%</td><td>-31.30%</td><td>-97.83%</td><td>-42.61%</td><td>-22.17%<=
/td><td>+17.83%</td></tr><tr><td><strong>Max latency (ms)</strong></td><td>=
+42.60%</td><td>+56.69%</td><td>-39.96%</td><td>+242.30%</td><td>-60.13%</t=
d><td>-58.19%</td><td>-23.22%</td></tr><tr><td><strong>Total test time (s)<=
/strong></td><td>+0.02%</td><td>-0.02%</td><td>-0.01%</td><td>-0.02%</td><t=
d>-0.02%</td><td>-0.01%</td><td>+0.01%</td></tr></tbody></table></div><h4 i=
d=3D"percentage-differences-compared-to-vm-on-proxmox-lvm-as-this-is-the-st=
andard-proxmox-setup" class=3D"heading-element"><span>Percentage Difference=
s Compared to VM on Proxmox (LVM) as this is the standard Proxmox setup</sp=
an>
<a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-=
virtualization-host-performs-better/#percentage-differences-compared-to-vm-=
on-proxmox-lvm-as-this-is-the-standard-proxmox-setup" class=3D"heading-mark=
"><svg class=3D"octicon octicon-link" viewBox=3D"0 0 16 16" width=3D"16" he=
ight=3D"16" aria-hidden=3D"true"><path d=3D"m7.775 3.275 1.25-1.25a3.5 3.5.=
0 114.95 4.95l-2.5 2.5a3.5 3.5.0 01-4.95.0.751.751.0 01.018-1.042.751.751.0=
011.042-.018 1.998 1.998.0 002.83.0l2.5-2.5a2.002 2.002.0 00-2.83-2.83l-1.=
25 1.25a.751.751.0 01-1.042-.018.751.751.0 01-.018-1.042zm-4.69 9.64a1.998 =
1.998.0 002.83.0l1.25-1.25a.751.751.0 011.042.018.751.751.0 01.018 1.042l-1=
.25 1.25a3.5 3.5.0 11-4.95-4.95l2.5-2.5a3.5 3.5.0 014.95.0.751.751.0 01-.01=
8 1.042.751.751.0 01-1.042.018 1.998 1.998.0 00-2.83.0l-2.5 2.5a1.998 1.998=
.0 000 2.83z"></path></svg></a></h4><div class=3D"table-wrapper"><table><th=
ead><tr><th>Metric</th><th>VM on Proxmox (ZFS)</th><th>VM on FreeBSD (ZFS, =
NVMe)</th><th>VM on FreeBSD (ZFS, Virtio)</th><th>VM on FreeBSD (zvol)</th>=
<th>Host FreeBSD (ZFS)</th><th>Host Proxmox (ZFS)</th><th>Host Proxmox (ext=
4)</th></tr></thead><tbody><tr><td><strong>File creation speed (MiB/s)</str=
ong></td><td>-11.64%</td><td>+218.04%</td><td>+203.09%</td><td>+188.97%</td=
><td>+252.24%</td><td>+109.88%</td><td>+37.18%</td></tr><tr><td><strong>Rea=
ds per second</strong></td><td>+28.78%</td><td>+2115.42%</td><td>+59.85%</t=
d><td>+2244.40%</td><td>+144.58%</td><td>+82.44%</td><td>-1.27%</td></tr><t=
r><td><strong>Writes per second</strong></td><td>+28.78%</td><td>+2115.37%<=
/td><td>+59.85%</td><td>+2244.35%</td><td>+144.57%</td><td>+82.43%</td><td>=
-1.27%</td></tr><tr><td><strong>fsyncs per second</strong></td><td>+28.79%<=
/td><td>+2115.30%</td><td>+59.87%</td><td>+2244.30%</td><td>+144.58%</td><t=
d>+82.45%</td><td>-1.28%</td></tr><tr><td><strong>Read throughput (MiB/s)</=
strong></td><td>+28.77%</td><td>+2114.70%</td><td>+59.82%</td><td>+2243.60%=
</td><td>+144.49%</td><td>+82.38%</td><td>-1.27%</td></tr><tr><td><strong>W=
rite throughput (MiB/s)</strong></td><td>+28.71%</td><td>+2114.64%</td><td>=
+59.89%</td><td>+2243.73%</td><td>+144.49%</td><td>+82.32%</td><td>-1.33%</=
td></tr><tr><td><strong>Total events</strong></td><td>+28.77%</td><td>+2114=
.98%</td><td>+59.83%</td><td>+2243.94%</td><td>+144.55%</td><td>+82.40%</td=
><td>-1.27%</td></tr><tr><td><strong>Average latency (ms)</strong></td><td>=
-23.08%</td><td>-96.15%</td><td>-36.54%</td><td>-96.15%</td><td>-59.62%</td=
><td>-44.23%</td><td>+1.92%</td></tr><tr><td><strong>95th percentile latenc=
y (ms)</strong></td><td>-29.23%</td><td>-98.15%</td><td>-51.38%</td><td>-98=
.46%</td><td>-59.38%</td><td>-44.92%</td><td>-16.62%</td></tr><tr><td><stro=
ng>Max latency (ms)</strong></td><td>-29.88%</td><td>+9.88%</td><td>-57.89%=
</td><td>+140.03%</td><td>-72.04%</td><td>-70.68%</td><td>-46.16%</td></tr>=
<tr><td><strong>Total test time (s)</strong></td><td>-0.02%</td><td>-0.04%<=
/td><td>-0.03%</td><td>-0.04%</td><td>-0.02%</td><td>-0.03%</td><td>+0.01%<=
/td></tr></tbody></table></div><h4 id=3D"analysis-of-performance-data" clas=
s=3D"heading-element"><span>Analysis of Performance Data</span>
<a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-=
virtualization-host-performs-better/#analysis-of-performance-data" class=3D=
"heading-mark"><svg class=3D"octicon octicon-link" viewBox=3D"0 0 16 16" wi=
dth=3D"16" height=3D"16" aria-hidden=3D"true"><path d=3D"m7.775 3.275 1.25-=
1.25a3.5 3.5.0 114.95 4.95l-2.5 2.5a3.5 3.5.0 01-4.95.0.751.751.0 01.018-1.=
042.751.751.0 011.042-.018 1.998 1.998.0 002.83.0l2.5-2.5a2.002 2.002.0 00-=
2.83-2.83l-1.25 1.25a.751.751.0 01-1.042-.018.751.751.0 01-.018-1.042zm-4.6=
9 9.64a1.998 1.998.0 002.83.0l1.25-1.25a.751.751.0 011.042.018.751.751.0 01=
.018 1.042l-1.25 1.25a3.5 3.5.0 11-4.95-4.95l2.5-2.5a3.5 3.5.0 014.95.0.751=
.751.0 01-.018 1.042.751.751.0 01-1.042.018 1.998 1.998.0 00-2.83.0l-2.5 2.=
5a1.998 1.998.0 000 2.83z"></path></svg></a></h4><p>The performance data co=
llected from various configurations of Proxmox and FreeBSD provides a compr=
ehensive view of the I/O capabilities and highlights some significant diffe=
rences. Here is an analysis of the key findings:</p><h5 id=3D"comparative-a=
nalysis" class=3D"heading-element"><span>Comparative Analysis</span>
<a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-=
virtualization-host-performs-better/#comparative-analysis" class=3D"heading=
-mark"><svg class=3D"octicon octicon-link" viewBox=3D"0 0 16 16" width=3D"1=
6" height=3D"16" aria-hidden=3D"true"><path d=3D"m7.775 3.275 1.25-1.25a3.5=
3.5.0 114.95 4.95l-2.5 2.5a3.5 3.5.0 01-4.95.0.751.751.0 01.018-1.042.751.=
751.0 011.042-.018 1.998 1.998.0 002.83.0l2.5-2.5a2.002 2.002.0 00-2.83-2.8=
3l-1.25 1.25a.751.751.0 01-1.042-.018.751.751.0 01-.018-1.042zm-4.69 9.64a1=
.998 1.998.0 002.83.0l1.25-1.25a.751.751.0 011.042.018.751.751.0 01.018 1.0=
42l-1.25 1.25a3.5 3.5.0 11-4.95-4.95l2.5-2.5a3.5 3.5.0 014.95.0.751.751.0 0=
1-.018 1.042.751.751.0 01-1.042.018 1.998 1.998.0 00-2.83.0l-2.5 2.5a1.998 =
1.998.0 000 2.83z"></path></svg></a></h5><h6 id=3D"hypothesis-on-nvme-perfo=
rmance-and-fsync" class=3D"heading-element"><span>Hypothesis on NVMe Perfor=
mance and fsync</span>
<a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-=
virtualization-host-performs-better/#hypothesis-on-nvme-performance-and-fsy=
nc" class=3D"heading-mark"><svg class=3D"octicon octicon-link" viewBox=3D"0=
0 16 16" width=3D"16" height=3D"16" aria-hidden=3D"true"><path d=3D"m7.775=
3.275 1.25-1.25a3.5 3.5.0 114.95 4.95l-2.5 2.5a3.5 3.5.0 01-4.95.0.751.751=
.0 01.018-1.042.751.751.0 011.042-.018 1.998 1.998.0 002.83.0l2.5-2.5a2.002=
2.002.0 00-2.83-2.83l-1.25 1.25a.751.751.0 01-1.042-.018.751.751.0 01-.018=
-1.042zm-4.69 9.64a1.998 1.998.0 002.83.0l1.25-1.25a.751.751.0 011.042.018.=
751.751.0 01.018 1.042l-1.25 1.25a3.5 3.5.0 11-4.95-4.95l2.5-2.5a3.5 3.5.0 =
014.95.0.751.751.0 01-.018 1.042.751.751.0 01-1.042.018 1.998 1.998.0 00-2.=
83.0l-2.5 2.5a1.998 1.998.0 000 2.83z"></path></svg></a></h6><p>An importan=
t observation from my tests is that VMs with the bhyve NVMe driver show sig=
nificantly higher performance compared to the same VMs with the virtio driv=
er or compared to the physical host system. This difference led me to hypot=
hesize that the bhyve NVMe driver might not correctly respect fsync operati=
ons, returning a positive result before the underlying file system has conf=
irmed the final write. However, this is just a theory based on benchmark re=
sults and is not supported by concrete data.</p><p>Specifically, I observed=
that:</p><ul><li>The VM with the virtio driver has performance comparable =
to Proxmox.</li><li>The VM with the NVMe driver, whether on a ZFS dataset o=
r zvol, shows performance superior to the physical FreeBSD host.</li></ul><=
p>These observations suggest that the bhyve NVMe driver might =E2=80=9Cchea=
t=E2=80=9D by returning an ok for fsync operations before they are actually=
completed. However, further testing and analysis are needed to confirm or =
refute this hypothesis.</p><h5 id=3D"host-physical-systems-and-filesystems"=
class=3D"heading-element"><span>Host Physical Systems and Filesystems</spa=
n>
<a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-=
virtualization-host-performs-better/#host-physical-systems-and-filesystems"=
class=3D"heading-mark"><svg class=3D"octicon octicon-link" viewBox=3D"0 0 =
16 16" width=3D"16" height=3D"16" aria-hidden=3D"true"><path d=3D"m7.775 3.=
275 1.25-1.25a3.5 3.5.0 114.95 4.95l-2.5 2.5a3.5 3.5.0 01-4.95.0.751.751.0 =
01.018-1.042.751.751.0 011.042-.018 1.998 1.998.0 002.83.0l2.5-2.5a2.002 2.=
002.0 00-2.83-2.83l-1.25 1.25a.751.751.0 01-1.042-.018.751.751.0 01-.018-1.=
042zm-4.69 9.64a1.998 1.998.0 002.83.0l1.25-1.25a.751.751.0 011.042.018.751=
.751.0 01.018 1.042l-1.25 1.25a3.5 3.5.0 11-4.95-4.95l2.5-2.5a3.5 3.5.0 014=
.95.0.751.751.0 01-.018 1.042.751.751.0 01-1.042.018 1.998 1.998.0 00-2.83.=
0l-2.5 2.5a1.998 1.998.0 000 2.83z"></path></svg></a></h5><ol><li><p><stron=
g>File Creation Speed</strong>:</p><ul><li><strong>Host FreeBSD (ZFS)</stro=
ng> shows the highest file creation speed at 1625.67 MiB/s, which is +68.03=
% compared to Host Proxmox (ZFS) and +156.72% compared to Host Proxmox (ext=
4).</li><li><strong>Host Proxmox (ext4)</strong> has a file creation speed =
of 633.13 MiB/s, which is -34.62% compared to Host Proxmox (ZFS).</li></ul>=
</li><li><p><strong>Read and Write Operations per Second</strong>:</p><ul><=
li><strong>Host FreeBSD (ZFS)</strong> demonstrates the highest read and wr=
ite operations per second with 1234.62 reads/s and 823.08 writes/s.<ul><li>=
Reads per second: +34.06% compared to Host Proxmox (ZFS) and +147.80% compa=
red to Host Proxmox (ext4).</li><li>Writes per second: +34.04% compared to =
Host Proxmox (ZFS) and +147.61% compared to Host Proxmox (ext4).</li></ul><=
/li><li><strong>Host Proxmox (ext4)</strong> shows a lower performance with=
498.37 reads/s and 332.25 writes/s.</li><li><strong>Host Proxmox (ZFS)</st=
rong> has 920.95 reads/s and 613.96 writes/s.</li></ul></li><li><p><strong>=
fsync Operations per Second</strong>:</p><ul><li><strong>Host FreeBSD (ZFS)=
</strong> achieves the highest fsync operations per second at 2634.01 fsync=
s/s, which is +34.02% compared to Host Proxmox (ZFS) and +147.73% compared =
to Host Proxmox (ext4).</li><li><strong>Host Proxmox (ext4)</strong> has a =
lower performance with 1063.19 fsyncs/s.</li><li><strong>Host Proxmox (ZFS)=
</strong> achieves 1964.96 fsyncs/s.</li></ul></li><li><p><strong>Throughpu=
t</strong>:</p><ul><li><strong>Host FreeBSD (ZFS)</strong> again leads in t=
hroughput with 19.29 MiB/s read and 12.86 MiB/s write.<ul><li>Read throughp=
ut: +34.03% compared to Host Proxmox (ZFS) and +147.53% compared to Host Pr=
oxmox (ext4).</li><li>Write throughput: +34.08% compared to Host Proxmox (Z=
FS) and +147.79% compared to Host Proxmox (ext4).</li></ul></li><li><strong=
>Host Proxmox (ext4)</strong> has the lowest throughput with 7.79 MiB/s rea=
d and 5.19 MiB/s write.</li><li><strong>Host Proxmox (ZFS)</strong> has 14.=
39 MiB/s read and 9.59 MiB/s write.</li></ul></li><li><p><strong>Latency</s=
trong>:</p><ul><li><strong>Host FreeBSD (ZFS)</strong> shows the lowest ave=
rage latency at 0.21 ms and 95th percentile latency at 1.32 ms.<ul><li>Aver=
age latency: -27.59% compared to Host Proxmox (ZFS) and -60.38% compared to=
Host Proxmox (ext4).</li><li>95th percentile latency: -26.27% compared to =
Host Proxmox (ZFS) and -51.29% compared to Host Proxmox (ext4).</li></ul></=
li><li><strong>Host Proxmox (ext4)</strong> has the highest average latency=
at 0.53 ms and 95th percentile latency at 2.71 ms.</li><li><strong>Host Pr=
oxmox (ZFS)</strong> has an average latency of 0.29 ms and 95th percentile =
latency of 1.79 ms.</li></ul></li></ol><h5 id=3D"vms-vs-physical-hosts" cla=
ss=3D"heading-element"><span>VMs vs Physical Hosts</span>
<a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-=
virtualization-host-performs-better/#vms-vs-physical-hosts" class=3D"headin=
g-mark"><svg class=3D"octicon octicon-link" viewBox=3D"0 0 16 16" width=3D"=
16" height=3D"16" aria-hidden=3D"true"><path d=3D"m7.775 3.275 1.25-1.25a3.=
5 3.5.0 114.95 4.95l-2.5 2.5a3.5 3.5.0 01-4.95.0.751.751.0 01.018-1.042.751=
.751.0 011.042-.018 1.998 1.998.0 002.83.0l2.5-2.5a2.002 2.002.0 00-2.83-2.=
83l-1.25 1.25a.751.751.0 01-1.042-.018.751.751.0 01-.018-1.042zm-4.69 9.64a=
1.998 1.998.0 002.83.0l1.25-1.25a.751.751.0 011.042.018.751.751.0 01.018 1.=
042l-1.25 1.25a3.5 3.5.0 11-4.95-4.95l2.5-2.5a3.5 3.5.0 014.95.0.751.751.0 =
01-.018 1.042.751.751.0 01-1.042.018 1.998 1.998.0 00-2.83.0l-2.5 2.5a1.998=
1.998.0 000 2.83z"></path></svg></a></h5><ol><li><p><strong>File Creation =
Speed</strong>:</p><ul><li><strong>VM on FreeBSD (ZFS, NVMe)</strong> demon=
strates an outstanding file creation speed at 1467.83 MiB/s (+218.04% compa=
red to VM on Proxmox (LVM) and +259.77% compared to VM on Proxmox (ZFS)).</=
li><li><strong>VM on FreeBSD (zvol)</strong> achieves 1333.64 MiB/s, which =
is also significantly higher than VM on Proxmox (LVM) and VM on Proxmox (ZF=
S).</li></ul></li><li><p><strong>Read and Write Operations per Second</stro=
ng>:</p><ul><li><strong>VM on FreeBSD (ZFS, NVMe)</strong> shows exceptiona=
l performance with 11183.44 reads/s and 7455.62 writes/s.</li><li><strong>V=
M on FreeBSD (zvol)</strong> also performs excellently with 11834.53 reads/=
s and 7889.69 writes/s.</li><li>These values suggest that the NVMe driver m=
ight not be honoring fsync properly, resulting in inflated performance metr=
ics.</li></ul></li><li><p><strong>fsync Operations per Second</strong>:</p>=
<ul><li><strong>VM on FreeBSD (ZFS, NVMe)</strong> achieves 23858.08 fsyncs=
/s, and <strong>VM on FreeBSD (zvol)</strong> achieves 25247.36 fsyncs/s, b=
oth significantly higher than any other configuration.</li></ul></li><li><p=
><strong>Throughput</strong>:</p><ul><li><strong>VM on FreeBSD (ZFS, NVMe)<=
/strong> achieves the highest throughput with 174.74 MiB/s read and 116.49 =
MiB/s write.</li><li><strong>VM on FreeBSD (zvol)</strong> also has high th=
roughput at 184.91 MiB/s read and 123.28 MiB/s write.</li></ul></li><li><p>=
<strong>Latency</strong>:</p><ul><li><strong>VM on FreeBSD (ZFS, NVMe)</str=
ong> shows very low average latency at 0.02 ms and 95th percentile latency =
at 0.06 ms.</li><li><strong>VM on FreeBSD (zvol)</strong> has similarly low=
latencies, indicating fast response times for I/O operations.</li></ul></l=
i></ol><h5 id=3D"vm-configurations-comparison" class=3D"heading-element"><s=
pan>VM Configurations Comparison</span>
<a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-=
virtualization-host-performs-better/#vm-configurations-comparison" class=3D=
"heading-mark"><svg class=3D"octicon octicon-link" viewBox=3D"0 0 16 16" wi=
dth=3D"16" height=3D"16" aria-hidden=3D"true"><path d=3D"m7.775 3.275 1.25-=
1.25a3.5 3.5.0 114.95 4.95l-2.5 2.5a3.5 3.5.0 01-4.95.0.751.751.0 01.018-1.=
042.751.751.0 011.042-.018 1.998 1.998.0 002.83.0l2.5-2.5a2.002 2.002.0 00-=
2.83-2.83l-1.25 1.25a.751.751.0 01-1.042-.018.751.751.0 01-.018-1.042zm-4.6=
9 9.64a1.998 1.998.0 002.83.0l1.25-1.25a.751.751.0 011.042.018.751.751.0 01=
.018 1.042l-1.25 1.25a3.5 3.5.0 11-4.95-4.95l2.5-2.5a3.5 3.5.0 014.95.0.751=
.751.0 01-.018 1.042.751.751.0 01-1.042.018 1.998 1.998.0 00-2.83.0l-2.5 2.=
5a1.998 1.998.0 000 2.83z"></path></svg></a></h5><ol><li><p><strong>File Cr=
eation Speed</strong>:</p><ul><li>Among VMs, <strong>VM on FreeBSD (ZFS, NV=
Me)</strong> leads, followed by <strong>VM on FreeBSD (zvol)</strong>, and =
then <strong>VM on FreeBSD (ZFS, Virtio)</strong>.</li></ul></li><li><p><st=
rong>Read and Write Operations per Second</strong>:</p><ul><li><strong>VM o=
n FreeBSD (ZFS, NVMe)</strong> and <strong>VM on FreeBSD (zvol)</strong> bo=
th outperform <strong>VM on Proxmox (ZFS)</strong> and <strong>VM on Proxmo=
x (LVM)</strong> configurations significantly.</li><li><strong>VM on Proxmo=
x (ZFS)</strong> outperforms <strong>VM on Proxmox (LVM)</strong> in read a=
nd write operations.</li></ul></li><li><p><strong>fsync Operations per Seco=
nd</strong>:</p><ul><li><strong>VM on FreeBSD (ZFS, NVMe)</strong> and <str=
ong>VM on FreeBSD (zvol)</strong> have significantly higher fsync operation=
s compared to <strong>VM on Proxmox (ZFS)</strong> and <strong>VM on Proxmo=
x (LVM)</strong>.</li></ul></li><li><p><strong>Throughput</strong>:</p><ul>=
<li><strong>VM on FreeBSD (ZFS, NVMe)</strong> and <strong>VM on FreeBSD (z=
vol)</strong> have the highest throughput, followed by <strong>VM on Proxmo=
x (ZFS)</strong> and then <strong>VM on Proxmox (LVM)</strong>.</li></ul></=
li><li><p><strong>Latency</strong>:</p><ul><li><strong>VM on FreeBSD (ZFS, =
NVMe)</strong> and <strong>VM on FreeBSD (zvol)</strong> show the lowest la=
tencies among the VMs, indicating faster response times.</li><li><strong>VM=
on Proxmox (ZFS)</strong> shows lower latencies compared to <strong>VM on =
Proxmox (LVM)</strong>.</li></ul></li></ol><p><strong>Cache Settings and Pe=
rformance Influence</strong></p><p>Cache settings can significantly influen=
ce the performance of virtualization systems. In my setup, I did not modify=
the cache settings for the NVMe and virtio drivers, keeping the default se=
ttings. It is possible that the observed performance differences are also d=
ue to how different operating systems manage the caches of NVMe devices. I =
encourage other system administrators to explore the cache settings of thei=
r systems to see if changes in this area can influence benchmark results.</=
p><h3 id=3D"conclusion" class=3D"heading-element"><span>Conclusion</span>
<a href=3D"https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-=
virtualization-host-performs-better/#conclusion" class=3D"heading-mark"><sv=
g class=3D"octicon octicon-link" viewBox=3D"0 0 16 16" width=3D"16" height=
=3D"16" aria-hidden=3D"true"><path d=3D"m7.775 3.275 1.25-1.25a3.5 3.5.0 11=
4.95 4.95l-2.5 2.5a3.5 3.5.0 01-4.95.0.751.751.0 01.018-1.042.751.751.0 011=
.042-.018 1.998 1.998.0 002.83.0l2.5-2.5a2.002 2.002.0 00-2.83-2.83l-1.25 1=
.25a.751.751.0 01-1.042-.018.751.751.0 01-.018-1.042zm-4.69 9.64a1.998 1.99=
8.0 002.83.0l1.25-1.25a.751.751.0 011.042.018.751.751.0 01.018 1.042l-1.25 =
1.25a3.5 3.5.0 11-4.95-4.95l2.5-2.5a3.5 3.5.0 014.95.0.751.751.0 01-.018 1.=
042.751.751.0 01-1.042.018 1.998 1.998.0 00-2.83.0l-2.5 2.5a1.998 1.998.0 0=
00 2.83z"></path></svg></a></h3><p>Regarding RAM and CPU, the performance o=
f the VMs is comparable. There are slight differences in favor of Proxmox f=
or CPU and FreeBSD for RAM, but in my opinion, these differences are so neg=
ligible that they wouldn=E2=80=99t sway the decision towards one solution o=
r the other.</p><p>The I/O performance data clearly indicates that VM on Fr=
eeBSD with NVMe and ZFS outperforms all other configurations by a significa=
nt margin. This is evident in the file creation speed, read/write operation=
s per second, fsync operations per second, throughput, and latency metrics.=
However, the exceptionally high performance of VM on FreeBSD with NVMe and=
ZFS suggests that there might be an underlying issue, such as the NVMe dri=
ver not honoring fsync properly. This could lead to the VM believing that d=
ata has been written when it has not, resulting in artificially inflated pe=
rformance results.</p><p>When comparing physical hosts, Host FreeBSD (ZFS) =
demonstrates excellent performance, particularly in comparison to Host Prox=
mox (ZFS) and Host Proxmox (ext4).</p><p>When comparing VMs, VM on FreeBSD =
(ZFS, NVMe) and VM on FreeBSD (zvol) configurations stand out as the top pe=
rformers. However, it=E2=80=99s important to consider the potential fsync i=
ssue with NVMe storage. VM on Proxmox (ZFS) shows better performance than V=
M on Proxmox (LVM), but both are outperformed by the FreeBSD configurations=
.</p><p>The VM using virtio on FreeBSD also shows strong performance, albei=
t not as high as the NVMe configuration. It significantly outperforms Proxm=
ox configurations in terms of file creation speed, read/write operations pe=
r second, and throughput, while maintaining competitive latencies.</p><p>Th=
e virtio driver provides a stable and reliable option, making it a suitable=
choice for environments where the NVMe driver=E2=80=99s potential fsync is=
sue might be a concern. This makes FreeBSD with virtio a balanced option fo=
r virtualization, offering both high performance and reliability.</p><p>In =
conclusion, while the VM on FreeBSD with NVMe and ZFS shows the best perfor=
mance, it is essential to investigate the potential issue with fsync operat=
ions.</p><p>By examining these performance metrics, users can make informed=
decisions about their virtualization and storage configurations to optimiz=
e their systems for specific workloads and performance requirements.</p><p>=
In light of these tests and experiments, I can therefore affirm that my sen=
sations (and those of many users) of greater =E2=80=9Csnappiness=E2=80=9D o=
f the VMs on FreeBSD can be confirmed. Certainly, Proxmox is a stable solut=
ion, rich in features, battle-tested, and has many other valid points, but =
FreeBSD, especially with the nvme driver, demonstrates very high performanc=
e and a very low overhead in installation and operation.</p><p>I will conti=
nue to use both solutions with great satisfaction, but I will be even more =
encouraged to implement virtualization servers based on FreeBSD and bhyve.<=
/p></div><hr class=3D"awesome-hr"><h2 id=3D"see-also">Related Content</h2><=
ul><li><a href=3D"https://it-notes.dragas.net/2023/03/14/how-we-are-migrati=
ng-many-of-our-servers-from-linux-to-freebsd-part-3/" title=3D"How We Are M=
igrating (Many Of) Our Servers From Linux to FreeBSD - Part 3 - Proxmox to =
FreeBSD">How We Are Migrating (Many Of) Our Servers From Linux to FreeBSD -=
Part 3 - Proxmox to FreeBSD</a></li><li><a href=3D"https://it-notes.dragas=
.net/2023/03/21/creating-a-mikrotik-chr-routeros-7-bhyve-vm-in-freebsd-2/" =
title=3D"Creating a Mikrotik CHR - RouterOS 7 - Bhyve VM in FreeBSD">Creati=
ng a Mikrotik CHR - RouterOS 7 - Bhyve VM in FreeBSD</a></li><li><a href=3D=
"https://it-notes.dragas.net/2022/11/01/creating-an-alpine-vm-on-bhyve-with=
-root-on-zfs-optionally-encrypted/" title=3D"Creating an Alpine Linux VM on=
Bhyve - With Root on ZFS (Optionally Encrypted)">Creating an Alpine Linux =
VM on Bhyve - With Root on ZFS (Optionally Encrypted)</a></li><li><a href=
=3D"https://it-notes.dragas.net/2023/10/25/migrating-from-an-old-linux-serv=
er-to-a-new-freebsd-machine/" title=3D"Migrating From an Old Linux Server t=
o a New FreeBSD Machine">Migrating From an Old Linux Server to a New FreeBS=
D Machine</a></li><li><a href=3D"https://it-notes.dragas.net/2023/08/14/boo=
sting-network-performance-in-freebsds-vnet-jails/" title=3D"Boosting Networ=
k Performance in FreeBSD's VNET Jails">Boosting Network Performance in Free=
BSD's VNET Jails</a></li></ul><div class=3D"post-footer" id=3D"post-footer"=
><div class=3D"post-info"><div class=3D"post-info-line"><div class=3D"post-=
info-mod"><span title=3D"Updated on 2024-06-13 00:00:00">Updated on 13-06-2=
024&nbsp;</span></div></div><div class=3D"post-info-line"><div class=3D"pos=
t-info-md"></div><div class=3D"post-info-share"><span><a title=3D"Share on =
X" data-sharer=3D"twitter" data-url=3D"https://it-notes.dragas.net/2024/06/=
10/proxmox-vs-freebsd-which-virtualization-host-performs-better/" data-titl=
e=3D"Proxmox vs FreeBSD: Which Virtualization Host Performs Better?" data-v=
ia=3D"@stefanomarinell" data-hashtags=3D"freebsd,linux,proxmox,kvm,bhyve,ho=
sting,filesystems,virtualization,zfs,debian,server"><i class=3D"fa-brands f=
a-x-twitter fa-fw" aria-hidden=3D"true"></i></a>
<a title=3D"Share on Facebook" data-sharer=3D"facebook" data-url=3D"https:/=
/it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-virtualization-hos=
t-performs-better/" data-hashtag=3D"freebsd"><i class=3D"fa-brands fa-faceb=
ook-square fa-fw" aria-hidden=3D"true"></i></a>
<a title=3D"Share on Linkedin" data-sharer=3D"linkedin" data-url=3D"https:/=
/it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-virtualization-hos=
t-performs-better/"><i class=3D"fa-brands fa-linkedin fa-fw" aria-hidden=3D=
"true"></i></a>
<a title=3D"Share on WhatsApp" data-sharer=3D"whatsapp" data-url=3D"https:/=
/it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-virtualization-hos=
t-performs-better/" data-title=3D"Proxmox vs FreeBSD: Which Virtualization =
Host Performs Better?" data-web=3D""><i class=3D"fa-brands fa-whatsapp fa-f=
w" aria-hidden=3D"true"></i></a>
<a title=3D"Share on Hacker News" data-sharer=3D"hackernews" data-url=3D"ht=
tps://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-virtualizatio=
n-host-performs-better/" data-title=3D"Proxmox vs FreeBSD: Which Virtualiza=
tion Host Performs Better?"><i class=3D"fa-brands fa-hacker-news fa-fw" ari=
a-hidden=3D"true"></i></a>
<a title=3D"Share on Reddit" data-sharer=3D"reddit" data-url=3D"https://it-=
notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-virtualization-host-pe=
rforms-better/"><i class=3D"fa-brands fa-reddit fa-fw" aria-hidden=3D"true"=
></i></a></span></div></div></div><div class=3D"post-info-more"><section cl=
ass=3D"post-tags"><i class=3D"fa-solid fa-tags fa-fw me-1" aria-hidden=3D"t=
rue"></i><a href=3D"https://it-notes.dragas.net/tags/freebsd/" class=3D"pos=
t-tag" title=3D"Tags - Freebsd">Freebsd</a><a href=3D"https://it-notes.drag=
as.net/tags/linux/" class=3D"post-tag" title=3D"Tags - Linux">Linux</a><a h=
ref=3D"https://it-notes.dragas.net/tags/proxmox/" class=3D"post-tag" title=
=3D"Tags - Proxmox">Proxmox</a><a href=3D"https://it-notes.dragas.net/tags/=
kvm/" class=3D"post-tag" title=3D"Tags - Kvm">Kvm</a><a href=3D"https://it-=
notes.dragas.net/tags/bhyve/" class=3D"post-tag" title=3D"Tags - Bhyve">Bhy=
ve</a><a href=3D"https://it-notes.dragas.net/tags/hosting/" class=3D"post-t=
ag" title=3D"Tags - Hosting">Hosting</a><a href=3D"https://it-notes.dragas.=
net/tags/filesystems/" class=3D"post-tag" title=3D"Tags - Filesystems">File=
systems</a><a href=3D"https://it-notes.dragas.net/tags/virtualization/" cla=
ss=3D"post-tag" title=3D"Tags - Virtualization">Virtualization</a><a href=
=3D"https://it-notes.dragas.net/tags/zfs/" class=3D"post-tag" title=3D"Tags=
- Zfs">Zfs</a><a href=3D"https://it-notes.dragas.net/tags/debian/" class=
=3D"post-tag" title=3D"Tags - Debian">Debian</a><a href=3D"https://it-notes=
.dragas.net/tags/server/" class=3D"post-tag" title=3D"Tags - Server">Server=
</a></section><section><span><a>Back</a></span>&nbsp;|&nbsp;<span><a href=
=3D"https://it-notes.dragas.net/">Home</a></span></section></div><div class=
=3D"post-nav"><a href=3D"https://it-notes.dragas.net/2024/06/04/freebsd-tip=
s-and-tricks-creating-snapshots-with-ufs/" class=3D"post-nav-item" rel=3D"p=
rev" title=3D"FreeBSD Tips and Tricks: Creating Snapshots With UFS"><i clas=
s=3D"fa-solid fa-angle-left fa-fw" aria-hidden=3D"true"></i>FreeBSD Tips an=
d Tricks: Creating Snapshots With UFS</a><a href=3D"https://it-notes.dragas=
.net/2024/06/16/freebsd-blocking-country-access/" class=3D"post-nav-item" r=
el=3D"next" title=3D"Blocking Access From or to Specific Countries Using Fr=
eeBSD and Pf">Blocking Access From or to Specific Countries Using FreeBSD a=
nd Pf<i class=3D"fa-solid fa-angle-right fa-fw" aria-hidden=3D"true"></i></=
a></div></div></article><aside class=3D"toc" id=3D"toc-auto" aria-label=3D"=
Contents"><h2 class=3D"toc-title">Contents&nbsp;<i class=3D"toc-icon fa-sol=
id fa-angle-down fa-fw" aria-hidden=3D"true"></i></h2><div class=3D"toc-con=
tent" id=3D"toc-content-auto"></div></aside></main><footer class=3D"footer"=
><div class=3D"footer-container"><div class=3D"footer-line powered">Powered=
by <a href=3D"https://gohugo.io/" target=3D"_blank" rel=3D"external nofoll=
ow noopener noreferrer" title=3D"Hugo 0.136.2"><img class=3D"hugo-icon" src=
=3D"https://it-notes.dragas.net/images/hugo.min.svg" alt=3D"Hugo logo"> Hug=
o</a> | Theme - <a href=3D"https://github.com/hugo-fixit/FixIt" target=3D"_=
blank" rel=3D"external" title=3D"FixIt v0.3.15"><img class=3D"fixit-icon" s=
rc=3D"https://it-notes.dragas.net/images/fixit.min.svg" alt=3D"FixIt logo">=
FixIt</a></div><div class=3D"footer-line copyright" itemscope=3D"" itemtyp=
e=3D"http://schema.org/CreativeWork"><i class=3D"fa-regular fa-copyright fa=
-fw" aria-hidden=3D"true"></i>
<span itemprop=3D"copyrightYear">2018 - 2025</span><span class=3D"author" i=
temprop=3D"copyrightHolder">
<a href=3D"https://it-notes.dragas.net/">Stefano Marinelli</a></span></div>=
</div></footer></div><div class=3D"widgets"><div class=3D"fixed-buttons ani=
mate__faster animate__animated animate__fadeIn"><div class=3D"fixed-button =
back-to-top" role=3D"button" aria-label=3D"Back to Top"><i class=3D"fa-soli=
d fa-arrow-up fa-fw" aria-hidden=3D"true"></i><span class=3D"variant-numeri=
c d-none">30%</span></div></div><div id=3D"mask"></div><div class=3D"readin=
g-progress-bar" style=3D"left: 0px; top: 0px; --progress: 30.22%;"></div></=
div><link rel=3D"stylesheet" href=3D"https://it-notes.dragas.net/lib/katex/=
katex.min.af6f85907cdfd6ed3e4906d93a8233d91c5638859f744cd1b98c9b1a3ccaab5f2=
31bdcda49f132f6cdfe8cca86ff33ed468affab8a9a502610a664a34f0f0cfa.css" as=3D"=
style"><link rel=3D"stylesheet" href=3D"https://it-notes.dragas.net/lib/coo=
kieconsent/cookieconsent.min.2d0f7b71a99aaff94e9624ff32a8dc42ce645a0cba433f=
dc091cf34735027efd1fa2db024c2f591d768f426255f17bbf3d500b7c967b0437b3979956d=
ffa81c6.css"></body></html>
------MultipartBoundary--gWmtkLL3aPLL9QvHLWg1Yif3XzwEYNRGNBhxAsKdsK----
Content-Type: text/css
Content-Transfer-Encoding: quoted-printable
Content-Location: cid:css-b229ca40-2394-47f9-8c30-bded7f1341a4@mhtml.blink
@charset "utf-8";
.cc-color-override-183142524.cc-window { color: rgb(0, 0, 0); background-co=
lor: rgb(26, 163, 255); }
.cc-color-override-183142524.cc-revoke { color: rgb(0, 0, 0); background-co=
lor: rgb(26, 163, 255); }
.cc-color-override-183142524 .cc-link, .cc-color-override-183142524 .cc-lin=
k:active, .cc-color-override-183142524 .cc-link:visited { color: rgb(0, 0, =
0); }
.cc-color-override-183142524 .cc-btn { color: rgb(0, 0, 0); border-color: t=
ransparent; background-color: rgb(240, 240, 240); }
.cc-color-override-183142524 .cc-btn:hover, .cc-color-override-183142524 .c=
c-btn:focus { background-color: rgb(255, 255, 255); }
.cc-color-override-183142524 .cc-highlight .cc-btn:first-child { color: rgb=
(0, 0, 0); }
------MultipartBoundary--gWmtkLL3aPLL9QvHLWg1Yif3XzwEYNRGNBhxAsKdsK----
Content-Type: text/css
Content-Transfer-Encoding: quoted-printable
Content-Location: https://it-notes.dragas.net/css/style.min.180f49bb74aac7ee38959d0058e1b9126a18b0dad12d2f5e73019f770be5f9c4375ff8d6f84421986de0169782ed438ba297089c0e5c33ec7e01ac09e56f70da.css
@charset "utf-8";
:root { --fi-primary: #1772ee; --fi-secondary: #919191; --fi-success: #13ce=
66; --fi-info: #0dcaf0; --fi-warning: #ffba00; --fi-danger: #ff4949; --fi-s=
croll-mt: calc(3.5rem + .5rem); --fi-breadcrumb-height: 0px; --fi-hr-backgr=
ound-color: #e3e3e3; --fi-hr-before-color: #ec638c; --fi-scrollbar-thumb-co=
lor: #a6a6a6; --fi-scrollbar-thumb-hover-color: #7d7d7d; --fi-scrollbar-tra=
ck-color: transparent; --fi-scrollbar-width: thin; --fi-scrollbar-width-leg=
acy: 12px; }
[data-theme=3D"dark"] { --fi-primary: #1066db; --fi-secondary: #848484; --f=
i-success: #11b75a; --fi-info: #0cb6d8; --fi-warning: #e6a700; --fi-danger:=
#ff3030; --fi-hr-background-color: #434343; --fi-hr-before-color: #f5f5f5;=
}
html { line-height: 1.15; text-size-adjust: 100%; }
body { margin: 0px; }
main { display: block; }
h1 { font-size: 2em; margin: 0.67em 0px; }
hr { box-sizing: content-box; height: 0px; overflow: visible; }
pre { font-family: monospace, monospace; font-size: 1em; }
a { background-color: transparent; }
abbr[title] { border-bottom: none; text-decoration: underline dotted; }
b, strong { font-weight: bolder; }
code, kbd, samp { font-family: monospace, monospace; font-size: 1em; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-ali=
gn: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
img { border-style: none; }
button, input, optgroup, select, textarea { font-family: inherit; font-size=
: 100%; line-height: 1.15; margin: 0px; }
button, input { overflow: visible; }
button, select { text-transform: none; }
button, [type=3D"button"], [type=3D"reset"], [type=3D"submit"] { appearance=
: button; }
fieldset { padding: 0.35em 0.75em 0.625em; }
legend { box-sizing: border-box; color: inherit; display: table; max-width:=
100%; padding: 0px; white-space: normal; }
progress { vertical-align: baseline; }
textarea { overflow: auto; }
[type=3D"checkbox"], [type=3D"radio"] { box-sizing: border-box; padding: 0p=
x; }
[type=3D"number"]::-webkit-inner-spin-button, [type=3D"number"]::-webkit-ou=
ter-spin-button { height: auto; }
[type=3D"search"] { appearance: textfield; outline-offset: -2px; }
[type=3D"search"]::-webkit-search-decoration { appearance: none; }
::-webkit-file-upload-button { appearance: button; font: inherit; }
details { display: block; }
summary { display: list-item; }
template { display: none; }
[hidden] { display: none; }
html { font-family: system-ui, -apple-system, BlinkMacSystemFont, "PingFang=
SC", "Microsoft YaHei UI", "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, =
"Fira Sans", "Droid Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; =
font-weight: 400; font-size: 16px; line-height: 1.5rem; width: 100%; scroll=
-behavior: smooth; overflow: overlay; }
@media screen and (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
}
::selection { background-color: rgba(53, 166, 247, 0.25); }
[data-theme=3D"dark"] ::selection { background-color: rgba(50, 112, 194, 0.=
4); }
body { background-color: rgb(255, 255, 255); color: rgb(22, 18, 9); overflo=
w-wrap: break-word; }
[data-theme=3D"dark"] body { color: rgb(177, 177, 186); background-color: r=
gb(41, 42, 46); }
iframe { border: 0px; border-radius: 5px; }
[role=3D"button"] { cursor: pointer; }
summary { cursor: pointer; }
abbr[title] { cursor: help; text-decoration-skip-ink: none; }
a, a::before, a::after { text-decoration: none; color: rgb(22, 18, 9); }
[data-theme=3D"dark"] a, [data-theme=3D"dark"] a::before, [data-theme=3D"da=
rk"] a::after { color: rgb(177, 177, 186); }
a:active, a:hover { color: rgb(41, 131, 187); }
[data-theme=3D"dark"] a:active, [data-theme=3D"dark"] a:hover { color: rgb(=
255, 255, 255); }
@supports (scrollbar-width: auto) {
* { scrollbar-color: var(--fi-scrollbar-thumb-color) var(--fi-scrollbar-t=
rack-color); scrollbar-width: var(--fi-scrollbar-width); }
}
::-webkit-scrollbar { height: var(--fi-scrollbar-width-legacy); width: var(=
--fi-scrollbar-width-legacy); overflow: visible; }
::-webkit-scrollbar-button { height: 0px; width: 0px; }
::-webkit-scrollbar-corner { background-color: var(--fi-scrollbar-track-col=
or); }
::-webkit-scrollbar-thumb { background-color: var(--fi-scrollbar-thumb-colo=
r); }
::-webkit-scrollbar-thumb:hover { background-color: var(--fi-scrollbar-thum=
b-hover-color); }
::-webkit-scrollbar-track { background-color: var(--fi-scrollbar-track-colo=
r); }
::-webkit-scrollbar-thumb, ::-webkit-scrollbar-track { background-clip: pad=
ding-box; border: 3px solid transparent; border-radius: 100px; }
#mask { background-repeat: no-repeat; background-position: center center; p=
osition: fixed; top: 0px; left: 0px; width: 100%; height: 100%; background-=
color: rgba(0, 0, 0, 0); z-index: -1; }
.blur #mask { z-index: 100; background-color: rgba(0, 0, 0, 0.25); }
img { border-radius: 2.5px; }
svg.icon { display: inline-block; width: 1.25em; height: 1em; text-align: c=
enter; }
svg.icon path { fill: currentcolor; }
img.emoji { display: inline-block; height: 1em; width: 1em; margin: 0px 0.0=
5em 0px 0.1em; vertical-align: -0.1em; }
.hugo-icon, .fixit-icon { display: inline-block; height: 1.2em; width: 1.2e=
m; line-height: 1.2em; position: relative; vertical-align: text-bottom; }
.details > .details-summary { border-radius: 5px; }
.details > .details-summary:hover { cursor: pointer; }
.details > .details-summary i.details-icon { color: rgb(177, 177, 186); tra=
nsition: transform 0.2s; }
[data-theme=3D"dark"] .details > .details-summary i.details-icon { color: r=
gb(144, 144, 146); }
.details > .details-content { max-height: 0px; overflow-y: hidden; transiti=
on: max-height 0.2s cubic-bezier(0, 1, 0, 1) -0.1s; }
.details.open > .details-summary { border-radius: 5px 5px 0px 0px; }
.details.open > .details-summary i.details-icon { transform: rotate(90deg);=
}
.details.open > .details-content { max-height: 100%; border-radius: 0px 0px=
5px 5px; transition: max-height 0.2s cubic-bezier(0.5, 0, 1, 0); }
.details.disabled > .details-summary { cursor: default; }
.cc-window.cc-banner .cc-btn { color: rgb(22, 18, 9); }
.cc-window.cc-banner .cc-btn:hover, .cc-window.cc-banner .cc-btn:focus { ba=
ckground-color: rgb(204, 204, 204); }
[data-theme=3D"dark"] .cc-window.cc-banner .cc-btn { color: rgb(22, 18, 9);=
}
[data-theme=3D"dark"] .cc-window.cc-banner .cc-btn:hover, [data-theme=3D"da=
rk"] .cc-window.cc-banner .cc-btn:focus { background-color: rgb(255, 255, 2=
55); }
.fixed-button { position: fixed; right: 1.5rem; font-size: 1rem; line-heigh=
t: 1.5rem; padding: 0.5rem 0.625rem; color: rgb(177, 177, 186); background-=
color: rgb(248, 248, 248); z-index: 100; border-radius: 1.25rem; transition=
: color 0.4s; }
.blur .fixed-button { filter: blur(1.5px); }
.fixed-button:hover, .fixed-button:active { color: rgb(22, 18, 9); cursor: =
pointer; }
.fixed-button:active, .fixed-button:focus, .fixed-button:hover { outline: n=
one; }
[data-theme=3D"dark"] .fixed-button { color: rgb(144, 144, 146); background=
-color: rgb(37, 38, 39); }
[data-theme=3D"dark"] .fixed-button:hover, [data-theme=3D"dark"] .fixed-but=
ton:active { color: rgb(177, 177, 186); }
.back-to-top { bottom: 1.5rem; }
.view-comments { bottom: 4.5rem; }
@keyframes octocat-wave {=20
0%, 100% { transform: rotate(0deg); }
20%, 60% { transform: rotate(-25deg); }
40%, 80% { transform: rotate(10deg); }
}
.github-corner { position: fixed; top: 0px; z-index: 200; }
.github-corner :hover .octo-arm { animation: 560ms ease-in-out 0s 1 normal =
none running octocat-wave; }
.github-corner svg { width: 3.5rem; height: 3.5rem; border: 0px; color: rgb=
(255, 255, 255); fill: rgb(37, 38, 39); }
[data-theme=3D"dark"] .github-corner svg { color: rgb(0, 0, 0); fill: rgb(2=
48, 248, 248); }
.github-corner.left { left: 0px; }
.github-corner.left svg { transform: scale(-1, 1); }
.github-corner.right { right: 0px; }
.noscript-warning { background-color: var(--fi-danger); color: white; font-=
size: 1rem; font-weight: bold; position: fixed; text-align: center; left: 0=
px; bottom: 0px; width: 100%; z-index: 200; }
[data-theme=3D"dark"] .noscript-warning { background-color: var(--fi-danger=
-dark); }
.reading-progress-bar { --progress: 0; height: var(--progress-h, 2px); widt=
h: var(--progress); background-color: var(--bg-progress, var(--fi-info)); p=
osition: fixed; z-index: 200; }
[data-theme=3D"dark"] .reading-progress-bar { background-color: var(--bg-pr=
ogress-dark, var(--fi-info-dark)); }
.typeit { --ti-cursor-font-family: system-ui,-apple-system,BlinkMacSystemFo=
nt,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,F=
ira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif; --ti-cursor-=
transform: translateX(0); }
.typeit .highlight { padding: 0.375rem; font-size: 0.875rem; font-family: "=
Source Code Pro", Menlo, Consolas, Monaco, monospace, system-ui, -apple-sys=
tem, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei UI", "Segoe UI", R=
oboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neu=
e", Helvetica, Arial, sans-serif; font-weight: bold; word-break: break-all;=
white-space: pre-wrap; }
.wrapper { display: flex; flex-direction: column; min-height: 100vh; width:=
100%; }
.wrapper main { flex: 1 0 auto; }
.wrapper main aside { flex: 1 1 0%; padding: 0.5rem; }
.wrapper main aside:not(:has(~ aside)) { display: none; }
.wrapper main.container { display: flex; align-items: flex-start; justify-c=
ontent: center; padding-inline: 1rem; gap: 0.5rem; }
.wrapper main.container.container-reverse { flex-direction: row-reverse; }
.wrapper main.container:has(.home:not(.posts)) { align-items: center; }
header { width: 100%; background-color: rgb(248, 248, 248); z-index: 200; t=
ransition: box-shadow 0.3s; }
[data-theme=3D"dark"] header { background-color: rgb(37, 38, 39); }
header:hover { box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 1.5rem 0px; }
[data-theme=3D"dark"] header:hover { box-shadow: rgba(255, 255, 255, 0.1) 0=
px 0px 1.5rem 0px; }
.header-wrapper { display: flex; justify-content: space-between; align-item=
s: center; box-sizing: border-box; width: 100%; }
.header-title { font-family: system-ui, -apple-system, BlinkMacSystemFont, =
"PingFang SC", "Microsoft YaHei UI", "Segoe UI", Roboto, Oxygen, Ubuntu, Ca=
ntarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Helvetica, Arial, san=
s-serif; font-weight: bold; margin-right: 0.5rem; min-width: 10%; overflow:=
hidden; white-space: nowrap; text-overflow: ellipsis; flex: 10 1 0%; }
.header-title .logo { min-height: 1.5em; height: 1.5em; vertical-align: mid=
dle; width: auto; }
.header-title .header-title-text { margin-left: 0.25rem; margin-right: 0.25=
rem; }
.header-title .header-subtitle { margin-left: 0.25rem; font-size: 0.6em; }
.menu { margin: 0px; padding: 0px; }
.menu .menu-item-divider { list-style: none; margin: 0.25rem 0.5rem; height=
: 1px; background-color: rgb(227, 227, 227); }
[data-theme=3D"dark"] .menu .menu-item-divider { background-color: rgb(67, =
67, 67); }
.menu .menu-item { list-style: none; }
.menu .menu-item .dropdown-icon { margin-left: 0.25rem; font-size: 0.875em;=
color: rgb(22, 18, 9); }
[data-theme=3D"dark"] .menu .menu-item .dropdown-icon { color: rgb(177, 177=
, 186); }
.menu .menu-item .dropdown-icon.open::before { content: "=EF=81=B8"; }
.menu .menu-item.active > .menu-link, .menu .menu-item.active > .nested-ite=
m > .menu-link { font-weight: bold; color: rgb(22, 18, 9); }
[data-theme=3D"dark"] .menu .menu-item.active > .menu-link, [data-theme=3D"=
dark"] .menu .menu-item.active > .nested-item > .menu-link { color: rgb(255=
, 255, 255); }
.menu .menu-item .menu-link[href=3D"javascript:void(0);"] { color: inherit;=
}
.menu .menu-item .menu-link i { transform: perspective(1rem); transition: t=
ransform 0.4s; }
.menu .menu-item .menu-link:hover i { transform: perspective(1rem) translat=
eZ(0.2rem); }
.menu .menu-item.language-switch, .menu .menu-item.theme-switch { cursor: p=
ointer; }
.search { position: relative; }
.search input { color: transparent; box-sizing: border-box; height: 2.5rem;=
width: 1.25rem; border-radius: 0.5rem; border: none; outline: none; backgr=
ound-color: transparent; transition: width 0.3s; vertical-align: baseline !=
important; }
.search input::-webkit-input-placeholder { color: rgba(0, 0, 0, 0); }
.search input::placeholder { color: rgba(0, 0, 0, 0); }
.search .search-button { margin: 0px; position: absolute; left: auto; right=
: 1rem; }
.search .search-toggle { left: 0.5rem; right: auto; }
#header-desktop.open .search .search-toggle { left: 1rem; }
.search .search-loading { display: none; }
.search .search-clear { display: none; }
.open .search input, .search.mobile input { color: rgb(22, 18, 9); backgrou=
nd-color: rgb(233, 233, 233); padding: 0px 2rem; }
[data-theme=3D"dark"] .open .search input, [data-theme=3D"dark"] .search.mo=
bile input { color: rgb(177, 177, 186); background-color: rgb(54, 54, 54); =
}
[data-theme=3D"dark"] .open .search input::-webkit-input-placeholder, [data=
-theme=3D"dark"] .search.mobile input::-webkit-input-placeholder { color: r=
gb(144, 144, 146); }
[data-theme=3D"dark"] .open .search input::placeholder, [data-theme=3D"dark=
"] .search.mobile input::placeholder { color: rgb(144, 144, 146); }
.open .search input::-webkit-input-placeholder, .search.mobile input::-webk=
it-input-placeholder { color: rgb(177, 177, 186); }
.open .search input::placeholder, .search.mobile input::placeholder { color=
: rgb(177, 177, 186); }
.open .search .search-button, .search.mobile .search-button { color: rgb(17=
7, 177, 186); }
[data-theme=3D"dark"] .open .search .search-button, [data-theme=3D"dark"] .=
search.mobile .search-button { color: rgb(144, 144, 146); }
.open .search .search-clear:hover, .search.mobile .search-clear:hover { col=
or: rgb(255, 107, 107); }
.open .search .search-toggle:hover, .search.mobile .search-toggle:hover { c=
ursor: default; }
.theme-switch i { transform: rotate(225deg); transition: transform 0.4s; }
.theme-switch:hover i { transform: rotate(45deg); }
#header-desktop { display: block; position: sticky; top: 0px; height: 3.5re=
m; line-height: 3.5rem; box-sizing: border-box; }
[data-header-desktop=3D"normal"] #header-desktop { position: static; }
#header-desktop nav { overflow: hidden; white-space: nowrap; }
#header-desktop .header-wrapper { padding: 0px 2rem 0px max(10vh, 3.5rem); =
height: 100%; }
#header-desktop .header-wrapper[data-github-corner=3D"right"] { padding-rig=
ht: 3.5rem; }
#header-desktop .header-wrapper .header-title { font-size: 1.5rem; height: =
100%; }
#header-desktop .header-wrapper .menu { display: flex; flex-flow: row; floa=
t: right; }
#header-desktop .header-wrapper .menu > .menu-item:hover .sub-menu { displa=
y: block; transform: translateX(-0.5rem); }
#header-desktop .header-wrapper .menu > .menu-item.language-switch:hover .s=
ub-menu { transform: translateX(calc(-100% + 1.75rem)); }
#header-desktop .header-wrapper .menu .menu-item { padding: 0px 0.5rem; }
#header-desktop .header-wrapper .menu .menu-item.delimiter { width: 0px; ma=
rgin: 0.125rem 0.25rem; padding: 0px; border-left: 1px dashed rgb(218, 218,=
222); }
[data-theme=3D"dark"] #header-desktop .header-wrapper .menu .menu-item.deli=
miter { border-left-color: rgb(106, 106, 108); }
#header-desktop .header-wrapper .menu .sub-menu { position: absolute; margi=
n: 0px; padding: 0.25rem 0px; display: none; top: calc(2.75rem); border-rad=
ius: 5px; border: 1px solid rgb(227, 227, 227); background-color: rgb(248, =
248, 248); transition: box-shadow 0.3s; box-shadow: rgba(0, 0, 0, 0.1) 0px =
0px 1.5rem 0px; }
[data-theme=3D"dark"] #header-desktop .header-wrapper .menu .sub-menu { bac=
kground-color: rgb(37, 38, 39); border-color: rgb(67, 67, 67); box-shadow: =
rgba(255, 255, 255, 0.1) 0px 0px 1.5rem 0px; }
#header-desktop .header-wrapper .menu .sub-menu .menu-item { height: 1.75re=
m; line-height: 1.75rem; max-width: 15rem; white-space: nowrap; text-overfl=
ow: ellipsis; overflow-x: hidden; }
#header-desktop.open .header-wrapper .menu .menu-item.search input { width:=
24rem; }
#header-mobile { display: none; position: sticky; top: 0px; min-height: 3.5=
rem; line-height: 3.5rem; }
[data-header-mobile=3D"normal"] #header-mobile { position: static; }
#header-mobile .header-container { padding: 0px; margin: 0px; }
#header-mobile .header-container .header-wrapper { padding: 0px 1rem; font-=
size: 1.125rem; transition: margin-top 0.3s; }
#header-mobile .header-container .header-wrapper .header-title { font-size:=
1.5rem; max-width: 80%; }
#header-mobile .header-container .header-wrapper .menu-toggle { line-height=
: 4rem; cursor: pointer; transition: width 0.3s; }
#header-mobile .header-container .header-wrapper .menu-toggle span { displa=
y: block; background: rgb(22, 18, 9); width: 1.5rem; height: 2px; border-ra=
dius: 3px; transition: 0.3s ease-in-out; }
[data-theme=3D"dark"] #header-mobile .header-container .header-wrapper .men=
u-toggle span { background: rgb(177, 177, 186); }
#header-mobile .header-container .header-wrapper .menu-toggle span:nth-chil=
d(1) { margin-bottom: 0.5rem; }
#header-mobile .header-container .header-wrapper .menu-toggle span:nth-chil=
d(3) { margin-top: 0.5rem; }
#header-mobile .header-container .header-wrapper .menu-toggle.active span:n=
th-child(1) { transform: rotate(45deg) translate(0.4rem, 0.5rem); }
#header-mobile .header-container .header-wrapper .menu-toggle.active span:n=
th-child(2) { opacity: 0; }
#header-mobile .header-container .header-wrapper .menu-toggle.active span:n=
th-child(3) { transform: rotate(-45deg) translate(0.4rem, -0.5rem); }
#header-mobile .header-container .menu { background: rgb(248, 248, 248); bo=
rder-top: 2px solid rgb(240, 240, 240); display: none; overflow-y: overlay;=
max-height: 70vh; box-shadow: rgba(0, 0, 0, 0.1) 0px 0.125rem 0.25rem; --f=
i-scrollbar-width: none; --fi-scrollbar-width-legacy: 0; }
[data-theme=3D"dark"] #header-mobile .header-container .menu { box-shadow: =
rgba(255, 255, 255, 0.1) 0px 0.125rem 0.25rem; }
#header-mobile .header-container .menu .search-wrapper { display: flex; jus=
tify-content: space-between; align-items: center; box-sizing: border-box; p=
adding: 0.5rem 1rem; line-height: 2.5rem; position: sticky; top: 0px; backg=
round-color: rgb(248, 248, 248); z-index: 50; }
[data-theme=3D"dark"] #header-mobile .header-container .menu .search-wrappe=
r { background-color: rgb(37, 38, 39); }
#header-mobile .header-container .menu .search { flex-grow: 10; }
#header-mobile .header-container .menu .search .algolia-autocomplete, #head=
er-mobile .header-container .menu .search input { width: 100%; }
#header-mobile .header-container .menu .search-loading, #header-mobile .hea=
der-container .menu .search-clear { right: 0.5rem; }
#header-mobile .header-container .menu .search-button { top: 0px; }
#header-mobile .header-container .menu .search-cancel { display: none; marg=
in-left: 0.75rem; }
#header-mobile .header-container .menu .menu-item { display: block; positio=
n: relative; line-height: 2.5rem; padding: 0px 1rem; }
#header-mobile .header-container .menu .menu-item:not(.menu-system):hover {=
background-color: rgb(242, 242, 243); }
[data-theme=3D"dark"] #header-mobile .header-container .menu .menu-item:not=
(.menu-system):hover { background-color: rgb(83, 83, 85); }
#header-mobile .header-container .menu .menu-item .menu-link { display: blo=
ck; white-space: nowrap; text-overflow: ellipsis; overflow-x: hidden; flex:=
4 1 0%; }
#header-mobile .header-container .menu .menu-item .nested-item { display: f=
lex; justify-content: space-between; align-items: center; }
#header-mobile .header-container .menu .menu-item .nested-item .menu-link {=
max-width: 80%; }
#header-mobile .header-container .menu .menu-system { display: flex; justif=
y-content: center; gap: 0.25rem; position: sticky; bottom: 0px; line-height=
: 2.5rem; padding: 0px 1rem; background-color: rgb(248, 248, 248); }
[data-theme=3D"dark"] #header-mobile .header-container .menu .menu-system {=
background-color: rgb(37, 38, 39); }
#header-mobile .header-container .menu .menu-system .menu-system-item { pad=
ding-inline: 0.5rem; }
#header-mobile .header-container .menu .menu-system .language-switch { posi=
tion: relative; }
#header-mobile .header-container .menu .menu-system .language-switch .langu=
age-select { position: absolute; opacity: 0; left: 0px; top: 0px; width: 10=
0%; height: 100%; }
#header-mobile .header-container .menu .sub-menu { padding-left: 0px; displ=
ay: none; }
#header-mobile .header-container .menu .sub-menu.open { display: block; }
#header-mobile .header-container .menu .sub-menu .menu-item:hover { backgro=
und-color: rgb(231, 231, 234); }
[data-theme=3D"dark"] #header-mobile .header-container .menu .sub-menu .men=
u-item:hover { background-color: rgb(93, 93, 95); }
#header-mobile .header-container .menu.active { display: block; }
[data-theme=3D"dark"] #header-mobile .header-container .menu { background: =
rgb(37, 38, 39); border-top-color: rgb(54, 54, 54); }
#header-mobile.open .header-wrapper { margin-top: -3.5rem; }
#header-mobile.open .menu { padding-top: 0px; border-top: none; }
#header-mobile.open .menu .menu-item { display: none; }
#header-mobile.open .menu .search-cancel { display: inline; }
.search-dropdown { position: fixed; top: 3.5rem; z-index: 200; box-shadow: =
rgba(0, 0, 0, 0.1) 0px 0.125rem 0.25rem; }
[data-theme=3D"dark"] .search-dropdown { box-shadow: rgba(255, 255, 255, 0.=
1) 0px 0.125rem 0.25rem; }
.search-dropdown.desktop { right: 2rem; width: 30rem; }
.search-dropdown.mobile { right: 0px; width: 100%; }
.search-dropdown .dropdown-menu { right: 0px !important; background-color: =
rgb(255, 255, 255); }
[data-theme=3D"dark"] .search-dropdown .dropdown-menu { background-color: r=
gb(41, 42, 46); }
.search-dropdown .dropdown-menu .suggestions { overflow-y: auto; max-height=
: calc(-3.5rem + 100vh); }
.search-dropdown .dropdown-menu .suggestions .suggestion { padding: 0.75rem=
1rem; }
.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title =
{ display: inline-block; overflow: hidden; text-overflow: ellipsis; white-s=
pace: nowrap; font-size: 1rem; font-weight: bold; max-width: 75%; }
.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date {=
font-size: 0.875rem; float: right; text-align: right; color: rgb(177, 177,=
186); }
[data-theme=3D"dark"] .search-dropdown .dropdown-menu .suggestions .suggest=
ion .suggestion-date { color: rgb(144, 144, 146); }
.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-contex=
t { line-height: 1.25rem; display: -webkit-box; -webkit-box-orient: vertica=
l; -webkit-line-clamp: 2; overflow: hidden; text-overflow: ellipsis; overfl=
ow-wrap: break-word; color: rgb(177, 177, 186); }
[data-theme=3D"dark"] .search-dropdown .dropdown-menu .suggestions .suggest=
ion .suggestion-context { color: rgb(144, 144, 146); }
.search-dropdown .dropdown-menu .suggestions .suggestion em { font-style: n=
ormal; background-color: rgba(53, 166, 247, 0.25); }
[data-theme=3D"dark"] .search-dropdown .dropdown-menu .suggestions .suggest=
ion em { background-color: rgba(50, 112, 194, 0.4); }
.search-dropdown .dropdown-menu .suggestions .suggestion.cursor { backgroun=
d: rgb(230, 235, 241); }
[data-theme=3D"dark"] .search-dropdown .dropdown-menu .suggestions .suggest=
ion.cursor { background: rgb(56, 64, 73); }
.search-dropdown .dropdown-menu .suggestions .suggestion:hover { cursor: po=
inter; }
.search-dropdown .dropdown-menu .search-empty { padding: 1rem; text-align: =
center; }
.search-dropdown .dropdown-menu .search-empty .search-query { font-weight: =
bold; }
[data-theme=3D"dark"] .search-dropdown .dropdown-menu .search-empty .search=
-query { color: rgb(221, 221, 221); }
.search-dropdown .dropdown-menu .search-footer { padding: 0.5rem 1rem; floa=
t: right; font-size: 0.8rem; color: rgb(177, 177, 186); }
.search-dropdown .dropdown-menu .search-footer [data-theme=3D"dark"] { colo=
r: rgb(144, 144, 146); }
.search-dropdown .dropdown-menu .search-footer a, .search-dropdown .dropdow=
n-menu .search-footer a::before, .search-dropdown .dropdown-menu .search-fo=
oter a::after { text-decoration: none; color: rgb(35, 118, 183); }
[data-theme=3D"dark"] .search-dropdown .dropdown-menu .search-footer a, [da=
ta-theme=3D"dark"] .search-dropdown .dropdown-menu .search-footer a::before=
, [data-theme=3D"dark"] .search-dropdown .dropdown-menu .search-footer a::a=
fter { color: rgb(23, 129, 181); }
.search-dropdown .dropdown-menu .search-footer a:active, .search-dropdown .=
dropdown-menu .search-footer a:hover { color: rgb(234, 81, 127); }
[data-theme=3D"dark"] .search-dropdown .dropdown-menu .search-footer a:acti=
ve, [data-theme=3D"dark"] .search-dropdown .dropdown-menu .search-footer a:=
hover { color: rgb(204, 85, 149); }
.search-dropdown .dropdown-menu .search-footer a { font-size: 1rem; }
.breadcrumb-container { padding-inline: 1rem; font-size: 0.75rem; backgroun=
d-color: rgb(255, 255, 255); z-index: 100; }
[data-theme=3D"dark"] .breadcrumb-container { background-color: rgb(41, 42,=
46); }
.breadcrumb-container.sticky { position: sticky; top: 3.5rem; }
.breadcrumb-container .breadcrumb { display: flex; flex-wrap: wrap; padding=
: 0.5rem 0px; margin: 0px auto; list-style: none; border-bottom: 1px inset =
rgb(240, 240, 240); }
[data-theme=3D"dark"] .breadcrumb-container .breadcrumb { border-bottom-col=
or: rgb(54, 54, 54); }
.breadcrumb-container .breadcrumb .breadcrumb-item { display: flex; }
.breadcrumb-container .breadcrumb .breadcrumb-item + .breadcrumb-item::befo=
re { content: attr(data-separator); display: inline-block; padding-inline: =
0.5rem; color: rgb(177, 177, 186); }
[data-theme=3D"dark"] .breadcrumb-container .breadcrumb .breadcrumb-item + =
.breadcrumb-item::before { color: rgb(144, 144, 146); }
.breadcrumb-container .breadcrumb .breadcrumb-item.active { color: var(--fi=
-secondary); }
footer { height: auto; width: 100%; text-align: center; line-height: 1.25re=
m; padding: 1rem 0px; }
footer .footer-container { display: flex; flex-direction: column; font-size=
: 0.875rem; }
footer .footer-container .footer-line { width: 100%; }
footer .footer-container .footer-line .footer-divider:not(:first-child)::be=
fore { content: "|"; margin-left: 0.25rem; margin-right: 0.25rem; }
footer .footer-container .footer-line .animate-icon { color: rgb(220, 20, 6=
0); animation: 1.33s ease-in-out 0s infinite normal none running icon-anima=
te; }
footer .footer-container .footer-line .run-times { font-variant-numeric: ta=
bular-nums lining-nums; }
.blur footer { filter: blur(1.5px); }
@keyframes icon-animate {=20
0%, 100% { transform: scale(1); }
10%, 30% { transform: scale(0.9); }
20%, 40%, 60%, 80% { transform: scale(1.1); }
50%, 70% { transform: scale(1.1); }
}
.pagination { display: flex; flex-flow: wrap; justify-content: center; list=
-style: none; white-space: nowrap; width: 100%; padding: 1rem 0px; }
.pagination a { font-size: 0.8rem; color: rgb(191, 191, 191); letter-spacin=
g: 0.1rem; font-weight: 700; padding: 5px; text-decoration: none; transitio=
n: 0.3s; }
[data-theme=3D"dark"] .pagination a { color: rgb(177, 177, 186); }
.pagination li { padding: 5px; margin: 0px 10px; box-sizing: border-box; po=
sition: relative; display: inline; }
.pagination li.disabled { display: none; }
.pagination li:hover a { color: rgb(0, 0, 0); }
[data-theme=3D"dark"] .pagination li:hover a { color: rgb(255, 255, 255); }
.pagination li::before, .pagination li::after { position: absolute; content=
: ""; width: 0px; height: 3px; background: rgb(0, 0, 0); transition: 0.3s; =
bottom: 0px; }
[data-theme=3D"dark"] .pagination li::before, [data-theme=3D"dark"] .pagina=
tion li::after { background: rgb(255, 255, 255); }
.pagination li::before { left: 50%; }
.pagination li::after { right: 50%; }
.pagination li:hover::before, .pagination li:hover::after { width: 50%; }
.pagination li.active a { color: rgb(0, 0, 0); }
[data-theme=3D"dark"] .pagination li.active a { color: rgb(255, 255, 255); =
}
.pagination li.active::before, .pagination li.active::after { width: 50%; }
.text-truncate { overflow: hidden; text-overflow: ellipsis; white-space: no=
wrap; }
.text-start { text-align: left !important; }
.text-end { text-align: right !important; }
.text-center { text-align: center !important; }
.d-none { display: none !important; }
.ms-1, .mx-1 { margin-left: 0.25em !important; }
.me-1, .mx-1 { margin-right: 0.25em !important; }
.ps-1, .px-1 { padding-left: 0.25em !important; }
.pe-1, .px-1 { padding-right: 0.25em !important; }
.text-primary { color: var(--fi-primary) !important; }
.text-secondary { color: var(--fi-secondary) !important; }
.text-success { color: var(--fi-success) !important; }
.text-info { color: var(--fi-info) !important; }
.text-warning { color: var(--fi-warning) !important; }
.text-danger { color: var(--fi-danger) !important; }
.order-first { order: -1 !important; }
.order-0 { order: 0 !important; }
.order-1 { order: 1 !important; }
.order-2 { order: 2 !important; }
.order-3 { order: 3 !important; }
.order-4 { order: 4 !important; }
.order-5 { order: 5 !important; }
.order-last { order: 6 !important; }
.variant-numeric { font-variant-numeric: tabular-nums lining-nums; }
.page { position: relative; }
.page .content [id] { scroll-margin-top: var(--fi-scroll-mt); }
.blur .page { filter: blur(1.5px); }
.toc .toc-title { font-size: 1rem; font-weight: bold; text-transform: upper=
case; }
.toc .toc-content { font-size: 0.875rem; }
.toc .toc-content ul { text-indent: -0.8em; padding-left: 0.8em; list-style=
: none; }
.toc .toc-content ul a:first-child::before { content: "|"; font-weight: bol=
der; margin-right: 0.5em; position: relative; bottom: 2px; color: rgb(35, 1=
18, 183); }
[data-theme=3D"dark"] .toc .toc-content ul a:first-child::before { color: r=
gb(23, 129, 181); }
.toc .toc-content ul ul { padding-left: 1em; }
.toc .toc-content ol { margin: 0px; padding-left: 2.25em; }
.toc .toc-content ol ol { padding-left: 1.25em; }
.toc .toc-content ol li:has(> a:hover)::marker { color: rgb(35, 118, 183); =
}
[data-theme=3D"dark"] .toc .toc-content ol li:has(> a:hover)::marker { colo=
r: rgb(23, 129, 181); }
.toc ruby { background: rgb(246, 248, 250); }
.toc ruby rt { color: rgb(177, 177, 186); }
[data-theme=3D"dark"] .toc ruby { background: rgb(45, 51, 59); }
[data-theme=3D"dark"] .toc ruby rt { color: rgb(144, 144, 146); }
#toc-auto { display: block; position: sticky; top: calc(3.5rem + var(--fi-b=
readcrumb-height)); box-sizing: border-box; visibility: hidden; overflow-wr=
ap: break-word; }
.blur #toc-auto { filter: blur(1.5px); }
[data-header-desktop=3D"normal"] #toc-auto { --fi-scroll-mt: .5rem; }
#toc-auto .toc-title { margin-block: 0px 0.5em; cursor: pointer; user-selec=
t: none !important; }
#toc-auto .toc-title::before { content: "|"; font-weight: bolder; margin-ri=
ght: 0.5em; position: relative; bottom: 2px; color: rgb(240, 240, 240); }
[data-theme=3D"dark"] #toc-auto .toc-title::before { color: rgb(54, 54, 54)=
; }
#toc-auto .toc-title i.toc-icon { transition: transform 0.2s; }
#toc-auto.toc-hidden i.toc-icon { transform: rotate(-90deg); transition: tr=
ansform 0.2s; }
#toc-auto .toc-content { overflow-y: scroll; max-height: calc(-7rem + 100vh=
); --fi-scrollbar-width: none; --fi-scrollbar-width-legacy: 0; }
#toc-auto .toc-content.always-active ul, #toc-auto .toc-content.always-acti=
ve ol { display: block; }
#toc-auto .toc-content > nav > ul { margin: 0px; }
#toc-auto .toc-content li.has-active::marker { color: rgb(35, 118, 183); }
[data-theme=3D"dark"] #toc-auto .toc-content li.has-active::marker { color:=
rgb(23, 129, 181); }
#toc-auto .toc-content li.has-active:has(> .active)::marker { font-weight: =
bold; }
#toc-auto .toc-content li.has-active > a { color: rgb(35, 118, 183); }
[data-theme=3D"dark"] #toc-auto .toc-content li.has-active > a { color: rgb=
(23, 129, 181); }
#toc-auto .toc-content ul ul { display: none; }
#toc-auto .toc-content ul .has-active > ul { display: block; }
#toc-auto .toc-content ul a.active::before { color: rgb(234, 81, 127); }
[data-theme=3D"dark"] #toc-auto .toc-content ul a.active::before { color: r=
gb(204, 85, 149); }
#toc-auto .toc-content ol ol { display: none; }
#toc-auto .toc-content ol .has-active > ol { display: block; }
#toc-auto .toc-content a.active { font-weight: bold; }
#toc-static { display: none; margin: 0.8em 0px; }
#toc-static[data-kept=3D"true"] { display: block; }
#toc-static .toc-title { display: flex; justify-content: space-between; lin=
e-height: 2em; padding: 0px 0.75em; background: rgb(236, 240, 245); }
[data-theme=3D"dark"] #toc-static .toc-title { background: rgb(32, 36, 42);=
}
#toc-static .toc-content { background-color: rgb(246, 248, 250); }
#toc-static .toc-content > nav > ul { margin: 0px; padding: 0.4em 1em 0.4em=
1.8em; }
#toc-static .toc-content > nav > ul a:hover { font-weight: bold; }
#toc-static .toc-content > nav > ul a:hover::before { color: rgb(234, 81, 1=
27); }
[data-theme=3D"dark"] #toc-static .toc-content > nav > ul a:hover::before {=
color: rgb(204, 85, 149); }
#toc-static .toc-content > nav > ol { margin: 0px; padding: 0.4em 1em 0.4em=
2.25em; }
#toc-static .toc-content > nav > ol li:has(> a:hover)::marker, #toc-static =
.toc-content > nav > ol a:hover { font-weight: bold; }
[data-theme=3D"dark"] #toc-static .toc-content { background-color: rgb(45, =
51, 59); }
#toc-static.open .toc-title { background: rgb(226, 233, 239); }
[data-theme=3D"dark"] #toc-static.open .toc-title { background: rgb(38, 43,=
50); }
.fixit-decryptor-container { font-family: system-ui, -apple-system, BlinkMa=
cSystemFont, "PingFang SC", "Microsoft YaHei UI", "Segoe UI", Roboto, Oxyge=
n, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Helvetic=
a, Arial, sans-serif; text-align: center; margin-block: var(--fixit-decrypt=
or-margin-block); }
.fixit-decryptor-container .fixit-decryptor-loading { vertical-align: middl=
e; }
.fixit-decryptor-container .fixit-decryptor-input, .fixit-decryptor-contain=
er .fixit-decryptor-btn, .fixit-decryptor-container .fixit-encryptor-btn { =
display: none; box-sizing: border-box; outline: none; color: rgb(22, 18, 9)=
; border: 1px solid rgb(202, 202, 202); border-radius: 5px; transition: 0.1=
s ease-out; box-shadow: rgb(202, 202, 202) 0px 0px 5px 0px; }
.fixit-decryptor-container .fixit-decryptor-input:active, .fixit-decryptor-=
container .fixit-decryptor-input:focus, .fixit-decryptor-container .fixit-d=
ecryptor-input:hover, .fixit-decryptor-container .fixit-decryptor-btn:activ=
e, .fixit-decryptor-container .fixit-decryptor-btn:focus, .fixit-decryptor-=
container .fixit-decryptor-btn:hover, .fixit-decryptor-container .fixit-enc=
ryptor-btn:active, .fixit-decryptor-container .fixit-encryptor-btn:focus, .=
fixit-decryptor-container .fixit-encryptor-btn:hover { color: rgb(35, 113, =
162); border-color: rgb(41, 131, 187); box-shadow: rgb(107, 178, 223) 0px 0=
px 5px 0px; }
[data-theme=3D"dark"] .fixit-decryptor-container .fixit-decryptor-input:act=
ive, [data-theme=3D"dark"] .fixit-decryptor-container .fixit-decryptor-inpu=
t:focus, [data-theme=3D"dark"] .fixit-decryptor-container .fixit-decryptor-=
input:hover, [data-theme=3D"dark"] .fixit-decryptor-container .fixit-decryp=
tor-btn:active, [data-theme=3D"dark"] .fixit-decryptor-container .fixit-dec=
ryptor-btn:focus, [data-theme=3D"dark"] .fixit-decryptor-container .fixit-d=
ecryptor-btn:hover, [data-theme=3D"dark"] .fixit-decryptor-container .fixit=
-encryptor-btn:active, [data-theme=3D"dark"] .fixit-decryptor-container .fi=
xit-encryptor-btn:focus, [data-theme=3D"dark"] .fixit-decryptor-container .=
fixit-encryptor-btn:hover { color: rgb(255, 255, 255); border-color: rgb(25=
5, 255, 255); box-shadow: rgb(204, 204, 204) 0px 0px 5px 0px; }
[data-theme=3D"dark"] .fixit-decryptor-container .fixit-decryptor-input, [d=
ata-theme=3D"dark"] .fixit-decryptor-container .fixit-decryptor-btn, [data-=
theme=3D"dark"] .fixit-decryptor-container .fixit-encryptor-btn { color: rg=
b(177, 177, 186); border-color: rgb(92, 92, 92); box-shadow: rgb(92, 92, 92=
) 0px 0px 5px 0px; }
.fixit-decryptor-container .fixit-decryptor-input { width: calc(-100px + cl=
amp(50%, 450px, 100%)); height: 3rem; padding-left: 1rem; padding-right: 1r=
em; background-color: rgb(255, 255, 255); }
[data-theme=3D"dark"] .fixit-decryptor-container .fixit-decryptor-input { b=
ackground-color: rgb(41, 42, 46); }
.fixit-decryptor-container .fixit-decryptor-btn, .fixit-decryptor-container=
.fixit-encryptor-btn { cursor: pointer; transition: 0.1s ease-out; padding=
: 0.8rem 1rem; background-color: rgb(248, 248, 248); }
[data-theme=3D"dark"] .fixit-decryptor-container .fixit-decryptor-btn, [dat=
a-theme=3D"dark"] .fixit-decryptor-container .fixit-encryptor-btn { backgro=
und-color: rgb(37, 38, 39); }
.fixit-decryptor-container .fixit-encryptor-btn { display: none; }
fixit-encryptor.initialized > .fixit-decryptor-container .fixit-decryptor-i=
nput, fixit-encryptor.initialized > .fixit-decryptor-container .fixit-decry=
ptor-btn { display: inline-block; }
fixit-encryptor.initialized > .fixit-decryptor-container .fixit-decryptor-l=
oading { display: none; }
fixit-encryptor cipher-text { display: none !important; }
article fixit-encryptor .fixit-decryptor-container { --fixit-decryptor-marg=
in-block: 2rem; }
article fixit-encryptor.decrypted > .fixit-decryptor-container .fixit-decry=
ptor-loading, article fixit-encryptor.decrypted > .fixit-decryptor-containe=
r .fixit-decryptor-input, article fixit-encryptor.decrypted > .fixit-decryp=
tor-container .fixit-decryptor-btn { display: none; }
article fixit-encryptor.decrypted > .fixit-decryptor-container .fixit-encry=
ptor-btn { display: inline-block; }
#content fixit-encryptor .fixit-decryptor-container { --fixit-decryptor-mar=
gin-block: 1rem; }
#content fixit-encryptor.decrypted > .fixit-decryptor-container { display: =
none; }
.encrypted-hidden { display: none !important; }
.collection-card { font-size: 0.875rem; background-color: rgb(247, 247, 247=
); margin-block: 1rem; padding: 1rem 1.25rem; position: relative; border-ra=
dius: 7.5px; user-select: none !important; }
[data-theme=3D"dark"] .collection-card { background-color: rgb(48, 49, 54);=
}
.collection-card:has(.collection-nav-item:nth-child(2))::before { content: =
""; position: absolute; left: 50%; bottom: 0.75rem; width: 1px; height: 2re=
m; background: linear-gradient(rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.05) 50%=
, rgba(0, 0, 0, 0.03) 100%); }
[data-theme=3D"dark"] .collection-card:has(.collection-nav-item:nth-child(2=
))::before { background: linear-gradient(rgba(255, 255, 255, 0.03), rgba(25=
5, 255, 255, 0.05) 50%, rgba(255, 255, 255, 0.03) 100%); }
.collection-card .collection-title a, .collection-card .collection-title a:=
:before, .collection-card .collection-title a::after { text-decoration: non=
e; color: rgb(35, 118, 183); }
[data-theme=3D"dark"] .collection-card .collection-title a, [data-theme=3D"=
dark"] .collection-card .collection-title a::before, [data-theme=3D"dark"] =
.collection-card .collection-title a::after { color: rgb(23, 129, 181); }
.collection-card .collection-title a:active, .collection-card .collection-t=
itle a:hover { color: rgb(234, 81, 127); }
[data-theme=3D"dark"] .collection-card .collection-title a:active, [data-th=
eme=3D"dark"] .collection-card .collection-title a:hover { color: rgb(204, =
85, 149); }
.collection-card .collection-nav { display: flex; justify-content: space-be=
tween; gap: 1rem; }
.collection-card .collection-nav:not(:empty) { margin-top: 0.5rem; }
.collection-card .collection-nav .collection-nav-item { flex-grow: 1; max-w=
idth: calc(50% - 0.5rem); font-weight: 500; display: flex; align-items: cen=
ter; transition: 0.3s ease-out; }
.collection-card .collection-nav .collection-nav-item:only-child { max-widt=
h: 100%; }
.collection-card .collection-nav .collection-nav-item i { flex-shrink: 0; }
.collection-card .collection-nav .collection-nav-item span { flex-grow: 1; =
overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.collection-card .collection-nav .collection-nav-item[rel=3D"next"] { text-=
align: right; }
.collection-card .collection-nav .collection-nav-item[rel=3D"prev"]:hover {=
transform: translateX(-4px); }
.collection-card .collection-nav .collection-nav-item[rel=3D"next"]:hover {=
transform: translateX(4px); }
.aside-collection { position: sticky; top: calc(3.5rem + var(--fi-breadcrum=
b-height)); box-sizing: border-box; overflow-wrap: break-word; }
.blur .aside-collection { filter: blur(1.5px); }
.collection-details:not(:last-of-type) { margin-bottom: 0.5rem; }
.collection-details.open .collection-summary { background-color: rgb(245, 2=
45, 245); }
[data-theme=3D"dark"] .collection-details.open .collection-summary { backgr=
ound-color: rgb(51, 52, 57); }
.collection-details .collection-summary { display: flex; align-items: basel=
ine; gap: 0.25em; padding: 0.2em 0.5em; background-color: rgb(247, 247, 247=
); user-select: none !important; }
[data-theme=3D"dark"] .collection-details .collection-summary { background-=
color: rgb(48, 49, 54); }
.collection-details .collection-summary > i.fa-layer-group { flex-shrink: 0=
; }
.collection-details .collection-summary .collection-name { flex-grow: 1; fo=
nt-weight: bold; font-size: 1rem; }
.collection-details .collection-summary .collection-name::before { content:=
attr(data-collections) "=E3=83=BB"; }
.collection-details .collection-summary .collection-count { flex-shrink: 0;=
color: var(--fi-secondary); }
.collection-details .collection-summary .details-icon { flex-shrink: 0; }
.collection-details .collection-content { font-size: 0.875rem; background-c=
olor: rgb(250, 250, 250); }
[data-theme=3D"dark"] .collection-details .collection-content { background-=
color: rgb(46, 47, 51); }
.collection-details .collection-content .collection-list { margin: 0px; pad=
ding-inline: 1.6em 0.8em; padding-block: 0.4em; text-indent: -0.8em; list-s=
tyle: none; overflow-y: scroll; max-height: 60vh; --fi-scrollbar-width: non=
e; --fi-scrollbar-width-legacy: 0; }
.collection-details .collection-content .collection-list .collection-item >=
a::before, .collection-details .collection-content .collection-list .colle=
ction-item > span::before { content: "|"; font-weight: 600; margin-right: 0=
.5em; position: relative; bottom: 2px; color: rgb(35, 118, 183); }
[data-theme=3D"dark"] .collection-details .collection-content .collection-l=
ist .collection-item > a::before, [data-theme=3D"dark"] .collection-details=
.collection-content .collection-list .collection-item > span::before { col=
or: rgb(23, 129, 181); }
.collection-details .collection-content .collection-list .collection-item >=
.active { font-weight: bold; color: rgb(35, 118, 183); }
[data-theme=3D"dark"] .collection-details .collection-content .collection-l=
ist .collection-item > .active { color: rgb(23, 129, 181); }
.collection-details .collection-content .collection-list .collection-item >=
.active::before { color: rgb(234, 81, 127); }
[data-theme=3D"dark"] .collection-details .collection-content .collection-l=
ist .collection-item > .active::before { color: rgb(204, 85, 149); }
.collection-details .collection-content .collection-nav-simple { display: f=
lex; align-items: center; justify-content: center; gap: 0.5em; background-c=
olor: rgb(247, 247, 247); }
[data-theme=3D"dark"] .collection-details .collection-content .collection-n=
av-simple { background-color: rgb(48, 49, 54); }
.collection-details .collection-content .collection-nav-simple a.collection=
-nav-item { padding-inline: 2px; border-radius: 50%; transition: background=
-color 0.3s ease-out; }
.collection-details .collection-content .collection-nav-simple a.collection=
-nav-item:hover { background-color: rgb(230, 230, 230); }
[data-theme=3D"dark"] .collection-details .collection-content .collection-n=
av-simple a.collection-nav-item:hover { background-color: rgb(65, 67, 73); =
}
.collection-details .collection-content .collection-nav-simple > i.collecti=
on-nav-item { padding: 4px 2px; cursor: not-allowed; }
.single .single-title { padding: 1rem 0px 0.5rem; margin: 0px; font-size: 1=
.6rem; font-weight: bold; line-height: 140%; }
.single .single-title .icon-pin { display: inline-block; width: max-content=
; transform: rotate(30deg); margin-right: 0.25em; color: var(--fi-danger); =
}
.single .single-title .icon-repost { display: inline-block; width: max-cont=
ent; margin-right: 0.25em; color: var(--fi-success); }
.single .single-subtitle { margin-block: 0px 0.5rem; font-size: 1.2rem; fon=
t-weight: normal; line-height: 1.15; }
.single .post-meta { font-size: 0.875rem; color: rgb(177, 177, 186); }
.single .post-meta span { display: inline-block; }
[data-theme=3D"dark"] .single .post-meta { color: rgb(144, 144, 146); }
.single .post-meta a, .single .post-meta a::before, .single .post-meta a::a=
fter { text-decoration: none; color: rgb(35, 118, 183); }
[data-theme=3D"dark"] .single .post-meta a, [data-theme=3D"dark"] .single .=
post-meta a::before, [data-theme=3D"dark"] .single .post-meta a::after { co=
lor: rgb(177, 177, 186); }
.single .post-meta a:active, .single .post-meta a:hover { color: rgb(234, 8=
1, 127); }
[data-theme=3D"dark"] .single .post-meta a:active, [data-theme=3D"dark"] .s=
ingle .post-meta a:hover { color: rgb(255, 255, 255); }
.single .post-meta .author { font-size: 1.05rem; }
.single .post-meta .author img.avatar { width: 1.3rem; height: 1.3rem; bord=
er-radius: 50%; vertical-align: text-bottom; border: 0.25px solid rgb(240, =
240, 240); box-sizing: border-box; object-position: center center; object-f=
it: cover; font-family: "object-fit: cover;"; }
[data-theme=3D"dark"] .single .post-meta .author img.avatar { border-color:=
rgb(54, 54, 54); }
.single .featured-image { margin: 1rem 0px; }
.single .featured-image img { display: block; width: 100%; max-width: 100%;=
height: auto; margin: 0px auto; overflow: hidden; }
.single #content[data-end-flag]:not([data-password])::after { content: attr=
(data-end-flag); display: block; text-align: center; color: rgb(177, 177, 1=
86); font-size: 15px; padding: 5px; }
.single hr { position: relative; height: 1em; background-image: ; backgroun=
d-attachment: ; background-origin: ; background-clip: ; background-color: ;=
background-size: 10px 2px; background-position: center center; background-=
repeat: repeat-x; border: none; }
.single hr.awesome-hr { margin-block: 0.5em; }
.single hr.awesome-hr::before { display: inline-block; font-weight: 600; fo=
nt-family: "Font Awesome 6 Free"; text-rendering: auto; -webkit-font-smooth=
ing: antialiased; position: absolute; left: 5%; top: 50%; transform: transl=
ateY(-50%); z-index: 1; color: var(--fi-hr-before-color); content: "=EF=83=
=84"; font-size: 20px; line-height: 1; transition: left 1s ease-in-out, col=
or 0.3s, border-color 0.3s; }
.single hr.awesome-hr:hover::before { left: calc(95% - 20px); }
.single .content { margin-block: 1rem; }
.single .content > h1, .single .content > h2 { font-size: 1.5em; padding-bo=
ttom: 0.3em; border-bottom: 1px solid rgb(240, 240, 240); }
.single .content > h3 { font-size: 1.25em; }
.single .content > h4 { font-size: 1em; }
.single .content > h5 { font-size: 0.875em; }
.single .content > h6 { font-size: 0.85em; }
.single .content > .heading-element { display: flex; font-weight: bold; lin=
e-height: 1.25; margin-top: 1.5rem; margin-bottom: 1rem; }
[data-theme=3D"dark"] .single .content > .heading-element { font-weight: bo=
lder; }
.single .content > .heading-element code { padding: 0px 0.2em; font-size: i=
nherit; }
.single .content > .heading-element:hover > .heading-mark, .single .content=
> .heading-element:target > .heading-mark { opacity: 1; }
.single .content > .heading-element > .heading-mark { display: inline-flex;=
align-items: center; opacity: 0; padding-inline: 0.5rem; transition: 0.2s =
ease-in-out; }
.single .content > .heading-element > .heading-mark a, .single .content > .=
heading-element > .heading-mark a::before, .single .content > .heading-elem=
ent > .heading-mark a::after { text-decoration: none; color: rgb(35, 118, 1=
83); }
[data-theme=3D"dark"] .single .content > .heading-element > .heading-mark a=
, [data-theme=3D"dark"] .single .content > .heading-element > .heading-mark=
a::before, [data-theme=3D"dark"] .single .content > .heading-element > .he=
ading-mark a::after { color: rgb(23, 129, 181); }
.single .content > .heading-element > .heading-mark a:active, .single .cont=
ent > .heading-element > .heading-mark a:hover { color: rgb(234, 81, 127); =
}
[data-theme=3D"dark"] .single .content > .heading-element > .heading-mark a=
:active, [data-theme=3D"dark"] .single .content > .heading-element > .headi=
ng-mark a:hover { color: rgb(204, 85, 149); }
.single .content > .heading-element > .heading-mark svg { fill: currentcolo=
r; }
.single .content p { margin: 0.5rem 0px; }
.single .content b, .single .content strong { font-weight: bold; }
[data-theme=3D"dark"] .single .content b, [data-theme=3D"dark"] .single .co=
ntent strong { color: rgb(221, 221, 221); }
.single .content a, .single .content a::before, .single .content a::after {=
text-decoration: none; color: rgb(35, 118, 183); }
[data-theme=3D"dark"] .single .content a, [data-theme=3D"dark"] .single .co=
ntent a::before, [data-theme=3D"dark"] .single .content a::after { color: r=
gb(23, 129, 181); }
.single .content a:active, .single .content a:hover { color: rgb(234, 81, 1=
27); }
[data-theme=3D"dark"] .single .content a:active, [data-theme=3D"dark"] .sin=
gle .content a:hover { color: rgb(204, 85, 149); }
.single .content a { white-space: normal; overflow-wrap: break-word; }
[data-theme=3D"dark"] .single .content a b, [data-theme=3D"dark"] .single .=
content a strong { color: rgb(23, 129, 181); }
.single .content [data-theme=3D"dark"] a:hover b, .single .content [data-th=
eme=3D"dark"] a:hover strong { color: rgb(204, 85, 149); }
.single .content ul, .single .content ol, .single .content dl { margin-bloc=
k: 0.5em; }
.single .content ul { list-style-type: disc; }
.single .content ul li[data-task] { list-style: none; margin-left: -1.5rem;=
}
.single .content li[data-task] { color: var(--fi-task-color); }
.single .content li[data-task] .checkbox-icon { margin-right: 0.25em; color=
: var(--fi-checkbox-color); }
.single .content li[data-task=3D"x"], .single .content li[data-task=3D"-"] =
{ --fi-task-color: var(--fi-secondary); text-decoration: line-through; }
.single .content li[data-task=3D"x"] { --fi-checkbox-color: var(--fi-primar=
y); }
.single .content li[data-task=3D"/"] { --fi-task-color: var(--fi-success); =
}
.single .content li[data-task=3D"!"] { --fi-checkbox-color: var(--fi-danger=
); }
.single .content li[data-task=3D"?"] { --fi-checkbox-color: var(--fi-warnin=
g); }
.single .content dl dt { font-weight: bold; }
.single .content dl dd { margin: 0.25em 0px 1em; }
.single .content ruby { background: rgb(246, 248, 250); }
.single .content ruby rt { color: rgb(177, 177, 186); }
[data-theme=3D"dark"] .single .content ruby { background: rgb(45, 51, 59); =
}
[data-theme=3D"dark"] .single .content ruby rt { color: rgb(144, 144, 146);=
}
.single .content mark { padding: 0.14em 0.28em; background-color: var(--fi-=
mark-background-color, mark); color: var(--fi-mark-color, marktext); border=
-radius: 5px; }
.single .content mark.mark-primary { --fi-mark-color: #fff; --fi-mark-backg=
round-color: var(--fi-primary); }
.single .content mark.mark-secondary { --fi-mark-color: #fff; --fi-mark-bac=
kground-color: var(--fi-secondary); }
.single .content mark.mark-success { --fi-mark-color: #fff; --fi-mark-backg=
round-color: var(--fi-success); }
.single .content mark.mark-info { --fi-mark-color: #fff; --fi-mark-backgrou=
nd-color: var(--fi-info); }
.single .content mark.mark-warning { --fi-mark-color: #fff; --fi-mark-backg=
round-color: var(--fi-warning); }
.single .content mark.mark-danger { --fi-mark-color: #fff; --fi-mark-backgr=
ound-color: var(--fi-danger); }
.single .content .table-wrapper { overflow-x: auto; --fi-scrollbar-thumb-co=
lor: #fff; }
[data-theme=3D"dark"] .single .content .table-wrapper { --fi-scrollbar-thum=
b-color: #272c34; }
.single .content .table-wrapper > table { width: 100%; max-width: 100%; mar=
gin: 0.625rem 0px; border-spacing: 0px; background: rgb(255, 255, 255); bor=
der-collapse: collapse; }
[data-theme=3D"dark"] .single .content .table-wrapper > table { background:=
rgb(39, 44, 52); }
.single .content .table-wrapper > table thead { background: rgb(237, 237, 2=
37); }
[data-theme=3D"dark"] .single .content .table-wrapper > table thead { backg=
round-color: rgb(32, 37, 43); }
.single .content .table-wrapper > table:not([class]) tbody tr:nth-child(2n+=
1) { background: rgb(249, 249, 249); }
[data-theme=3D"dark"] .single .content .table-wrapper > table:not([class]) =
tbody tr:nth-child(2n+1) { background-color: rgb(45, 51, 60); }
.single .content .table-wrapper > table:not([class]) tbody tr:hover { backg=
round: rgb(244, 244, 244); }
[data-theme=3D"dark"] .single .content .table-wrapper > table:not([class]) =
tbody tr:hover { background-color: rgb(51, 58, 68); }
.single .content .table-wrapper > table th, .single .content .table-wrapper=
> table td { padding: 0.3rem 1rem; border: 1px solid rgb(232, 232, 232); }
[data-theme=3D"dark"] .single .content .table-wrapper > table th, [data-the=
me=3D"dark"] .single .content .table-wrapper > table td { border-color: rgb=
(28, 32, 37); }
.single .content img { max-width: 100%; min-height: 1em; }
.single .content img:not([height]) { height: auto; }
.single .content img[loading=3D"lazy"][srcset]:not([data-lazyloaded]):not(.=
suffix-invalid__small) { width: var(--width-small, var(--width)); aspect-ra=
tio: var(--aspect-ratio-small, var(--aspect-ratio)); }
@media (min-resolution: 1.01dppx) and (max-resolution: 1.5dppx) {
.single .content img[loading=3D"lazy"][srcset]:not([data-lazyloaded]):not=
(.suffix-invalid) { width: calc(var(--width) / 1.5); aspect-ratio: var(--as=
pect-ratio); }
}
@media (min-resolution: 1.51dppx) {
.single .content img[loading=3D"lazy"][srcset]:not([data-lazyloaded]):not=
(.suffix-invalid__large) { width: calc(var(--width-large, var(--width)) / 2=
); aspect-ratio: var(--aspect-ratio-large, var(--aspect-ratio)); }
}
.single .content img.version { height: 1.25em; vertical-align: text-bottom;=
}
.single .content svg { max-width: 100%; }
.single .content figure { margin: 0.5rem; text-align: center; }
.single .content figure .image-caption:not(:empty) { min-width: 20%; max-wi=
dth: 80%; display: inline-block; padding: 0.5rem; margin: 0px auto; font-si=
ze: 0.875rem; color: rgb(150, 150, 150); }
.single .content figure img { display: block; margin: 0px auto; overflow: h=
idden; }
.single .content blockquote { display: block; border-left: 0.25em solid rgb=
(240, 240, 240); color: rgb(105, 118, 129); padding: 0px 1em; margin: 1rem =
0px; }
.single .content blockquote ul, .single .content blockquote ol { padding-le=
ft: 1.5em; }
.single .content blockquote dl dd { margin-inline-start: 0.25em; }
[data-theme=3D"dark"] .single .content blockquote { color: rgb(155, 163, 17=
0); border-left-color: rgb(54, 54, 54); }
.single .content blockquote a, .single .content blockquote a::before, .sing=
le .content blockquote a::after { text-decoration: none; color: rgb(35, 118=
, 183); }
[data-theme=3D"dark"] .single .content blockquote a, [data-theme=3D"dark"] =
.single .content blockquote a::before, [data-theme=3D"dark"] .single .conte=
nt blockquote a::after { color: rgb(177, 177, 186); }
.single .content blockquote a:active, .single .content blockquote a:hover {=
color: rgb(234, 81, 127); }
[data-theme=3D"dark"] .single .content blockquote a:active, [data-theme=3D"=
dark"] .single .content blockquote a:hover { color: rgb(255, 255, 255); }
.single .content sup[id^=3D"fnref"]:has(.footnote-ref) { padding: 2px 4px; =
background-color: rgba(238, 238, 238, 0.7); color: rgb(85, 85, 85); border-=
radius: 4px; cursor: pointer; }
[data-theme=3D"dark"] .single .content sup[id^=3D"fnref"]:has(.footnote-ref=
) { background-color: rgba(56, 139, 253, 0.1); color: rgb(88, 166, 255); }
.single .content sup[id^=3D"fnref"]:has(.footnote-ref) a, .single .content =
sup[id^=3D"fnref"]:has(.footnote-ref) a::before, .single .content sup[id^=
=3D"fnref"]:has(.footnote-ref) a::after { text-decoration: none; color: rgb=
(22, 18, 9); }
[data-theme=3D"dark"] .single .content sup[id^=3D"fnref"]:has(.footnote-ref=
) a, [data-theme=3D"dark"] .single .content sup[id^=3D"fnref"]:has(.footnot=
e-ref) a::before, [data-theme=3D"dark"] .single .content sup[id^=3D"fnref"]=
:has(.footnote-ref) a::after { color: rgb(23, 129, 181); }
.single .content sup[id^=3D"fnref"]:has(.footnote-ref) a:active, .single .c=
ontent sup[id^=3D"fnref"]:has(.footnote-ref) a:hover { color: rgb(41, 131, =
187); }
[data-theme=3D"dark"] .single .content sup[id^=3D"fnref"]:has(.footnote-ref=
) a:active, [data-theme=3D"dark"] .single .content sup[id^=3D"fnref"]:has(.=
footnote-ref) a:hover { color: rgb(204, 85, 149); }
.single .content .footnotes { font-size: 0.75rem; white-space: normal; colo=
r: rgb(163, 163, 174); }
.single .content .footnotes ol { margin-block: 1em; padding-left: 1rem; }
.single .content .footnotes hr { background-color: var(--fi-hr-background-c=
olor); height: 1px; margin-block: 1em; }
.single .content .footnotes code { font-size: 0.75rem; }
.single .content .footnotes a:not(.footnote-backref) { color: inherit; text=
-decoration: underline; }
.single .content .footnotes a, .single .content .footnotes a::before, .sing=
le .content .footnotes a::after { text-decoration: none; color: rgb(35, 118=
, 183); }
[data-theme=3D"dark"] .single .content .footnotes a, [data-theme=3D"dark"] =
.single .content .footnotes a::before, [data-theme=3D"dark"] .single .conte=
nt .footnotes a::after { color: rgb(177, 177, 186); }
.single .content .footnotes a:active, .single .content .footnotes a:hover {=
color: rgb(234, 81, 127); }
[data-theme=3D"dark"] .single .content .footnotes a:active, [data-theme=3D"=
dark"] .single .content .footnotes a:hover { color: rgb(255, 255, 255); }
[data-theme=3D"dark"] .single .content .footnotes { color: rgb(157, 157, 15=
9); }
.single .content .footnotes p { margin: 0.25rem 0px; }
.single .content hr { margin-block: 0px; }
.single .content kbd { display: inline-block; padding: 0px 0.25rem; backgro=
und-color: rgb(255, 255, 255); border: 1px solid rgb(240, 240, 240); font-s=
ize: 0.8rem; font-family: "Source Code Pro", Menlo, Consolas, Monaco, monos=
pace, system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microso=
ft YaHei UI", "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "=
Droid Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; color: rgb(36,=
41, 47); border-radius: 5px; box-shadow: rgb(240, 240, 240) 0px -1px 0px i=
nset; }
[data-theme=3D"dark"] .single .content kbd { background-color: rgb(41, 42, =
46); border: 1px solid rgb(54, 54, 54); color: rgb(173, 186, 199); box-shad=
ow: rgb(54, 54, 54) 0px -1px 0px inset; }
.single .content .alert { padding: 0.5rem 1rem; margin-block: 1rem; color: =
inherit; border-left: 0.25em solid var(--fi-alert-border-color); }
.single .content .alert > :first-child { margin-top: 0px; }
.single .content .alert > :last-child { margin-bottom: 0px; }
.single .content .alert .alert-title { display: flex; font-weight: 500; ali=
gn-items: center; line-height: 1; margin-bottom: 1rem; color: var(--fi-aler=
t-color); }
.single .content .alert .alert-title > svg.icon { width: initial; height: i=
nitial; margin-right: 0.5rem; }
.single .content .alert.alert-note { --fi-alert-border-color: #0969da; --fi=
-alert-color: #0969da; }
.single .content .alert.alert-tip { --fi-alert-border-color: #1a7f37; --fi-=
alert-color: #1a7f37; }
.single .content .alert.alert-important { --fi-alert-border-color: #8250df;=
--fi-alert-color: #8250df; }
.single .content .alert.alert-warning { --fi-alert-border-color: #bf8700; -=
-fi-alert-color: #9a6700; }
.single .content .alert.alert-caution { --fi-alert-border-color: #cf222e; -=
-fi-alert-color: #d1242f; }
[data-theme=3D"dark"] .single .content .alert.alert-note { --fi-alert-borde=
r-color: #316dca; --fi-alert-color: #478be6; }
[data-theme=3D"dark"] .single .content .alert.alert-tip { --fi-alert-border=
-color: #347d39; --fi-alert-color: #57ab5a; }
[data-theme=3D"dark"] .single .content .alert.alert-important { --fi-alert-=
border-color: #8256d0; --fi-alert-color: #986ee2; }
[data-theme=3D"dark"] .single .content .alert.alert-warning { --fi-alert-bo=
rder-color: #966600; --fi-alert-color: #c69026; }
[data-theme=3D"dark"] .single .content .alert.alert-caution { --fi-alert-bo=
rder-color: #c93c37; --fi-alert-color: #e5534b; }
.single .content code { padding: 0.2em 0.4em; margin: 0px; font-size: 0.875=
rem; font-family: "Source Code Pro", Menlo, Consolas, Monaco, monospace, sy=
stem-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei=
UI", "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sa=
ns", "Helvetica Neue", Helvetica, Arial, sans-serif; color: rgb(36, 41, 47)=
; background-color: rgba(175, 184, 193, 0.2); text-decoration: inherit; bor=
der-radius: 5px; overflow-wrap: break-word; -webkit-line-break: auto; line-=
break: auto; }
[data-theme=3D"dark"] .single .content code { color: rgb(173, 186, 199); ba=
ckground-color: rgba(99, 110, 123, 0.4); }
.single .content pre:not(.mermaid[data-processed=3D"true"]) { margin: 0px; =
line-height: 1.45em; padding: 0.5rem; overflow: auto; font-size: 0.875rem; =
font-family: "Source Code Pro", Menlo, Consolas, Monaco, monospace, system-=
ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei UI",=
"Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", =
"Helvetica Neue", Helvetica, Arial, sans-serif; border-radius: 5px; tab-siz=
e: 4; background-color: rgb(246, 248, 250); }
[data-theme=3D"dark"] .single .content pre:not(.mermaid[data-processed=3D"t=
rue"]) { background-color: rgb(45, 51, 59); }
.single .content pre:not(.mermaid[data-processed=3D"true"]) code { padding:=
0px; background-color: transparent; border-radius: 0px; min-width: max-con=
tent; }
[data-theme=3D"dark"] .single .content pre:not(.mermaid[data-processed=3D"t=
rue"]) code { background-color: transparent; }
.single .content pre:not(.mermaid[data-processed=3D"true"]) img { min-heigh=
t: 1em; max-height: 1.2em; vertical-align: text-bottom; }
.single .content .highlight, .single .content .gist { font-size: 0.875rem; =
font-family: "Source Code Pro", Menlo, Consolas, Monaco, monospace, system-=
ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei UI",=
"Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", =
"Helvetica Neue", Helvetica, Arial, sans-serif; }
.single .content .highlight .table-wrapper, .single .content .gist .table-w=
rapper { --fi-scrollbar-thumb-color: initial; }
.single .content .highlight .table-wrapper > table, .single .content .highl=
ight .table-wrapper > table thead, .single .content .highlight .table-wrapp=
er > table tr, .single .content .highlight .table-wrapper > table td, .sing=
le .content .gist .table-wrapper > table, .single .content .gist .table-wra=
pper > table thead, .single .content .gist .table-wrapper > table tr, .sing=
le .content .gist .table-wrapper > table td { margin: 0px; padding: 0px; wh=
ite-space: nowrap; border: none !important; }
.single .content .highlight { margin: 0.5rem 0px; }
.single .content .highlight > .chroma { position: relative; }
.single .content .highlight > .chroma .code-header { --fi-bg-code-header: #=
ecf0f5; display: flex; justify-content: space-between; align-items: center;=
box-sizing: border-box; width: 100%; font-family: system-ui, -apple-system=
, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei UI", "Segoe UI", Robo=
to, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue",=
Helvetica, Arial, sans-serif; font-weight: bold; line-height: 1.4em; color=
: rgb(156, 156, 156); background-color: var(--fi-bg-code-header); border-ra=
dius: 5px; transition: border-radius 0.2s; }
.single .content .highlight > .chroma .code-header + .table-wrapper { max-h=
eight: 0px; border-radius: 0px 0px 5px 5px; transition: max-height 0.2s cub=
ic-bezier(0, 1, 0, 1) -0.1s; }
[data-theme=3D"dark"] .single .content .highlight > .chroma .code-header { =
color: rgb(177, 176, 176); --fi-bg-code-header: #262b32; }
.single .content .highlight > .chroma .code-header:hover { cursor: pointer;=
}
.single .content .highlight > .chroma .code-header .code-title { width: 100=
%; padding: 0.4rem; }
.single .content .highlight > .chroma .code-header .code-title .arrow { pad=
ding: 0px 0.2rem; transition: transform 0.2s; }
.single .content .highlight > .chroma .code-header .code-title .title-inner=
{ position: absolute; left: 50%; transform: translateX(-50%); background-c=
olor: var(--fi-bg-code-header); padding-inline: 1em; max-width: 80%; white-=
space: nowrap; overflow: hidden; text-overflow: ellipsis; z-index: 1; }
.single .content .highlight > .chroma .code-header .code-title::after { pad=
ding-left: 0.2rem; content: "Code"; }
.single .content .highlight > .chroma .code-header .ellipses { padding: 0.4=
rem; }
.single .content .highlight > .chroma .code-header .edit, .single .content =
.highlight > .chroma .code-header .copy { display: none; padding: 0.4rem; }
.single .content .highlight > .chroma .code-header .edit:hover, .single .co=
ntent .highlight > .chroma .code-header .copy:hover { cursor: pointer; colo=
r: rgb(41, 131, 187); }
[data-theme=3D"dark"] .single .content .highlight > .chroma .code-header .e=
dit:hover, [data-theme=3D"dark"] .single .content .highlight > .chroma .cod=
e-header .copy:hover { color: rgb(255, 255, 255); }
.single .content .highlight > .chroma .code-header.language-abap .code-titl=
e::after { content: "ABAP"; }
.single .content .highlight > .chroma .code-header.language-abnf .code-titl=
e::after { content: "ABNF"; }
.single .content .highlight > .chroma .code-header.language-as .code-title:=
:after { content: "ActionScript"; }
.single .content .highlight > .chroma .code-header.language-actionscript .c=
ode-title::after { content: "ActionScript"; }
.single .content .highlight > .chroma .code-header.language-as3 .code-title=
::after { content: "ActionScript 3"; }
.single .content .highlight > .chroma .code-header.language-actionscript3 .=
code-title::after { content: "ActionScript 3"; }
.single .content .highlight > .chroma .code-header.language-ada .code-title=
::after { content: "Ada"; }
.single .content .highlight > .chroma .code-header.language-ada95 .code-tit=
le::after { content: "Ada"; }
.single .content .highlight > .chroma .code-header.language-ada2005 .code-t=
itle::after { content: "Ada"; }
.single .content .highlight > .chroma .code-header.language-al .code-title:=
:after { content: "AL"; }
.single .content .highlight > .chroma .code-header.language-ng2 .code-title=
::after { content: "Angular2"; }
.single .content .highlight > .chroma .code-header.language-antlr .code-tit=
le::after { content: "ANTLR"; }
.single .content .highlight > .chroma .code-header.language-apacheconf .cod=
e-title::after { content: "ApacheConf"; }
.single .content .highlight > .chroma .code-header.language-aconf .code-tit=
le::after { content: "ApacheConf"; }
.single .content .highlight > .chroma .code-header.language-apache .code-ti=
tle::after { content: "ApacheConf"; }
.single .content .highlight > .chroma .code-header.language-apl .code-title=
::after { content: "APL"; }
.single .content .highlight > .chroma .code-header.language-applescript .co=
de-title::after { content: "AppleScript"; }
.single .content .highlight > .chroma .code-header.language-arduino .code-t=
itle::after { content: "Arduino"; }
.single .content .highlight > .chroma .code-header.language-armasm .code-ti=
tle::after { content: "ArmAsm"; }
.single .content .highlight > .chroma .code-header.language-awk .code-title=
::after { content: "Awk"; }
.single .content .highlight > .chroma .code-header.language-gawk .code-titl=
e::after { content: "Awk"; }
.single .content .highlight > .chroma .code-header.language-mawk .code-titl=
e::after { content: "Awk"; }
.single .content .highlight > .chroma .code-header.language-nawk .code-titl=
e::after { content: "Awk"; }
.single .content .highlight > .chroma .code-header.language-ballerina .code=
-title::after { content: "Ballerina"; }
.single .content .highlight > .chroma .code-header.language-make .code-titl=
e::after { content: "Base Makefile"; }
.single .content .highlight > .chroma .code-header.language-makefile .code-=
title::after { content: "Base Makefile"; }
.single .content .highlight > .chroma .code-header.language-mf .code-title:=
:after { content: "Base Makefile"; }
.single .content .highlight > .chroma .code-header.language-bsdmake .code-t=
itle::after { content: "Base Makefile"; }
.single .content .highlight > .chroma .code-header.language-bash .code-titl=
e::after { content: "Bash"; }
.single .content .highlight > .chroma .code-header.language-sh .code-title:=
:after { content: "Bash"; }
.single .content .highlight > .chroma .code-header.language-ksh .code-title=
::after { content: "Bash"; }
.single .content .highlight > .chroma .code-header.language-zsh .code-title=
::after { content: "Bash"; }
.single .content .highlight > .chroma .code-header.language-shell .code-tit=
le::after { content: "Bash"; }
.single .content .highlight > .chroma .code-header.language-bash-session .c=
ode-title::after { content: "BashSession"; }
.single .content .highlight > .chroma .code-header.language-console .code-t=
itle::after { content: "BashSession"; }
.single .content .highlight > .chroma .code-header.language-shell-session .=
code-title::after { content: "BashSession"; }
.single .content .highlight > .chroma .code-header.language-bat .code-title=
::after { content: "Batchfile"; }
.single .content .highlight > .chroma .code-header.language-batch .code-tit=
le::after { content: "Batchfile"; }
.single .content .highlight > .chroma .code-header.language-dosbatch .code-=
title::after { content: "Batchfile"; }
.single .content .highlight > .chroma .code-header.language-winbatch .code-=
title::after { content: "Batchfile"; }
.single .content .highlight > .chroma .code-header.language-bib .code-title=
::after { content: "BibTeX"; }
.single .content .highlight > .chroma .code-header.language-bibtex .code-ti=
tle::after { content: "BibTeX"; }
.single .content .highlight > .chroma .code-header.language-bicep .code-tit=
le::after { content: "Bicep"; }
.single .content .highlight > .chroma .code-header.language-blitzbasic .cod=
e-title::after { content: "BlitzBasic"; }
.single .content .highlight > .chroma .code-header.language-b3d .code-title=
::after { content: "BlitzBasic"; }
.single .content .highlight > .chroma .code-header.language-bplus .code-tit=
le::after { content: "BlitzBasic"; }
.single .content .highlight > .chroma .code-header.language-bnf .code-title=
::after { content: "BNF"; }
.single .content .highlight > .chroma .code-header.language-brainfuck .code=
-title::after { content: "Brainfuck"; }
.single .content .highlight > .chroma .code-header.language-bf .code-title:=
:after { content: "Brainfuck"; }
.single .content .highlight > .chroma .code-header.language-c .code-title::=
after { content: "C"; }
.single .content .highlight > .chroma .code-header.language-csharp .code-ti=
tle::after { content: "C#"; }
.single .content .highlight > .chroma .code-header.language-c\# .code-title=
::after { content: "C#"; }
.single .content .highlight > .chroma .code-header.language-cpp .code-title=
::after { content: "C++"; }
.single .content .highlight > .chroma .code-header.language-c\+\+ .code-tit=
le::after { content: "C++"; }
.single .content .highlight > .chroma .code-header.language-caddyfile .code=
-title::after { content: "Caddyfile"; }
.single .content .highlight > .chroma .code-header.language-caddy .code-tit=
le::after { content: "Caddyfile"; }
.single .content .highlight > .chroma .code-header.language-caddyfile-direc=
tives .code-title::after { content: "Caddyfile Directives"; }
.single .content .highlight > .chroma .code-header.language-caddyfile-d .co=
de-title::after { content: "Caddyfile Directives"; }
.single .content .highlight > .chroma .code-header.language-caddy-d .code-t=
itle::after { content: "Caddyfile Directives"; }
.single .content .highlight > .chroma .code-header.language-capnp .code-tit=
le::after { content: "Cap'n Proto"; }
.single .content .highlight > .chroma .code-header.language-cassandra .code=
-title::after { content: "Cassandra CQL"; }
.single .content .highlight > .chroma .code-header.language-cql .code-title=
::after { content: "Cassandra CQL"; }
.single .content .highlight > .chroma .code-header.language-ceylon .code-ti=
tle::after { content: "Ceylon"; }
.single .content .highlight > .chroma .code-header.language-cfengine3 .code=
-title::after { content: "CFEngine3"; }
.single .content .highlight > .chroma .code-header.language-cf3 .code-title=
::after { content: "CFEngine3"; }
.single .content .highlight > .chroma .code-header.language-cfs .code-title=
::after { content: "cfstatement"; }
.single .content .highlight > .chroma .code-header.language-chai .code-titl=
e::after { content: "ChaiScript"; }
.single .content .highlight > .chroma .code-header.language-chaiscript .cod=
e-title::after { content: "ChaiScript"; }
.single .content .highlight > .chroma .code-header.language-cheetah .code-t=
itle::after { content: "Cheetah"; }
.single .content .highlight > .chroma .code-header.language-spitfire .code-=
title::after { content: "Cheetah"; }
.single .content .highlight > .chroma .code-header.language-clojure .code-t=
itle::after { content: "Clojure"; }
.single .content .highlight > .chroma .code-header.language-clj .code-title=
::after { content: "Clojure"; }
.single .content .highlight > .chroma .code-header.language-cmake .code-tit=
le::after { content: "CMake"; }
.single .content .highlight > .chroma .code-header.language-cobol .code-tit=
le::after { content: "COBOL"; }
.single .content .highlight > .chroma .code-header.language-coffee-script .=
code-title::after { content: "CoffeeScript"; }
.single .content .highlight > .chroma .code-header.language-coffeescript .c=
ode-title::after { content: "CoffeeScript"; }
.single .content .highlight > .chroma .code-header.language-coffee .code-ti=
tle::after { content: "CoffeeScript"; }
.single .content .highlight > .chroma .code-header.language-common-lisp .co=
de-title::after { content: "Common Lisp"; }
.single .content .highlight > .chroma .code-header.language-cl .code-title:=
:after { content: "Common Lisp"; }
.single .content .highlight > .chroma .code-header.language-lisp .code-titl=
e::after { content: "Common Lisp"; }
.single .content .highlight > .chroma .code-header.language-coq .code-title=
::after { content: "Coq"; }
.single .content .highlight > .chroma .code-header.language-cr .code-title:=
:after { content: "Crystal"; }
.single .content .highlight > .chroma .code-header.language-crystal .code-t=
itle::after { content: "Crystal"; }
.single .content .highlight > .chroma .code-header.language-css .code-title=
::after { content: "CSS"; }
.single .content .highlight > .chroma .code-header.language-cython .code-ti=
tle::after { content: "Cython"; }
.single .content .highlight > .chroma .code-header.language-pyx .code-title=
::after { content: "Cython"; }
.single .content .highlight > .chroma .code-header.language-pyrex .code-tit=
le::after { content: "Cython"; }
.single .content .highlight > .chroma .code-header.language-d .code-title::=
after { content: "D"; }
.single .content .highlight > .chroma .code-header.language-dart .code-titl=
e::after { content: "Dart"; }
.single .content .highlight > .chroma .code-header.language-diff .code-titl=
e::after { content: "Diff"; }
.single .content .highlight > .chroma .code-header.language-udiff .code-tit=
le::after { content: "Diff"; }
.single .content .highlight > .chroma .code-header.language-django .code-ti=
tle::after { content: "Django/Jinja"; }
.single .content .highlight > .chroma .code-header.language-jinja .code-tit=
le::after { content: "Django/Jinja"; }
.single .content .highlight > .chroma .code-header.language-docker .code-ti=
tle::after { content: "Docker"; }
.single .content .highlight > .chroma .code-header.language-dockerfile .cod=
e-title::after { content: "Docker"; }
.single .content .highlight > .chroma .code-header.language-dtd .code-title=
::after { content: "DTD"; }
.single .content .highlight > .chroma .code-header.language-dylan .code-tit=
le::after { content: "Dylan"; }
.single .content .highlight > .chroma .code-header.language-ebnf .code-titl=
e::after { content: "EBNF"; }
.single .content .highlight > .chroma .code-header.language-elixir .code-ti=
tle::after { content: "Elixir"; }
.single .content .highlight > .chroma .code-header.language-ex .code-title:=
:after { content: "Elixir"; }
.single .content .highlight > .chroma .code-header.language-exs .code-title=
::after { content: "Elixir"; }
.single .content .highlight > .chroma .code-header.language-elm .code-title=
::after { content: "Elm"; }
.single .content .highlight > .chroma .code-header.language-emacs .code-tit=
le::after { content: "EmacsLisp"; }
.single .content .highlight > .chroma .code-header.language-elisp .code-tit=
le::after { content: "EmacsLisp"; }
.single .content .highlight > .chroma .code-header.language-emacs-lisp .cod=
e-title::after { content: "EmacsLisp"; }
.single .content .highlight > .chroma .code-header.language-erlang .code-ti=
tle::after { content: "Erlang"; }
.single .content .highlight > .chroma .code-header.language-factor .code-ti=
tle::after { content: "Factor"; }
.single .content .highlight > .chroma .code-header.language-fennel .code-ti=
tle::after { content: "Fennel"; }
.single .content .highlight > .chroma .code-header.language-fnl .code-title=
::after { content: "Fennel"; }
.single .content .highlight > .chroma .code-header.language-fish .code-titl=
e::after { content: "Fish"; }
.single .content .highlight > .chroma .code-header.language-fishshell .code=
-title::after { content: "Fish"; }
.single .content .highlight > .chroma .code-header.language-forth .code-tit=
le::after { content: "Forth"; }
.single .content .highlight > .chroma .code-header.language-fortran .code-t=
itle::after { content: "Fortran"; }
.single .content .highlight > .chroma .code-header.language-fortranfixed .c=
ode-title::after { content: "FortranFixed"; }
.single .content .highlight > .chroma .code-header.language-fsharp .code-ti=
tle::after { content: "FSharp"; }
.single .content .highlight > .chroma .code-header.language-gas .code-title=
::after { content: "GAS"; }
.single .content .highlight > .chroma .code-header.language-asm .code-title=
::after { content: "GAS"; }
.single .content .highlight > .chroma .code-header.language-gdscript .code-=
title::after { content: "GDScript"; }
.single .content .highlight > .chroma .code-header.language-gd .code-title:=
:after { content: "GDScript"; }
.single .content .highlight > .chroma .code-header.language-genshi .code-ti=
tle::after { content: "Genshi"; }
.single .content .highlight > .chroma .code-header.language-kid .code-title=
::after { content: "Genshi"; }
.single .content .highlight > .chroma .code-header.language-xml\+genshi .co=
de-title::after { content: "Genshi"; }
.single .content .highlight > .chroma .code-header.language-xml\+kid .code-=
title::after { content: "Genshi"; }
.single .content .highlight > .chroma .code-header.language-html\+genshi .c=
ode-title::after { content: "Genshi HTML"; }
.single .content .highlight > .chroma .code-header.language-html\+kid .code=
-title::after { content: "Genshi HTML"; }
.single .content .highlight > .chroma .code-header.language-genshitext .cod=
e-title::after { content: "Genshi Text"; }
.single .content .highlight > .chroma .code-header.language-cucumber .code-=
title::after { content: "Gherkin"; }
.single .content .highlight > .chroma .code-header.language-Cucumber .code-=
title::after { content: "Gherkin"; }
.single .content .highlight > .chroma .code-header.language-gherkin .code-t=
itle::after { content: "Gherkin"; }
.single .content .highlight > .chroma .code-header.language-Gherkin .code-t=
itle::after { content: "Gherkin"; }
.single .content .highlight > .chroma .code-header.language-glsl .code-titl=
e::after { content: "GLSL"; }
.single .content .highlight > .chroma .code-header.language-gnuplot .code-t=
itle::after { content: "Gnuplot"; }
.single .content .highlight > .chroma .code-header.language-go .code-title:=
:after { content: "Go"; }
.single .content .highlight > .chroma .code-header.language-golang .code-ti=
tle::after { content: "Go"; }
.single .content .highlight > .chroma .code-header.language-go-html-templat=
e .code-title::after { content: "Go HTML Template"; }
.single .content .highlight > .chroma .code-header.language-go-text-templat=
e .code-title::after { content: "Go Text Template"; }
.single .content .highlight > .chroma .code-header.language-graphql .code-t=
itle::after { content: "GraphQL"; }
.single .content .highlight > .chroma .code-header.language-graphqls .code-=
title::after { content: "GraphQL"; }
.single .content .highlight > .chroma .code-header.language-gql .code-title=
::after { content: "GraphQL"; }
.single .content .highlight > .chroma .code-header.language-groff .code-tit=
le::after { content: "Groff"; }
.single .content .highlight > .chroma .code-header.language-nroff .code-tit=
le::after { content: "Groff"; }
.single .content .highlight > .chroma .code-header.language-man .code-title=
::after { content: "Groff"; }
.single .content .highlight > .chroma .code-header.language-groovy .code-ti=
tle::after { content: "Groovy"; }
.single .content .highlight > .chroma .code-header.language-handlebars .cod=
e-title::after { content: "Handlebars"; }
.single .content .highlight > .chroma .code-header.language-hbs .code-title=
::after { content: "Handlebars"; }
.single .content .highlight > .chroma .code-header.language-haskell .code-t=
itle::after { content: "Haskell"; }
.single .content .highlight > .chroma .code-header.language-hs .code-title:=
:after { content: "Haskell"; }
.single .content .highlight > .chroma .code-header.language-hx .code-title:=
:after { content: "Haxe"; }
.single .content .highlight > .chroma .code-header.language-haxe .code-titl=
e::after { content: "Haxe"; }
.single .content .highlight > .chroma .code-header.language-hxsl .code-titl=
e::after { content: "Haxe"; }
.single .content .highlight > .chroma .code-header.language-hcl .code-title=
::after { content: "HCL"; }
.single .content .highlight > .chroma .code-header.language-hexdump .code-t=
itle::after { content: "Hexdump"; }
.single .content .highlight > .chroma .code-header.language-hlb .code-title=
::after { content: "HLB"; }
.single .content .highlight > .chroma .code-header.language-html .code-titl=
e::after { content: "HTML"; }
.single .content .highlight > .chroma .code-header.language-http .code-titl=
e::after { content: "HTTP"; }
.single .content .highlight > .chroma .code-header.language-hylang .code-ti=
tle::after { content: "Hy"; }
.single .content .highlight > .chroma .code-header.language-idris .code-tit=
le::after { content: "Idris"; }
.single .content .highlight > .chroma .code-header.language-idr .code-title=
::after { content: "Idris"; }
.single .content .highlight > .chroma .code-header.language-igor .code-titl=
e::after { content: "Igor"; }
.single .content .highlight > .chroma .code-header.language-igorpro .code-t=
itle::after { content: "Igor"; }
.single .content .highlight > .chroma .code-header.language-ini .code-title=
::after { content: "INI"; }
.single .content .highlight > .chroma .code-header.language-cfg .code-title=
::after { content: "INI"; }
.single .content .highlight > .chroma .code-header.language-dosini .code-ti=
tle::after { content: "INI"; }
.single .content .highlight > .chroma .code-header.language-io .code-title:=
:after { content: "Io"; }
.single .content .highlight > .chroma .code-header.language-j .code-title::=
after { content: "J"; }
.single .content .highlight > .chroma .code-header.language-java .code-titl=
e::after { content: "Java"; }
.single .content .highlight > .chroma .code-header.language-js .code-title:=
:after { content: "JavaScript"; }
.single .content .highlight > .chroma .code-header.language-javascript .cod=
e-title::after { content: "JavaScript"; }
.single .content .highlight > .chroma .code-header.language-json .code-titl=
e::after { content: "JSON"; }
.single .content .highlight > .chroma .code-header.language-julia .code-tit=
le::after { content: "Julia"; }
.single .content .highlight > .chroma .code-header.language-jl .code-title:=
:after { content: "Julia"; }
.single .content .highlight > .chroma .code-header.language-jungle .code-ti=
tle::after { content: "Jungle"; }
.single .content .highlight > .chroma .code-header.language-kotlin .code-ti=
tle::after { content: "Kotlin"; }
.single .content .highlight > .chroma .code-header.language-lighty .code-ti=
tle::after { content: "Lighttpd configuration file"; }
.single .content .highlight > .chroma .code-header.language-lighttpd .code-=
title::after { content: "Lighttpd configuration file"; }
.single .content .highlight > .chroma .code-header.language-llvm .code-titl=
e::after { content: "LLVM"; }
.single .content .highlight > .chroma .code-header.language-lua .code-title=
::after { content: "Lua"; }
.single .content .highlight > .chroma .code-header.language-mako .code-titl=
e::after { content: "Mako"; }
.single .content .highlight > .chroma .code-header.language-md .code-title:=
:after { content: "Markdown"; }
.single .content .highlight > .chroma .code-header.language-mkd .code-title=
::after { content: "Markdown"; }
.single .content .highlight > .chroma .code-header.language-mason .code-tit=
le::after { content: "Mason"; }
.single .content .highlight > .chroma .code-header.language-mathematica .co=
de-title::after { content: "Mathematica"; }
.single .content .highlight > .chroma .code-header.language-mma .code-title=
::after { content: "Mathematica"; }
.single .content .highlight > .chroma .code-header.language-nb .code-title:=
:after { content: "Mathematica"; }
.single .content .highlight > .chroma .code-header.language-matlab .code-ti=
tle::after { content: "Matlab"; }
.single .content .highlight > .chroma .code-header.language-mcfunction .cod=
e-title::after { content: "mcfunction"; }
.single .content .highlight > .chroma .code-header.language-meson .code-tit=
le::after { content: "Meson"; }
.single .content .highlight > .chroma .code-header.language-meson\.build .c=
ode-title::after { content: "Meson"; }
.single .content .highlight > .chroma .code-header.language-metal .code-tit=
le::after { content: "Metal"; }
.single .content .highlight > .chroma .code-header.language-minizinc .code-=
title::after { content: "MiniZinc"; }
.single .content .highlight > .chroma .code-header.language-MZN .code-title=
::after { content: "MiniZinc"; }
.single .content .highlight > .chroma .code-header.language-mzn .code-title=
::after { content: "MiniZinc"; }
.single .content .highlight > .chroma .code-header.language-mlir .code-titl=
e::after { content: "MLIR"; }
.single .content .highlight > .chroma .code-header.language-modula2 .code-t=
itle::after { content: "Modula-2"; }
.single .content .highlight > .chroma .code-header.language-m2 .code-title:=
:after { content: "Modula-2"; }
.single .content .highlight > .chroma .code-header.language-monkeyc .code-t=
itle::after { content: "MonkeyC"; }
.single .content .highlight > .chroma .code-header.language-morrowind .code=
-title::after { content: "MorrowindScript"; }
.single .content .highlight > .chroma .code-header.language-mwscript .code-=
title::after { content: "MorrowindScript"; }
.single .content .highlight > .chroma .code-header.language-myghty .code-ti=
tle::after { content: "Myghty"; }
.single .content .highlight > .chroma .code-header.language-mysql .code-tit=
le::after { content: "MySQL"; }
.single .content .highlight > .chroma .code-header.language-mariadb .code-t=
itle::after { content: "MySQL"; }
.single .content .highlight > .chroma .code-header.language-nasm .code-titl=
e::after { content: "NASM"; }
.single .content .highlight > .chroma .code-header.language-newspeak .code-=
title::after { content: "Newspeak"; }
.single .content .highlight > .chroma .code-header.language-nginx .code-tit=
le::after { content: "Nginx configuration file"; }
.single .content .highlight > .chroma .code-header.language-nim .code-title=
::after { content: "Nim"; }
.single .content .highlight > .chroma .code-header.language-nimrod .code-ti=
tle::after { content: "Nim"; }
.single .content .highlight > .chroma .code-header.language-nixos .code-tit=
le::after { content: "Nix"; }
.single .content .highlight > .chroma .code-header.language-nix .code-title=
::after { content: "Nix"; }
.single .content .highlight > .chroma .code-header.language-objective-c .co=
de-title::after { content: "Objective-C"; }
.single .content .highlight > .chroma .code-header.language-objectivec .cod=
e-title::after { content: "Objective-C"; }
.single .content .highlight > .chroma .code-header.language-obj-c .code-tit=
le::after { content: "Objective-C"; }
.single .content .highlight > .chroma .code-header.language-objc .code-titl=
e::after { content: "Objective-C"; }
.single .content .highlight > .chroma .code-header.language-ocaml .code-tit=
le::after { content: "OCaml"; }
.single .content .highlight > .chroma .code-header.language-octave .code-ti=
tle::after { content: "Octave"; }
.single .content .highlight > .chroma .code-header.language-ones .code-titl=
e::after { content: "OnesEnterprise"; }
.single .content .highlight > .chroma .code-header.language-onesenterprise =
.code-title::after { content: "OnesEnterprise"; }
.single .content .highlight > .chroma .code-header.language-1S .code-title:=
:after { content: "OnesEnterprise"; }
.single .content .highlight > .chroma .code-header.language-openedge .code-=
title::after { content: "OpenEdge ABL"; }
.single .content .highlight > .chroma .code-header.language-abl .code-title=
::after { content: "OpenEdge ABL"; }
.single .content .highlight > .chroma .code-header.language-progress .code-=
title::after { content: "OpenEdge ABL"; }
.single .content .highlight > .chroma .code-header.language-openedgeabl .co=
de-title::after { content: "OpenEdge ABL"; }
.single .content .highlight > .chroma .code-header.language-openscad .code-=
title::after { content: "OpenSCAD"; }
.single .content .highlight > .chroma .code-header.language-org .code-title=
::after { content: "Org Mode"; }
.single .content .highlight > .chroma .code-header.language-orgmode .code-t=
itle::after { content: "Org Mode"; }
.single .content .highlight > .chroma .code-header.language-pacmanconf .cod=
e-title::after { content: "PacmanConf"; }
.single .content .highlight > .chroma .code-header.language-perl .code-titl=
e::after { content: "Perl"; }
.single .content .highlight > .chroma .code-header.language-pl .code-title:=
:after { content: "Perl"; }
.single .content .highlight > .chroma .code-header.language-php .code-title=
::after { content: "PHP"; }
.single .content .highlight > .chroma .code-header.language-php3 .code-titl=
e::after { content: "PHP"; }
.single .content .highlight > .chroma .code-header.language-php4 .code-titl=
e::after { content: "PHP"; }
.single .content .highlight > .chroma .code-header.language-php5 .code-titl=
e::after { content: "PHP"; }
.single .content .highlight > .chroma .code-header.language-phtml .code-tit=
le::after { content: "PHTML"; }
.single .content .highlight > .chroma .code-header.language-pig .code-title=
::after { content: "Pig"; }
.single .content .highlight > .chroma .code-header.language-pkgconfig .code=
-title::after { content: "PkgConfig"; }
.single .content .highlight > .chroma .code-header.language-plpgsql .code-t=
itle::after { content: "PL/pgSQL"; }
.single .content .highlight > .chroma .code-header.language-text .code-titl=
e::after { content: "plaintext"; }
.single .content .highlight > .chroma .code-header.language-plain .code-tit=
le::after { content: "plaintext"; }
.single .content .highlight > .chroma .code-header.language-no-highlight .c=
ode-title::after { content: "plaintext"; }
.single .content .highlight > .chroma .code-header.language-plutus-core .co=
de-title::after { content: "Plutus Core"; }
.single .content .highlight > .chroma .code-header.language-plc .code-title=
::after { content: "Plutus Core"; }
.single .content .highlight > .chroma .code-header.language-pony .code-titl=
e::after { content: "Pony"; }
.single .content .highlight > .chroma .code-header.language-postgresql .cod=
e-title::after { content: "PostgreSQL SQL dialect"; }
.single .content .highlight > .chroma .code-header.language-postgres .code-=
title::after { content: "PostgreSQL SQL dialect"; }
.single .content .highlight > .chroma .code-header.language-postscript .cod=
e-title::after { content: "PostScript"; }
.single .content .highlight > .chroma .code-header.language-postscr .code-t=
itle::after { content: "PostScript"; }
.single .content .highlight > .chroma .code-header.language-pov .code-title=
::after { content: "POVRay"; }
.single .content .highlight > .chroma .code-header.language-powerquery .cod=
e-title::after { content: "PowerQuery"; }
.single .content .highlight > .chroma .code-header.language-pq .code-title:=
:after { content: "PowerQuery"; }
.single .content .highlight > .chroma .code-header.language-powershell .cod=
e-title::after { content: "PowerShell"; }
.single .content .highlight > .chroma .code-header.language-posh .code-titl=
e::after { content: "PowerShell"; }
.single .content .highlight > .chroma .code-header.language-ps1 .code-title=
::after { content: "PowerShell"; }
.single .content .highlight > .chroma .code-header.language-psm1 .code-titl=
e::after { content: "PowerShell"; }
.single .content .highlight > .chroma .code-header.language-psd1 .code-titl=
e::after { content: "PowerShell"; }
.single .content .highlight > .chroma .code-header.language-prolog .code-ti=
tle::after { content: "Prolog"; }
.single .content .highlight > .chroma .code-header.language-promql .code-ti=
tle::after { content: "PromQL"; }
.single .content .highlight > .chroma .code-header.language-protobuf .code-=
title::after { content: "Protocol Buffer"; }
.single .content .highlight > .chroma .code-header.language-proto .code-tit=
le::after { content: "Protocol Buffer"; }
.single .content .highlight > .chroma .code-header.language-puppet .code-ti=
tle::after { content: "Puppet"; }
.single .content .highlight > .chroma .code-header.language-python .code-ti=
tle::after { content: "Python"; }
.single .content .highlight > .chroma .code-header.language-py .code-title:=
:after { content: "Python"; }
.single .content .highlight > .chroma .code-header.language-sage .code-titl=
e::after { content: "Python"; }
.single .content .highlight > .chroma .code-header.language-python3 .code-t=
itle::after { content: "Python"; }
.single .content .highlight > .chroma .code-header.language-py3 .code-title=
::after { content: "Python"; }
.single .content .highlight > .chroma .code-header.language-python2 .code-t=
itle::after { content: "Python 2"; }
.single .content .highlight > .chroma .code-header.language-py2 .code-title=
::after { content: "Python 2"; }
.single .content .highlight > .chroma .code-header.language-qbasic .code-ti=
tle::after { content: "QBasic"; }
.single .content .highlight > .chroma .code-header.language-basic .code-tit=
le::after { content: "QBasic"; }
.single .content .highlight > .chroma .code-header.language-qml .code-title=
::after { content: "QML"; }
.single .content .highlight > .chroma .code-header.language-qbs .code-title=
::after { content: "QML"; }
.single .content .highlight > .chroma .code-header.language-splus .code-tit=
le::after { content: "R"; }
.single .content .highlight > .chroma .code-header.language-s .code-title::=
after { content: "R"; }
.single .content .highlight > .chroma .code-header.language-r .code-title::=
after { content: "R"; }
.single .content .highlight > .chroma .code-header.language-racket .code-ti=
tle::after { content: "Racket"; }
.single .content .highlight > .chroma .code-header.language-rkt .code-title=
::after { content: "Racket"; }
.single .content .highlight > .chroma .code-header.language-ragel .code-tit=
le::after { content: "Ragel"; }
.single .content .highlight > .chroma .code-header.language-perl6 .code-tit=
le::after { content: "Raku"; }
.single .content .highlight > .chroma .code-header.language-pl6 .code-title=
::after { content: "Raku"; }
.single .content .highlight > .chroma .code-header.language-raku .code-titl=
e::after { content: "Raku"; }
.single .content .highlight > .chroma .code-header.language-jsx .code-title=
::after { content: "react"; }
.single .content .highlight > .chroma .code-header.language-react .code-tit=
le::after { content: "react"; }
.single .content .highlight > .chroma .code-header.language-reason .code-ti=
tle::after { content: "ReasonML"; }
.single .content .highlight > .chroma .code-header.language-reasonml .code-=
title::after { content: "ReasonML"; }
.single .content .highlight > .chroma .code-header.language-registry .code-=
title::after { content: "reg"; }
.single .content .highlight > .chroma .code-header.language-rst .code-title=
::after { content: "reStructuredText"; }
.single .content .highlight > .chroma .code-header.language-rest .code-titl=
e::after { content: "reStructuredText"; }
.single .content .highlight > .chroma .code-header.language-restructuredtex=
t .code-title::after { content: "reStructuredText"; }
.single .content .highlight > .chroma .code-header.language-rexx .code-titl=
e::after { content: "Rexx"; }
.single .content .highlight > .chroma .code-header.language-arexx .code-tit=
le::after { content: "Rexx"; }
.single .content .highlight > .chroma .code-header.language-rb .code-title:=
:after { content: "Ruby"; }
.single .content .highlight > .chroma .code-header.language-ruby .code-titl=
e::after { content: "Ruby"; }
.single .content .highlight > .chroma .code-header.language-duby .code-titl=
e::after { content: "Ruby"; }
.single .content .highlight > .chroma .code-header.language-rust .code-titl=
e::after { content: "Rust"; }
.single .content .highlight > .chroma .code-header.language-rs .code-title:=
:after { content: "Rust"; }
.single .content .highlight > .chroma .code-header.language-sas .code-title=
::after { content: "SAS"; }
.single .content .highlight > .chroma .code-header.language-sass .code-titl=
e::after { content: "Sass"; }
.single .content .highlight > .chroma .code-header.language-scala .code-tit=
le::after { content: "Scala"; }
.single .content .highlight > .chroma .code-header.language-scheme .code-ti=
tle::after { content: "Scheme"; }
.single .content .highlight > .chroma .code-header.language-scm .code-title=
::after { content: "Scheme"; }
.single .content .highlight > .chroma .code-header.language-scilab .code-ti=
tle::after { content: "Scilab"; }
.single .content .highlight > .chroma .code-header.language-scss .code-titl=
e::after { content: "SCSS"; }
.single .content .highlight > .chroma .code-header.language-sieve .code-tit=
le::after { content: "Sieve"; }
.single .content .highlight > .chroma .code-header.language-smalltalk .code=
-title::after { content: "Smalltalk"; }
.single .content .highlight > .chroma .code-header.language-squeak .code-ti=
tle::after { content: "Smalltalk"; }
.single .content .highlight > .chroma .code-header.language-st .code-title:=
:after { content: "Smalltalk"; }
.single .content .highlight > .chroma .code-header.language-smarty .code-ti=
tle::after { content: "Smarty"; }
.single .content .highlight > .chroma .code-header.language-snobol .code-ti=
tle::after { content: "Snobol"; }
.single .content .highlight > .chroma .code-header.language-sol .code-title=
::after { content: "Solidity"; }
.single .content .highlight > .chroma .code-header.language-solidity .code-=
title::after { content: "Solidity"; }
.single .content .highlight > .chroma .code-header.language-sparql .code-ti=
tle::after { content: "SPARQL"; }
.single .content .highlight > .chroma .code-header.language-sql .code-title=
::after { content: "SQL"; }
.single .content .highlight > .chroma .code-header.language-squidconf .code=
-title::after { content: "SquidConf"; }
.single .content .highlight > .chroma .code-header.language-squid\.conf .co=
de-title::after { content: "SquidConf"; }
.single .content .highlight > .chroma .code-header.language-squid .code-tit=
le::after { content: "SquidConf"; }
.single .content .highlight > .chroma .code-header.language-sml .code-title=
::after { content: "Standard ML"; }
.single .content .highlight > .chroma .code-header.language-stylus .code-ti=
tle::after { content: "Stylus"; }
.single .content .highlight > .chroma .code-header.language-svelte .code-ti=
tle::after { content: "Svelte"; }
.single .content .highlight > .chroma .code-header.language-swift .code-tit=
le::after { content: "Swift"; }
.single .content .highlight > .chroma .code-header.language-systemd .code-t=
itle::after { content: "SYSTEMD"; }
.single .content .highlight > .chroma .code-header.language-systemverilog .=
code-title::after { content: "systemverilog"; }
.single .content .highlight > .chroma .code-header.language-sv .code-title:=
:after { content: "systemverilog"; }
.single .content .highlight > .chroma .code-header.language-tablegen .code-=
title::after { content: "TableGen"; }
.single .content .highlight > .chroma .code-header.language-tasm .code-titl=
e::after { content: "TASM"; }
.single .content .highlight > .chroma .code-header.language-tcl .code-title=
::after { content: "Tcl"; }
.single .content .highlight > .chroma .code-header.language-tcsh .code-titl=
e::after { content: "Tcsh"; }
.single .content .highlight > .chroma .code-header.language-csh .code-title=
::after { content: "Tcsh"; }
.single .content .highlight > .chroma .code-header.language-termcap .code-t=
itle::after { content: "Termcap"; }
.single .content .highlight > .chroma .code-header.language-terminfo .code-=
title::after { content: "Terminfo"; }
.single .content .highlight > .chroma .code-header.language-terraform .code=
-title::after { content: "Terraform"; }
.single .content .highlight > .chroma .code-header.language-tf .code-title:=
:after { content: "Terraform"; }
.single .content .highlight > .chroma .code-header.language-tex .code-title=
::after { content: "TeX"; }
.single .content .highlight > .chroma .code-header.language-latex .code-tit=
le::after { content: "TeX"; }
.single .content .highlight > .chroma .code-header.language-thrift .code-ti=
tle::after { content: "Thrift"; }
.single .content .highlight > .chroma .code-header.language-toml .code-titl=
e::after { content: "TOML"; }
.single .content .highlight > .chroma .code-header.language-tradingview .co=
de-title::after { content: "TradingView"; }
.single .content .highlight > .chroma .code-header.language-tv .code-title:=
:after { content: "TradingView"; }
.single .content .highlight > .chroma .code-header.language-tsql .code-titl=
e::after { content: "Transact-SQL"; }
.single .content .highlight > .chroma .code-header.language-t-sql .code-tit=
le::after { content: "Transact-SQL"; }
.single .content .highlight > .chroma .code-header.language-turing .code-ti=
tle::after { content: "Turing"; }
.single .content .highlight > .chroma .code-header.language-turtle .code-ti=
tle::after { content: "Turtle"; }
.single .content .highlight > .chroma .code-header.language-twig .code-titl=
e::after { content: "Twig"; }
.single .content .highlight > .chroma .code-header.language-ts .code-title:=
:after { content: "TypeScript"; }
.single .content .highlight > .chroma .code-header.language-tsx .code-title=
::after { content: "TypeScript"; }
.single .content .highlight > .chroma .code-header.language-typescript .cod=
e-title::after { content: "TypeScript"; }
.single .content .highlight > .chroma .code-header.language-typoscript .cod=
e-title::after { content: "TypoScript"; }
.single .content .highlight > .chroma .code-header.language-typoscriptcssda=
ta .code-title::after { content: "TypoScriptCssData"; }
.single .content .highlight > .chroma .code-header.language-typoscripthtmld=
ata .code-title::after { content: "TypoScriptHtmlData"; }
.single .content .highlight > .chroma .code-header.language-v .code-title::=
after { content: "verilog"; }
.single .content .highlight > .chroma .code-header.language-vlang .code-tit=
le::after { content: "V"; }
.single .content .highlight > .chroma .code-header.language-vsh .code-title=
::after { content: "V shell"; }
.single .content .highlight > .chroma .code-header.language-vshell .code-ti=
tle::after { content: "V shell"; }
.single .content .highlight > .chroma .code-header.language-vb\.net .code-t=
itle::after { content: "VB.net"; }
.single .content .highlight > .chroma .code-header.language-vbnet .code-tit=
le::after { content: "VB.net"; }
.single .content .highlight > .chroma .code-header.language-verilog .code-t=
itle::after { content: "verilog"; }
.single .content .highlight > .chroma .code-header.language-vhdl .code-titl=
e::after { content: "VHDL"; }
.single .content .highlight > .chroma .code-header.language-vim .code-title=
::after { content: "VimL"; }
.single .content .highlight > .chroma .code-header.language-vue .code-title=
::after { content: "vue"; }
.single .content .highlight > .chroma .code-header.language-vuejs .code-tit=
le::after { content: "vue"; }
.single .content .highlight > .chroma .code-header.language-whiley .code-ti=
tle::after { content: "Whiley"; }
.single .content .highlight > .chroma .code-header.language-xml .code-title=
::after { content: "XML"; }
.single .content .highlight > .chroma .code-header.language-xorg\.conf .cod=
e-title::after { content: "Xorg"; }
.single .content .highlight > .chroma .code-header.language-yaml .code-titl=
e::after { content: "YAML"; }
.single .content .highlight > .chroma .code-header.language-yang .code-titl=
e::after { content: "YANG"; }
.single .content .highlight > .chroma .code-header.language-zed .code-title=
::after { content: "Zed"; }
.single .content .highlight > .chroma .code-header.language-zig .code-title=
::after { content: "Zig"; }
.single .content .highlight > .chroma .code-header.language-markdown .code-=
title::after { content: "Markdown"; }
.single .content .highlight > .chroma .code-header.language-yml .code-title=
::after { content: "YAML"; }
.single .content .highlight > .chroma .table-wrapper { overflow: hidden; bo=
rder-radius: 5px; }
.single .content .highlight > .chroma table { border-spacing: 0px; width: a=
uto; overflow: auto; display: block; background-color: rgb(246, 248, 250); =
}
[data-theme=3D"dark"] .single .content .highlight > .chroma table { backgro=
und-color: rgb(45, 51, 59); }
.single .content .highlight > .chroma table td { vertical-align: top; paddi=
ng: 0px; }
.single .content .highlight > .chroma table pre { padding: 0.25rem; outline=
-offset: -1px; border-radius: 0px; }
.single .content .highlight > .chroma table .ln { min-width: 1.25rem; }
.single .content .highlight > .chroma table .lntd:first-child { min-width: =
1.6rem; text-align: right; position: sticky; left: 0px; }
.single .content .highlight > .chroma table .lntd:first-child pre { user-se=
lect: none !important; }
.single .content .highlight > .chroma table .lntd:last-child { width: 100%;=
}
.single .content .highlight > .chroma table .lntd:last-child pre { padding-=
left: 0.5rem; padding-right: 0.5rem; }
.single .content .highlight > .chroma table .lntd:last-child code { width: =
100%; }
.single .content .highlight > .chroma.open .code-header { --fi-bg-code-head=
er: #e2e9ef; border-radius: 5px 5px 0px 0px; }
[data-theme=3D"dark"] .single .content .highlight > .chroma.open .code-head=
er { --fi-bg-code-header: #20242a; }
.single .content .highlight > .chroma.open .table-wrapper { max-height: 100=
%; transition: max-height 0.2s cubic-bezier(0.5, 0, 1, 0); }
.single .content .highlight > .chroma.open .arrow { transform: rotate(90deg=
); }
.single .content .highlight > .chroma.open .ellipses { display: none; }
.single .content .highlight > .chroma.open .edit, .single .content .highlig=
ht > .chroma.open .copy { display: inline; }
.single .content .highlight .hl { display: block; background-color: rgb(255=
, 248, 197); box-shadow: rgb(255, 248, 197) -0.5rem 0px 0px, rgb(255, 248, =
197) 0.5rem 0px 0px; }
[data-theme=3D"dark"] .single .content .highlight .hl { background-color: r=
gba(174, 124, 20, 0.15); box-shadow: rgba(174, 124, 20, 0.15) -0.5rem 0px 0=
px, rgba(174, 124, 20, 0.15) 0.5rem 0px 0px; }
.single .content .highlight .gl { text-decoration: underline; }
.single .content .highlight .gs { font-weight: bold; }
.single .content .highlight .ge { font-style: italic; }
.single .content .highlight .ln { padding-right: 0.5rem; display: inline-bl=
ock; min-width: 1.1rem; text-align: right; }
.single .content .highlight .lnt, .single .content .highlight .ln { color: =
rgb(177, 177, 186); }
[data-theme=3D"dark"] .single .content .highlight .lnt, [data-theme=3D"dark=
"] .single .content .highlight .ln { color: rgb(144, 144, 146); }
.single .content .highlight .err { font-style: italic; border-bottom: 1px d=
otted rgb(220, 53, 69); }
.single .content .highlight .gd { background-color: rgb(255, 235, 233); }
[data-theme=3D"dark"] .single .content .highlight .gd { background-color: r=
gb(120, 25, 27); }
.single .content .highlight .gi { background-color: rgb(218, 251, 225); }
[data-theme=3D"dark"] .single .content .highlight .gi { background-color: r=
gb(27, 71, 33); }
.single .content .highlight .err { color: rgb(220, 53, 69); }
.single .content .highlight .k { color: rgb(207, 34, 46); }
.single .content .highlight .kc { color: rgb(5, 80, 174); }
.single .content .highlight .kd { color: rgb(207, 34, 46); }
.single .content .highlight .kn { color: rgb(207, 34, 46); }
.single .content .highlight .kp { color: rgb(207, 34, 46); }
.single .content .highlight .kr { color: rgb(207, 34, 46); }
.single .content .highlight .kt { color: rgb(207, 34, 46); }
.single .content .highlight .n { color: rgb(36, 41, 47); }
.single .content .highlight .na { color: rgb(5, 80, 174); }
.single .content .highlight .nb { color: rgb(5, 80, 174); }
.single .content .highlight .bp { color: rgb(36, 41, 47); }
.single .content .highlight .nc { color: rgb(130, 80, 223); }
.single .content .highlight .no { color: rgb(207, 34, 46); }
.single .content .highlight .nd { color: rgb(130, 80, 223); }
.single .content .highlight .ni { color: rgb(5, 80, 174); }
.single .content .highlight .ne { color: rgb(5, 80, 174); }
.single .content .highlight .nf { color: rgb(5, 80, 174); }
.single .content .highlight .fm { color: rgb(5, 80, 174); }
.single .content .highlight .nl { color: rgb(5, 80, 174); }
.single .content .highlight .nn { color: rgb(130, 80, 223); }
.single .content .highlight .nx { color: rgb(5, 80, 174); }
.single .content .highlight .py { color: rgb(5, 80, 174); }
.single .content .highlight .nt { color: rgb(17, 99, 41); }
.single .content .highlight .nv { color: rgb(149, 56, 0); }
.single .content .highlight .vc { color: rgb(5, 80, 174); }
.single .content .highlight .vg { color: rgb(5, 80, 174); }
.single .content .highlight .vi { color: rgb(5, 80, 174); }
.single .content .highlight .vm { color: rgb(5, 80, 174); }
.single .content .highlight .l { color: rgb(5, 80, 174); }
.single .content .highlight .ld { color: rgb(10, 48, 105); }
.single .content .highlight .s { color: rgb(10, 48, 105); }
.single .content .highlight .sa { color: rgb(10, 48, 105); }
.single .content .highlight .sb { color: rgb(10, 48, 105); }
.single .content .highlight .sc { color: rgb(10, 48, 105); }
.single .content .highlight .dl { color: rgb(10, 48, 105); }
.single .content .highlight .sd { color: rgb(10, 48, 105); }
.single .content .highlight .s2 { color: rgb(10, 48, 105); }
.single .content .highlight .se { color: rgb(10, 48, 105); }
.single .content .highlight .sh { color: rgb(10, 48, 105); }
.single .content .highlight .si { color: rgb(10, 48, 105); }
.single .content .highlight .sx { color: rgb(10, 48, 105); }
.single .content .highlight .sr { color: rgb(10, 48, 105); }
.single .content .highlight .s1 { color: rgb(10, 48, 105); }
.single .content .highlight .ss { color: rgb(10, 48, 105); }
.single .content .highlight .m { color: rgb(5, 80, 174); }
.single .content .highlight .mb { color: rgb(5, 80, 174); }
.single .content .highlight .mf { color: rgb(5, 80, 174); }
.single .content .highlight .mh { color: rgb(5, 80, 174); }
.single .content .highlight .mi { color: rgb(5, 80, 174); }
.single .content .highlight .il { color: rgb(5, 80, 174); }
.single .content .highlight .mo { color: rgb(5, 80, 174); }
.single .content .highlight .o { color: rgb(207, 34, 46); }
.single .content .highlight .ow { color: rgb(207, 34, 46); }
.single .content .highlight .p { color: rgb(36, 41, 47); }
.single .content .highlight .c { color: rgb(110, 119, 129); }
.single .content .highlight .ch { color: rgb(110, 119, 129); }
.single .content .highlight .cm { color: rgb(110, 119, 129); }
.single .content .highlight .c1 { color: rgb(110, 119, 129); }
.single .content .highlight .cs { color: rgb(110, 119, 129); }
.single .content .highlight .cp { color: rgb(5, 80, 174); }
.single .content .highlight .cpf { color: rgb(110, 119, 129); }
.single .content .highlight .g { color: rgb(36, 41, 47); }
.single .content .highlight .gd { color: rgb(130, 7, 30); }
.single .content .highlight .ge { color: rgb(36, 41, 47); }
.single .content .highlight .gr { color: rgb(220, 53, 69); }
.single .content .highlight .gh { color: rgb(36, 41, 47); }
.single .content .highlight .gi { color: rgb(17, 99, 41); }
.single .content .highlight .go { color: rgb(36, 41, 47); }
.single .content .highlight .gp { color: rgb(36, 41, 47); }
.single .content .highlight .gs { color: rgb(36, 41, 47); }
.single .content .highlight .gu { color: rgb(36, 41, 47); }
.single .content .highlight .gt { color: rgb(220, 53, 69); }
.single .content .highlight .gl { color: rgb(36, 41, 47); }
.single .content .highlight .w { color: rgb(36, 41, 47); }
.single .content .highlight .x { color: rgb(36, 41, 47); }
[data-theme=3D"dark"] .single .content .highlight .err { color: rgb(220, 53=
, 69); }
[data-theme=3D"dark"] .single .content .highlight .k { color: rgb(244, 112,=
103); }
[data-theme=3D"dark"] .single .content .highlight .kc { color: rgb(108, 182=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .kd { color: rgb(244, 112=
, 103); }
[data-theme=3D"dark"] .single .content .highlight .kn { color: rgb(244, 112=
, 103); }
[data-theme=3D"dark"] .single .content .highlight .kp { color: rgb(244, 112=
, 103); }
[data-theme=3D"dark"] .single .content .highlight .kr { color: rgb(244, 112=
, 103); }
[data-theme=3D"dark"] .single .content .highlight .kt { color: rgb(244, 112=
, 103); }
[data-theme=3D"dark"] .single .content .highlight .n { color: rgb(173, 186,=
199); }
[data-theme=3D"dark"] .single .content .highlight .na { color: rgb(108, 182=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .nb { color: rgb(220, 189=
, 251); }
[data-theme=3D"dark"] .single .content .highlight .bp { color: rgb(173, 186=
, 199); }
[data-theme=3D"dark"] .single .content .highlight .nc { color: rgb(220, 189=
, 251); }
[data-theme=3D"dark"] .single .content .highlight .no { color: rgb(108, 182=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .nd { color: rgb(220, 189=
, 251); }
[data-theme=3D"dark"] .single .content .highlight .ni { color: rgb(108, 182=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .ne { color: rgb(108, 182=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .nf { color: rgb(220, 189=
, 251); }
[data-theme=3D"dark"] .single .content .highlight .fm { color: rgb(108, 182=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .nl { color: rgb(108, 182=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .nn { color: rgb(244, 112=
, 103); }
[data-theme=3D"dark"] .single .content .highlight .nx { color: rgb(220, 189=
, 251); }
[data-theme=3D"dark"] .single .content .highlight .py { color: rgb(108, 182=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .nt { color: rgb(141, 219=
, 140); }
[data-theme=3D"dark"] .single .content .highlight .nv { color: rgb(246, 157=
, 80); }
[data-theme=3D"dark"] .single .content .highlight .vc { color: rgb(108, 182=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .vg { color: rgb(108, 182=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .vi { color: rgb(108, 182=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .vm { color: rgb(108, 182=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .l { color: rgb(108, 182,=
255); }
[data-theme=3D"dark"] .single .content .highlight .ld { color: rgb(150, 208=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .s { color: rgb(150, 208,=
255); }
[data-theme=3D"dark"] .single .content .highlight .sa { color: rgb(150, 208=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .sb { color: rgb(150, 208=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .sc { color: rgb(150, 208=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .dl { color: rgb(150, 208=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .sd { color: rgb(150, 208=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .s2 { color: rgb(150, 208=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .se { color: rgb(150, 208=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .sh { color: rgb(150, 208=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .si { color: rgb(150, 208=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .sx { color: rgb(150, 208=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .sr { color: rgb(150, 208=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .s1 { color: rgb(150, 208=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .ss { color: rgb(150, 208=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .m { color: rgb(108, 182,=
255); }
[data-theme=3D"dark"] .single .content .highlight .mb { color: rgb(108, 182=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .mf { color: rgb(108, 182=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .mh { color: rgb(108, 182=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .mi { color: rgb(108, 182=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .il { color: rgb(108, 182=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .mo { color: rgb(108, 182=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .o { color: rgb(244, 112,=
103); }
[data-theme=3D"dark"] .single .content .highlight .ow { color: rgb(244, 112=
, 103); }
[data-theme=3D"dark"] .single .content .highlight .p { color: rgb(173, 186,=
199); }
[data-theme=3D"dark"] .single .content .highlight .c { color: rgb(118, 131,=
144); }
[data-theme=3D"dark"] .single .content .highlight .ch { color: rgb(118, 131=
, 144); }
[data-theme=3D"dark"] .single .content .highlight .cm { color: rgb(118, 131=
, 144); }
[data-theme=3D"dark"] .single .content .highlight .c1 { color: rgb(118, 131=
, 144); }
[data-theme=3D"dark"] .single .content .highlight .cs { color: rgb(118, 131=
, 144); }
[data-theme=3D"dark"] .single .content .highlight .cp { color: rgb(108, 182=
, 255); }
[data-theme=3D"dark"] .single .content .highlight .cpf { color: rgb(118, 13=
1, 144); }
[data-theme=3D"dark"] .single .content .highlight .g { color: rgb(173, 186,=
199); }
[data-theme=3D"dark"] .single .content .highlight .gd { color: rgb(255, 216=
, 211); }
[data-theme=3D"dark"] .single .content .highlight .ge { color: rgb(173, 186=
, 199); }
[data-theme=3D"dark"] .single .content .highlight .gr { color: rgb(220, 53,=
69); }
[data-theme=3D"dark"] .single .content .highlight .gh { color: rgb(173, 186=
, 199); }
[data-theme=3D"dark"] .single .content .highlight .gi { color: rgb(180, 241=
, 180); }
[data-theme=3D"dark"] .single .content .highlight .go { color: rgb(173, 186=
, 199); }
[data-theme=3D"dark"] .single .content .highlight .gp { color: rgb(173, 186=
, 199); }
[data-theme=3D"dark"] .single .content .highlight .gs { color: rgb(173, 186=
, 199); }
[data-theme=3D"dark"] .single .content .highlight .gu { color: rgb(173, 186=
, 199); }
[data-theme=3D"dark"] .single .content .highlight .gt { color: rgb(220, 53,=
69); }
[data-theme=3D"dark"] .single .content .highlight .gl { color: rgb(173, 186=
, 199); }
[data-theme=3D"dark"] .single .content .highlight .w { color: rgb(173, 186,=
199); }
[data-theme=3D"dark"] .single .content .highlight .x { color: rgb(173, 186,=
199); }
.single .content .gist .gist-file, .single .content .gist .gist-data, .sing=
le .content .gist .gist-meta { border: none; }
.single .content .gist .gist-data { background-color: transparent; }
.single .content .gist .gist-meta { padding: 0.4rem 0.8rem; background-colo=
r: rgb(230, 235, 241); }
.single .content .gist .gist-meta a, .single .content .gist .gist-meta a::b=
efore, .single .content .gist .gist-meta a::after { text-decoration: none; =
color: rgb(35, 118, 183); }
[data-theme=3D"dark"] .single .content .gist .gist-meta a, [data-theme=3D"d=
ark"] .single .content .gist .gist-meta a::before, [data-theme=3D"dark"] .s=
ingle .content .gist .gist-meta a::after { color: rgb(23, 129, 181); }
.single .content .gist .gist-meta a:active, .single .content .gist .gist-me=
ta a:hover { color: rgb(234, 81, 127); }
[data-theme=3D"dark"] .single .content .gist .gist-meta a:active, [data-the=
me=3D"dark"] .single .content .gist .gist-meta a:hover { color: rgb(204, 85=
, 149); }
[data-theme=3D"dark"] .single .content .gist .gist-meta { background-color:=
rgb(34, 38, 45); }
.single .content .gist .table-wrapper .highlight { background-color: rgb(24=
6, 248, 250); }
[data-theme=3D"dark"] .single .content .gist .table-wrapper .highlight { ba=
ckground-color: rgb(45, 51, 59); }
[data-theme=3D"dark"] .single .content .gist { --fi-color-blob-num: #778491=
; --fi-color-blob-code-inner: #c5d1de; --fi-color-prettylights-syntax-comme=
nt: #768390; --fi-color-prettylights-syntax-constant: #6cb6ff; --fi-color-p=
rettylights-syntax-constant-other-reference-link: #96d0ff; --fi-color-prett=
ylights-syntax-entity: #dcbdfb; --fi-color-prettylights-syntax-storage-modi=
fier-import: #adbac7; --fi-color-prettylights-syntax-entity-tag: #8ddb8c; -=
-fi-color-prettylights-syntax-keyword: #f47067; --fi-color-prettylights-syn=
tax-string: #96d0ff; --fi-color-prettylights-syntax-variable: #f69d50; --fi=
-color-prettylights-syntax-brackethighlighter-unmatched: #e5534b; --fi-colo=
r-prettylights-syntax-brackethighlighter-angle: #768390; --fi-color-prettyl=
ights-syntax-invalid-illegal-text: #cdd9e5; --fi-color-prettylights-syntax-=
invalid-illegal-bg: #922323; --fi-color-prettylights-syntax-carriage-return=
-text: #cdd9e5; --fi-color-prettylights-syntax-carriage-return-bg: #ad2e2c;=
--fi-color-prettylights-syntax-string-regexp: #8ddb8c; --fi-color-prettyli=
ghts-syntax-markup-list: #eac55f; --fi-color-prettylights-syntax-markup-hea=
ding: #316dca; --fi-color-prettylights-syntax-markup-italic: #adbac7; --fi-=
color-prettylights-syntax-markup-bold: #adbac7; --fi-color-prettylights-syn=
tax-markup-deleted-text: #ffd8d3; --fi-color-prettylights-syntax-markup-del=
eted-bg: #78191b; --fi-color-prettylights-syntax-markup-inserted-text: #b4f=
1b4; --fi-color-prettylights-syntax-markup-inserted-bg: #1b4721; --fi-color=
-prettylights-syntax-markup-changed-text: #ffddb0; --fi-color-prettylights-=
syntax-markup-changed-bg: #682d0f; --fi-color-prettylights-syntax-markup-ig=
nored-text: #adbac7; --fi-color-prettylights-syntax-markup-ignored-bg: #255=
ab2; --fi-color-prettylights-syntax-meta-diff-range: #dcbdfb; --fi-color-pr=
ettylights-syntax-sublimelinter-gutter-mark: #545d68; }
[data-theme=3D"dark"] .single .content .gist .blob-num { color: var(--fi-co=
lor-blob-num); }
[data-theme=3D"dark"] .single .content .gist .blob-code-inner { color: var(=
--fi-color-blob-code-inner); }
[data-theme=3D"dark"] .single .content .gist .pl-c { color: var(--fi-color-=
prettylights-syntax-comment); }
[data-theme=3D"dark"] .single .content .gist .pl-c1, [data-theme=3D"dark"] =
.single .content .gist .pl-s .pl-v { color: var(--fi-color-prettylights-syn=
tax-constant); }
[data-theme=3D"dark"] .single .content .gist .pl-e, [data-theme=3D"dark"] .=
single .content .gist .pl-en { color: var(--fi-color-prettylights-syntax-en=
tity); }
[data-theme=3D"dark"] .single .content .gist .pl-smi, [data-theme=3D"dark"]=
.single .content .gist .pl-s .pl-s1 { color: var(--fi-color-prettylights-s=
yntax-storage-modifier-import); }
[data-theme=3D"dark"] .single .content .gist .pl-ent { color: var(--fi-colo=
r-prettylights-syntax-entity-tag); }
[data-theme=3D"dark"] .single .content .gist .pl-k { color: var(--fi-color-=
prettylights-syntax-keyword); }
[data-theme=3D"dark"] .single .content .gist .pl-s, [data-theme=3D"dark"] .=
single .content .gist .pl-pds, [data-theme=3D"dark"] .single .content .gist=
.pl-s .pl-pse .pl-s1, [data-theme=3D"dark"] .single .content .gist .pl-sr,=
[data-theme=3D"dark"] .single .content .gist .pl-sr .pl-cce, [data-theme=
=3D"dark"] .single .content .gist .pl-sr .pl-sre, [data-theme=3D"dark"] .si=
ngle .content .gist .pl-sr .pl-sra { color: var(--fi-color-prettylights-syn=
tax-string); }
[data-theme=3D"dark"] .single .content .gist .pl-v, [data-theme=3D"dark"] .=
single .content .gist .pl-smw { color: var(--fi-color-prettylights-syntax-v=
ariable); }
[data-theme=3D"dark"] .single .content .gist .pl-bu { color: var(--fi-color=
-prettylights-syntax-brackethighlighter-unmatched); }
[data-theme=3D"dark"] .single .content .gist .pl-ii { color: var(--fi-color=
-prettylights-syntax-invalid-illegal-text); background-color: var(--fi-colo=
r-prettylights-syntax-invalid-illegal-bg); }
[data-theme=3D"dark"] .single .content .gist .pl-c2 { color: var(--fi-color=
-prettylights-syntax-carriage-return-text); background-color: var(--fi-colo=
r-prettylights-syntax-carriage-return-bg); }
[data-theme=3D"dark"] .single .content .gist .pl-c2::before { content: "^M"=
; }
[data-theme=3D"dark"] .single .content .gist .pl-sr .pl-cce { font-weight: =
bold; color: var(--fi-color-prettylights-syntax-string-regexp); }
[data-theme=3D"dark"] .single .content .gist .pl-ml { color: var(--fi-color=
-prettylights-syntax-markup-list); }
[data-theme=3D"dark"] .single .content .gist .pl-mh, [data-theme=3D"dark"] =
.single .content .gist .pl-mh .pl-en, [data-theme=3D"dark"] .single .conten=
t .gist .pl-ms { font-weight: bold; color: var(--fi-color-prettylights-synt=
ax-markup-heading); }
[data-theme=3D"dark"] .single .content .gist .pl-mi { font-style: italic; c=
olor: var(--fi-color-prettylights-syntax-markup-italic); }
[data-theme=3D"dark"] .single .content .gist .pl-mb { font-weight: bold; co=
lor: var(--fi-color-prettylights-syntax-markup-bold); }
[data-theme=3D"dark"] .single .content .gist .pl-md { color: var(--fi-color=
-prettylights-syntax-markup-deleted-text); background-color: var(--fi-color=
-prettylights-syntax-markup-deleted-bg); }
[data-theme=3D"dark"] .single .content .gist .pl-mi1 { color: var(--fi-colo=
r-prettylights-syntax-markup-inserted-text); background-color: var(--fi-col=
or-prettylights-syntax-markup-inserted-bg); }
[data-theme=3D"dark"] .single .content .gist .pl-mc { color: var(--fi-color=
-prettylights-syntax-markup-changed-text); background-color: var(--fi-color=
-prettylights-syntax-markup-changed-bg); }
[data-theme=3D"dark"] .single .content .gist .pl-mi2 { color: var(--fi-colo=
r-prettylights-syntax-markup-ignored-text); background-color: var(--fi-colo=
r-prettylights-syntax-markup-ignored-bg); }
[data-theme=3D"dark"] .single .content .gist .pl-mdr { font-weight: bold; c=
olor: var(--fi-color-prettylights-syntax-meta-diff-range); }
[data-theme=3D"dark"] .single .content .gist .pl-ba { color: var(--fi-color=
-prettylights-syntax-brackethighlighter-angle); }
[data-theme=3D"dark"] .single .content .gist .pl-sg { color: var(--fi-color=
-prettylights-syntax-sublimelinter-gutter-mark); }
[data-theme=3D"dark"] .single .content .gist .pl-corl { text-decoration: un=
derline; color: var(--fi-color-prettylights-syntax-constant-other-reference=
-link); }
.single .content .admonition { position: relative; margin: 1rem 0px; paddin=
g: 0px 0.75rem; border-left-width: 0.25rem; border-left-style: solid; overf=
low: hidden; border-radius: 5px; background-color: var(--fi-admonition-bg-c=
olor); border-left-color: var(--fi-admonition-color); --fi-admonition-color=
: #448aff; --fi-admonition-bg-color: rgba(68,138,255,0.1); --fi-admonition-=
bg-color-collapsed: rgba(68,138,255,0.25); }
.single .content .admonition .admonition-title { font-weight: bold; margin:=
0px -0.75rem; padding: 0.25rem 1.8rem; border-bottom: 1px solid; border-ra=
dius: 0px; }
.single .content .admonition .admonition-content { padding: 0.5rem 0px; }
.single .content .admonition .admonition-content > p { margin: 0px; }
.single .content .admonition .admonition-content:empty { display: none; }
.single .content .admonition .admonition-content:has(> p:only-child:empty) =
{ display: none; }
.single .content .admonition i.icon { font-size: 0.85rem; position: absolut=
e; top: 0.6rem; left: 0.4rem; }
.single .content .admonition i.details-icon { position: absolute; top: 0.6r=
em; right: 0.3rem; }
.single .content .admonition > .admonition-title { border-bottom-color: var=
(--fi-admonition-bg-color); background-color: var(--fi-admonition-bg-color-=
collapsed); }
.single .content .admonition > .admonition-title i.icon { color: var(--fi-a=
dmonition-color); }
.single .content .admonition.open > .admonition-title { background-color: v=
ar(--fi-admonition-bg-color); }
.single .content .admonition.abstract { --fi-admonition-color: #00b0ff; --f=
i-admonition-bg-color: rgba(0,176,255,0.1); --fi-admonition-bg-color-collap=
sed: rgba(0,176,255,0.25); }
.single .content .admonition.info { --fi-admonition-color: #00b8d4; --fi-ad=
monition-bg-color: rgba(0,184,212,0.1); --fi-admonition-bg-color-collapsed:=
rgba(0,184,212,0.25); }
.single .content .admonition.todo { --fi-admonition-color: #5e9aff; --fi-ad=
monition-bg-color: rgba(94,154,255,0.1); --fi-admonition-bg-color-collapsed=
: rgba(94,154,255,0.25); }
.single .content .admonition.tip { --fi-admonition-color: #00bfa5; --fi-adm=
onition-bg-color: rgba(0,191,165,0.1); --fi-admonition-bg-color-collapsed: =
rgba(0,191,165,0.25); }
.single .content .admonition.success { --fi-admonition-color: #00c853; --fi=
-admonition-bg-color: rgba(0,200,83,0.1); --fi-admonition-bg-color-collapse=
d: rgba(0,200,83,0.25); }
.single .content .admonition.question { --fi-admonition-color: #ffbd67; --f=
i-admonition-bg-color: rgba(255,190,0,0.1); --fi-admonition-bg-color-collap=
sed: rgba(255,190,0,0.25); }
.single .content .admonition.warning { --fi-admonition-color: #ff9100; --fi=
-admonition-bg-color: rgba(255,145,0,0.1); --fi-admonition-bg-color-collaps=
ed: rgba(255,145,0,0.25); }
.single .content .admonition.failure { --fi-admonition-color: #ff5252; --fi=
-admonition-bg-color: rgba(255,82,82,0.1); --fi-admonition-bg-color-collaps=
ed: rgba(255,82,82,0.25); }
.single .content .admonition.danger { --fi-admonition-color: #ff1744; --fi-=
admonition-bg-color: rgba(255,23,68,0.1); --fi-admonition-bg-color-collapse=
d: rgba(255,23,68,0.25); }
.single .content .admonition.bug { --fi-admonition-color: #f50057; --fi-adm=
onition-bg-color: rgba(245,0,87,0.1); --fi-admonition-bg-color-collapsed: r=
gba(245,0,87,0.25); }
.single .content .admonition.example { --fi-admonition-color: #651fff; --fi=
-admonition-bg-color: rgba(101,31,255,0.1); --fi-admonition-bg-color-collap=
sed: rgba(101,31,255,0.25); }
.single .content .admonition.quote { --fi-admonition-color: #9e9e9e; --fi-a=
dmonition-bg-color: rgba(159,159,159,0.1); --fi-admonition-bg-color-collaps=
ed: rgba(159,159,159,0.25); }
.single .content .admonition:last-child { margin-bottom: 0.75rem; }
.single .content .bilibili { position: relative; width: 100%; height: auto;=
aspect-ratio: 16 / 9; margin: 1rem auto; text-align: center; }
.single .content .bilibili iframe { position: absolute; width: 100%; height=
: 100%; left: 0px; top: 0px; }
.single .content .douyin { position: relative; width: 100%; height: 0px; pa=
dding-bottom: 60.725%; margin: 1rem auto; text-align: center; }
.single .content .douyin iframe { position: absolute; width: 100%; height: =
100%; left: 0px; top: 0px; }
@media only screen and (max-width: 680px) {
.single .content .douyin { width: 92%; margin-inline: 4%; padding-bottom:=
190%; }
}
.single .content .card-link { position: relative; display: block; margin: 0=
.5rem auto; box-sizing: border-box; width: clamp(50%, 400px, 100%); max-wid=
th: 100%; overflow: hidden; text-decoration: none; border: none; border-rad=
ius: 0.75rem; }
.single .content .cl-backdrop { position: absolute; inset: 0.75rem 0px; bac=
kground-image: var(--cl-bg-url); background-repeat: no-repeat; filter: blur=
(0.5rem); opacity: 0.5; background-size: contain; background-position: cent=
er center; }
.single .content .cl-content { position: relative; display: flex; align-ite=
ms: center; justify-content: space-between; padding: 0.75rem; background-co=
lor: rgba(245, 245, 245, 0.88); }
.single .content .cl-text { overflow: hidden; }
.single .content .cl-title { display: -webkit-box; -webkit-line-clamp: 2; o=
verflow: hidden; max-height: calc(2.5rem); font-size: 1rem; font-weight: 50=
0; line-height: 1.25; color: rgb(22, 18, 9); }
.single .content .cl-meta { display: flex; align-items: center; margin-top:=
0.25rem; font-size: 0.825rem; color: rgb(177, 177, 186); }
.single .content .cl-icon-link { width: 1rem; height: 1rem; flex-shrink: 0;=
margin-right: 0.25rem; }
.single .content .cl-url { overflow: hidden; text-overflow: ellipsis; white=
-space: nowrap; }
.single .content .cl-shortcut-icon { width: 4rem; height: 4rem; flex-shrink=
: 0; margin-left: 0.25rem; }
.single .content .cl-shortcut-icon:is(i) { text-align: center; font-size: 3=
rem; display: inline-flex; align-items: center; justify-content: center; }
.single .content .cl-shortcut-image { width: 4rem; flex-shrink: 0; margin-l=
eft: 0.25rem; object-fit: cover; border-radius: 50%; height: 4rem !importan=
t; }
[data-theme=3D"dark"] .single .content .cl-content { background-color: rgba=
(61, 62, 65, 0.88); }
[data-theme=3D"dark"] .single .content .cl-title { color: rgb(177, 177, 186=
); }
[data-theme=3D"dark"] .single .content .cl-meta { color: rgb(144, 144, 146)=
; }
.single .content blockquote.blockquote-center { border-left: none; margin: =
40px 0px; padding: 0px; position: relative; text-align: center; color: inhe=
rit; }
.single .content blockquote.blockquote-center::after, .single .content bloc=
kquote.blockquote-center::before { left: 0px; line-height: 1; opacity: 0.6;=
position: absolute; width: 100%; }
.single .content blockquote.blockquote-center::before { border-top: 1px sol=
id rgb(240, 240, 240); text-align: left; top: -20px; content: "=EF=84=8D"; =
font-family: "Font Awesome 5 Free"; font-weight: 900; }
[data-theme=3D"dark"] .single .content blockquote.blockquote-center::before=
{ border-top-color: rgb(54, 54, 54); }
.single .content blockquote.blockquote-center::after { border-bottom: 1px s=
olid rgb(240, 240, 240); bottom: -20px; text-align: right; content: "=EF=84=
=8E"; font-family: "Font Awesome 5 Free"; font-weight: 900; }
[data-theme=3D"dark"] .single .content blockquote.blockquote-center::after =
{ border-bottom-color: rgb(54, 54, 54); }
.single .content .echarts { margin: 0.5rem 0px; text-align: center; }
[data-theme=3D"dark"] .single .content iframe.instagram-media { border: non=
e !important; }
.single .content .mapbox { margin: 0.5rem 0px; padding: 0.5rem 0px; border-=
radius: 5px; }
.single .content .mermaid[data-processed=3D"true"] { text-align: center; }
.single .content .mermaid svg { max-width: 100%; height: auto; }
.single .content .fi-timeline { list-style: none; box-sizing: border-box; o=
verflow: auto; margin: 1rem auto; --timeline-color: #e3e3e3; --timeline-cir=
cle-color: #FF735A; --timeline-circle-size: 10px; --timeline-width: 2px; }
.single .content .fi-timeline[data-animation] .fi-timeline-item::before { b=
order-color: var(--timeline-color); animation-name: border-color-fade; anim=
ation-duration: 2s; animation-iteration-count: infinite; animation-delay: c=
alc(var(--timeline-index) * 0.3s); }
@keyframes border-color-fade {=20
0% { border-color: var(--timeline-color); }
50% { border-color: var(--timeline-circle-color); }
100% { border-color: var(--timeline-color); }
}
.single .content .fi-timeline .fi-timeline-item { position: relative; paddi=
ng: 0.5rem 1.75rem; }
.single .content .fi-timeline .fi-timeline-item[data-type=3D"primary"] { --=
timeline-circle-color: var(--fi-primary); }
.single .content .fi-timeline .fi-timeline-item[data-type=3D"secondary"] { =
--timeline-circle-color: var(--fi-secondary); }
.single .content .fi-timeline .fi-timeline-item[data-type=3D"success"] { --=
timeline-circle-color: var(--fi-success); }
.single .content .fi-timeline .fi-timeline-item[data-type=3D"info"] { --tim=
eline-circle-color: var(--fi-info); }
.single .content .fi-timeline .fi-timeline-item[data-type=3D"warning"] { --=
timeline-circle-color: var(--fi-warning); }
.single .content .fi-timeline .fi-timeline-item[data-type=3D"danger"] { --t=
imeline-circle-color: var(--fi-danger); }
.single .content .fi-timeline .fi-timeline-item .fi-timeline-item__timestam=
p { font-size: 0.8125rem; line-height: 1; color: var(--fi-secondary); }
.single .content .fi-timeline .fi-timeline-item .fi-timeline-item__timestam=
p.is-top { margin-bottom: 0.25rem; padding-top: 0.34375rem; }
.single .content .fi-timeline .fi-timeline-item .fi-timeline-item__timestam=
p.is-bottom { margin-top: 0.25rem; }
.single .content .fi-timeline .fi-timeline-item .fi-timeline-item__content =
{ font-size: 0.875rem; }
.single .content .fi-timeline .fi-timeline-item[data-node=3D"dot"]::before =
{ background-color: var(--timeline-circle-color) !important; }
.single .content .fi-timeline .fi-timeline-item[data-size=3D"small"]::befor=
e { transform: scale(0.8) translateY(-50%); }
.single .content .fi-timeline .fi-timeline-item[data-size=3D"large"]::befor=
e { transform: scale(1.2) translateY(-50%); }
.single .content .fi-timeline .fi-timeline-item::before { content: ""; posi=
tion: absolute; top: 1.25rem; transform: translateY(-50%); left: 0px; width=
: var(--timeline-circle-size); height: var(--timeline-circle-size); font-si=
ze: var(--timeline-circle-size); line-height: var(--timeline-circle-size); =
text-align: center; border-radius: 50%; border-width: var(--timeline-width)=
; border-style: solid; border-color: var(--timeline-circle-color); backgrou=
nd-color: rgb(255, 255, 255); color: transparent; z-index: 1; }
[data-theme=3D"dark"] .single .content .fi-timeline .fi-timeline-item::befo=
re { background-color: rgb(41, 42, 46); }
.single .content .fi-timeline .fi-timeline-item::after { content: ""; posit=
ion: absolute; top: 0px; left: calc(var(--timeline-circle-size) / 2 + var(-=
-timeline-width) / 2); width: var(--timeline-width); height: 100%; backgrou=
nd-color: var(--timeline-color); }
[data-theme=3D"dark"] .single .content .fi-timeline .fi-timeline-item { --t=
imeline-color: #717171; }
.single .post-reward { padding: 1rem; text-align: center; }
.single .post-reward:has(.reward-ways:empty) { display: none; }
.single .post-reward .comment { margin: 0.5rem 0px; font-weight: 500; }
.single .post-reward .reward-ways { display: none; }
.single .post-reward .reward-input:checked ~ .reward-ways { display: block;=
padding-top: 20px; }
.single .post-reward .reward-input:checked ~ .reward-ways div { display: in=
line-block; user-select: none !important; }
.single .post-reward .reward-input:checked ~ .reward-ways div span { displa=
y: block; }
.single .post-reward .reward-input:checked ~ .reward-ways div:hover span[da=
ta-animation] { animation: var(--animation-reward, jackInTheBox) 0.8s infin=
ite linear; pointer-events: none; }
.single .post-reward .reward-input:checked ~ .reward-ways div img { display=
: inline-block; margin: 0.8em 2em 0px; max-width: 100%; width: 180px; }
.single .post-reward .reward-input:checked ~ .reward-ways[data-mode=3D"fixe=
d"] { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%=
); padding: 1rem; background-color: rgb(255, 255, 255); z-index: 200; borde=
r-radius: 5px; box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 1.5rem 0px; }
[data-theme=3D"dark"] .single .post-reward .reward-input:checked ~ .reward-=
ways[data-mode=3D"fixed"] { background-color: rgb(41, 42, 46); box-shadow: =
rgba(255, 255, 255, 0.2) 0px 0px 1.5rem 0px; }
.single .post-reward .reward-button { display: inline-block; box-sizing: bo=
rder-box; cursor: pointer; outline: none; color: rgb(255, 121, 97); border:=
2px solid rgb(255, 142, 122); border-radius: 5px; padding: 0.6rem 1rem; ba=
ckground-color: rgb(255, 255, 255); vertical-align: text-top; line-height: =
1rem; transition: 0.3s ease-out; }
.single .post-reward .reward-button:active, .single .post-reward .reward-bu=
tton:hover { color: rgb(255, 255, 255); border-color: tomato; background-co=
lor: tomato; }
[data-theme=3D"dark"] .single .post-reward .reward-button:active, [data-the=
me=3D"dark"] .single .post-reward .reward-button:hover { color: rgb(255, 25=
5, 255); border-color: rgb(255, 77, 46); background-color: rgb(255, 77, 46)=
; }
[data-theme=3D"dark"] .single .post-reward .reward-button { color: tomato; =
border-color: rgb(255, 121, 97); background-color: rgb(41, 42, 46); }
.single .post-footer { margin: 2rem 0px; }
.single .post-footer ~ .post-reward { margin-block: -2rem 0px; }
.single .post-footer .post-info { border-bottom: 1px solid rgb(240, 240, 24=
0); padding: 0.3rem 0px; }
[data-theme=3D"dark"] .single .post-footer .post-info { border-bottom: 1px =
solid rgb(54, 54, 54); }
.single .post-footer .post-info .post-info-line { display: flex; justify-co=
ntent: space-between; }
.single .post-footer .post-info .post-info-line .post-info-mod { font-size:=
0.8em; color: rgb(177, 177, 186); }
[data-theme=3D"dark"] .single .post-footer .post-info .post-info-line .post=
-info-mod { color: rgb(144, 144, 146); }
.single .post-footer .post-info .post-info-line .post-info-mod a, .single .=
post-footer .post-info .post-info-line .post-info-mod a::before, .single .p=
ost-footer .post-info .post-info-line .post-info-mod a::after { text-decora=
tion: none; color: rgb(35, 118, 183); }
[data-theme=3D"dark"] .single .post-footer .post-info .post-info-line .post=
-info-mod a, [data-theme=3D"dark"] .single .post-footer .post-info .post-in=
fo-line .post-info-mod a::before, [data-theme=3D"dark"] .single .post-foote=
r .post-info .post-info-line .post-info-mod a::after { color: rgb(23, 129, =
181); }
.single .post-footer .post-info .post-info-line .post-info-mod a:active, .s=
ingle .post-footer .post-info .post-info-line .post-info-mod a:hover { colo=
r: rgb(234, 81, 127); }
[data-theme=3D"dark"] .single .post-footer .post-info .post-info-line .post=
-info-mod a:active, [data-theme=3D"dark"] .single .post-footer .post-info .=
post-info-line .post-info-mod a:hover { color: rgb(204, 85, 149); }
.single .post-footer .post-info .post-info-line .post-info-license { font-s=
ize: 0.8em; color: rgb(177, 177, 186); }
[data-theme=3D"dark"] .single .post-footer .post-info .post-info-line .post=
-info-license { color: rgb(144, 144, 146); }
.single .post-footer .post-info .post-info-line .post-info-license a, .sing=
le .post-footer .post-info .post-info-line .post-info-license a::before, .s=
ingle .post-footer .post-info .post-info-line .post-info-license a::after {=
text-decoration: none; color: rgb(35, 118, 183); }
[data-theme=3D"dark"] .single .post-footer .post-info .post-info-line .post=
-info-license a, [data-theme=3D"dark"] .single .post-footer .post-info .pos=
t-info-line .post-info-license a::before, [data-theme=3D"dark"] .single .po=
st-footer .post-info .post-info-line .post-info-license a::after { color: r=
gb(23, 129, 181); }
.single .post-footer .post-info .post-info-line .post-info-license a:active=
, .single .post-footer .post-info .post-info-line .post-info-license a:hove=
r { color: rgb(234, 81, 127); }
[data-theme=3D"dark"] .single .post-footer .post-info .post-info-line .post=
-info-license a:active, [data-theme=3D"dark"] .single .post-footer .post-in=
fo .post-info-line .post-info-license a:hover { color: rgb(204, 85, 149); }
.single .post-footer .post-info .post-info-line .post-info-md { font-size: =
0.8rem; width: fit-content; }
.single .post-footer .post-info .post-info-line .post-info-md a, .single .p=
ost-footer .post-info .post-info-line .post-info-md a::before, .single .pos=
t-footer .post-info .post-info-line .post-info-md a::after { text-decoratio=
n: none; color: rgb(35, 118, 183); }
[data-theme=3D"dark"] .single .post-footer .post-info .post-info-line .post=
-info-md a, [data-theme=3D"dark"] .single .post-footer .post-info .post-inf=
o-line .post-info-md a::before, [data-theme=3D"dark"] .single .post-footer =
.post-info .post-info-line .post-info-md a::after { color: rgb(23, 129, 181=
); }
.single .post-footer .post-info .post-info-line .post-info-md a:active, .si=
ngle .post-footer .post-info .post-info-line .post-info-md a:hover { color:=
rgb(234, 81, 127); }
[data-theme=3D"dark"] .single .post-footer .post-info .post-info-line .post=
-info-md a:active, [data-theme=3D"dark"] .single .post-footer .post-info .p=
ost-info-line .post-info-md a:hover { color: rgb(204, 85, 149); }
.single .post-footer .post-info .post-info-line .post-info-md > span:not(:f=
irst-child)::before { content: "|"; margin-left: 0.25rem; margin-right: 0.2=
5rem; }
.single .post-footer .post-info .post-info-line .post-info-share a * { vert=
ical-align: text-bottom; }
.single .post-footer .post-info-more { padding: 0.3rem 0px; display: flex; =
justify-content: space-between; font-size: 0.9rem; }
.single .post-footer .post-tags { max-width: 65%; }
.single .post-footer .post-tags * { display: inline; }
.single .post-footer .post-tags a, .single .post-footer .post-tags a::befor=
e, .single .post-footer .post-tags a::after { text-decoration: none; color:=
rgb(22, 18, 9); }
[data-theme=3D"dark"] .single .post-footer .post-tags a, [data-theme=3D"dar=
k"] .single .post-footer .post-tags a::before, [data-theme=3D"dark"] .singl=
e .post-footer .post-tags a::after { color: rgb(177, 177, 186); }
.single .post-footer .post-tags a:active, .single .post-footer .post-tags a=
:hover { color: rgb(41, 131, 187); }
[data-theme=3D"dark"] .single .post-footer .post-tags a:active, [data-theme=
=3D"dark"] .single .post-footer .post-tags a:hover { color: rgb(255, 255, 2=
55); }
.single .post-footer .post-tags .post-tag:not(:last-child)::after { content=
: ","; margin-right: 0.25rem; }
.single .post-footer .post-nav { display: flex; justify-content: space-betw=
een; gap: 1.5rem; padding-block: 0.5rem; }
.single .post-footer .post-nav .post-nav-item { flex: 1 1 0%; font-size: 1r=
em; font-weight: 600; transition: 0.3s ease-out; }
.single .post-footer .post-nav .post-nav-item[rel=3D"next"] { text-align: r=
ight; }
.single .post-footer .post-nav .post-nav-item[rel=3D"prev"]:hover { transfo=
rm: translateX(-4px); }
.single .post-footer .post-nav .post-nav-item[rel=3D"next"]:hover { transfo=
rm: translateX(4px); }
.single > #comments { padding: 2rem 0px; }
.single > #comments iframe { width: 100%; }
.lg-toolbar .lg-icon::after { color: rgb(153, 153, 153); }
.special .single-title, .special .single-subtitle { text-align: right; }
.archive .single-title { padding: 1rem 0px 0.5rem; margin: 0px; font-size: =
1.6rem; font-weight: bold; line-height: 140%; text-align: right; }
.archive .single-subtitle { margin: 0.5rem 0px; font-size: 1.2rem; font-wei=
ght: normal; line-height: 100%; text-align: right; }
.archive .group-title { font-size: 1.2rem; margin-top: 1.5rem; margin-botto=
m: 1rem; }
.archive .categories-card, .archive .collections-card { margin: 0px auto; d=
isplay: flex; align-items: flex-start; justify-content: space-between; flex=
-flow: wrap; line-height: 1.6rem; }
.archive .categories-card .card-item, .archive .collections-card .card-item=
{ font-size: 0.875rem; text-align: left; width: 45%; display: flex; align-=
items: flex-start; min-height: 10rem; padding: 0px 2%; position: relative; =
}
.archive .categories-card .card-item:nth-child(n+3), .archive .collections-=
card .card-item:nth-child(n+3) { margin-top: 2rem; }
.archive .categories-card .card-item .card-item-wrapper, .archive .collecti=
ons-card .card-item .card-item-wrapper { width: 100%; overflow: hidden; }
.archive .categories-card .card-item .card-item-wrapper .card-item-title, .=
archive .collections-card .card-item .card-item-wrapper .card-item-title { =
font-size: 1.2rem; font-weight: bold; display: inline-block; margin-top: 1r=
em; margin-bottom: 0.75rem; }
.archive .categories-card .card-item .card-item-wrapper span, .archive .col=
lections-card .card-item .card-item-wrapper span { float: right; padding-ri=
ght: 1rem; }
.archive .archive-item { display: flex; justify-content: space-between; ali=
gn-items: center; box-sizing: border-box; margin: 0.25rem 0px 0.25rem 1.5re=
m; }
.archive .archive-item-link { min-width: 10%; overflow: hidden; white-space=
: nowrap; text-overflow: ellipsis; }
.archive .archive-item-link:hover { color: rgb(41, 131, 187); background-co=
lor: transparent; }
[data-theme=3D"dark"] .archive .archive-item-link { color: rgb(177, 177, 18=
6); }
[data-theme=3D"dark"] .archive .archive-item-link:hover { color: rgb(255, 2=
55, 255); }
.archive .archive-item-date { text-align: right; color: rgb(177, 177, 186);=
white-space: nowrap; font-variant-numeric: tabular-nums lining-nums; }
[data-theme=3D"dark"] .archive .archive-item-date { color: rgb(144, 144, 14=
6); }
.archive .more-post { text-align: right; }
.archive .tag-cloud-tags { margin: 10px 0px; }
.archive .tag-cloud-tags a, .archive .tag-cloud-tags a::before, .archive .t=
ag-cloud-tags a::after { text-decoration: none; color: rgb(22, 18, 9); }
[data-theme=3D"dark"] .archive .tag-cloud-tags a, [data-theme=3D"dark"] .ar=
chive .tag-cloud-tags a::before, [data-theme=3D"dark"] .archive .tag-cloud-=
tags a::after { color: rgb(177, 177, 186); }
.archive .tag-cloud-tags a:active, .archive .tag-cloud-tags a:hover { color=
: rgb(41, 131, 187); }
[data-theme=3D"dark"] .archive .tag-cloud-tags a:active, [data-theme=3D"dar=
k"] .archive .tag-cloud-tags a:hover { color: rgb(255, 255, 255); }
.archive .tag-cloud-tags a { display: inline-block; position: relative; mar=
gin: 5px 10px; overflow-wrap: break-word; transition: 0.3s ease-out; }
.archive .tag-cloud-tags a:active, .archive .tag-cloud-tags a:focus, .archi=
ve .tag-cloud-tags a:hover { transform: scale(1.2); }
.archive .tag-cloud-tags a:active sup, .archive .tag-cloud-tags a:focus sup=
, .archive .tag-cloud-tags a:hover sup { color: rgb(22, 18, 9); transition:=
0.3s ease-out; }
[data-theme=3D"dark"] .archive .tag-cloud-tags a:active sup, [data-theme=3D=
"dark"] .archive .tag-cloud-tags a:focus sup, [data-theme=3D"dark"] .archiv=
e .tag-cloud-tags a:hover sup { color: rgb(177, 177, 186); }
.archive .tag-cloud-tags a sup { color: rgb(177, 177, 186); }
[data-theme=3D"dark"] .archive .tag-cloud-tags a sup { color: rgb(144, 144,=
146); }
.archive .tag-cloud-0 { font-size: var(--tag-font); color: rgb(177, 177, 18=
6) !important; margin: 10px !important; }
.archive .tag-cloud-0:active, .archive .tag-cloud-0:focus, .archive .tag-cl=
oud-0:hover { color: rgb(41, 131, 187) !important; }
[data-theme=3D"dark"] .archive .tag-cloud-0:active, [data-theme=3D"dark"] .=
archive .tag-cloud-0:focus, [data-theme=3D"dark"] .archive .tag-cloud-0:hov=
er { color: rgb(255, 255, 255); }
.archive .tag-cloud-0:active sup, .archive .tag-cloud-0:focus sup, .archive=
.tag-cloud-0:hover sup { opacity: 1; }
[data-theme=3D"dark"] .archive .tag-cloud-0 { color: rgb(144, 144, 146) !im=
portant; }
.archive .tag-cloud-0 sup { opacity: 0; }
.archive .tag-cloud-1 { font-size: var(--tag-font); color: rgb(162, 161, 16=
8) !important; margin: 10px !important; }
.archive .tag-cloud-1:active, .archive .tag-cloud-1:focus, .archive .tag-cl=
oud-1:hover { color: rgb(41, 131, 187) !important; }
[data-theme=3D"dark"] .archive .tag-cloud-1:active, [data-theme=3D"dark"] .=
archive .tag-cloud-1:focus, [data-theme=3D"dark"] .archive .tag-cloud-1:hov=
er { color: rgb(255, 255, 255); }
.archive .tag-cloud-1:active sup, .archive .tag-cloud-1:focus sup, .archive=
.tag-cloud-1:hover sup { opacity: 1; }
[data-theme=3D"dark"] .archive .tag-cloud-1 { color: rgb(147, 147, 150) !im=
portant; }
.archive .tag-cloud-1 sup { opacity: 0; }
.archive .tag-cloud-2 { font-size: var(--tag-font); color: rgb(146, 145, 15=
1) !important; margin: 10px !important; }
.archive .tag-cloud-2:active, .archive .tag-cloud-2:focus, .archive .tag-cl=
oud-2:hover { color: rgb(41, 131, 187) !important; }
[data-theme=3D"dark"] .archive .tag-cloud-2:active, [data-theme=3D"dark"] .=
archive .tag-cloud-2:focus, [data-theme=3D"dark"] .archive .tag-cloud-2:hov=
er { color: rgb(255, 255, 255); }
.archive .tag-cloud-2:active sup, .archive .tag-cloud-2:focus sup, .archive=
.tag-cloud-2:hover sup { opacity: 1; }
[data-theme=3D"dark"] .archive .tag-cloud-2 { color: rgb(151, 151, 154) !im=
portant; }
.archive .tag-cloud-2 sup { opacity: 0; }
.archive .tag-cloud-3 { font-size: var(--tag-font); color: rgb(131, 129, 13=
3) !important; margin: 10px !important; }
.archive .tag-cloud-3:active, .archive .tag-cloud-3:focus, .archive .tag-cl=
oud-3:hover { color: rgb(41, 131, 187) !important; }
[data-theme=3D"dark"] .archive .tag-cloud-3:active, [data-theme=3D"dark"] .=
archive .tag-cloud-3:focus, [data-theme=3D"dark"] .archive .tag-cloud-3:hov=
er { color: rgb(255, 255, 255); }
.archive .tag-cloud-3:active sup, .archive .tag-cloud-3:focus sup, .archive=
.tag-cloud-3:hover sup { opacity: 1; }
[data-theme=3D"dark"] .archive .tag-cloud-3 { color: rgb(154, 154, 158) !im=
portant; }
.archive .tag-cloud-3 sup { opacity: 0; }
.archive .tag-cloud-4 { font-size: var(--tag-font); color: rgb(115, 113, 11=
5) !important; margin: 10px !important; }
.archive .tag-cloud-4:active, .archive .tag-cloud-4:focus, .archive .tag-cl=
oud-4:hover { color: rgb(41, 131, 187) !important; }
[data-theme=3D"dark"] .archive .tag-cloud-4:active, [data-theme=3D"dark"] .=
archive .tag-cloud-4:focus, [data-theme=3D"dark"] .archive .tag-cloud-4:hov=
er { color: rgb(255, 255, 255); }
.archive .tag-cloud-4:active sup, .archive .tag-cloud-4:focus sup, .archive=
.tag-cloud-4:hover sup { opacity: 1; }
[data-theme=3D"dark"] .archive .tag-cloud-4 { color: rgb(157, 157, 162) !im=
portant; }
.archive .tag-cloud-4 sup { opacity: 0; }
.archive .tag-cloud-5 { font-size: var(--tag-font); color: rgb(100, 98, 98)=
!important; margin: 10px !important; }
.archive .tag-cloud-5:active, .archive .tag-cloud-5:focus, .archive .tag-cl=
oud-5:hover { color: rgb(41, 131, 187) !important; }
[data-theme=3D"dark"] .archive .tag-cloud-5:active, [data-theme=3D"dark"] .=
archive .tag-cloud-5:focus, [data-theme=3D"dark"] .archive .tag-cloud-5:hov=
er { color: rgb(255, 255, 255); }
.archive .tag-cloud-5:active sup, .archive .tag-cloud-5:focus sup, .archive=
.tag-cloud-5:hover sup { opacity: 1; }
[data-theme=3D"dark"] .archive .tag-cloud-5 { color: rgb(161, 161, 166) !im=
portant; }
.archive .tag-cloud-5 sup { opacity: 0; }
.archive .tag-cloud-6 { font-size: var(--tag-font); color: rgb(84, 82, 80) =
!important; margin: 10px !important; }
.archive .tag-cloud-6:active, .archive .tag-cloud-6:focus, .archive .tag-cl=
oud-6:hover { color: rgb(41, 131, 187) !important; }
[data-theme=3D"dark"] .archive .tag-cloud-6:active, [data-theme=3D"dark"] .=
archive .tag-cloud-6:focus, [data-theme=3D"dark"] .archive .tag-cloud-6:hov=
er { color: rgb(255, 255, 255); }
.archive .tag-cloud-6:active sup, .archive .tag-cloud-6:focus sup, .archive=
.tag-cloud-6:hover sup { opacity: 1; }
[data-theme=3D"dark"] .archive .tag-cloud-6 { color: rgb(164, 164, 170) !im=
portant; }
.archive .tag-cloud-6 sup { opacity: 0; }
.archive .tag-cloud-7 { font-size: var(--tag-font); color: rgb(69, 66, 62) =
!important; margin: 10px !important; }
.archive .tag-cloud-7:active, .archive .tag-cloud-7:focus, .archive .tag-cl=
oud-7:hover { color: rgb(41, 131, 187) !important; }
[data-theme=3D"dark"] .archive .tag-cloud-7:active, [data-theme=3D"dark"] .=
archive .tag-cloud-7:focus, [data-theme=3D"dark"] .archive .tag-cloud-7:hov=
er { color: rgb(255, 255, 255); }
.archive .tag-cloud-7:active sup, .archive .tag-cloud-7:focus sup, .archive=
.tag-cloud-7:hover sup { opacity: 1; }
[data-theme=3D"dark"] .archive .tag-cloud-7 { color: rgb(167, 167, 174) !im=
portant; }
.archive .tag-cloud-7 sup { opacity: 0; }
.archive .tag-cloud-8 { font-size: var(--tag-font); color: rgb(53, 50, 44) =
!important; margin: 10px !important; }
.archive .tag-cloud-8:active, .archive .tag-cloud-8:focus, .archive .tag-cl=
oud-8:hover { color: rgb(41, 131, 187) !important; }
[data-theme=3D"dark"] .archive .tag-cloud-8:active, [data-theme=3D"dark"] .=
archive .tag-cloud-8:focus, [data-theme=3D"dark"] .archive .tag-cloud-8:hov=
er { color: rgb(255, 255, 255); }
.archive .tag-cloud-8:active sup, .archive .tag-cloud-8:focus sup, .archive=
.tag-cloud-8:hover sup { opacity: 1; }
[data-theme=3D"dark"] .archive .tag-cloud-8 { color: rgb(170, 170, 178) !im=
portant; }
.archive .tag-cloud-8 sup { opacity: 0; }
.archive .tag-cloud-9 { font-size: var(--tag-font); color: rgb(38, 34, 27) =
!important; margin: 10px !important; }
.archive .tag-cloud-9:active, .archive .tag-cloud-9:focus, .archive .tag-cl=
oud-9:hover { color: rgb(41, 131, 187) !important; }
[data-theme=3D"dark"] .archive .tag-cloud-9:active, [data-theme=3D"dark"] .=
archive .tag-cloud-9:focus, [data-theme=3D"dark"] .archive .tag-cloud-9:hov=
er { color: rgb(255, 255, 255); }
.archive .tag-cloud-9:active sup, .archive .tag-cloud-9:focus sup, .archive=
.tag-cloud-9:hover sup { opacity: 1; }
[data-theme=3D"dark"] .archive .tag-cloud-9 { color: rgb(174, 174, 182) !im=
portant; }
.archive .tag-cloud-9 sup { opacity: 0; }
.archive .tag-cloud-10 { font-size: var(--tag-font); color: rgb(22, 18, 9) =
!important; margin: 10px !important; }
.archive .tag-cloud-10:active, .archive .tag-cloud-10:focus, .archive .tag-=
cloud-10:hover { color: rgb(41, 131, 187) !important; }
[data-theme=3D"dark"] .archive .tag-cloud-10:active, [data-theme=3D"dark"] =
.archive .tag-cloud-10:focus, [data-theme=3D"dark"] .archive .tag-cloud-10:=
hover { color: rgb(255, 255, 255); }
.archive .tag-cloud-10:active sup, .archive .tag-cloud-10:focus sup, .archi=
ve .tag-cloud-10:hover sup { opacity: 1; }
[data-theme=3D"dark"] .archive .tag-cloud-10 { color: rgb(177, 177, 186) !i=
mportant; }
.archive .tag-cloud-10 sup { opacity: 0; }
.home .home-profile { text-align: center; }
.home .home-profile .home-avatar { padding: 0.5rem; }
.home .home-profile .home-avatar img { display: inline-block; width: 8rem; =
height: auto; margin: 0px auto; border-radius: 100%; box-shadow: rgba(0, 0,=
0, 0.05) 0px 0px 0px 0.3618em; transition: 0.4s; }
[data-theme=3D"dark"] .home .home-profile .home-avatar img { box-shadow: rg=
ba(255, 255, 255, 0.05) 0px 0px 0px 0.3618em; }
.home .home-profile .home-avatar img:hover { position: relative; transform:=
translateY(-0.75rem); }
.home .home-profile .home-title { font-size: 1.25rem; font-weight: bold; ma=
rgin: 0px; }
.home .home-profile .home-title:not(:empty) { padding: 0.5rem; }
.home .home-profile .home-subtitle { font-size: 1rem; font-weight: normal; =
margin: 0px; padding: 0.5rem; }
.home .home-profile .links { padding: 0.5rem; font-size: 1.5rem; }
.home .home-profile .links a * { vertical-align: text-bottom; }
.home .home-profile .links img { height: 1.5rem; padding: 0px 0.25rem; }
.home .home-profile .home-disclaimer { font-size: 1rem; line-height: 1.5rem=
; font-weight: normal; margin: 0px; padding: 0.5rem; color: rgb(177, 177, 1=
86); }
[data-theme=3D"dark"] .home .home-profile .home-disclaimer { color: rgb(144=
, 144, 146); }
.home.posts .home-profile { padding: 2rem 0px; }
.home.posts .home-avatar img { width: 6rem; }
.home.posts .summary { padding-top: 1rem; padding-bottom: 0.8rem; color: rg=
b(22, 18, 9); border-bottom: 1px dashed rgb(240, 240, 240); }
.home.posts .summary:first-of-type { padding-top: 0px; }
[data-theme=3D"dark"] .home.posts .summary { color: rgb(177, 177, 186); bor=
der-bottom: 1px dashed rgb(54, 54, 54); }
.home.posts .summary .featured-image-preview { width: 100%; aspect-ratio: a=
uto 1000 / 420; position: relative; margin: 0.6rem auto; transition: transf=
orm 0.4s; }
.home.posts .summary .featured-image-preview img { position: absolute; widt=
h: 100%; height: 100%; left: 0px; top: 0px; object-fit: cover; font-family:=
"object-fit: cover;"; }
.home.posts .summary .featured-image-preview:hover { transform: scale(1.01)=
; }
.home.posts .summary .single-title { font-size: 1.25rem; line-height: 140%;=
margin: 0.4rem 0px; }
.home.posts .summary .content { margin-top: 0.3rem; color: rgb(177, 177, 18=
6); }
[data-theme=3D"dark"] .home.posts .summary .content { color: rgb(144, 144, =
146); }
.home.posts .summary .content a, .home.posts .summary .content a::before, .=
home.posts .summary .content a::after { text-decoration: none; color: rgb(3=
5, 118, 183); }
[data-theme=3D"dark"] .home.posts .summary .content a, [data-theme=3D"dark"=
] .home.posts .summary .content a::before, [data-theme=3D"dark"] .home.post=
s .summary .content a::after { color: rgb(177, 177, 186); }
.home.posts .summary .content a:active, .home.posts .summary .content a:hov=
er { color: rgb(234, 81, 127); }
[data-theme=3D"dark"] .home.posts .summary .content a:active, [data-theme=
=3D"dark"] .home.posts .summary .content a:hover { color: rgb(255, 255, 255=
); }
.home.posts .summary .content b, .home.posts .summary .content strong { col=
or: rgb(177, 177, 186); }
[data-theme=3D"dark"] .home.posts .summary .content b, [data-theme=3D"dark"=
] .home.posts .summary .content strong { color: rgb(144, 144, 146); }
.home.posts .summary .post-footer { margin-top: 0.4rem; display: flex; just=
ify-content: space-between; align-items: center; font-size: 0.875rem; }
.home.posts .summary .post-footer a, .home.posts .summary .post-footer a::b=
efore, .home.posts .summary .post-footer a::after { text-decoration: none; =
color: rgb(35, 118, 183); }
[data-theme=3D"dark"] .home.posts .summary .post-footer a, [data-theme=3D"d=
ark"] .home.posts .summary .post-footer a::before, [data-theme=3D"dark"] .h=
ome.posts .summary .post-footer a::after { color: rgb(23, 129, 181); }
.home.posts .summary .post-footer a:active, .home.posts .summary .post-foot=
er a:hover { color: rgb(234, 81, 127); }
[data-theme=3D"dark"] .home.posts .summary .post-footer a:active, [data-the=
me=3D"dark"] .home.posts .summary .post-footer a:hover { color: rgb(204, 85=
, 149); }
.home.posts .summary .post-footer .post-tags { padding: 0px; }
.home.posts .summary .post-footer .post-tags a, .home.posts .summary .post-=
footer .post-tags a::before, .home.posts .summary .post-footer .post-tags a=
::after { text-decoration: none; color: rgb(22, 18, 9); }
[data-theme=3D"dark"] .home.posts .summary .post-footer .post-tags a, [data=
-theme=3D"dark"] .home.posts .summary .post-footer .post-tags a::before, [d=
ata-theme=3D"dark"] .home.posts .summary .post-footer .post-tags a::after {=
color: rgb(177, 177, 186); }
.home.posts .summary .post-footer .post-tags a:active, .home.posts .summary=
.post-footer .post-tags a:hover { color: rgb(41, 131, 187); }
[data-theme=3D"dark"] .home.posts .summary .post-footer .post-tags a:active=
, [data-theme=3D"dark"] .home.posts .summary .post-footer .post-tags a:hove=
r { color: rgb(255, 255, 255); }
.home.posts .summary .post-footer .post-tags .post-tag:not(:last-child)::af=
ter { content: ","; margin-right: 0.25rem; }
#content-404 { font-size: 1.8rem; line-height: 3rem; transform: translateY(=
30vh); text-align: center; }
#content-offline { transform: translateY(30vh); text-align: center; }
#content-offline .offline-title { font-size: 3.6rem; }
#content-offline .offline-subtitle { margin: 0.4rem 0px; font-size: 1rem; f=
ont-weight: normal; font-style: italic; line-height: 100%; color: rgb(87, 9=
6, 106); }
#content-offline .error-text { font-size: 1.2rem; }
.friend-links { margin-top: 1rem; display: flex; flex-flow: wrap; justify-c=
ontent: space-between; }
@media (max-width: 576px) {
.friend-links { justify-content: space-around; }
}
.friend-link { width: 150px; height: 200px; font-size: 1rem; text-align: ce=
nter; background: rgba(255, 255, 255, 0.3); box-sizing: border-box; box-sha=
dow: rgb(170, 170, 170) 3px 3px 5px; border-radius: 5px; border: none; tran=
sition-duration: 0.3s; margin-bottom: 1rem; display: flex; flex-direction: =
column; justify-content: space-between; }
.friend-link:hover { background: rgb(255, 255, 255); transform: scale(1.03)=
; box-shadow: rgb(170, 170, 170) 0px 0px 3px; }
.friend-avatar { object-fit: cover; object-position: center center; border-=
radius: 5px; margin: 0px; padding: 0px; width: 100% !important; height: 150=
px !important; }
.friend-nickname { display: block; position: relative; color: rgb(43, 188, =
138); font-weight: bold; max-width: 100%; overflow: hidden; white-space: no=
wrap; text-overflow: ellipsis; line-height: 18px; margin-bottom: 1rem; }
.friend-nickname:hover { color: rgb(212, 128, 170); }
@media only screen and (min-width: 1441px) {
.breadcrumb-container .breadcrumb, .page { width: round(60%, 2px); }
[data-page-style=3D"wide"] .breadcrumb-container .breadcrumb, .breadcrumb=
-container [data-page-style=3D"wide"] .breadcrumb, [data-page-style=3D"wide=
"] .page { width: round(64%, 2px); }
[data-page-style=3D"narrow"] .breadcrumb-container .breadcrumb, .breadcru=
mb-container [data-page-style=3D"narrow"] .breadcrumb, [data-page-style=3D"=
narrow"] .page { max-width: 800px; }
}
@media only screen and (max-width: 1440px) {
.breadcrumb-container .breadcrumb, .page { width: round(56%, 2px); }
[data-page-style=3D"wide"] .breadcrumb-container .breadcrumb, .breadcrumb=
-container [data-page-style=3D"wide"] .breadcrumb, [data-page-style=3D"wide=
"] .page { width: round(60%, 2px); }
}
@media only screen and (max-width: 1200px) {
.breadcrumb-container .breadcrumb, .page { width: round(52%, 2px); }
[data-page-style=3D"wide"] .breadcrumb-container .breadcrumb, .breadcrumb=
-container [data-page-style=3D"wide"] .breadcrumb, [data-page-style=3D"wide=
"] .page { width: round(56%, 2px); }
#header-desktop .header-wrapper { padding-right: 1rem; }
.search-dropdown.desktop { right: 1rem; }
}
@media only screen and (max-width: 960px) {
.breadcrumb-container .breadcrumb, .page { width: round(80%, 2px) !import=
ant; }
aside { display: none !important; }
#toc-static { display: block; }
#header-desktop .header-wrapper { padding-left: 1rem; }
}
@media only screen and (min-width: 681px) {
.d-none-desktop { display: none; }
body:not([data-header-desktop=3D"sticky"]) .breadcrumb-container.sticky {=
top: 0px; }
body:not([data-header-desktop=3D"auto"]) .breadcrumb-container.sticky + .=
container .content [id] { scroll-margin-top: calc(var(--fi-scroll-mt) + var=
(--fi-breadcrumb-height)); }
[data-header-desktop=3D"normal"] .page .content [id] { --fi-scroll-mt: .5=
rem; }
}
@media only screen and (max-width: 680px) {
#header-desktop { display: none; }
#header-mobile { display: block; }
.d-none-mobile { display: none !important; }
body:not([data-header-mobile=3D"sticky"]) .breadcrumb-container.sticky { =
top: 0px; }
body:not([data-header-mobile=3D"auto"]) .breadcrumb-container.sticky + .c=
ontainer .content [id] { scroll-margin-top: calc(var(--fi-scroll-mt) + var(=
--fi-breadcrumb-height)); }
[data-header-mobile=3D"normal"] .page .content [id] { --fi-scroll-mt: .5r=
em; }
.breadcrumb-container .breadcrumb, .page { width: 100% !important; }
.page .categories-card .card-item, .page .collections-card .card-item { w=
idth: 100%; }
footer .footer-container { font-size: 0.618rem; }
.pagination .page-item { margin: 0px 5px; }
}
@media only print {
@page { size: a4 portrait; margin: 1.27cm; }
.page { width: 100% !important; padding-top: 0px !important; }
.page.single .single-title, .page.single .single-subtitle, .page.single .=
post-meta { text-align: center; }
.page h1:not(.single-title), .page .page-break-before { break-before: pag=
e; }
.page .page-break-after { break-after: page; }
.print-d-none, .fixed-button, .github-corner, .reading-progress-bar, head=
er, .breadcrumb-container, footer, #toc-auto, .collection-card, .aside-coll=
ection, .single .post-meta .comment-visitors, .single .post-meta .comment-c=
ount, .single .content .highlight > .chroma .code-header .ellipses, .single=
.content .highlight > .chroma .code-header .edit, .single .content .highli=
ght > .chroma .code-header .copy, .single .post-reward, .single .post-foote=
r .post-info .post-info-line .post-info-share, .single .post-footer .post-i=
nfo-more section:last-child, .single .post-footer .post-nav, .single > #com=
ments { display: none !important; }
}
@keyframes fi-pulse {=20
0% { transform: scale3d(1, 1, 1); }
50% { transform: scale3d(1.05, 1.05, 1.05); }
100% { transform: scale3d(1, 1, 1); }
}
.animate__pulse { animation-name: fi-pulse !important; }
@supports not (width: ROUND(60%, 2px)) {
@media only screen and (min-width: 1441px) {
.breadcrumb-container .breadcrumb, .page { width: 60%; }
[data-page-style=3D"wide"] .breadcrumb-container .breadcrumb, .breadcrumb=
-container [data-page-style=3D"wide"] .breadcrumb, [data-page-style=3D"wide=
"] .page { width: 64%; }
[data-page-style=3D"narrow"] .breadcrumb-container .breadcrumb, .breadcru=
mb-container [data-page-style=3D"narrow"] .breadcrumb, [data-page-style=3D"=
narrow"] .page { max-width: 800px; }
}
@media only screen and (max-width: 1440px) {
.breadcrumb-container .breadcrumb, .page { width: 56%; }
[data-page-style=3D"wide"] .breadcrumb-container .breadcrumb, .breadcrumb=
-container [data-page-style=3D"wide"] .breadcrumb, [data-page-style=3D"wide=
"] .page { width: 60%; }
}
@media only screen and (max-width: 1200px) {
.breadcrumb-container .breadcrumb, .page { width: 52%; }
[data-page-style=3D"wide"] .breadcrumb-container .breadcrumb, .breadcrumb=
-container [data-page-style=3D"wide"] .breadcrumb, [data-page-style=3D"wide=
"] .page { width: 56%; }
}
@media only screen and (max-width: 960px) {
.breadcrumb-container .breadcrumb, .page { width: 80% !important; }
}
@media only screen and (max-width: 680px) {
.breadcrumb-container .breadcrumb, .page { width: 100% !important; }
}
}
------MultipartBoundary--gWmtkLL3aPLL9QvHLWg1Yif3XzwEYNRGNBhxAsKdsK----
Content-Type: text/css
Content-Transfer-Encoding: quoted-printable
Content-Location: https://it-notes.dragas.net/lib/fontawesome-free/all.min.cf780ba5def29277f562835b0b3a9129ce2aca8afc81a294d6a9a7f824a1c5bb81bac00d23d42946884606b7821642b12e17a2e92f424171446db2aea8b8340c.css
@charset "utf-8";
.fa { font-family: var(--fa-style-family,"Font Awesome 6 Free"); font-weigh=
t: var(--fa-style,900); }
.fa, .fa-brands, .fa-classic, .fa-regular, .fa-sharp, .fa-solid, .fab, .far=
, .fas { -webkit-font-smoothing: antialiased; display: var(--fa-display,inl=
ine-block); font-style: normal; font-variant: normal; line-height: 1; text-=
rendering: auto; }
.fa-classic, .fa-regular, .fa-solid, .far, .fas { font-family: "Font Awesom=
e 6 Free"; }
.fa-brands, .fab { font-family: "Font Awesome 6 Brands"; }
.fa-1x { font-size: 1em; }
.fa-2x { font-size: 2em; }
.fa-3x { font-size: 3em; }
.fa-4x { font-size: 4em; }
.fa-5x { font-size: 5em; }
.fa-6x { font-size: 6em; }
.fa-7x { font-size: 7em; }
.fa-8x { font-size: 8em; }
.fa-9x { font-size: 9em; }
.fa-10x { font-size: 10em; }
.fa-2xs { font-size: 0.625em; line-height: 0.1em; vertical-align: 0.225em; =
}
.fa-xs { font-size: 0.75em; line-height: 0.08333em; vertical-align: 0.125em=
; }
.fa-sm { font-size: 0.875em; line-height: 0.07143em; vertical-align: 0.0535=
7em; }
.fa-lg { font-size: 1.25em; line-height: 0.05em; vertical-align: -0.075em; =
}
.fa-xl { font-size: 1.5em; line-height: 0.04167em; vertical-align: -0.125em=
; }
.fa-2xl { font-size: 2em; line-height: 0.03125em; vertical-align: -0.1875em=
; }
.fa-fw { text-align: center; width: 1.25em; }
.fa-ul { list-style-type: none; margin-left: var(--fa-li-margin,2.5em); pad=
ding-left: 0px; }
.fa-ul > li { position: relative; }
.fa-li { left: calc(var(--fa-li-width, 2em)*-1); position: absolute; text-a=
lign: center; width: var(--fa-li-width,2em); line-height: inherit; }
.fa-border { border-radius: var(--fa-border-radius,.1em); border: var(--fa-=
border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee=
); padding: var(--fa-border-padding,.2em .25em .15em); }
.fa-pull-left { float: left; margin-right: var(--fa-pull-margin,.3em); }
.fa-pull-right { float: right; margin-left: var(--fa-pull-margin,.3em); }
.fa-beat { animation-name: fa-beat; animation-delay: var(--fa-animation-del=
ay,0s); animation-direction: var(--fa-animation-direction,normal); animatio=
n-duration: var(--fa-animation-duration,1s); animation-iteration-count: var=
(--fa-animation-iteration-count,infinite); animation-timing-function: var(-=
-fa-animation-timing,ease-in-out); }
.fa-bounce { animation-name: fa-bounce; animation-delay: var(--fa-animation=
-delay,0s); animation-direction: var(--fa-animation-direction,normal); anim=
ation-duration: var(--fa-animation-duration,1s); animation-iteration-count:=
var(--fa-animation-iteration-count,infinite); animation-timing-function: v=
ar(--fa-animation-timing,cubic-bezier(.28,.84,.42,1)); }
.fa-fade { animation-name: fa-fade; animation-iteration-count: var(--fa-ani=
mation-iteration-count,infinite); animation-timing-function: var(--fa-anima=
tion-timing,cubic-bezier(.4,0,.6,1)); }
.fa-beat-fade, .fa-fade { animation-delay: var(--fa-animation-delay,0s); an=
imation-direction: var(--fa-animation-direction,normal); animation-duration=
: var(--fa-animation-duration,1s); }
.fa-beat-fade { animation-name: fa-beat-fade; animation-iteration-count: va=
r(--fa-animation-iteration-count,infinite); animation-timing-function: var(=
--fa-animation-timing,cubic-bezier(.4,0,.6,1)); }
.fa-flip { animation-name: fa-flip; animation-delay: var(--fa-animation-del=
ay,0s); animation-direction: var(--fa-animation-direction,normal); animatio=
n-duration: var(--fa-animation-duration,1s); animation-iteration-count: var=
(--fa-animation-iteration-count,infinite); animation-timing-function: var(-=
-fa-animation-timing,ease-in-out); }
.fa-shake { animation-name: fa-shake; animation-duration: var(--fa-animatio=
n-duration,1s); animation-iteration-count: var(--fa-animation-iteration-cou=
nt,infinite); animation-timing-function: var(--fa-animation-timing,linear);=
}
.fa-shake, .fa-spin { animation-delay: var(--fa-animation-delay,0s); animat=
ion-direction: var(--fa-animation-direction,normal); }
.fa-spin { animation-name: fa-spin; animation-duration: var(--fa-animation-=
duration,2s); animation-iteration-count: var(--fa-animation-iteration-count=
,infinite); animation-timing-function: var(--fa-animation-timing,linear); }
.fa-spin-reverse { --fa-animation-direction: reverse; }
.fa-pulse, .fa-spin-pulse { animation-name: fa-spin; animation-direction: v=
ar(--fa-animation-direction,normal); animation-duration: var(--fa-animation=
-duration,1s); animation-iteration-count: var(--fa-animation-iteration-coun=
t,infinite); animation-timing-function: var(--fa-animation-timing,steps(8))=
; }
@media (prefers-reduced-motion: reduce) {
.fa-beat, .fa-beat-fade, .fa-bounce, .fa-fade, .fa-flip, .fa-pulse, .fa-s=
hake, .fa-spin, .fa-spin-pulse { animation-delay: -1ms; animation-duration:=
1ms; animation-iteration-count: 1; transition-delay: 0s; transition-durati=
on: 0s; }
}
@-webkit-keyframes fa-beat {=20
0%, 90% { transform: scale(1); }
45% { transform: scale(var(--fa-beat-scale,1.25)); }
}
@keyframes fa-beat {=20
0%, 90% { transform: scale(1); }
45% { transform: scale(var(--fa-beat-scale,1.25)); }
}
@-webkit-keyframes fa-bounce {=20
0% { transform: scale(1) translateY(0px); }
10% { transform: scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce=
-start-scale-y,.9)) translateY(0); }
30% { transform: scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-j=
ump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em)); }
50% { transform: scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce=
-land-scale-y,.95)) translateY(0); }
57% { transform: scale(1) translateY(var(--fa-bounce-rebound,-.125em)); }
64% { transform: scale(1) translateY(0px); }
100% { transform: scale(1) translateY(0px); }
}
@keyframes fa-bounce {=20
0% { transform: scale(1) translateY(0px); }
10% { transform: scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce=
-start-scale-y,.9)) translateY(0); }
30% { transform: scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-j=
ump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em)); }
50% { transform: scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce=
-land-scale-y,.95)) translateY(0); }
57% { transform: scale(1) translateY(var(--fa-bounce-rebound,-.125em)); }
64% { transform: scale(1) translateY(0px); }
100% { transform: scale(1) translateY(0px); }
}
@-webkit-keyframes fa-fade {=20
50% { opacity: var(--fa-fade-opacity,.4); }
}
@keyframes fa-fade {=20
50% { opacity: var(--fa-fade-opacity,.4); }
}
@-webkit-keyframes fa-beat-fade {=20
0%, 100% { opacity: var(--fa-beat-fade-opacity,.4); transform: scale(1); =
}
50% { opacity: 1; transform: scale(var(--fa-beat-fade-scale,1.125)); }
}
@keyframes fa-beat-fade {=20
0%, 100% { opacity: var(--fa-beat-fade-opacity,.4); transform: scale(1); =
}
50% { opacity: 1; transform: scale(var(--fa-beat-fade-scale,1.125)); }
}
@-webkit-keyframes fa-flip {=20
50% { transform: rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-=
flip-z,0),var(--fa-flip-angle,-180deg)); }
}
@keyframes fa-flip {=20
50% { transform: rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-=
flip-z,0),var(--fa-flip-angle,-180deg)); }
}
@-webkit-keyframes fa-shake {=20
0% { transform: rotate(-15deg); }
4% { transform: rotate(15deg); }
8%, 24% { transform: rotate(-18deg); }
12%, 28% { transform: rotate(18deg); }
16% { transform: rotate(-22deg); }
20% { transform: rotate(22deg); }
32% { transform: rotate(-12deg); }
36% { transform: rotate(12deg); }
40%, 100% { transform: rotate(0deg); }
}
@keyframes fa-shake {=20
0% { transform: rotate(-15deg); }
4% { transform: rotate(15deg); }
8%, 24% { transform: rotate(-18deg); }
12%, 28% { transform: rotate(18deg); }
16% { transform: rotate(-22deg); }
20% { transform: rotate(22deg); }
32% { transform: rotate(-12deg); }
36% { transform: rotate(12deg); }
40%, 100% { transform: rotate(0deg); }
}
@-webkit-keyframes fa-spin {=20
0% { transform: rotate(0deg); }
100% { transform: rotate(1turn); }
}
@keyframes fa-spin {=20
0% { transform: rotate(0deg); }
100% { transform: rotate(1turn); }
}
.fa-rotate-90 { transform: rotate(90deg); }
.fa-rotate-180 { transform: rotate(180deg); }
.fa-rotate-270 { transform: rotate(270deg); }
.fa-flip-horizontal { transform: scaleX(-1); }
.fa-flip-vertical { transform: scaleY(-1); }
.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { transform: scale(-1);=
}
.fa-rotate-by { transform: rotate(var(--fa-rotate-angle,none)); }
.fa-stack { display: inline-block; height: 2em; line-height: 2em; position:=
relative; vertical-align: middle; width: 2.5em; }
.fa-stack-1x, .fa-stack-2x { left: 0px; position: absolute; text-align: cen=
ter; width: 100%; z-index: var(--fa-stack-z-index,auto); }
.fa-stack-1x { line-height: inherit; }
.fa-stack-2x { font-size: 2em; }
.fa-inverse { color: var(--fa-inverse,#fff); }
.fa-0::before { content: "0"; }
.fa-1::before { content: "1"; }
.fa-2::before { content: "2"; }
.fa-3::before { content: "3"; }
.fa-4::before { content: "4"; }
.fa-5::before { content: "5"; }
.fa-6::before { content: "6"; }
.fa-7::before { content: "7"; }
.fa-8::before { content: "8"; }
.fa-9::before { content: "9"; }
.fa-fill-drip::before { content: "=EF=95=B6"; }
.fa-arrows-to-circle::before { content: "=EE=92=BD"; }
.fa-chevron-circle-right::before, .fa-circle-chevron-right::before { conten=
t: "=EF=84=B8"; }
.fa-at::before { content: "@"; }
.fa-trash-alt::before, .fa-trash-can::before { content: "=EF=8B=AD"; }
.fa-text-height::before { content: "=EF=80=B4"; }
.fa-user-times::before, .fa-user-xmark::before { content: "=EF=88=B5"; }
.fa-stethoscope::before { content: "=EF=83=B1"; }
.fa-comment-alt::before, .fa-message::before { content: "=EF=89=BA"; }
.fa-info::before { content: "=EF=84=A9"; }
.fa-compress-alt::before, .fa-down-left-and-up-right-to-center::before { co=
ntent: "=EF=90=A2"; }
.fa-explosion::before { content: "=EE=93=A9"; }
.fa-file-alt::before, .fa-file-lines::before, .fa-file-text::before { conte=
nt: "=EF=85=9C"; }
.fa-wave-square::before { content: "=EF=A0=BE"; }
.fa-ring::before { content: "=EF=9C=8B"; }
.fa-building-un::before { content: "=EE=93=99"; }
.fa-dice-three::before { content: "=EF=94=A7"; }
.fa-calendar-alt::before, .fa-calendar-days::before { content: "=EF=81=B3";=
}
.fa-anchor-circle-check::before { content: "=EE=92=AA"; }
.fa-building-circle-arrow-right::before { content: "=EE=93=91"; }
.fa-volleyball-ball::before, .fa-volleyball::before { content: "=EF=91=9F";=
}
.fa-arrows-up-to-line::before { content: "=EE=93=82"; }
.fa-sort-desc::before, .fa-sort-down::before { content: "=EF=83=9D"; }
.fa-circle-minus::before, .fa-minus-circle::before { content: "=EF=81=96"; =
}
.fa-door-open::before { content: "=EF=94=AB"; }
.fa-right-from-bracket::before, .fa-sign-out-alt::before { content: "=EF=8B=
=B5"; }
.fa-atom::before { content: "=EF=97=92"; }
.fa-soap::before { content: "=EE=81=AE"; }
.fa-heart-music-camera-bolt::before, .fa-icons::before { content: "=EF=A1=
=AD"; }
.fa-microphone-alt-slash::before, .fa-microphone-lines-slash::before { cont=
ent: "=EF=94=B9"; }
.fa-bridge-circle-check::before { content: "=EE=93=89"; }
.fa-pump-medical::before { content: "=EE=81=AA"; }
.fa-fingerprint::before { content: "=EF=95=B7"; }
.fa-hand-point-right::before { content: "=EF=82=A4"; }
.fa-magnifying-glass-location::before, .fa-search-location::before { conten=
t: "=EF=9A=89"; }
.fa-forward-step::before, .fa-step-forward::before { content: "=EF=81=91"; =
}
.fa-face-smile-beam::before, .fa-smile-beam::before { content: "=EF=96=B8";=
}
.fa-flag-checkered::before { content: "=EF=84=9E"; }
.fa-football-ball::before, .fa-football::before { content: "=EF=91=8E"; }
.fa-school-circle-exclamation::before { content: "=EE=95=AC"; }
.fa-crop::before { content: "=EF=84=A5"; }
.fa-angle-double-down::before, .fa-angles-down::before { content: "=EF=84=
=83"; }
.fa-users-rectangle::before { content: "=EE=96=94"; }
.fa-people-roof::before { content: "=EE=94=B7"; }
.fa-people-line::before { content: "=EE=94=B4"; }
.fa-beer-mug-empty::before, .fa-beer::before { content: "=EF=83=BC"; }
.fa-diagram-predecessor::before { content: "=EE=91=B7"; }
.fa-arrow-up-long::before, .fa-long-arrow-up::before { content: "=EF=85=B6"=
; }
.fa-burn::before, .fa-fire-flame-simple::before { content: "=EF=91=AA"; }
.fa-male::before, .fa-person::before { content: "=EF=86=83"; }
.fa-laptop::before { content: "=EF=84=89"; }
.fa-file-csv::before { content: "=EF=9B=9D"; }
.fa-menorah::before { content: "=EF=99=B6"; }
.fa-truck-plane::before { content: "=EE=96=8F"; }
.fa-record-vinyl::before { content: "=EF=A3=99"; }
.fa-face-grin-stars::before, .fa-grin-stars::before { content: "=EF=96=87";=
}
.fa-bong::before { content: "=EF=95=9C"; }
.fa-pastafarianism::before, .fa-spaghetti-monster-flying::before { content:=
"=EF=99=BB"; }
.fa-arrow-down-up-across-line::before { content: "=EE=92=AF"; }
.fa-spoon::before, .fa-utensil-spoon::before { content: "=EF=8B=A5"; }
.fa-jar-wheat::before { content: "=EE=94=97"; }
.fa-envelopes-bulk::before, .fa-mail-bulk::before { content: "=EF=99=B4"; }
.fa-file-circle-exclamation::before { content: "=EE=93=AB"; }
.fa-circle-h::before, .fa-hospital-symbol::before { content: "=EF=91=BE"; }
.fa-pager::before { content: "=EF=A0=95"; }
.fa-address-book::before, .fa-contact-book::before { content: "=EF=8A=B9"; =
}
.fa-strikethrough::before { content: "=EF=83=8C"; }
.fa-k::before { content: "K"; }
.fa-landmark-flag::before { content: "=EE=94=9C"; }
.fa-pencil-alt::before, .fa-pencil::before { content: "=EF=8C=83"; }
.fa-backward::before { content: "=EF=81=8A"; }
.fa-caret-right::before { content: "=EF=83=9A"; }
.fa-comments::before { content: "=EF=82=86"; }
.fa-file-clipboard::before, .fa-paste::before { content: "=EF=83=AA"; }
.fa-code-pull-request::before { content: "=EE=84=BC"; }
.fa-clipboard-list::before { content: "=EF=91=AD"; }
.fa-truck-loading::before, .fa-truck-ramp-box::before { content: "=EF=93=9E=
"; }
.fa-user-check::before { content: "=EF=93=BC"; }
.fa-vial-virus::before { content: "=EE=96=97"; }
.fa-sheet-plastic::before { content: "=EE=95=B1"; }
.fa-blog::before { content: "=EF=9E=81"; }
.fa-user-ninja::before { content: "=EF=94=84"; }
.fa-person-arrow-up-from-line::before { content: "=EE=94=B9"; }
.fa-scroll-torah::before, .fa-torah::before { content: "=EF=9A=A0"; }
.fa-broom-ball::before, .fa-quidditch-broom-ball::before, .fa-quidditch::be=
fore { content: "=EF=91=98"; }
.fa-toggle-off::before { content: "=EF=88=84"; }
.fa-archive::before, .fa-box-archive::before { content: "=EF=86=87"; }
.fa-person-drowning::before { content: "=EE=95=85"; }
.fa-arrow-down-9-1::before, .fa-sort-numeric-desc::before, .fa-sort-numeric=
-down-alt::before { content: "=EF=A2=86"; }
.fa-face-grin-tongue-squint::before, .fa-grin-tongue-squint::before { conte=
nt: "=EF=96=8A"; }
.fa-spray-can::before { content: "=EF=96=BD"; }
.fa-truck-monster::before { content: "=EF=98=BB"; }
.fa-w::before { content: "W"; }
.fa-earth-africa::before, .fa-globe-africa::before { content: "=EF=95=BC"; =
}
.fa-rainbow::before { content: "=EF=9D=9B"; }
.fa-circle-notch::before { content: "=EF=87=8E"; }
.fa-tablet-alt::before, .fa-tablet-screen-button::before { content: "=EF=8F=
=BA"; }
.fa-paw::before { content: "=EF=86=B0"; }
.fa-cloud::before { content: "=EF=83=82"; }
.fa-trowel-bricks::before { content: "=EE=96=8A"; }
.fa-face-flushed::before, .fa-flushed::before { content: "=EF=95=B9"; }
.fa-hospital-user::before { content: "=EF=A0=8D"; }
.fa-tent-arrow-left-right::before { content: "=EE=95=BF"; }
.fa-gavel::before, .fa-legal::before { content: "=EF=83=A3"; }
.fa-binoculars::before { content: "=EF=87=A5"; }
.fa-microphone-slash::before { content: "=EF=84=B1"; }
.fa-box-tissue::before { content: "=EE=81=9B"; }
.fa-motorcycle::before { content: "=EF=88=9C"; }
.fa-bell-concierge::before, .fa-concierge-bell::before { content: "=EF=95=
=A2"; }
.fa-pen-ruler::before, .fa-pencil-ruler::before { content: "=EF=96=AE"; }
.fa-people-arrows-left-right::before, .fa-people-arrows::before { content: =
"=EE=81=A8"; }
.fa-mars-and-venus-burst::before { content: "=EE=94=A3"; }
.fa-caret-square-right::before, .fa-square-caret-right::before { content: "=
=EF=85=92"; }
.fa-cut::before, .fa-scissors::before { content: "=EF=83=84"; }
.fa-sun-plant-wilt::before { content: "=EE=95=BA"; }
.fa-toilets-portable::before { content: "=EE=96=84"; }
.fa-hockey-puck::before { content: "=EF=91=93"; }
.fa-table::before { content: "=EF=83=8E"; }
.fa-magnifying-glass-arrow-right::before { content: "=EE=94=A1"; }
.fa-digital-tachograph::before, .fa-tachograph-digital::before { content: "=
=EF=95=A6"; }
.fa-users-slash::before { content: "=EE=81=B3"; }
.fa-clover::before { content: "=EE=84=B9"; }
.fa-mail-reply::before, .fa-reply::before { content: "=EF=8F=A5"; }
.fa-star-and-crescent::before { content: "=EF=9A=99"; }
.fa-house-fire::before { content: "=EE=94=8C"; }
.fa-minus-square::before, .fa-square-minus::before { content: "=EF=85=86"; =
}
.fa-helicopter::before { content: "=EF=94=B3"; }
.fa-compass::before { content: "=EF=85=8E"; }
.fa-caret-square-down::before, .fa-square-caret-down::before { content: "=
=EF=85=90"; }
.fa-file-circle-question::before { content: "=EE=93=AF"; }
.fa-laptop-code::before { content: "=EF=97=BC"; }
.fa-swatchbook::before { content: "=EF=97=83"; }
.fa-prescription-bottle::before { content: "=EF=92=85"; }
.fa-bars::before, .fa-navicon::before { content: "=EF=83=89"; }
.fa-people-group::before { content: "=EE=94=B3"; }
.fa-hourglass-3::before, .fa-hourglass-end::before { content: "=EF=89=93"; =
}
.fa-heart-broken::before, .fa-heart-crack::before { content: "=EF=9E=A9"; }
.fa-external-link-square-alt::before, .fa-square-up-right::before { content=
: "=EF=8D=A0"; }
.fa-face-kiss-beam::before, .fa-kiss-beam::before { content: "=EF=96=97"; }
.fa-film::before { content: "=EF=80=88"; }
.fa-ruler-horizontal::before { content: "=EF=95=87"; }
.fa-people-robbery::before { content: "=EE=94=B6"; }
.fa-lightbulb::before { content: "=EF=83=AB"; }
.fa-caret-left::before { content: "=EF=83=99"; }
.fa-circle-exclamation::before, .fa-exclamation-circle::before { content: "=
=EF=81=AA"; }
.fa-school-circle-xmark::before { content: "=EE=95=AD"; }
.fa-arrow-right-from-bracket::before, .fa-sign-out::before { content: "=EF=
=82=8B"; }
.fa-chevron-circle-down::before, .fa-circle-chevron-down::before { content:=
"=EF=84=BA"; }
.fa-unlock-alt::before, .fa-unlock-keyhole::before { content: "=EF=84=BE"; =
}
.fa-cloud-showers-heavy::before { content: "=EF=9D=80"; }
.fa-headphones-alt::before, .fa-headphones-simple::before { content: "=EF=
=96=8F"; }
.fa-sitemap::before { content: "=EF=83=A8"; }
.fa-circle-dollar-to-slot::before, .fa-donate::before { content: "=EF=92=B9=
"; }
.fa-memory::before { content: "=EF=94=B8"; }
.fa-road-spikes::before { content: "=EE=95=A8"; }
.fa-fire-burner::before { content: "=EE=93=B1"; }
.fa-flag::before { content: "=EF=80=A4"; }
.fa-hanukiah::before { content: "=EF=9B=A6"; }
.fa-feather::before { content: "=EF=94=AD"; }
.fa-volume-down::before, .fa-volume-low::before { content: "=EF=80=A7"; }
.fa-comment-slash::before { content: "=EF=92=B3"; }
.fa-cloud-sun-rain::before { content: "=EF=9D=83"; }
.fa-compress::before { content: "=EF=81=A6"; }
.fa-wheat-alt::before, .fa-wheat-awn::before { content: "=EE=8B=8D"; }
.fa-ankh::before { content: "=EF=99=84"; }
.fa-hands-holding-child::before { content: "=EE=93=BA"; }
.fa-asterisk::before { content: "*"; }
.fa-check-square::before, .fa-square-check::before { content: "=EF=85=8A"; =
}
.fa-peseta-sign::before { content: "=EE=88=A1"; }
.fa-header::before, .fa-heading::before { content: "=EF=87=9C"; }
.fa-ghost::before { content: "=EF=9B=A2"; }
.fa-list-squares::before, .fa-list::before { content: "=EF=80=BA"; }
.fa-phone-square-alt::before, .fa-square-phone-flip::before { content: "=EF=
=A1=BB"; }
.fa-cart-plus::before { content: "=EF=88=97"; }
.fa-gamepad::before { content: "=EF=84=9B"; }
.fa-circle-dot::before, .fa-dot-circle::before { content: "=EF=86=92"; }
.fa-dizzy::before, .fa-face-dizzy::before { content: "=EF=95=A7"; }
.fa-egg::before { content: "=EF=9F=BB"; }
.fa-house-medical-circle-xmark::before { content: "=EE=94=93"; }
.fa-campground::before { content: "=EF=9A=BB"; }
.fa-folder-plus::before { content: "=EF=99=9E"; }
.fa-futbol-ball::before, .fa-futbol::before, .fa-soccer-ball::before { cont=
ent: "=EF=87=A3"; }
.fa-paint-brush::before, .fa-paintbrush::before { content: "=EF=87=BC"; }
.fa-lock::before { content: "=EF=80=A3"; }
.fa-gas-pump::before { content: "=EF=94=AF"; }
.fa-hot-tub-person::before, .fa-hot-tub::before { content: "=EF=96=93"; }
.fa-map-location::before, .fa-map-marked::before { content: "=EF=96=9F"; }
.fa-house-flood-water::before { content: "=EE=94=8E"; }
.fa-tree::before { content: "=EF=86=BB"; }
.fa-bridge-lock::before { content: "=EE=93=8C"; }
.fa-sack-dollar::before { content: "=EF=A0=9D"; }
.fa-edit::before, .fa-pen-to-square::before { content: "=EF=81=84"; }
.fa-car-side::before { content: "=EF=97=A4"; }
.fa-share-alt::before, .fa-share-nodes::before { content: "=EF=87=A0"; }
.fa-heart-circle-minus::before { content: "=EE=93=BF"; }
.fa-hourglass-2::before, .fa-hourglass-half::before { content: "=EF=89=92";=
}
.fa-microscope::before { content: "=EF=98=90"; }
.fa-sink::before { content: "=EE=81=AD"; }
.fa-bag-shopping::before, .fa-shopping-bag::before { content: "=EF=8A=90"; =
}
.fa-arrow-down-z-a::before, .fa-sort-alpha-desc::before, .fa-sort-alpha-dow=
n-alt::before { content: "=EF=A2=81"; }
.fa-mitten::before { content: "=EF=9E=B5"; }
.fa-person-rays::before { content: "=EE=95=8D"; }
.fa-users::before { content: "=EF=83=80"; }
.fa-eye-slash::before { content: "=EF=81=B0"; }
.fa-flask-vial::before { content: "=EE=93=B3"; }
.fa-hand-paper::before, .fa-hand::before { content: "=EF=89=96"; }
.fa-om::before { content: "=EF=99=B9"; }
.fa-worm::before { content: "=EE=96=99"; }
.fa-house-circle-xmark::before { content: "=EE=94=8B"; }
.fa-plug::before { content: "=EF=87=A6"; }
.fa-chevron-up::before { content: "=EF=81=B7"; }
.fa-hand-spock::before { content: "=EF=89=99"; }
.fa-stopwatch::before { content: "=EF=8B=B2"; }
.fa-face-kiss::before, .fa-kiss::before { content: "=EF=96=96"; }
.fa-bridge-circle-xmark::before { content: "=EE=93=8B"; }
.fa-face-grin-tongue::before, .fa-grin-tongue::before { content: "=EF=96=89=
"; }
.fa-chess-bishop::before { content: "=EF=90=BA"; }
.fa-face-grin-wink::before, .fa-grin-wink::before { content: "=EF=96=8C"; }
.fa-deaf::before, .fa-deafness::before, .fa-ear-deaf::before, .fa-hard-of-h=
earing::before { content: "=EF=8A=A4"; }
.fa-road-circle-check::before { content: "=EE=95=A4"; }
.fa-dice-five::before { content: "=EF=94=A3"; }
.fa-rss-square::before, .fa-square-rss::before { content: "=EF=85=83"; }
.fa-land-mine-on::before { content: "=EE=94=9B"; }
.fa-i-cursor::before { content: "=EF=89=86"; }
.fa-stamp::before { content: "=EF=96=BF"; }
.fa-stairs::before { content: "=EE=8A=89"; }
.fa-i::before { content: "I"; }
.fa-hryvnia-sign::before, .fa-hryvnia::before { content: "=EF=9B=B2"; }
.fa-pills::before { content: "=EF=92=84"; }
.fa-face-grin-wide::before, .fa-grin-alt::before { content: "=EF=96=81"; }
.fa-tooth::before { content: "=EF=97=89"; }
.fa-v::before { content: "V"; }
.fa-bangladeshi-taka-sign::before { content: "=EE=8B=A6"; }
.fa-bicycle::before { content: "=EF=88=86"; }
.fa-rod-asclepius::before, .fa-rod-snake::before, .fa-staff-aesculapius::be=
fore, .fa-staff-snake::before { content: "=EE=95=B9"; }
.fa-head-side-cough-slash::before { content: "=EE=81=A2"; }
.fa-ambulance::before, .fa-truck-medical::before { content: "=EF=83=B9"; }
.fa-wheat-awn-circle-exclamation::before { content: "=EE=96=98"; }
.fa-snowman::before { content: "=EF=9F=90"; }
.fa-mortar-pestle::before { content: "=EF=96=A7"; }
.fa-road-barrier::before { content: "=EE=95=A2"; }
.fa-school::before { content: "=EF=95=89"; }
.fa-igloo::before { content: "=EF=9E=AE"; }
.fa-joint::before { content: "=EF=96=95"; }
.fa-angle-right::before { content: "=EF=84=85"; }
.fa-horse::before { content: "=EF=9B=B0"; }
.fa-q::before { content: "Q"; }
.fa-g::before { content: "G"; }
.fa-notes-medical::before { content: "=EF=92=81"; }
.fa-temperature-2::before, .fa-temperature-half::before, .fa-thermometer-2:=
:before, .fa-thermometer-half::before { content: "=EF=8B=89"; }
.fa-dong-sign::before { content: "=EE=85=A9"; }
.fa-capsules::before { content: "=EF=91=AB"; }
.fa-poo-bolt::before, .fa-poo-storm::before { content: "=EF=9D=9A"; }
.fa-face-frown-open::before, .fa-frown-open::before { content: "=EF=95=BA";=
}
.fa-hand-point-up::before { content: "=EF=82=A6"; }
.fa-money-bill::before { content: "=EF=83=96"; }
.fa-bookmark::before { content: "=EF=80=AE"; }
.fa-align-justify::before { content: "=EF=80=B9"; }
.fa-umbrella-beach::before { content: "=EF=97=8A"; }
.fa-helmet-un::before { content: "=EE=94=83"; }
.fa-bullseye::before { content: "=EF=85=80"; }
.fa-bacon::before { content: "=EF=9F=A5"; }
.fa-hand-point-down::before { content: "=EF=82=A7"; }
.fa-arrow-up-from-bracket::before { content: "=EE=82=9A"; }
.fa-folder-blank::before, .fa-folder::before { content: "=EF=81=BB"; }
.fa-file-medical-alt::before, .fa-file-waveform::before { content: "=EF=91=
=B8"; }
.fa-radiation::before { content: "=EF=9E=B9"; }
.fa-chart-simple::before { content: "=EE=91=B3"; }
.fa-mars-stroke::before { content: "=EF=88=A9"; }
.fa-vial::before { content: "=EF=92=92"; }
.fa-dashboard::before, .fa-gauge-med::before, .fa-gauge::before, .fa-tachom=
eter-alt-average::before { content: "=EF=98=A4"; }
.fa-magic-wand-sparkles::before, .fa-wand-magic-sparkles::before { content:=
"=EE=8B=8A"; }
.fa-e::before { content: "E"; }
.fa-pen-alt::before, .fa-pen-clip::before { content: "=EF=8C=85"; }
.fa-bridge-circle-exclamation::before { content: "=EE=93=8A"; }
.fa-user::before { content: "=EF=80=87"; }
.fa-school-circle-check::before { content: "=EE=95=AB"; }
.fa-dumpster::before { content: "=EF=9E=93"; }
.fa-shuttle-van::before, .fa-van-shuttle::before { content: "=EF=96=B6"; }
.fa-building-user::before { content: "=EE=93=9A"; }
.fa-caret-square-left::before, .fa-square-caret-left::before { content: "=
=EF=86=91"; }
.fa-highlighter::before { content: "=EF=96=91"; }
.fa-key::before { content: "=EF=82=84"; }
.fa-bullhorn::before { content: "=EF=82=A1"; }
.fa-globe::before { content: "=EF=82=AC"; }
.fa-synagogue::before { content: "=EF=9A=9B"; }
.fa-person-half-dress::before { content: "=EE=95=88"; }
.fa-road-bridge::before { content: "=EE=95=A3"; }
.fa-location-arrow::before { content: "=EF=84=A4"; }
.fa-c::before { content: "C"; }
.fa-tablet-button::before { content: "=EF=84=8A"; }
.fa-building-lock::before { content: "=EE=93=96"; }
.fa-pizza-slice::before { content: "=EF=A0=98"; }
.fa-money-bill-wave::before { content: "=EF=94=BA"; }
.fa-area-chart::before, .fa-chart-area::before { content: "=EF=87=BE"; }
.fa-house-flag::before { content: "=EE=94=8D"; }
.fa-person-circle-minus::before { content: "=EE=95=80"; }
.fa-ban::before, .fa-cancel::before { content: "=EF=81=9E"; }
.fa-camera-rotate::before { content: "=EE=83=98"; }
.fa-air-freshener::before, .fa-spray-can-sparkles::before { content: "=EF=
=97=90"; }
.fa-star::before { content: "=EF=80=85"; }
.fa-repeat::before { content: "=EF=8D=A3"; }
.fa-cross::before { content: "=EF=99=94"; }
.fa-box::before { content: "=EF=91=A6"; }
.fa-venus-mars::before { content: "=EF=88=A8"; }
.fa-arrow-pointer::before, .fa-mouse-pointer::before { content: "=EF=89=85"=
; }
.fa-expand-arrows-alt::before, .fa-maximize::before { content: "=EF=8C=9E";=
}
.fa-charging-station::before { content: "=EF=97=A7"; }
.fa-shapes::before, .fa-triangle-circle-square::before { content: "=EF=98=
=9F"; }
.fa-random::before, .fa-shuffle::before { content: "=EF=81=B4"; }
.fa-person-running::before, .fa-running::before { content: "=EF=9C=8C"; }
.fa-mobile-retro::before { content: "=EE=94=A7"; }
.fa-grip-lines-vertical::before { content: "=EF=9E=A5"; }
.fa-spider::before { content: "=EF=9C=97"; }
.fa-hands-bound::before { content: "=EE=93=B9"; }
.fa-file-invoice-dollar::before { content: "=EF=95=B1"; }
.fa-plane-circle-exclamation::before { content: "=EE=95=96"; }
.fa-x-ray::before { content: "=EF=92=97"; }
.fa-spell-check::before { content: "=EF=A2=91"; }
.fa-slash::before { content: "=EF=9C=95"; }
.fa-computer-mouse::before, .fa-mouse::before { content: "=EF=A3=8C"; }
.fa-arrow-right-to-bracket::before, .fa-sign-in::before { content: "=EF=82=
=90"; }
.fa-shop-slash::before, .fa-store-alt-slash::before { content: "=EE=81=B0";=
}
.fa-server::before { content: "=EF=88=B3"; }
.fa-virus-covid-slash::before { content: "=EE=92=A9"; }
.fa-shop-lock::before { content: "=EE=92=A5"; }
.fa-hourglass-1::before, .fa-hourglass-start::before { content: "=EF=89=91"=
; }
.fa-blender-phone::before { content: "=EF=9A=B6"; }
.fa-building-wheat::before { content: "=EE=93=9B"; }
.fa-person-breastfeeding::before { content: "=EE=94=BA"; }
.fa-right-to-bracket::before, .fa-sign-in-alt::before { content: "=EF=8B=B6=
"; }
.fa-venus::before { content: "=EF=88=A1"; }
.fa-passport::before { content: "=EF=96=AB"; }
.fa-heart-pulse::before, .fa-heartbeat::before { content: "=EF=88=9E"; }
.fa-people-carry-box::before, .fa-people-carry::before { content: "=EF=93=
=8E"; }
.fa-temperature-high::before { content: "=EF=9D=A9"; }
.fa-microchip::before { content: "=EF=8B=9B"; }
.fa-crown::before { content: "=EF=94=A1"; }
.fa-weight-hanging::before { content: "=EF=97=8D"; }
.fa-xmarks-lines::before { content: "=EE=96=9A"; }
.fa-file-prescription::before { content: "=EF=95=B2"; }
.fa-weight-scale::before, .fa-weight::before { content: "=EF=92=96"; }
.fa-user-friends::before, .fa-user-group::before { content: "=EF=94=80"; }
.fa-arrow-up-a-z::before, .fa-sort-alpha-up::before { content: "=EF=85=9E";=
}
.fa-chess-knight::before { content: "=EF=91=81"; }
.fa-face-laugh-squint::before, .fa-laugh-squint::before { content: "=EF=96=
=9B"; }
.fa-wheelchair::before { content: "=EF=86=93"; }
.fa-arrow-circle-up::before, .fa-circle-arrow-up::before { content: "=EF=82=
=AA"; }
.fa-toggle-on::before { content: "=EF=88=85"; }
.fa-person-walking::before, .fa-walking::before { content: "=EF=95=94"; }
.fa-l::before { content: "L"; }
.fa-fire::before { content: "=EF=81=AD"; }
.fa-bed-pulse::before, .fa-procedures::before { content: "=EF=92=87"; }
.fa-shuttle-space::before, .fa-space-shuttle::before { content: "=EF=86=97"=
; }
.fa-face-laugh::before, .fa-laugh::before { content: "=EF=96=99"; }
.fa-folder-open::before { content: "=EF=81=BC"; }
.fa-heart-circle-plus::before { content: "=EE=94=80"; }
.fa-code-fork::before { content: "=EE=84=BB"; }
.fa-city::before { content: "=EF=99=8F"; }
.fa-microphone-alt::before, .fa-microphone-lines::before { content: "=EF=8F=
=89"; }
.fa-pepper-hot::before { content: "=EF=A0=96"; }
.fa-unlock::before { content: "=EF=82=9C"; }
.fa-colon-sign::before { content: "=EE=85=80"; }
.fa-headset::before { content: "=EF=96=90"; }
.fa-store-slash::before { content: "=EE=81=B1"; }
.fa-road-circle-xmark::before { content: "=EE=95=A6"; }
.fa-user-minus::before { content: "=EF=94=83"; }
.fa-mars-stroke-up::before, .fa-mars-stroke-v::before { content: "=EF=88=AA=
"; }
.fa-champagne-glasses::before, .fa-glass-cheers::before { content: "=EF=9E=
=9F"; }
.fa-clipboard::before { content: "=EF=8C=A8"; }
.fa-house-circle-exclamation::before { content: "=EE=94=8A"; }
.fa-file-arrow-up::before, .fa-file-upload::before { content: "=EF=95=B4"; =
}
.fa-wifi-3::before, .fa-wifi-strong::before, .fa-wifi::before { content: "=
=EF=87=AB"; }
.fa-bath::before, .fa-bathtub::before { content: "=EF=8B=8D"; }
.fa-underline::before { content: "=EF=83=8D"; }
.fa-user-edit::before, .fa-user-pen::before { content: "=EF=93=BF"; }
.fa-signature::before { content: "=EF=96=B7"; }
.fa-stroopwafel::before { content: "=EF=95=91"; }
.fa-bold::before { content: "=EF=80=B2"; }
.fa-anchor-lock::before { content: "=EE=92=AD"; }
.fa-building-ngo::before { content: "=EE=93=97"; }
.fa-manat-sign::before { content: "=EE=87=95"; }
.fa-not-equal::before { content: "=EF=94=BE"; }
.fa-border-style::before, .fa-border-top-left::before { content: "=EF=A1=93=
"; }
.fa-map-location-dot::before, .fa-map-marked-alt::before { content: "=EF=96=
=A0"; }
.fa-jedi::before { content: "=EF=99=A9"; }
.fa-poll::before, .fa-square-poll-vertical::before { content: "=EF=9A=81"; =
}
.fa-mug-hot::before { content: "=EF=9E=B6"; }
.fa-battery-car::before, .fa-car-battery::before { content: "=EF=97=9F"; }
.fa-gift::before { content: "=EF=81=AB"; }
.fa-dice-two::before { content: "=EF=94=A8"; }
.fa-chess-queen::before { content: "=EF=91=85"; }
.fa-glasses::before { content: "=EF=94=B0"; }
.fa-chess-board::before { content: "=EF=90=BC"; }
.fa-building-circle-check::before { content: "=EE=93=92"; }
.fa-person-chalkboard::before { content: "=EE=94=BD"; }
.fa-mars-stroke-h::before, .fa-mars-stroke-right::before { content: "=EF=88=
=AB"; }
.fa-hand-back-fist::before, .fa-hand-rock::before { content: "=EF=89=95"; }
.fa-caret-square-up::before, .fa-square-caret-up::before { content: "=EF=85=
=91"; }
.fa-cloud-showers-water::before { content: "=EE=93=A4"; }
.fa-bar-chart::before, .fa-chart-bar::before { content: "=EF=82=80"; }
.fa-hands-bubbles::before, .fa-hands-wash::before { content: "=EE=81=9E"; }
.fa-less-than-equal::before { content: "=EF=94=B7"; }
.fa-train::before { content: "=EF=88=B8"; }
.fa-eye-low-vision::before, .fa-low-vision::before { content: "=EF=8A=A8"; =
}
.fa-crow::before { content: "=EF=94=A0"; }
.fa-sailboat::before { content: "=EE=91=85"; }
.fa-window-restore::before { content: "=EF=8B=92"; }
.fa-plus-square::before, .fa-square-plus::before { content: "=EF=83=BE"; }
.fa-torii-gate::before { content: "=EF=9A=A1"; }
.fa-frog::before { content: "=EF=94=AE"; }
.fa-bucket::before { content: "=EE=93=8F"; }
.fa-image::before { content: "=EF=80=BE"; }
.fa-microphone::before { content: "=EF=84=B0"; }
.fa-cow::before { content: "=EF=9B=88"; }
.fa-caret-up::before { content: "=EF=83=98"; }
.fa-screwdriver::before { content: "=EF=95=8A"; }
.fa-folder-closed::before { content: "=EE=86=85"; }
.fa-house-tsunami::before { content: "=EE=94=95"; }
.fa-square-nfi::before { content: "=EE=95=B6"; }
.fa-arrow-up-from-ground-water::before { content: "=EE=92=B5"; }
.fa-glass-martini-alt::before, .fa-martini-glass::before { content: "=EF=95=
=BB"; }
.fa-rotate-back::before, .fa-rotate-backward::before, .fa-rotate-left::befo=
re, .fa-undo-alt::before { content: "=EF=8B=AA"; }
.fa-columns::before, .fa-table-columns::before { content: "=EF=83=9B"; }
.fa-lemon::before { content: "=EF=82=94"; }
.fa-head-side-mask::before { content: "=EE=81=A3"; }
.fa-handshake::before { content: "=EF=8A=B5"; }
.fa-gem::before { content: "=EF=8E=A5"; }
.fa-dolly-box::before, .fa-dolly::before { content: "=EF=91=B2"; }
.fa-smoking::before { content: "=EF=92=8D"; }
.fa-compress-arrows-alt::before, .fa-minimize::before { content: "=EF=9E=8C=
"; }
.fa-monument::before { content: "=EF=96=A6"; }
.fa-snowplow::before { content: "=EF=9F=92"; }
.fa-angle-double-right::before, .fa-angles-right::before { content: "=EF=84=
=81"; }
.fa-cannabis::before { content: "=EF=95=9F"; }
.fa-circle-play::before, .fa-play-circle::before { content: "=EF=85=84"; }
.fa-tablets::before { content: "=EF=92=90"; }
.fa-ethernet::before { content: "=EF=9E=96"; }
.fa-eur::before, .fa-euro-sign::before, .fa-euro::before { content: "=EF=85=
=93"; }
.fa-chair::before { content: "=EF=9B=80"; }
.fa-check-circle::before, .fa-circle-check::before { content: "=EF=81=98"; =
}
.fa-circle-stop::before, .fa-stop-circle::before { content: "=EF=8A=8D"; }
.fa-compass-drafting::before, .fa-drafting-compass::before { content: "=EF=
=95=A8"; }
.fa-plate-wheat::before { content: "=EE=95=9A"; }
.fa-icicles::before { content: "=EF=9E=AD"; }
.fa-person-shelter::before { content: "=EE=95=8F"; }
.fa-neuter::before { content: "=EF=88=AC"; }
.fa-id-badge::before { content: "=EF=8B=81"; }
.fa-marker::before { content: "=EF=96=A1"; }
.fa-face-laugh-beam::before, .fa-laugh-beam::before { content: "=EF=96=9A";=
}
.fa-helicopter-symbol::before { content: "=EE=94=82"; }
.fa-universal-access::before { content: "=EF=8A=9A"; }
.fa-chevron-circle-up::before, .fa-circle-chevron-up::before { content: "=
=EF=84=B9"; }
.fa-lari-sign::before { content: "=EE=87=88"; }
.fa-volcano::before { content: "=EF=9D=B0"; }
.fa-person-walking-dashed-line-arrow-right::before { content: "=EE=95=93"; =
}
.fa-gbp::before, .fa-pound-sign::before, .fa-sterling-sign::before { conten=
t: "=EF=85=94"; }
.fa-viruses::before { content: "=EE=81=B6"; }
.fa-square-person-confined::before { content: "=EE=95=B7"; }
.fa-user-tie::before { content: "=EF=94=88"; }
.fa-arrow-down-long::before, .fa-long-arrow-down::before { content: "=EF=85=
=B5"; }
.fa-tent-arrow-down-to-line::before { content: "=EE=95=BE"; }
.fa-certificate::before { content: "=EF=82=A3"; }
.fa-mail-reply-all::before, .fa-reply-all::before { content: "=EF=84=A2"; }
.fa-suitcase::before { content: "=EF=83=B2"; }
.fa-person-skating::before, .fa-skating::before { content: "=EF=9F=85"; }
.fa-filter-circle-dollar::before, .fa-funnel-dollar::before { content: "=EF=
=99=A2"; }
.fa-camera-retro::before { content: "=EF=82=83"; }
.fa-arrow-circle-down::before, .fa-circle-arrow-down::before { content: "=
=EF=82=AB"; }
.fa-arrow-right-to-file::before, .fa-file-import::before { content: "=EF=95=
=AF"; }
.fa-external-link-square::before, .fa-square-arrow-up-right::before { conte=
nt: "=EF=85=8C"; }
.fa-box-open::before { content: "=EF=92=9E"; }
.fa-scroll::before { content: "=EF=9C=8E"; }
.fa-spa::before { content: "=EF=96=BB"; }
.fa-location-pin-lock::before { content: "=EE=94=9F"; }
.fa-pause::before { content: "=EF=81=8C"; }
.fa-hill-avalanche::before { content: "=EE=94=87"; }
.fa-temperature-0::before, .fa-temperature-empty::before, .fa-thermometer-0=
::before, .fa-thermometer-empty::before { content: "=EF=8B=8B"; }
.fa-bomb::before { content: "=EF=87=A2"; }
.fa-registered::before { content: "=EF=89=9D"; }
.fa-address-card::before, .fa-contact-card::before, .fa-vcard::before { con=
tent: "=EF=8A=BB"; }
.fa-balance-scale-right::before, .fa-scale-unbalanced-flip::before { conten=
t: "=EF=94=96"; }
.fa-subscript::before { content: "=EF=84=AC"; }
.fa-diamond-turn-right::before, .fa-directions::before { content: "=EF=97=
=AB"; }
.fa-burst::before { content: "=EE=93=9C"; }
.fa-house-laptop::before, .fa-laptop-house::before { content: "=EE=81=A6"; =
}
.fa-face-tired::before, .fa-tired::before { content: "=EF=97=88"; }
.fa-money-bills::before { content: "=EE=87=B3"; }
.fa-smog::before { content: "=EF=9D=9F"; }
.fa-crutch::before { content: "=EF=9F=B7"; }
.fa-cloud-arrow-up::before, .fa-cloud-upload-alt::before, .fa-cloud-upload:=
:before { content: "=EF=83=AE"; }
.fa-palette::before { content: "=EF=94=BF"; }
.fa-arrows-turn-right::before { content: "=EE=93=80"; }
.fa-vest::before { content: "=EE=82=85"; }
.fa-ferry::before { content: "=EE=93=AA"; }
.fa-arrows-down-to-people::before { content: "=EE=92=B9"; }
.fa-seedling::before, .fa-sprout::before { content: "=EF=93=98"; }
.fa-arrows-alt-h::before, .fa-left-right::before { content: "=EF=8C=B7"; }
.fa-boxes-packing::before { content: "=EE=93=87"; }
.fa-arrow-circle-left::before, .fa-circle-arrow-left::before { content: "=
=EF=82=A8"; }
.fa-group-arrows-rotate::before { content: "=EE=93=B6"; }
.fa-bowl-food::before { content: "=EE=93=86"; }
.fa-candy-cane::before { content: "=EF=9E=86"; }
.fa-arrow-down-wide-short::before, .fa-sort-amount-asc::before, .fa-sort-am=
ount-down::before { content: "=EF=85=A0"; }
.fa-cloud-bolt::before, .fa-thunderstorm::before { content: "=EF=9D=AC"; }
.fa-remove-format::before, .fa-text-slash::before { content: "=EF=A1=BD"; }
.fa-face-smile-wink::before, .fa-smile-wink::before { content: "=EF=93=9A";=
}
.fa-file-word::before { content: "=EF=87=82"; }
.fa-file-powerpoint::before { content: "=EF=87=84"; }
.fa-arrows-h::before, .fa-arrows-left-right::before { content: "=EF=81=BE";=
}
.fa-house-lock::before { content: "=EE=94=90"; }
.fa-cloud-arrow-down::before, .fa-cloud-download-alt::before, .fa-cloud-dow=
nload::before { content: "=EF=83=AD"; }
.fa-children::before { content: "=EE=93=A1"; }
.fa-blackboard::before, .fa-chalkboard::before { content: "=EF=94=9B"; }
.fa-user-alt-slash::before, .fa-user-large-slash::before { content: "=EF=93=
=BA"; }
.fa-envelope-open::before { content: "=EF=8A=B6"; }
.fa-handshake-alt-slash::before, .fa-handshake-simple-slash::before { conte=
nt: "=EE=81=9F"; }
.fa-mattress-pillow::before { content: "=EE=94=A5"; }
.fa-guarani-sign::before { content: "=EE=86=9A"; }
.fa-arrows-rotate::before, .fa-refresh::before, .fa-sync::before { content:=
"=EF=80=A1"; }
.fa-fire-extinguisher::before { content: "=EF=84=B4"; }
.fa-cruzeiro-sign::before { content: "=EE=85=92"; }
.fa-greater-than-equal::before { content: "=EF=94=B2"; }
.fa-shield-alt::before, .fa-shield-halved::before { content: "=EF=8F=AD"; }
.fa-atlas::before, .fa-book-atlas::before { content: "=EF=95=98"; }
.fa-virus::before { content: "=EE=81=B4"; }
.fa-envelope-circle-check::before { content: "=EE=93=A8"; }
.fa-layer-group::before { content: "=EF=97=BD"; }
.fa-arrows-to-dot::before { content: "=EE=92=BE"; }
.fa-archway::before { content: "=EF=95=97"; }
.fa-heart-circle-check::before { content: "=EE=93=BD"; }
.fa-house-chimney-crack::before, .fa-house-damage::before { content: "=EF=
=9B=B1"; }
.fa-file-archive::before, .fa-file-zipper::before { content: "=EF=87=86"; }
.fa-square::before { content: "=EF=83=88"; }
.fa-glass-martini::before, .fa-martini-glass-empty::before { content: "=EF=
=80=80"; }
.fa-couch::before { content: "=EF=92=B8"; }
.fa-cedi-sign::before { content: "=EE=83=9F"; }
.fa-italic::before { content: "=EF=80=B3"; }
.fa-church::before { content: "=EF=94=9D"; }
.fa-comments-dollar::before { content: "=EF=99=93"; }
.fa-democrat::before { content: "=EF=9D=87"; }
.fa-z::before { content: "Z"; }
.fa-person-skiing::before, .fa-skiing::before { content: "=EF=9F=89"; }
.fa-road-lock::before { content: "=EE=95=A7"; }
.fa-a::before { content: "A"; }
.fa-temperature-arrow-down::before, .fa-temperature-down::before { content:=
"=EE=80=BF"; }
.fa-feather-alt::before, .fa-feather-pointed::before { content: "=EF=95=AB"=
; }
.fa-p::before { content: "P"; }
.fa-snowflake::before { content: "=EF=8B=9C"; }
.fa-newspaper::before { content: "=EF=87=AA"; }
.fa-ad::before, .fa-rectangle-ad::before { content: "=EF=99=81"; }
.fa-arrow-circle-right::before, .fa-circle-arrow-right::before { content: "=
=EF=82=A9"; }
.fa-filter-circle-xmark::before { content: "=EE=85=BB"; }
.fa-locust::before { content: "=EE=94=A0"; }
.fa-sort::before, .fa-unsorted::before { content: "=EF=83=9C"; }
.fa-list-1-2::before, .fa-list-numeric::before, .fa-list-ol::before { conte=
nt: "=EF=83=8B"; }
.fa-person-dress-burst::before { content: "=EE=95=84"; }
.fa-money-check-alt::before, .fa-money-check-dollar::before { content: "=EF=
=94=BD"; }
.fa-vector-square::before { content: "=EF=97=8B"; }
.fa-bread-slice::before { content: "=EF=9F=AC"; }
.fa-language::before { content: "=EF=86=AB"; }
.fa-face-kiss-wink-heart::before, .fa-kiss-wink-heart::before { content: "=
=EF=96=98"; }
.fa-filter::before { content: "=EF=82=B0"; }
.fa-question::before { content: "?"; }
.fa-file-signature::before { content: "=EF=95=B3"; }
.fa-arrows-alt::before, .fa-up-down-left-right::before { content: "=EF=82=
=B2"; }
.fa-house-chimney-user::before { content: "=EE=81=A5"; }
.fa-hand-holding-heart::before { content: "=EF=92=BE"; }
.fa-puzzle-piece::before { content: "=EF=84=AE"; }
.fa-money-check::before { content: "=EF=94=BC"; }
.fa-star-half-alt::before, .fa-star-half-stroke::before { content: "=EF=97=
=80"; }
.fa-code::before { content: "=EF=84=A1"; }
.fa-glass-whiskey::before, .fa-whiskey-glass::before { content: "=EF=9E=A0"=
; }
.fa-building-circle-exclamation::before { content: "=EE=93=93"; }
.fa-magnifying-glass-chart::before { content: "=EE=94=A2"; }
.fa-arrow-up-right-from-square::before, .fa-external-link::before { content=
: "=EF=82=8E"; }
.fa-cubes-stacked::before { content: "=EE=93=A6"; }
.fa-krw::before, .fa-won-sign::before, .fa-won::before { content: "=EF=85=
=99"; }
.fa-virus-covid::before { content: "=EE=92=A8"; }
.fa-austral-sign::before { content: "=EE=82=A9"; }
.fa-f::before { content: "F"; }
.fa-leaf::before { content: "=EF=81=AC"; }
.fa-road::before { content: "=EF=80=98"; }
.fa-cab::before, .fa-taxi::before { content: "=EF=86=BA"; }
.fa-person-circle-plus::before { content: "=EE=95=81"; }
.fa-chart-pie::before, .fa-pie-chart::before { content: "=EF=88=80"; }
.fa-bolt-lightning::before { content: "=EE=82=B7"; }
.fa-sack-xmark::before { content: "=EE=95=AA"; }
.fa-file-excel::before { content: "=EF=87=83"; }
.fa-file-contract::before { content: "=EF=95=AC"; }
.fa-fish-fins::before { content: "=EE=93=B2"; }
.fa-building-flag::before { content: "=EE=93=95"; }
.fa-face-grin-beam::before, .fa-grin-beam::before { content: "=EF=96=82"; }
.fa-object-ungroup::before { content: "=EF=89=88"; }
.fa-poop::before { content: "=EF=98=99"; }
.fa-location-pin::before, .fa-map-marker::before { content: "=EF=81=81"; }
.fa-kaaba::before { content: "=EF=99=AB"; }
.fa-toilet-paper::before { content: "=EF=9C=9E"; }
.fa-hard-hat::before, .fa-hat-hard::before, .fa-helmet-safety::before { con=
tent: "=EF=A0=87"; }
.fa-eject::before { content: "=EF=81=92"; }
.fa-arrow-alt-circle-right::before, .fa-circle-right::before { content: "=
=EF=8D=9A"; }
.fa-plane-circle-check::before { content: "=EE=95=95"; }
.fa-face-rolling-eyes::before, .fa-meh-rolling-eyes::before { content: "=EF=
=96=A5"; }
.fa-object-group::before { content: "=EF=89=87"; }
.fa-chart-line::before, .fa-line-chart::before { content: "=EF=88=81"; }
.fa-mask-ventilator::before { content: "=EE=94=A4"; }
.fa-arrow-right::before { content: "=EF=81=A1"; }
.fa-map-signs::before, .fa-signs-post::before { content: "=EF=89=B7"; }
.fa-cash-register::before { content: "=EF=9E=88"; }
.fa-person-circle-question::before { content: "=EE=95=82"; }
.fa-h::before { content: "H"; }
.fa-tarp::before { content: "=EE=95=BB"; }
.fa-screwdriver-wrench::before, .fa-tools::before { content: "=EF=9F=99"; }
.fa-arrows-to-eye::before { content: "=EE=92=BF"; }
.fa-plug-circle-bolt::before { content: "=EE=95=9B"; }
.fa-heart::before { content: "=EF=80=84"; }
.fa-mars-and-venus::before { content: "=EF=88=A4"; }
.fa-home-user::before, .fa-house-user::before { content: "=EE=86=B0"; }
.fa-dumpster-fire::before { content: "=EF=9E=94"; }
.fa-house-crack::before { content: "=EE=8E=B1"; }
.fa-cocktail::before, .fa-martini-glass-citrus::before { content: "=EF=95=
=A1"; }
.fa-face-surprise::before, .fa-surprise::before { content: "=EF=97=82"; }
.fa-bottle-water::before { content: "=EE=93=85"; }
.fa-circle-pause::before, .fa-pause-circle::before { content: "=EF=8A=8B"; =
}
.fa-toilet-paper-slash::before { content: "=EE=81=B2"; }
.fa-apple-alt::before, .fa-apple-whole::before { content: "=EF=97=91"; }
.fa-kitchen-set::before { content: "=EE=94=9A"; }
.fa-r::before { content: "R"; }
.fa-temperature-1::before, .fa-temperature-quarter::before, .fa-thermometer=
-1::before, .fa-thermometer-quarter::before { content: "=EF=8B=8A"; }
.fa-cube::before { content: "=EF=86=B2"; }
.fa-bitcoin-sign::before { content: "=EE=82=B4"; }
.fa-shield-dog::before { content: "=EE=95=B3"; }
.fa-solar-panel::before { content: "=EF=96=BA"; }
.fa-lock-open::before { content: "=EF=8F=81"; }
.fa-elevator::before { content: "=EE=85=AD"; }
.fa-money-bill-transfer::before { content: "=EE=94=A8"; }
.fa-money-bill-trend-up::before { content: "=EE=94=A9"; }
.fa-house-flood-water-circle-arrow-right::before { content: "=EE=94=8F"; }
.fa-poll-h::before, .fa-square-poll-horizontal::before { content: "=EF=9A=
=82"; }
.fa-circle::before { content: "=EF=84=91"; }
.fa-backward-fast::before, .fa-fast-backward::before { content: "=EF=81=89"=
; }
.fa-recycle::before { content: "=EF=86=B8"; }
.fa-user-astronaut::before { content: "=EF=93=BB"; }
.fa-plane-slash::before { content: "=EE=81=A9"; }
.fa-trademark::before { content: "=EF=89=9C"; }
.fa-basketball-ball::before, .fa-basketball::before { content: "=EF=90=B4";=
}
.fa-satellite-dish::before { content: "=EF=9F=80"; }
.fa-arrow-alt-circle-up::before, .fa-circle-up::before { content: "=EF=8D=
=9B"; }
.fa-mobile-alt::before, .fa-mobile-screen-button::before { content: "=EF=8F=
=8D"; }
.fa-volume-high::before, .fa-volume-up::before { content: "=EF=80=A8"; }
.fa-users-rays::before { content: "=EE=96=93"; }
.fa-wallet::before { content: "=EF=95=95"; }
.fa-clipboard-check::before { content: "=EF=91=AC"; }
.fa-file-audio::before { content: "=EF=87=87"; }
.fa-burger::before, .fa-hamburger::before { content: "=EF=A0=85"; }
.fa-wrench::before { content: "=EF=82=AD"; }
.fa-bugs::before { content: "=EE=93=90"; }
.fa-rupee-sign::before, .fa-rupee::before { content: "=EF=85=96"; }
.fa-file-image::before { content: "=EF=87=85"; }
.fa-circle-question::before, .fa-question-circle::before { content: "=EF=81=
=99"; }
.fa-plane-departure::before { content: "=EF=96=B0"; }
.fa-handshake-slash::before { content: "=EE=81=A0"; }
.fa-book-bookmark::before { content: "=EE=82=BB"; }
.fa-code-branch::before { content: "=EF=84=A6"; }
.fa-hat-cowboy::before { content: "=EF=A3=80"; }
.fa-bridge::before { content: "=EE=93=88"; }
.fa-phone-alt::before, .fa-phone-flip::before { content: "=EF=A1=B9"; }
.fa-truck-front::before { content: "=EE=8A=B7"; }
.fa-cat::before { content: "=EF=9A=BE"; }
.fa-anchor-circle-exclamation::before { content: "=EE=92=AB"; }
.fa-truck-field::before { content: "=EE=96=8D"; }
.fa-route::before { content: "=EF=93=97"; }
.fa-clipboard-question::before { content: "=EE=93=A3"; }
.fa-panorama::before { content: "=EE=88=89"; }
.fa-comment-medical::before { content: "=EF=9F=B5"; }
.fa-teeth-open::before { content: "=EF=98=AF"; }
.fa-file-circle-minus::before { content: "=EE=93=AD"; }
.fa-tags::before { content: "=EF=80=AC"; }
.fa-wine-glass::before { content: "=EF=93=A3"; }
.fa-fast-forward::before, .fa-forward-fast::before { content: "=EF=81=90"; =
}
.fa-face-meh-blank::before, .fa-meh-blank::before { content: "=EF=96=A4"; }
.fa-parking::before, .fa-square-parking::before { content: "=EF=95=80"; }
.fa-house-signal::before { content: "=EE=80=92"; }
.fa-bars-progress::before, .fa-tasks-alt::before { content: "=EF=A0=A8"; }
.fa-faucet-drip::before { content: "=EE=80=86"; }
.fa-cart-flatbed::before, .fa-dolly-flatbed::before { content: "=EF=91=B4";=
}
.fa-ban-smoking::before, .fa-smoking-ban::before { content: "=EF=95=8D"; }
.fa-terminal::before { content: "=EF=84=A0"; }
.fa-mobile-button::before { content: "=EF=84=8B"; }
.fa-house-medical-flag::before { content: "=EE=94=94"; }
.fa-basket-shopping::before, .fa-shopping-basket::before { content: "=EF=8A=
=91"; }
.fa-tape::before { content: "=EF=93=9B"; }
.fa-bus-alt::before, .fa-bus-simple::before { content: "=EF=95=9E"; }
.fa-eye::before { content: "=EF=81=AE"; }
.fa-face-sad-cry::before, .fa-sad-cry::before { content: "=EF=96=B3"; }
.fa-audio-description::before { content: "=EF=8A=9E"; }
.fa-person-military-to-person::before { content: "=EE=95=8C"; }
.fa-file-shield::before { content: "=EE=93=B0"; }
.fa-user-slash::before { content: "=EF=94=86"; }
.fa-pen::before { content: "=EF=8C=84"; }
.fa-tower-observation::before { content: "=EE=96=86"; }
.fa-file-code::before { content: "=EF=87=89"; }
.fa-signal-5::before, .fa-signal-perfect::before, .fa-signal::before { cont=
ent: "=EF=80=92"; }
.fa-bus::before { content: "=EF=88=87"; }
.fa-heart-circle-xmark::before { content: "=EE=94=81"; }
.fa-home-lg::before, .fa-house-chimney::before { content: "=EE=8E=AF"; }
.fa-window-maximize::before { content: "=EF=8B=90"; }
.fa-face-frown::before, .fa-frown::before { content: "=EF=84=99"; }
.fa-prescription::before { content: "=EF=96=B1"; }
.fa-shop::before, .fa-store-alt::before { content: "=EF=95=8F"; }
.fa-floppy-disk::before, .fa-save::before { content: "=EF=83=87"; }
.fa-vihara::before { content: "=EF=9A=A7"; }
.fa-balance-scale-left::before, .fa-scale-unbalanced::before { content: "=
=EF=94=95"; }
.fa-sort-asc::before, .fa-sort-up::before { content: "=EF=83=9E"; }
.fa-comment-dots::before, .fa-commenting::before { content: "=EF=92=AD"; }
.fa-plant-wilt::before { content: "=EE=96=AA"; }
.fa-diamond::before { content: "=EF=88=99"; }
.fa-face-grin-squint::before, .fa-grin-squint::before { content: "=EF=96=85=
"; }
.fa-hand-holding-dollar::before, .fa-hand-holding-usd::before { content: "=
=EF=93=80"; }
.fa-bacterium::before { content: "=EE=81=9A"; }
.fa-hand-pointer::before { content: "=EF=89=9A"; }
.fa-drum-steelpan::before { content: "=EF=95=AA"; }
.fa-hand-scissors::before { content: "=EF=89=97"; }
.fa-hands-praying::before, .fa-praying-hands::before { content: "=EF=9A=84"=
; }
.fa-arrow-right-rotate::before, .fa-arrow-rotate-forward::before, .fa-arrow=
-rotate-right::before, .fa-redo::before { content: "=EF=80=9E"; }
.fa-biohazard::before { content: "=EF=9E=80"; }
.fa-location-crosshairs::before, .fa-location::before { content: "=EF=98=81=
"; }
.fa-mars-double::before { content: "=EF=88=A7"; }
.fa-child-dress::before { content: "=EE=96=9C"; }
.fa-users-between-lines::before { content: "=EE=96=91"; }
.fa-lungs-virus::before { content: "=EE=81=A7"; }
.fa-face-grin-tears::before, .fa-grin-tears::before { content: "=EF=96=88";=
}
.fa-phone::before { content: "=EF=82=95"; }
.fa-calendar-times::before, .fa-calendar-xmark::before { content: "=EF=89=
=B3"; }
.fa-child-reaching::before { content: "=EE=96=9D"; }
.fa-head-side-virus::before { content: "=EE=81=A4"; }
.fa-user-cog::before, .fa-user-gear::before { content: "=EF=93=BE"; }
.fa-arrow-up-1-9::before, .fa-sort-numeric-up::before { content: "=EF=85=A3=
"; }
.fa-door-closed::before { content: "=EF=94=AA"; }
.fa-shield-virus::before { content: "=EE=81=AC"; }
.fa-dice-six::before { content: "=EF=94=A6"; }
.fa-mosquito-net::before { content: "=EE=94=AC"; }
.fa-bridge-water::before { content: "=EE=93=8E"; }
.fa-person-booth::before { content: "=EF=9D=96"; }
.fa-text-width::before { content: "=EF=80=B5"; }
.fa-hat-wizard::before { content: "=EF=9B=A8"; }
.fa-pen-fancy::before { content: "=EF=96=AC"; }
.fa-digging::before, .fa-person-digging::before { content: "=EF=A1=9E"; }
.fa-trash::before { content: "=EF=87=B8"; }
.fa-gauge-simple-med::before, .fa-gauge-simple::before, .fa-tachometer-aver=
age::before { content: "=EF=98=A9"; }
.fa-book-medical::before { content: "=EF=9F=A6"; }
.fa-poo::before { content: "=EF=8B=BE"; }
.fa-quote-right-alt::before, .fa-quote-right::before { content: "=EF=84=8E"=
; }
.fa-shirt::before, .fa-t-shirt::before, .fa-tshirt::before { content: "=EF=
=95=93"; }
.fa-cubes::before { content: "=EF=86=B3"; }
.fa-divide::before { content: "=EF=94=A9"; }
.fa-tenge-sign::before, .fa-tenge::before { content: "=EF=9F=97"; }
.fa-headphones::before { content: "=EF=80=A5"; }
.fa-hands-holding::before { content: "=EF=93=82"; }
.fa-hands-clapping::before { content: "=EE=86=A8"; }
.fa-republican::before { content: "=EF=9D=9E"; }
.fa-arrow-left::before { content: "=EF=81=A0"; }
.fa-person-circle-xmark::before { content: "=EE=95=83"; }
.fa-ruler::before { content: "=EF=95=85"; }
.fa-align-left::before { content: "=EF=80=B6"; }
.fa-dice-d6::before { content: "=EF=9B=91"; }
.fa-restroom::before { content: "=EF=9E=BD"; }
.fa-j::before { content: "J"; }
.fa-users-viewfinder::before { content: "=EE=96=95"; }
.fa-file-video::before { content: "=EF=87=88"; }
.fa-external-link-alt::before, .fa-up-right-from-square::before { content: =
"=EF=8D=9D"; }
.fa-table-cells::before, .fa-th::before { content: "=EF=80=8A"; }
.fa-file-pdf::before { content: "=EF=87=81"; }
.fa-bible::before, .fa-book-bible::before { content: "=EF=99=87"; }
.fa-o::before { content: "O"; }
.fa-medkit::before, .fa-suitcase-medical::before { content: "=EF=83=BA"; }
.fa-user-secret::before { content: "=EF=88=9B"; }
.fa-otter::before { content: "=EF=9C=80"; }
.fa-female::before, .fa-person-dress::before { content: "=EF=86=82"; }
.fa-comment-dollar::before { content: "=EF=99=91"; }
.fa-briefcase-clock::before, .fa-business-time::before { content: "=EF=99=
=8A"; }
.fa-table-cells-large::before, .fa-th-large::before { content: "=EF=80=89";=
}
.fa-book-tanakh::before, .fa-tanakh::before { content: "=EF=A0=A7"; }
.fa-phone-volume::before, .fa-volume-control-phone::before { content: "=EF=
=8A=A0"; }
.fa-hat-cowboy-side::before { content: "=EF=A3=81"; }
.fa-clipboard-user::before { content: "=EF=9F=B3"; }
.fa-child::before { content: "=EF=86=AE"; }
.fa-lira-sign::before { content: "=EF=86=95"; }
.fa-satellite::before { content: "=EF=9E=BF"; }
.fa-plane-lock::before { content: "=EE=95=98"; }
.fa-tag::before { content: "=EF=80=AB"; }
.fa-comment::before { content: "=EF=81=B5"; }
.fa-birthday-cake::before, .fa-cake-candles::before, .fa-cake::before { con=
tent: "=EF=87=BD"; }
.fa-envelope::before { content: "=EF=83=A0"; }
.fa-angle-double-up::before, .fa-angles-up::before { content: "=EF=84=82"; =
}
.fa-paperclip::before { content: "=EF=83=86"; }
.fa-arrow-right-to-city::before { content: "=EE=92=B3"; }
.fa-ribbon::before { content: "=EF=93=96"; }
.fa-lungs::before { content: "=EF=98=84"; }
.fa-arrow-up-9-1::before, .fa-sort-numeric-up-alt::before { content: "=EF=
=A2=87"; }
.fa-litecoin-sign::before { content: "=EE=87=93"; }
.fa-border-none::before { content: "=EF=A1=90"; }
.fa-circle-nodes::before { content: "=EE=93=A2"; }
.fa-parachute-box::before { content: "=EF=93=8D"; }
.fa-indent::before { content: "=EF=80=BC"; }
.fa-truck-field-un::before { content: "=EE=96=8E"; }
.fa-hourglass-empty::before, .fa-hourglass::before { content: "=EF=89=94"; =
}
.fa-mountain::before { content: "=EF=9B=BC"; }
.fa-user-doctor::before, .fa-user-md::before { content: "=EF=83=B0"; }
.fa-circle-info::before, .fa-info-circle::before { content: "=EF=81=9A"; }
.fa-cloud-meatball::before { content: "=EF=9C=BB"; }
.fa-camera-alt::before, .fa-camera::before { content: "=EF=80=B0"; }
.fa-square-virus::before { content: "=EE=95=B8"; }
.fa-meteor::before { content: "=EF=9D=93"; }
.fa-car-on::before { content: "=EE=93=9D"; }
.fa-sleigh::before { content: "=EF=9F=8C"; }
.fa-arrow-down-1-9::before, .fa-sort-numeric-asc::before, .fa-sort-numeric-=
down::before { content: "=EF=85=A2"; }
.fa-hand-holding-droplet::before, .fa-hand-holding-water::before { content:=
"=EF=93=81"; }
.fa-water::before { content: "=EF=9D=B3"; }
.fa-calendar-check::before { content: "=EF=89=B4"; }
.fa-braille::before { content: "=EF=8A=A1"; }
.fa-prescription-bottle-alt::before, .fa-prescription-bottle-medical::befor=
e { content: "=EF=92=86"; }
.fa-landmark::before { content: "=EF=99=AF"; }
.fa-truck::before { content: "=EF=83=91"; }
.fa-crosshairs::before { content: "=EF=81=9B"; }
.fa-person-cane::before { content: "=EE=94=BC"; }
.fa-tent::before { content: "=EE=95=BD"; }
.fa-vest-patches::before { content: "=EE=82=86"; }
.fa-check-double::before { content: "=EF=95=A0"; }
.fa-arrow-down-a-z::before, .fa-sort-alpha-asc::before, .fa-sort-alpha-down=
::before { content: "=EF=85=9D"; }
.fa-money-bill-wheat::before { content: "=EE=94=AA"; }
.fa-cookie::before { content: "=EF=95=A3"; }
.fa-arrow-left-rotate::before, .fa-arrow-rotate-back::before, .fa-arrow-rot=
ate-backward::before, .fa-arrow-rotate-left::before, .fa-undo::before { con=
tent: "=EF=83=A2"; }
.fa-hard-drive::before, .fa-hdd::before { content: "=EF=82=A0"; }
.fa-face-grin-squint-tears::before, .fa-grin-squint-tears::before { content=
: "=EF=96=86"; }
.fa-dumbbell::before { content: "=EF=91=8B"; }
.fa-list-alt::before, .fa-rectangle-list::before { content: "=EF=80=A2"; }
.fa-tarp-droplet::before { content: "=EE=95=BC"; }
.fa-house-medical-circle-check::before { content: "=EE=94=91"; }
.fa-person-skiing-nordic::before, .fa-skiing-nordic::before { content: "=EF=
=9F=8A"; }
.fa-calendar-plus::before { content: "=EF=89=B1"; }
.fa-plane-arrival::before { content: "=EF=96=AF"; }
.fa-arrow-alt-circle-left::before, .fa-circle-left::before { content: "=EF=
=8D=99"; }
.fa-subway::before, .fa-train-subway::before { content: "=EF=88=B9"; }
.fa-chart-gantt::before { content: "=EE=83=A4"; }
.fa-indian-rupee-sign::before, .fa-indian-rupee::before, .fa-inr::before { =
content: "=EE=86=BC"; }
.fa-crop-alt::before, .fa-crop-simple::before { content: "=EF=95=A5"; }
.fa-money-bill-1::before, .fa-money-bill-alt::before { content: "=EF=8F=91"=
; }
.fa-left-long::before, .fa-long-arrow-alt-left::before { content: "=EF=8C=
=8A"; }
.fa-dna::before { content: "=EF=91=B1"; }
.fa-virus-slash::before { content: "=EE=81=B5"; }
.fa-minus::before, .fa-subtract::before { content: "=EF=81=A8"; }
.fa-chess::before { content: "=EF=90=B9"; }
.fa-arrow-left-long::before, .fa-long-arrow-left::before { content: "=EF=85=
=B7"; }
.fa-plug-circle-check::before { content: "=EE=95=9C"; }
.fa-street-view::before { content: "=EF=88=9D"; }
.fa-franc-sign::before { content: "=EE=86=8F"; }
.fa-volume-off::before { content: "=EF=80=A6"; }
.fa-american-sign-language-interpreting::before, .fa-asl-interpreting::befo=
re, .fa-hands-american-sign-language-interpreting::before, .fa-hands-asl-in=
terpreting::before { content: "=EF=8A=A3"; }
.fa-cog::before, .fa-gear::before { content: "=EF=80=93"; }
.fa-droplet-slash::before, .fa-tint-slash::before { content: "=EF=97=87"; }
.fa-mosque::before { content: "=EF=99=B8"; }
.fa-mosquito::before { content: "=EE=94=AB"; }
.fa-star-of-david::before { content: "=EF=9A=9A"; }
.fa-person-military-rifle::before { content: "=EE=95=8B"; }
.fa-cart-shopping::before, .fa-shopping-cart::before { content: "=EF=81=BA"=
; }
.fa-vials::before { content: "=EF=92=93"; }
.fa-plug-circle-plus::before { content: "=EE=95=9F"; }
.fa-place-of-worship::before { content: "=EF=99=BF"; }
.fa-grip-vertical::before { content: "=EF=96=8E"; }
.fa-arrow-turn-up::before, .fa-level-up::before { content: "=EF=85=88"; }
.fa-u::before { content: "U"; }
.fa-square-root-alt::before, .fa-square-root-variable::before { content: "=
=EF=9A=98"; }
.fa-clock-four::before, .fa-clock::before { content: "=EF=80=97"; }
.fa-backward-step::before, .fa-step-backward::before { content: "=EF=81=88"=
; }
.fa-pallet::before { content: "=EF=92=82"; }
.fa-faucet::before { content: "=EE=80=85"; }
.fa-baseball-bat-ball::before { content: "=EF=90=B2"; }
.fa-s::before { content: "S"; }
.fa-timeline::before { content: "=EE=8A=9C"; }
.fa-keyboard::before { content: "=EF=84=9C"; }
.fa-caret-down::before { content: "=EF=83=97"; }
.fa-clinic-medical::before, .fa-house-chimney-medical::before { content: "=
=EF=9F=B2"; }
.fa-temperature-3::before, .fa-temperature-three-quarters::before, .fa-ther=
mometer-3::before, .fa-thermometer-three-quarters::before { content: "=EF=
=8B=88"; }
.fa-mobile-android-alt::before, .fa-mobile-screen::before { content: "=EF=
=8F=8F"; }
.fa-plane-up::before { content: "=EE=88=AD"; }
.fa-piggy-bank::before { content: "=EF=93=93"; }
.fa-battery-3::before, .fa-battery-half::before { content: "=EF=89=82"; }
.fa-mountain-city::before { content: "=EE=94=AE"; }
.fa-coins::before { content: "=EF=94=9E"; }
.fa-khanda::before { content: "=EF=99=AD"; }
.fa-sliders-h::before, .fa-sliders::before { content: "=EF=87=9E"; }
.fa-folder-tree::before { content: "=EF=A0=82"; }
.fa-network-wired::before { content: "=EF=9B=BF"; }
.fa-map-pin::before { content: "=EF=89=B6"; }
.fa-hamsa::before { content: "=EF=99=A5"; }
.fa-cent-sign::before { content: "=EE=8F=B5"; }
.fa-flask::before { content: "=EF=83=83"; }
.fa-person-pregnant::before { content: "=EE=8C=9E"; }
.fa-wand-sparkles::before { content: "=EF=9C=AB"; }
.fa-ellipsis-v::before, .fa-ellipsis-vertical::before { content: "=EF=85=82=
"; }
.fa-ticket::before { content: "=EF=85=85"; }
.fa-power-off::before { content: "=EF=80=91"; }
.fa-long-arrow-alt-right::before, .fa-right-long::before { content: "=EF=8C=
=8B"; }
.fa-flag-usa::before { content: "=EF=9D=8D"; }
.fa-laptop-file::before { content: "=EE=94=9D"; }
.fa-teletype::before, .fa-tty::before { content: "=EF=87=A4"; }
.fa-diagram-next::before { content: "=EE=91=B6"; }
.fa-person-rifle::before { content: "=EE=95=8E"; }
.fa-house-medical-circle-exclamation::before { content: "=EE=94=92"; }
.fa-closed-captioning::before { content: "=EF=88=8A"; }
.fa-hiking::before, .fa-person-hiking::before { content: "=EF=9B=AC"; }
.fa-venus-double::before { content: "=EF=88=A6"; }
.fa-images::before { content: "=EF=8C=82"; }
.fa-calculator::before { content: "=EF=87=AC"; }
.fa-people-pulling::before { content: "=EE=94=B5"; }
.fa-n::before { content: "N"; }
.fa-cable-car::before, .fa-tram::before { content: "=EF=9F=9A"; }
.fa-cloud-rain::before { content: "=EF=9C=BD"; }
.fa-building-circle-xmark::before { content: "=EE=93=94"; }
.fa-ship::before { content: "=EF=88=9A"; }
.fa-arrows-down-to-line::before { content: "=EE=92=B8"; }
.fa-download::before { content: "=EF=80=99"; }
.fa-face-grin::before, .fa-grin::before { content: "=EF=96=80"; }
.fa-backspace::before, .fa-delete-left::before { content: "=EF=95=9A"; }
.fa-eye-dropper-empty::before, .fa-eye-dropper::before, .fa-eyedropper::bef=
ore { content: "=EF=87=BB"; }
.fa-file-circle-check::before { content: "=EE=96=A0"; }
.fa-forward::before { content: "=EF=81=8E"; }
.fa-mobile-android::before, .fa-mobile-phone::before, .fa-mobile::before { =
content: "=EF=8F=8E"; }
.fa-face-meh::before, .fa-meh::before { content: "=EF=84=9A"; }
.fa-align-center::before { content: "=EF=80=B7"; }
.fa-book-dead::before, .fa-book-skull::before { content: "=EF=9A=B7"; }
.fa-drivers-license::before, .fa-id-card::before { content: "=EF=8B=82"; }
.fa-dedent::before, .fa-outdent::before { content: "=EF=80=BB"; }
.fa-heart-circle-exclamation::before { content: "=EE=93=BE"; }
.fa-home-alt::before, .fa-home-lg-alt::before, .fa-home::before, .fa-house:=
:before { content: "=EF=80=95"; }
.fa-calendar-week::before { content: "=EF=9E=84"; }
.fa-laptop-medical::before { content: "=EF=A0=92"; }
.fa-b::before { content: "B"; }
.fa-file-medical::before { content: "=EF=91=B7"; }
.fa-dice-one::before { content: "=EF=94=A5"; }
.fa-kiwi-bird::before { content: "=EF=94=B5"; }
.fa-arrow-right-arrow-left::before, .fa-exchange::before { content: "=EF=83=
=AC"; }
.fa-redo-alt::before, .fa-rotate-forward::before, .fa-rotate-right::before =
{ content: "=EF=8B=B9"; }
.fa-cutlery::before, .fa-utensils::before { content: "=EF=8B=A7"; }
.fa-arrow-up-wide-short::before, .fa-sort-amount-up::before { content: "=EF=
=85=A1"; }
.fa-mill-sign::before { content: "=EE=87=AD"; }
.fa-bowl-rice::before { content: "=EE=8B=AB"; }
.fa-skull::before { content: "=EF=95=8C"; }
.fa-broadcast-tower::before, .fa-tower-broadcast::before { content: "=EF=94=
=99"; }
.fa-truck-pickup::before { content: "=EF=98=BC"; }
.fa-long-arrow-alt-up::before, .fa-up-long::before { content: "=EF=8C=8C"; =
}
.fa-stop::before { content: "=EF=81=8D"; }
.fa-code-merge::before { content: "=EF=8E=87"; }
.fa-upload::before { content: "=EF=82=93"; }
.fa-hurricane::before { content: "=EF=9D=91"; }
.fa-mound::before { content: "=EE=94=AD"; }
.fa-toilet-portable::before { content: "=EE=96=83"; }
.fa-compact-disc::before { content: "=EF=94=9F"; }
.fa-file-arrow-down::before, .fa-file-download::before { content: "=EF=95=
=AD"; }
.fa-caravan::before { content: "=EF=A3=BF"; }
.fa-shield-cat::before { content: "=EE=95=B2"; }
.fa-bolt::before, .fa-zap::before { content: "=EF=83=A7"; }
.fa-glass-water::before { content: "=EE=93=B4"; }
.fa-oil-well::before { content: "=EE=94=B2"; }
.fa-vault::before { content: "=EE=8B=85"; }
.fa-mars::before { content: "=EF=88=A2"; }
.fa-toilet::before { content: "=EF=9F=98"; }
.fa-plane-circle-xmark::before { content: "=EE=95=97"; }
.fa-cny::before, .fa-jpy::before, .fa-rmb::before, .fa-yen-sign::before, .f=
a-yen::before { content: "=EF=85=97"; }
.fa-rouble::before, .fa-rub::before, .fa-ruble-sign::before, .fa-ruble::bef=
ore { content: "=EF=85=98"; }
.fa-sun::before { content: "=EF=86=85"; }
.fa-guitar::before { content: "=EF=9E=A6"; }
.fa-face-laugh-wink::before, .fa-laugh-wink::before { content: "=EF=96=9C";=
}
.fa-horse-head::before { content: "=EF=9E=AB"; }
.fa-bore-hole::before { content: "=EE=93=83"; }
.fa-industry::before { content: "=EF=89=B5"; }
.fa-arrow-alt-circle-down::before, .fa-circle-down::before { content: "=EF=
=8D=98"; }
.fa-arrows-turn-to-dots::before { content: "=EE=93=81"; }
.fa-florin-sign::before { content: "=EE=86=84"; }
.fa-arrow-down-short-wide::before, .fa-sort-amount-desc::before, .fa-sort-a=
mount-down-alt::before { content: "=EF=A2=84"; }
.fa-less-than::before { content: "<"; }
.fa-angle-down::before { content: "=EF=84=87"; }
.fa-car-tunnel::before { content: "=EE=93=9E"; }
.fa-head-side-cough::before { content: "=EE=81=A1"; }
.fa-grip-lines::before { content: "=EF=9E=A4"; }
.fa-thumbs-down::before { content: "=EF=85=A5"; }
.fa-user-lock::before { content: "=EF=94=82"; }
.fa-arrow-right-long::before, .fa-long-arrow-right::before { content: "=EF=
=85=B8"; }
.fa-anchor-circle-xmark::before { content: "=EE=92=AC"; }
.fa-ellipsis-h::before, .fa-ellipsis::before { content: "=EF=85=81"; }
.fa-chess-pawn::before { content: "=EF=91=83"; }
.fa-first-aid::before, .fa-kit-medical::before { content: "=EF=91=B9"; }
.fa-person-through-window::before { content: "=EE=96=A9"; }
.fa-toolbox::before { content: "=EF=95=92"; }
.fa-hands-holding-circle::before { content: "=EE=93=BB"; }
.fa-bug::before { content: "=EF=86=88"; }
.fa-credit-card-alt::before, .fa-credit-card::before { content: "=EF=82=9D"=
; }
.fa-automobile::before, .fa-car::before { content: "=EF=86=B9"; }
.fa-hand-holding-hand::before { content: "=EE=93=B7"; }
.fa-book-open-reader::before, .fa-book-reader::before { content: "=EF=97=9A=
"; }
.fa-mountain-sun::before { content: "=EE=94=AF"; }
.fa-arrows-left-right-to-line::before { content: "=EE=92=BA"; }
.fa-dice-d20::before { content: "=EF=9B=8F"; }
.fa-truck-droplet::before { content: "=EE=96=8C"; }
.fa-file-circle-xmark::before { content: "=EE=96=A1"; }
.fa-temperature-arrow-up::before, .fa-temperature-up::before { content: "=
=EE=81=80"; }
.fa-medal::before { content: "=EF=96=A2"; }
.fa-bed::before { content: "=EF=88=B6"; }
.fa-h-square::before, .fa-square-h::before { content: "=EF=83=BD"; }
.fa-podcast::before { content: "=EF=8B=8E"; }
.fa-temperature-4::before, .fa-temperature-full::before, .fa-thermometer-4:=
:before, .fa-thermometer-full::before { content: "=EF=8B=87"; }
.fa-bell::before { content: "=EF=83=B3"; }
.fa-superscript::before { content: "=EF=84=AB"; }
.fa-plug-circle-xmark::before { content: "=EE=95=A0"; }
.fa-star-of-life::before { content: "=EF=98=A1"; }
.fa-phone-slash::before { content: "=EF=8F=9D"; }
.fa-paint-roller::before { content: "=EF=96=AA"; }
.fa-hands-helping::before, .fa-handshake-angle::before { content: "=EF=93=
=84"; }
.fa-location-dot::before, .fa-map-marker-alt::before { content: "=EF=8F=85"=
; }
.fa-file::before { content: "=EF=85=9B"; }
.fa-greater-than::before { content: ">"; }
.fa-person-swimming::before, .fa-swimmer::before { content: "=EF=97=84"; }
.fa-arrow-down::before { content: "=EF=81=A3"; }
.fa-droplet::before, .fa-tint::before { content: "=EF=81=83"; }
.fa-eraser::before { content: "=EF=84=AD"; }
.fa-earth-america::before, .fa-earth-americas::before, .fa-earth::before, .=
fa-globe-americas::before { content: "=EF=95=BD"; }
.fa-person-burst::before { content: "=EE=94=BB"; }
.fa-dove::before { content: "=EF=92=BA"; }
.fa-battery-0::before, .fa-battery-empty::before { content: "=EF=89=84"; }
.fa-socks::before { content: "=EF=9A=96"; }
.fa-inbox::before { content: "=EF=80=9C"; }
.fa-section::before { content: "=EE=91=87"; }
.fa-gauge-high::before, .fa-tachometer-alt-fast::before, .fa-tachometer-alt=
::before { content: "=EF=98=A5"; }
.fa-envelope-open-text::before { content: "=EF=99=98"; }
.fa-hospital-alt::before, .fa-hospital-wide::before, .fa-hospital::before {=
content: "=EF=83=B8"; }
.fa-wine-bottle::before { content: "=EF=9C=AF"; }
.fa-chess-rook::before { content: "=EF=91=87"; }
.fa-bars-staggered::before, .fa-reorder::before, .fa-stream::before { conte=
nt: "=EF=95=90"; }
.fa-dharmachakra::before { content: "=EF=99=95"; }
.fa-hotdog::before { content: "=EF=A0=8F"; }
.fa-blind::before, .fa-person-walking-with-cane::before { content: "=EF=8A=
=9D"; }
.fa-drum::before { content: "=EF=95=A9"; }
.fa-ice-cream::before { content: "=EF=A0=90"; }
.fa-heart-circle-bolt::before { content: "=EE=93=BC"; }
.fa-fax::before { content: "=EF=86=AC"; }
.fa-paragraph::before { content: "=EF=87=9D"; }
.fa-check-to-slot::before, .fa-vote-yea::before { content: "=EF=9D=B2"; }
.fa-star-half::before { content: "=EF=82=89"; }
.fa-boxes-alt::before, .fa-boxes-stacked::before, .fa-boxes::before { conte=
nt: "=EF=91=A8"; }
.fa-chain::before, .fa-link::before { content: "=EF=83=81"; }
.fa-assistive-listening-systems::before, .fa-ear-listen::before { content: =
"=EF=8A=A2"; }
.fa-tree-city::before { content: "=EE=96=87"; }
.fa-play::before { content: "=EF=81=8B"; }
.fa-font::before { content: "=EF=80=B1"; }
.fa-rupiah-sign::before { content: "=EE=88=BD"; }
.fa-magnifying-glass::before, .fa-search::before { content: "=EF=80=82"; }
.fa-ping-pong-paddle-ball::before, .fa-table-tennis-paddle-ball::before, .f=
a-table-tennis::before { content: "=EF=91=9D"; }
.fa-diagnoses::before, .fa-person-dots-from-line::before { content: "=EF=91=
=B0"; }
.fa-trash-can-arrow-up::before, .fa-trash-restore-alt::before { content: "=
=EF=A0=AA"; }
.fa-naira-sign::before { content: "=EE=87=B6"; }
.fa-cart-arrow-down::before { content: "=EF=88=98"; }
.fa-walkie-talkie::before { content: "=EF=A3=AF"; }
.fa-file-edit::before, .fa-file-pen::before { content: "=EF=8C=9C"; }
.fa-receipt::before { content: "=EF=95=83"; }
.fa-pen-square::before, .fa-pencil-square::before, .fa-square-pen::before {=
content: "=EF=85=8B"; }
.fa-suitcase-rolling::before { content: "=EF=97=81"; }
.fa-person-circle-exclamation::before { content: "=EE=94=BF"; }
.fa-chevron-down::before { content: "=EF=81=B8"; }
.fa-battery-5::before, .fa-battery-full::before, .fa-battery::before { cont=
ent: "=EF=89=80"; }
.fa-skull-crossbones::before { content: "=EF=9C=94"; }
.fa-code-compare::before { content: "=EE=84=BA"; }
.fa-list-dots::before, .fa-list-ul::before { content: "=EF=83=8A"; }
.fa-school-lock::before { content: "=EE=95=AF"; }
.fa-tower-cell::before { content: "=EE=96=85"; }
.fa-down-long::before, .fa-long-arrow-alt-down::before { content: "=EF=8C=
=89"; }
.fa-ranking-star::before { content: "=EE=95=A1"; }
.fa-chess-king::before { content: "=EF=90=BF"; }
.fa-person-harassing::before { content: "=EE=95=89"; }
.fa-brazilian-real-sign::before { content: "=EE=91=AC"; }
.fa-landmark-alt::before, .fa-landmark-dome::before { content: "=EF=9D=92";=
}
.fa-arrow-up::before { content: "=EF=81=A2"; }
.fa-television::before, .fa-tv-alt::before, .fa-tv::before { content: "=EF=
=89=AC"; }
.fa-shrimp::before { content: "=EE=91=88"; }
.fa-list-check::before, .fa-tasks::before { content: "=EF=82=AE"; }
.fa-jug-detergent::before { content: "=EE=94=99"; }
.fa-circle-user::before, .fa-user-circle::before { content: "=EF=8A=BD"; }
.fa-user-shield::before { content: "=EF=94=85"; }
.fa-wind::before { content: "=EF=9C=AE"; }
.fa-car-burst::before, .fa-car-crash::before { content: "=EF=97=A1"; }
.fa-y::before { content: "Y"; }
.fa-person-snowboarding::before, .fa-snowboarding::before { content: "=EF=
=9F=8E"; }
.fa-shipping-fast::before, .fa-truck-fast::before { content: "=EF=92=8B"; }
.fa-fish::before { content: "=EF=95=B8"; }
.fa-user-graduate::before { content: "=EF=94=81"; }
.fa-adjust::before, .fa-circle-half-stroke::before { content: "=EF=81=82"; =
}
.fa-clapperboard::before { content: "=EE=84=B1"; }
.fa-circle-radiation::before, .fa-radiation-alt::before { content: "=EF=9E=
=BA"; }
.fa-baseball-ball::before, .fa-baseball::before { content: "=EF=90=B3"; }
.fa-jet-fighter-up::before { content: "=EE=94=98"; }
.fa-diagram-project::before, .fa-project-diagram::before { content: "=EF=95=
=82"; }
.fa-copy::before { content: "=EF=83=85"; }
.fa-volume-mute::before, .fa-volume-times::before, .fa-volume-xmark::before=
{ content: "=EF=9A=A9"; }
.fa-hand-sparkles::before { content: "=EE=81=9D"; }
.fa-grip-horizontal::before, .fa-grip::before { content: "=EF=96=8D"; }
.fa-share-from-square::before, .fa-share-square::before { content: "=EF=85=
=8D"; }
.fa-child-combatant::before, .fa-child-rifle::before { content: "=EE=93=A0"=
; }
.fa-gun::before { content: "=EE=86=9B"; }
.fa-phone-square::before, .fa-square-phone::before { content: "=EF=82=98"; =
}
.fa-add::before, .fa-plus::before { content: "+"; }
.fa-expand::before { content: "=EF=81=A5"; }
.fa-computer::before { content: "=EE=93=A5"; }
.fa-close::before, .fa-multiply::before, .fa-remove::before, .fa-times::bef=
ore, .fa-xmark::before { content: "=EF=80=8D"; }
.fa-arrows-up-down-left-right::before, .fa-arrows::before { content: "=EF=
=81=87"; }
.fa-chalkboard-teacher::before, .fa-chalkboard-user::before { content: "=EF=
=94=9C"; }
.fa-peso-sign::before { content: "=EE=88=A2"; }
.fa-building-shield::before { content: "=EE=93=98"; }
.fa-baby::before { content: "=EF=9D=BC"; }
.fa-users-line::before { content: "=EE=96=92"; }
.fa-quote-left-alt::before, .fa-quote-left::before { content: "=EF=84=8D"; =
}
.fa-tractor::before { content: "=EF=9C=A2"; }
.fa-trash-arrow-up::before, .fa-trash-restore::before { content: "=EF=A0=A9=
"; }
.fa-arrow-down-up-lock::before { content: "=EE=92=B0"; }
.fa-lines-leaning::before { content: "=EE=94=9E"; }
.fa-ruler-combined::before { content: "=EF=95=86"; }
.fa-copyright::before { content: "=EF=87=B9"; }
.fa-equals::before { content: "=3D"; }
.fa-blender::before { content: "=EF=94=97"; }
.fa-teeth::before { content: "=EF=98=AE"; }
.fa-ils::before, .fa-shekel-sign::before, .fa-shekel::before, .fa-sheqel-si=
gn::before, .fa-sheqel::before { content: "=EF=88=8B"; }
.fa-map::before { content: "=EF=89=B9"; }
.fa-rocket::before { content: "=EF=84=B5"; }
.fa-photo-film::before, .fa-photo-video::before { content: "=EF=A1=BC"; }
.fa-folder-minus::before { content: "=EF=99=9D"; }
.fa-store::before { content: "=EF=95=8E"; }
.fa-arrow-trend-up::before { content: "=EE=82=98"; }
.fa-plug-circle-minus::before { content: "=EE=95=9E"; }
.fa-sign-hanging::before, .fa-sign::before { content: "=EF=93=99"; }
.fa-bezier-curve::before { content: "=EF=95=9B"; }
.fa-bell-slash::before { content: "=EF=87=B6"; }
.fa-tablet-android::before, .fa-tablet::before { content: "=EF=8F=BB"; }
.fa-school-flag::before { content: "=EE=95=AE"; }
.fa-fill::before { content: "=EF=95=B5"; }
.fa-angle-up::before { content: "=EF=84=86"; }
.fa-drumstick-bite::before { content: "=EF=9B=97"; }
.fa-holly-berry::before { content: "=EF=9E=AA"; }
.fa-chevron-left::before { content: "=EF=81=93"; }
.fa-bacteria::before { content: "=EE=81=99"; }
.fa-hand-lizard::before { content: "=EF=89=98"; }
.fa-notdef::before { content: "=EE=87=BE"; }
.fa-disease::before { content: "=EF=9F=BA"; }
.fa-briefcase-medical::before { content: "=EF=91=A9"; }
.fa-genderless::before { content: "=EF=88=AD"; }
.fa-chevron-right::before { content: "=EF=81=94"; }
.fa-retweet::before { content: "=EF=81=B9"; }
.fa-car-alt::before, .fa-car-rear::before { content: "=EF=97=9E"; }
.fa-pump-soap::before { content: "=EE=81=AB"; }
.fa-video-slash::before { content: "=EF=93=A2"; }
.fa-battery-2::before, .fa-battery-quarter::before { content: "=EF=89=83"; =
}
.fa-radio::before { content: "=EF=A3=97"; }
.fa-baby-carriage::before, .fa-carriage-baby::before { content: "=EF=9D=BD"=
; }
.fa-traffic-light::before { content: "=EF=98=B7"; }
.fa-thermometer::before { content: "=EF=92=91"; }
.fa-vr-cardboard::before { content: "=EF=9C=A9"; }
.fa-hand-middle-finger::before { content: "=EF=A0=86"; }
.fa-percent::before, .fa-percentage::before { content: "%"; }
.fa-truck-moving::before { content: "=EF=93=9F"; }
.fa-glass-water-droplet::before { content: "=EE=93=B5"; }
.fa-display::before { content: "=EE=85=A3"; }
.fa-face-smile::before, .fa-smile::before { content: "=EF=84=98"; }
.fa-thumb-tack::before, .fa-thumbtack::before { content: "=EF=82=8D"; }
.fa-trophy::before { content: "=EF=82=91"; }
.fa-person-praying::before, .fa-pray::before { content: "=EF=9A=83"; }
.fa-hammer::before { content: "=EF=9B=A3"; }
.fa-hand-peace::before { content: "=EF=89=9B"; }
.fa-rotate::before, .fa-sync-alt::before { content: "=EF=8B=B1"; }
.fa-spinner::before { content: "=EF=84=90"; }
.fa-robot::before { content: "=EF=95=84"; }
.fa-peace::before { content: "=EF=99=BC"; }
.fa-cogs::before, .fa-gears::before { content: "=EF=82=85"; }
.fa-warehouse::before { content: "=EF=92=94"; }
.fa-arrow-up-right-dots::before { content: "=EE=92=B7"; }
.fa-splotch::before { content: "=EF=96=BC"; }
.fa-face-grin-hearts::before, .fa-grin-hearts::before { content: "=EF=96=84=
"; }
.fa-dice-four::before { content: "=EF=94=A4"; }
.fa-sim-card::before { content: "=EF=9F=84"; }
.fa-transgender-alt::before, .fa-transgender::before { content: "=EF=88=A5"=
; }
.fa-mercury::before { content: "=EF=88=A3"; }
.fa-arrow-turn-down::before, .fa-level-down::before { content: "=EF=85=89";=
}
.fa-person-falling-burst::before { content: "=EE=95=87"; }
.fa-award::before { content: "=EF=95=99"; }
.fa-ticket-alt::before, .fa-ticket-simple::before { content: "=EF=8F=BF"; }
.fa-building::before { content: "=EF=86=AD"; }
.fa-angle-double-left::before, .fa-angles-left::before { content: "=EF=84=
=80"; }
.fa-qrcode::before { content: "=EF=80=A9"; }
.fa-clock-rotate-left::before, .fa-history::before { content: "=EF=87=9A"; =
}
.fa-face-grin-beam-sweat::before, .fa-grin-beam-sweat::before { content: "=
=EF=96=83"; }
.fa-arrow-right-from-file::before, .fa-file-export::before { content: "=EF=
=95=AE"; }
.fa-shield-blank::before, .fa-shield::before { content: "=EF=84=B2"; }
.fa-arrow-up-short-wide::before, .fa-sort-amount-up-alt::before { content: =
"=EF=A2=85"; }
.fa-house-medical::before { content: "=EE=8E=B2"; }
.fa-golf-ball-tee::before, .fa-golf-ball::before { content: "=EF=91=90"; }
.fa-chevron-circle-left::before, .fa-circle-chevron-left::before { content:=
"=EF=84=B7"; }
.fa-house-chimney-window::before { content: "=EE=80=8D"; }
.fa-pen-nib::before { content: "=EF=96=AD"; }
.fa-tent-arrow-turn-left::before { content: "=EE=96=80"; }
.fa-tents::before { content: "=EE=96=82"; }
.fa-magic::before, .fa-wand-magic::before { content: "=EF=83=90"; }
.fa-dog::before { content: "=EF=9B=93"; }
.fa-carrot::before { content: "=EF=9E=87"; }
.fa-moon::before { content: "=EF=86=86"; }
.fa-wine-glass-alt::before, .fa-wine-glass-empty::before { content: "=EF=97=
=8E"; }
.fa-cheese::before { content: "=EF=9F=AF"; }
.fa-yin-yang::before { content: "=EF=9A=AD"; }
.fa-music::before { content: "=EF=80=81"; }
.fa-code-commit::before { content: "=EF=8E=86"; }
.fa-temperature-low::before { content: "=EF=9D=AB"; }
.fa-biking::before, .fa-person-biking::before { content: "=EF=A1=8A"; }
.fa-broom::before { content: "=EF=94=9A"; }
.fa-shield-heart::before { content: "=EE=95=B4"; }
.fa-gopuram::before { content: "=EF=99=A4"; }
.fa-earth-oceania::before, .fa-globe-oceania::before { content: "=EE=91=BB"=
; }
.fa-square-xmark::before, .fa-times-square::before, .fa-xmark-square::befor=
e { content: "=EF=8B=93"; }
.fa-hashtag::before { content: "#"; }
.fa-expand-alt::before, .fa-up-right-and-down-left-from-center::before { co=
ntent: "=EF=90=A4"; }
.fa-oil-can::before { content: "=EF=98=93"; }
.fa-t::before { content: "T"; }
.fa-hippo::before { content: "=EF=9B=AD"; }
.fa-chart-column::before { content: "=EE=83=A3"; }
.fa-infinity::before { content: "=EF=94=B4"; }
.fa-vial-circle-check::before { content: "=EE=96=96"; }
.fa-person-arrow-down-to-line::before { content: "=EE=94=B8"; }
.fa-voicemail::before { content: "=EF=A2=97"; }
.fa-fan::before { content: "=EF=A1=A3"; }
.fa-person-walking-luggage::before { content: "=EE=95=94"; }
.fa-arrows-alt-v::before, .fa-up-down::before { content: "=EF=8C=B8"; }
.fa-cloud-moon-rain::before { content: "=EF=9C=BC"; }
.fa-calendar::before { content: "=EF=84=B3"; }
.fa-trailer::before { content: "=EE=81=81"; }
.fa-bahai::before, .fa-haykal::before { content: "=EF=99=A6"; }
.fa-sd-card::before { content: "=EF=9F=82"; }
.fa-dragon::before { content: "=EF=9B=95"; }
.fa-shoe-prints::before { content: "=EF=95=8B"; }
.fa-circle-plus::before, .fa-plus-circle::before { content: "=EF=81=95"; }
.fa-face-grin-tongue-wink::before, .fa-grin-tongue-wink::before { content: =
"=EF=96=8B"; }
.fa-hand-holding::before { content: "=EF=92=BD"; }
.fa-plug-circle-exclamation::before { content: "=EE=95=9D"; }
.fa-chain-broken::before, .fa-chain-slash::before, .fa-link-slash::before, =
.fa-unlink::before { content: "=EF=84=A7"; }
.fa-clone::before { content: "=EF=89=8D"; }
.fa-person-walking-arrow-loop-left::before { content: "=EE=95=91"; }
.fa-arrow-up-z-a::before, .fa-sort-alpha-up-alt::before { content: "=EF=A2=
=82"; }
.fa-fire-alt::before, .fa-fire-flame-curved::before { content: "=EF=9F=A4";=
}
.fa-tornado::before { content: "=EF=9D=AF"; }
.fa-file-circle-plus::before { content: "=EE=92=94"; }
.fa-book-quran::before, .fa-quran::before { content: "=EF=9A=87"; }
.fa-anchor::before { content: "=EF=84=BD"; }
.fa-border-all::before { content: "=EF=A1=8C"; }
.fa-angry::before, .fa-face-angry::before { content: "=EF=95=96"; }
.fa-cookie-bite::before { content: "=EF=95=A4"; }
.fa-arrow-trend-down::before { content: "=EE=82=97"; }
.fa-feed::before, .fa-rss::before { content: "=EF=82=9E"; }
.fa-draw-polygon::before { content: "=EF=97=AE"; }
.fa-balance-scale::before, .fa-scale-balanced::before { content: "=EF=89=8E=
"; }
.fa-gauge-simple-high::before, .fa-tachometer-fast::before, .fa-tachometer:=
:before { content: "=EF=98=AA"; }
.fa-shower::before { content: "=EF=8B=8C"; }
.fa-desktop-alt::before, .fa-desktop::before { content: "=EF=8E=90"; }
.fa-m::before { content: "M"; }
.fa-table-list::before, .fa-th-list::before { content: "=EF=80=8B"; }
.fa-comment-sms::before, .fa-sms::before { content: "=EF=9F=8D"; }
.fa-book::before { content: "=EF=80=AD"; }
.fa-user-plus::before { content: "=EF=88=B4"; }
.fa-check::before { content: "=EF=80=8C"; }
.fa-battery-4::before, .fa-battery-three-quarters::before { content: "=EF=
=89=81"; }
.fa-house-circle-check::before { content: "=EE=94=89"; }
.fa-angle-left::before { content: "=EF=84=84"; }
.fa-diagram-successor::before { content: "=EE=91=BA"; }
.fa-truck-arrow-right::before { content: "=EE=96=8B"; }
.fa-arrows-split-up-and-left::before { content: "=EE=92=BC"; }
.fa-fist-raised::before, .fa-hand-fist::before { content: "=EF=9B=9E"; }
.fa-cloud-moon::before { content: "=EF=9B=83"; }
.fa-briefcase::before { content: "=EF=82=B1"; }
.fa-person-falling::before { content: "=EE=95=86"; }
.fa-image-portrait::before, .fa-portrait::before { content: "=EF=8F=A0"; }
.fa-user-tag::before { content: "=EF=94=87"; }
.fa-rug::before { content: "=EE=95=A9"; }
.fa-earth-europe::before, .fa-globe-europe::before { content: "=EF=9E=A2"; =
}
.fa-cart-flatbed-suitcase::before, .fa-luggage-cart::before { content: "=EF=
=96=9D"; }
.fa-rectangle-times::before, .fa-rectangle-xmark::before, .fa-times-rectang=
le::before, .fa-window-close::before { content: "=EF=90=90"; }
.fa-baht-sign::before { content: "=EE=82=AC"; }
.fa-book-open::before { content: "=EF=94=98"; }
.fa-book-journal-whills::before, .fa-journal-whills::before { content: "=EF=
=99=AA"; }
.fa-handcuffs::before { content: "=EE=93=B8"; }
.fa-exclamation-triangle::before, .fa-triangle-exclamation::before, .fa-war=
ning::before { content: "=EF=81=B1"; }
.fa-database::before { content: "=EF=87=80"; }
.fa-arrow-turn-right::before, .fa-mail-forward::before, .fa-share::before {=
content: "=EF=81=A4"; }
.fa-bottle-droplet::before { content: "=EE=93=84"; }
.fa-mask-face::before { content: "=EE=87=97"; }
.fa-hill-rockslide::before { content: "=EE=94=88"; }
.fa-exchange-alt::before, .fa-right-left::before { content: "=EF=8D=A2"; }
.fa-paper-plane::before { content: "=EF=87=98"; }
.fa-road-circle-exclamation::before { content: "=EE=95=A5"; }
.fa-dungeon::before { content: "=EF=9B=99"; }
.fa-align-right::before { content: "=EF=80=B8"; }
.fa-money-bill-1-wave::before, .fa-money-bill-wave-alt::before { content: "=
=EF=94=BB"; }
.fa-life-ring::before { content: "=EF=87=8D"; }
.fa-hands::before, .fa-sign-language::before, .fa-signing::before { content=
: "=EF=8A=A7"; }
.fa-calendar-day::before { content: "=EF=9E=83"; }
.fa-ladder-water::before, .fa-swimming-pool::before, .fa-water-ladder::befo=
re { content: "=EF=97=85"; }
.fa-arrows-up-down::before, .fa-arrows-v::before { content: "=EF=81=BD"; }
.fa-face-grimace::before, .fa-grimace::before { content: "=EF=95=BF"; }
.fa-wheelchair-alt::before, .fa-wheelchair-move::before { content: "=EE=8B=
=8E"; }
.fa-level-down-alt::before, .fa-turn-down::before { content: "=EF=8E=BE"; }
.fa-person-walking-arrow-right::before { content: "=EE=95=92"; }
.fa-envelope-square::before, .fa-square-envelope::before { content: "=EF=86=
=99"; }
.fa-dice::before { content: "=EF=94=A2"; }
.fa-bowling-ball::before { content: "=EF=90=B6"; }
.fa-brain::before { content: "=EF=97=9C"; }
.fa-band-aid::before, .fa-bandage::before { content: "=EF=91=A2"; }
.fa-calendar-minus::before { content: "=EF=89=B2"; }
.fa-circle-xmark::before, .fa-times-circle::before, .fa-xmark-circle::befor=
e { content: "=EF=81=97"; }
.fa-gifts::before { content: "=EF=9E=9C"; }
.fa-hotel::before { content: "=EF=96=94"; }
.fa-earth-asia::before, .fa-globe-asia::before { content: "=EF=95=BE"; }
.fa-id-card-alt::before, .fa-id-card-clip::before { content: "=EF=91=BF"; }
.fa-magnifying-glass-plus::before, .fa-search-plus::before { content: "=EF=
=80=8E"; }
.fa-thumbs-up::before { content: "=EF=85=A4"; }
.fa-user-clock::before { content: "=EF=93=BD"; }
.fa-allergies::before, .fa-hand-dots::before { content: "=EF=91=A1"; }
.fa-file-invoice::before { content: "=EF=95=B0"; }
.fa-window-minimize::before { content: "=EF=8B=91"; }
.fa-coffee::before, .fa-mug-saucer::before { content: "=EF=83=B4"; }
.fa-brush::before { content: "=EF=95=9D"; }
.fa-mask::before { content: "=EF=9B=BA"; }
.fa-magnifying-glass-minus::before, .fa-search-minus::before { content: "=
=EF=80=90"; }
.fa-ruler-vertical::before { content: "=EF=95=88"; }
.fa-user-alt::before, .fa-user-large::before { content: "=EF=90=86"; }
.fa-train-tram::before { content: "=EE=96=B4"; }
.fa-user-nurse::before { content: "=EF=A0=AF"; }
.fa-syringe::before { content: "=EF=92=8E"; }
.fa-cloud-sun::before { content: "=EF=9B=84"; }
.fa-stopwatch-20::before { content: "=EE=81=AF"; }
.fa-square-full::before { content: "=EF=91=9C"; }
.fa-magnet::before { content: "=EF=81=B6"; }
.fa-jar::before { content: "=EE=94=96"; }
.fa-note-sticky::before, .fa-sticky-note::before { content: "=EF=89=89"; }
.fa-bug-slash::before { content: "=EE=92=90"; }
.fa-arrow-up-from-water-pump::before { content: "=EE=92=B6"; }
.fa-bone::before { content: "=EF=97=97"; }
.fa-user-injured::before { content: "=EF=9C=A8"; }
.fa-face-sad-tear::before, .fa-sad-tear::before { content: "=EF=96=B4"; }
.fa-plane::before { content: "=EF=81=B2"; }
.fa-tent-arrows-down::before { content: "=EE=96=81"; }
.fa-exclamation::before { content: "!"; }
.fa-arrows-spin::before { content: "=EE=92=BB"; }
.fa-print::before { content: "=EF=80=AF"; }
.fa-try::before, .fa-turkish-lira-sign::before, .fa-turkish-lira::before { =
content: "=EE=8A=BB"; }
.fa-dollar-sign::before, .fa-dollar::before, .fa-usd::before { content: "$"=
; }
.fa-x::before { content: "X"; }
.fa-magnifying-glass-dollar::before, .fa-search-dollar::before { content: "=
=EF=9A=88"; }
.fa-users-cog::before, .fa-users-gear::before { content: "=EF=94=89"; }
.fa-person-military-pointing::before { content: "=EE=95=8A"; }
.fa-bank::before, .fa-building-columns::before, .fa-institution::before, .f=
a-museum::before, .fa-university::before { content: "=EF=86=9C"; }
.fa-umbrella::before { content: "=EF=83=A9"; }
.fa-trowel::before { content: "=EE=96=89"; }
.fa-d::before { content: "D"; }
.fa-stapler::before { content: "=EE=96=AF"; }
.fa-masks-theater::before, .fa-theater-masks::before { content: "=EF=98=B0"=
; }
.fa-kip-sign::before { content: "=EE=87=84"; }
.fa-hand-point-left::before { content: "=EF=82=A5"; }
.fa-handshake-alt::before, .fa-handshake-simple::before { content: "=EF=93=
=86"; }
.fa-fighter-jet::before, .fa-jet-fighter::before { content: "=EF=83=BB"; }
.fa-share-alt-square::before, .fa-square-share-nodes::before { content: "=
=EF=87=A1"; }
.fa-barcode::before { content: "=EF=80=AA"; }
.fa-plus-minus::before { content: "=EE=90=BC"; }
.fa-video-camera::before, .fa-video::before { content: "=EF=80=BD"; }
.fa-graduation-cap::before, .fa-mortar-board::before { content: "=EF=86=9D"=
; }
.fa-hand-holding-medical::before { content: "=EE=81=9C"; }
.fa-person-circle-check::before { content: "=EE=94=BE"; }
.fa-level-up-alt::before, .fa-turn-up::before { content: "=EF=8E=BF"; }
.fa-sr-only, .fa-sr-only-focusable:not(:focus), .sr-only, .sr-only-focusabl=
e:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0px; =
margin: -1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); white-space=
: nowrap; border-width: 0px; }
:host, :root { --fa-style-family-brands: "Font Awesome 6 Brands"; --fa-font=
-brands: normal 400 1em/1 "Font Awesome 6 Brands"; }
@font-face { font-family: "Font Awesome 6 Brands"; font-style: normal; font=
-weight: 400; font-display: block; src: url("../webfonts/fa-brands-400.woff=
2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"=
); }
.fa-brands, .fab { font-weight: 400; }
.fa-monero::before { content: "=EF=8F=90"; }
.fa-hooli::before { content: "=EF=90=A7"; }
.fa-yelp::before { content: "=EF=87=A9"; }
.fa-cc-visa::before { content: "=EF=87=B0"; }
.fa-lastfm::before { content: "=EF=88=82"; }
.fa-shopware::before { content: "=EF=96=B5"; }
.fa-creative-commons-nc::before { content: "=EF=93=A8"; }
.fa-aws::before { content: "=EF=8D=B5"; }
.fa-redhat::before { content: "=EF=9E=BC"; }
.fa-yoast::before { content: "=EF=8A=B1"; }
.fa-cloudflare::before { content: "=EE=81=BD"; }
.fa-ups::before { content: "=EF=9F=A0"; }
.fa-wpexplorer::before { content: "=EF=8B=9E"; }
.fa-dyalog::before { content: "=EF=8E=99"; }
.fa-bity::before { content: "=EF=8D=BA"; }
.fa-stackpath::before { content: "=EF=A1=82"; }
.fa-buysellads::before { content: "=EF=88=8D"; }
.fa-first-order::before { content: "=EF=8A=B0"; }
.fa-modx::before { content: "=EF=8A=85"; }
.fa-guilded::before { content: "=EE=81=BE"; }
.fa-vnv::before { content: "=EF=90=8B"; }
.fa-js-square::before, .fa-square-js::before { content: "=EF=8E=B9"; }
.fa-microsoft::before { content: "=EF=8F=8A"; }
.fa-qq::before { content: "=EF=87=96"; }
.fa-orcid::before { content: "=EF=A3=92"; }
.fa-java::before { content: "=EF=93=A4"; }
.fa-invision::before { content: "=EF=9E=B0"; }
.fa-creative-commons-pd-alt::before { content: "=EF=93=AD"; }
.fa-centercode::before { content: "=EF=8E=80"; }
.fa-glide-g::before { content: "=EF=8A=A6"; }
.fa-drupal::before { content: "=EF=86=A9"; }
.fa-hire-a-helper::before { content: "=EF=8E=B0"; }
.fa-creative-commons-by::before { content: "=EF=93=A7"; }
.fa-unity::before { content: "=EE=81=89"; }
.fa-whmcs::before { content: "=EF=90=8D"; }
.fa-rocketchat::before { content: "=EF=8F=A8"; }
.fa-vk::before { content: "=EF=86=89"; }
.fa-untappd::before { content: "=EF=90=85"; }
.fa-mailchimp::before { content: "=EF=96=9E"; }
.fa-css3-alt::before { content: "=EF=8E=8B"; }
.fa-reddit-square::before, .fa-square-reddit::before { content: "=EF=86=A2"=
; }
.fa-vimeo-v::before { content: "=EF=89=BD"; }
.fa-contao::before { content: "=EF=89=AD"; }
.fa-square-font-awesome::before { content: "=EE=96=AD"; }
.fa-deskpro::before { content: "=EF=8E=8F"; }
.fa-sistrix::before { content: "=EF=8F=AE"; }
.fa-instagram-square::before, .fa-square-instagram::before { content: "=EE=
=81=95"; }
.fa-battle-net::before { content: "=EF=A0=B5"; }
.fa-the-red-yeti::before { content: "=EF=9A=9D"; }
.fa-hacker-news-square::before, .fa-square-hacker-news::before { content: "=
=EF=8E=AF"; }
.fa-edge::before { content: "=EF=8A=82"; }
.fa-threads::before { content: "=EE=98=98"; }
.fa-napster::before { content: "=EF=8F=92"; }
.fa-snapchat-square::before, .fa-square-snapchat::before { content: "=EF=8A=
=AD"; }
.fa-google-plus-g::before { content: "=EF=83=95"; }
.fa-artstation::before { content: "=EF=9D=BA"; }
.fa-markdown::before { content: "=EF=98=8F"; }
.fa-sourcetree::before { content: "=EF=9F=93"; }
.fa-google-plus::before { content: "=EF=8A=B3"; }
.fa-diaspora::before { content: "=EF=9E=91"; }
.fa-foursquare::before { content: "=EF=86=80"; }
.fa-stack-overflow::before { content: "=EF=85=AC"; }
.fa-github-alt::before { content: "=EF=84=93"; }
.fa-phoenix-squadron::before { content: "=EF=94=91"; }
.fa-pagelines::before { content: "=EF=86=8C"; }
.fa-algolia::before { content: "=EF=8D=AC"; }
.fa-red-river::before { content: "=EF=8F=A3"; }
.fa-creative-commons-sa::before { content: "=EF=93=AF"; }
.fa-safari::before { content: "=EF=89=A7"; }
.fa-google::before { content: "=EF=86=A0"; }
.fa-font-awesome-alt::before, .fa-square-font-awesome-stroke::before { cont=
ent: "=EF=8D=9C"; }
.fa-atlassian::before { content: "=EF=9D=BB"; }
.fa-linkedin-in::before { content: "=EF=83=A1"; }
.fa-digital-ocean::before { content: "=EF=8E=91"; }
.fa-nimblr::before { content: "=EF=96=A8"; }
.fa-chromecast::before { content: "=EF=A0=B8"; }
.fa-evernote::before { content: "=EF=A0=B9"; }
.fa-hacker-news::before { content: "=EF=87=94"; }
.fa-creative-commons-sampling::before { content: "=EF=93=B0"; }
.fa-adversal::before { content: "=EF=8D=AA"; }
.fa-creative-commons::before { content: "=EF=89=9E"; }
.fa-watchman-monitoring::before { content: "=EE=82=87"; }
.fa-fonticons::before { content: "=EF=8A=80"; }
.fa-weixin::before { content: "=EF=87=97"; }
.fa-shirtsinbulk::before { content: "=EF=88=94"; }
.fa-codepen::before { content: "=EF=87=8B"; }
.fa-git-alt::before { content: "=EF=A1=81"; }
.fa-lyft::before { content: "=EF=8F=83"; }
.fa-rev::before { content: "=EF=96=B2"; }
.fa-windows::before { content: "=EF=85=BA"; }
.fa-wizards-of-the-coast::before { content: "=EF=9C=B0"; }
.fa-square-viadeo::before, .fa-viadeo-square::before { content: "=EF=8A=AA"=
; }
.fa-meetup::before { content: "=EF=8B=A0"; }
.fa-centos::before { content: "=EF=9E=89"; }
.fa-adn::before { content: "=EF=85=B0"; }
.fa-cloudsmith::before { content: "=EF=8E=84"; }
.fa-pied-piper-alt::before { content: "=EF=86=A8"; }
.fa-dribbble-square::before, .fa-square-dribbble::before { content: "=EF=8E=
=97"; }
.fa-codiepie::before { content: "=EF=8A=84"; }
.fa-node::before { content: "=EF=90=99"; }
.fa-mix::before { content: "=EF=8F=8B"; }
.fa-steam::before { content: "=EF=86=B6"; }
.fa-cc-apple-pay::before { content: "=EF=90=96"; }
.fa-scribd::before { content: "=EF=8A=8A"; }
.fa-debian::before { content: "=EE=98=8B"; }
.fa-openid::before { content: "=EF=86=9B"; }
.fa-instalod::before { content: "=EE=82=81"; }
.fa-expeditedssl::before { content: "=EF=88=BE"; }
.fa-sellcast::before { content: "=EF=8B=9A"; }
.fa-square-twitter::before, .fa-twitter-square::before { content: "=EF=82=
=81"; }
.fa-r-project::before { content: "=EF=93=B7"; }
.fa-delicious::before { content: "=EF=86=A5"; }
.fa-freebsd::before { content: "=EF=8E=A4"; }
.fa-vuejs::before { content: "=EF=90=9F"; }
.fa-accusoft::before { content: "=EF=8D=A9"; }
.fa-ioxhost::before { content: "=EF=88=88"; }
.fa-fonticons-fi::before { content: "=EF=8E=A2"; }
.fa-app-store::before { content: "=EF=8D=AF"; }
.fa-cc-mastercard::before { content: "=EF=87=B1"; }
.fa-itunes-note::before { content: "=EF=8E=B5"; }
.fa-golang::before { content: "=EE=90=8F"; }
.fa-kickstarter::before { content: "=EF=8E=BB"; }
.fa-grav::before { content: "=EF=8B=96"; }
.fa-weibo::before { content: "=EF=86=8A"; }
.fa-uncharted::before { content: "=EE=82=84"; }
.fa-firstdraft::before { content: "=EF=8E=A1"; }
.fa-square-youtube::before, .fa-youtube-square::before { content: "=EF=90=
=B1"; }
.fa-wikipedia-w::before { content: "=EF=89=A6"; }
.fa-rendact::before, .fa-wpressr::before { content: "=EF=8F=A4"; }
.fa-angellist::before { content: "=EF=88=89"; }
.fa-galactic-republic::before { content: "=EF=94=8C"; }
.fa-nfc-directional::before { content: "=EE=94=B0"; }
.fa-skype::before { content: "=EF=85=BE"; }
.fa-joget::before { content: "=EF=8E=B7"; }
.fa-fedora::before { content: "=EF=9E=98"; }
.fa-stripe-s::before { content: "=EF=90=AA"; }
.fa-meta::before { content: "=EE=92=9B"; }
.fa-laravel::before { content: "=EF=8E=BD"; }
.fa-hotjar::before { content: "=EF=8E=B1"; }
.fa-bluetooth-b::before { content: "=EF=8A=94"; }
.fa-sticker-mule::before { content: "=EF=8F=B7"; }
.fa-creative-commons-zero::before { content: "=EF=93=B3"; }
.fa-hips::before { content: "=EF=91=92"; }
.fa-behance::before { content: "=EF=86=B4"; }
.fa-reddit::before { content: "=EF=86=A1"; }
.fa-discord::before { content: "=EF=8E=92"; }
.fa-chrome::before { content: "=EF=89=A8"; }
.fa-app-store-ios::before { content: "=EF=8D=B0"; }
.fa-cc-discover::before { content: "=EF=87=B2"; }
.fa-wpbeginner::before { content: "=EF=8A=97"; }
.fa-confluence::before { content: "=EF=9E=8D"; }
.fa-mdb::before { content: "=EF=A3=8A"; }
.fa-dochub::before { content: "=EF=8E=94"; }
.fa-accessible-icon::before { content: "=EF=8D=A8"; }
.fa-ebay::before { content: "=EF=93=B4"; }
.fa-amazon::before { content: "=EF=89=B0"; }
.fa-unsplash::before { content: "=EE=81=BC"; }
.fa-yarn::before { content: "=EF=9F=A3"; }
.fa-square-steam::before, .fa-steam-square::before { content: "=EF=86=B7"; =
}
.fa-500px::before { content: "=EF=89=AE"; }
.fa-square-vimeo::before, .fa-vimeo-square::before { content: "=EF=86=94"; =
}
.fa-asymmetrik::before { content: "=EF=8D=B2"; }
.fa-font-awesome-flag::before, .fa-font-awesome-logo-full::before, .fa-font=
-awesome::before { content: "=EF=8A=B4"; }
.fa-gratipay::before { content: "=EF=86=84"; }
.fa-apple::before { content: "=EF=85=B9"; }
.fa-hive::before { content: "=EE=81=BF"; }
.fa-gitkraken::before { content: "=EF=8E=A6"; }
.fa-keybase::before { content: "=EF=93=B5"; }
.fa-apple-pay::before { content: "=EF=90=95"; }
.fa-padlet::before { content: "=EE=92=A0"; }
.fa-amazon-pay::before { content: "=EF=90=AC"; }
.fa-github-square::before, .fa-square-github::before { content: "=EF=82=92"=
; }
.fa-stumbleupon::before { content: "=EF=86=A4"; }
.fa-fedex::before { content: "=EF=9E=97"; }
.fa-phoenix-framework::before { content: "=EF=8F=9C"; }
.fa-shopify::before { content: "=EE=81=97"; }
.fa-neos::before { content: "=EF=98=92"; }
.fa-square-threads::before { content: "=EE=98=99"; }
.fa-hackerrank::before { content: "=EF=97=B7"; }
.fa-researchgate::before { content: "=EF=93=B8"; }
.fa-swift::before { content: "=EF=A3=A1"; }
.fa-angular::before { content: "=EF=90=A0"; }
.fa-speakap::before { content: "=EF=8F=B3"; }
.fa-angrycreative::before { content: "=EF=8D=AE"; }
.fa-y-combinator::before { content: "=EF=88=BB"; }
.fa-empire::before { content: "=EF=87=91"; }
.fa-envira::before { content: "=EF=8A=99"; }
.fa-gitlab-square::before, .fa-square-gitlab::before { content: "=EE=96=AE"=
; }
.fa-studiovinari::before { content: "=EF=8F=B8"; }
.fa-pied-piper::before { content: "=EF=8A=AE"; }
.fa-wordpress::before { content: "=EF=86=9A"; }
.fa-product-hunt::before { content: "=EF=8A=88"; }
.fa-firefox::before { content: "=EF=89=A9"; }
.fa-linode::before { content: "=EF=8A=B8"; }
.fa-goodreads::before { content: "=EF=8E=A8"; }
.fa-odnoklassniki-square::before, .fa-square-odnoklassniki::before { conten=
t: "=EF=89=A4"; }
.fa-jsfiddle::before { content: "=EF=87=8C"; }
.fa-sith::before { content: "=EF=94=92"; }
.fa-themeisle::before { content: "=EF=8A=B2"; }
.fa-page4::before { content: "=EF=8F=97"; }
.fa-hashnode::before { content: "=EE=92=99"; }
.fa-react::before { content: "=EF=90=9B"; }
.fa-cc-paypal::before { content: "=EF=87=B4"; }
.fa-squarespace::before { content: "=EF=96=BE"; }
.fa-cc-stripe::before { content: "=EF=87=B5"; }
.fa-creative-commons-share::before { content: "=EF=93=B2"; }
.fa-bitcoin::before { content: "=EF=8D=B9"; }
.fa-keycdn::before { content: "=EF=8E=BA"; }
.fa-opera::before { content: "=EF=89=AA"; }
.fa-itch-io::before { content: "=EF=A0=BA"; }
.fa-umbraco::before { content: "=EF=A3=A8"; }
.fa-galactic-senate::before { content: "=EF=94=8D"; }
.fa-ubuntu::before { content: "=EF=9F=9F"; }
.fa-draft2digital::before { content: "=EF=8E=96"; }
.fa-stripe::before { content: "=EF=90=A9"; }
.fa-houzz::before { content: "=EF=89=BC"; }
.fa-gg::before { content: "=EF=89=A0"; }
.fa-dhl::before { content: "=EF=9E=90"; }
.fa-pinterest-square::before, .fa-square-pinterest::before { content: "=EF=
=83=93"; }
.fa-xing::before { content: "=EF=85=A8"; }
.fa-blackberry::before { content: "=EF=8D=BB"; }
.fa-creative-commons-pd::before { content: "=EF=93=AC"; }
.fa-playstation::before { content: "=EF=8F=9F"; }
.fa-quinscape::before { content: "=EF=91=99"; }
.fa-less::before { content: "=EF=90=9D"; }
.fa-blogger-b::before { content: "=EF=8D=BD"; }
.fa-opencart::before { content: "=EF=88=BD"; }
.fa-vine::before { content: "=EF=87=8A"; }
.fa-paypal::before { content: "=EF=87=AD"; }
.fa-gitlab::before { content: "=EF=8A=96"; }
.fa-typo3::before { content: "=EF=90=AB"; }
.fa-reddit-alien::before { content: "=EF=8A=81"; }
.fa-yahoo::before { content: "=EF=86=9E"; }
.fa-dailymotion::before { content: "=EE=81=92"; }
.fa-affiliatetheme::before { content: "=EF=8D=AB"; }
.fa-pied-piper-pp::before { content: "=EF=86=A7"; }
.fa-bootstrap::before { content: "=EF=A0=B6"; }
.fa-odnoklassniki::before { content: "=EF=89=A3"; }
.fa-nfc-symbol::before { content: "=EE=94=B1"; }
.fa-ethereum::before { content: "=EF=90=AE"; }
.fa-speaker-deck::before { content: "=EF=A0=BC"; }
.fa-creative-commons-nc-eu::before { content: "=EF=93=A9"; }
.fa-patreon::before { content: "=EF=8F=99"; }
.fa-avianex::before { content: "=EF=8D=B4"; }
.fa-ello::before { content: "=EF=97=B1"; }
.fa-gofore::before { content: "=EF=8E=A7"; }
.fa-bimobject::before { content: "=EF=8D=B8"; }
.fa-facebook-f::before { content: "=EF=8E=9E"; }
.fa-google-plus-square::before, .fa-square-google-plus::before { content: "=
=EF=83=94"; }
.fa-mandalorian::before { content: "=EF=94=8F"; }
.fa-first-order-alt::before { content: "=EF=94=8A"; }
.fa-osi::before { content: "=EF=90=9A"; }
.fa-google-wallet::before { content: "=EF=87=AE"; }
.fa-d-and-d-beyond::before { content: "=EF=9B=8A"; }
.fa-periscope::before { content: "=EF=8F=9A"; }
.fa-fulcrum::before { content: "=EF=94=8B"; }
.fa-cloudscale::before { content: "=EF=8E=83"; }
.fa-forumbee::before { content: "=EF=88=91"; }
.fa-mizuni::before { content: "=EF=8F=8C"; }
.fa-schlix::before { content: "=EF=8F=AA"; }
.fa-square-xing::before, .fa-xing-square::before { content: "=EF=85=A9"; }
.fa-bandcamp::before { content: "=EF=8B=95"; }
.fa-wpforms::before { content: "=EF=8A=98"; }
.fa-cloudversify::before { content: "=EF=8E=85"; }
.fa-usps::before { content: "=EF=9F=A1"; }
.fa-megaport::before { content: "=EF=96=A3"; }
.fa-magento::before { content: "=EF=8F=84"; }
.fa-spotify::before { content: "=EF=86=BC"; }
.fa-optin-monster::before { content: "=EF=88=BC"; }
.fa-fly::before { content: "=EF=90=97"; }
.fa-aviato::before { content: "=EF=90=A1"; }
.fa-itunes::before { content: "=EF=8E=B4"; }
.fa-cuttlefish::before { content: "=EF=8E=8C"; }
.fa-blogger::before { content: "=EF=8D=BC"; }
.fa-flickr::before { content: "=EF=85=AE"; }
.fa-viber::before { content: "=EF=90=89"; }
.fa-soundcloud::before { content: "=EF=86=BE"; }
.fa-digg::before { content: "=EF=86=A6"; }
.fa-tencent-weibo::before { content: "=EF=87=95"; }
.fa-symfony::before { content: "=EF=A0=BD"; }
.fa-maxcdn::before { content: "=EF=84=B6"; }
.fa-etsy::before { content: "=EF=8B=97"; }
.fa-facebook-messenger::before { content: "=EF=8E=9F"; }
.fa-audible::before { content: "=EF=8D=B3"; }
.fa-think-peaks::before { content: "=EF=9C=B1"; }
.fa-bilibili::before { content: "=EE=8F=99"; }
.fa-erlang::before { content: "=EF=8E=9D"; }
.fa-x-twitter::before { content: "=EE=98=9B"; }
.fa-cotton-bureau::before { content: "=EF=A2=9E"; }
.fa-dashcube::before { content: "=EF=88=90"; }
.fa-42-group::before, .fa-innosoft::before { content: "=EE=82=80"; }
.fa-stack-exchange::before { content: "=EF=86=8D"; }
.fa-elementor::before { content: "=EF=90=B0"; }
.fa-pied-piper-square::before, .fa-square-pied-piper::before { content: "=
=EE=80=9E"; }
.fa-creative-commons-nd::before { content: "=EF=93=AB"; }
.fa-palfed::before { content: "=EF=8F=98"; }
.fa-superpowers::before { content: "=EF=8B=9D"; }
.fa-resolving::before { content: "=EF=8F=A7"; }
.fa-xbox::before { content: "=EF=90=92"; }
.fa-searchengin::before { content: "=EF=8F=AB"; }
.fa-tiktok::before { content: "=EE=81=BB"; }
.fa-facebook-square::before, .fa-square-facebook::before { content: "=EF=82=
=82"; }
.fa-renren::before { content: "=EF=86=8B"; }
.fa-linux::before { content: "=EF=85=BC"; }
.fa-glide::before { content: "=EF=8A=A5"; }
.fa-linkedin::before { content: "=EF=82=8C"; }
.fa-hubspot::before { content: "=EF=8E=B2"; }
.fa-deploydog::before { content: "=EF=8E=8E"; }
.fa-twitch::before { content: "=EF=87=A8"; }
.fa-ravelry::before { content: "=EF=8B=99"; }
.fa-mixer::before { content: "=EE=81=96"; }
.fa-lastfm-square::before, .fa-square-lastfm::before { content: "=EF=88=83"=
; }
.fa-vimeo::before { content: "=EF=90=8A"; }
.fa-mendeley::before { content: "=EF=9E=B3"; }
.fa-uniregistry::before { content: "=EF=90=84"; }
.fa-figma::before { content: "=EF=9E=99"; }
.fa-creative-commons-remix::before { content: "=EF=93=AE"; }
.fa-cc-amazon-pay::before { content: "=EF=90=AD"; }
.fa-dropbox::before { content: "=EF=85=AB"; }
.fa-instagram::before { content: "=EF=85=AD"; }
.fa-cmplid::before { content: "=EE=8D=A0"; }
.fa-facebook::before { content: "=EF=82=9A"; }
.fa-gripfire::before { content: "=EF=8E=AC"; }
.fa-jedi-order::before { content: "=EF=94=8E"; }
.fa-uikit::before { content: "=EF=90=83"; }
.fa-fort-awesome-alt::before { content: "=EF=8E=A3"; }
.fa-phabricator::before { content: "=EF=8F=9B"; }
.fa-ussunnah::before { content: "=EF=90=87"; }
.fa-earlybirds::before { content: "=EF=8E=9A"; }
.fa-trade-federation::before { content: "=EF=94=93"; }
.fa-autoprefixer::before { content: "=EF=90=9C"; }
.fa-whatsapp::before { content: "=EF=88=B2"; }
.fa-slideshare::before { content: "=EF=87=A7"; }
.fa-google-play::before { content: "=EF=8E=AB"; }
.fa-viadeo::before { content: "=EF=8A=A9"; }
.fa-line::before { content: "=EF=8F=80"; }
.fa-google-drive::before { content: "=EF=8E=AA"; }
.fa-servicestack::before { content: "=EF=8F=AC"; }
.fa-simplybuilt::before { content: "=EF=88=95"; }
.fa-bitbucket::before { content: "=EF=85=B1"; }
.fa-imdb::before { content: "=EF=8B=98"; }
.fa-deezer::before { content: "=EE=81=B7"; }
.fa-raspberry-pi::before { content: "=EF=9E=BB"; }
.fa-jira::before { content: "=EF=9E=B1"; }
.fa-docker::before { content: "=EF=8E=95"; }
.fa-screenpal::before { content: "=EE=95=B0"; }
.fa-bluetooth::before { content: "=EF=8A=93"; }
.fa-gitter::before { content: "=EF=90=A6"; }
.fa-d-and-d::before { content: "=EF=8E=8D"; }
.fa-microblog::before { content: "=EE=80=9A"; }
.fa-cc-diners-club::before { content: "=EF=89=8C"; }
.fa-gg-circle::before { content: "=EF=89=A1"; }
.fa-pied-piper-hat::before { content: "=EF=93=A5"; }
.fa-kickstarter-k::before { content: "=EF=8E=BC"; }
.fa-yandex::before { content: "=EF=90=93"; }
.fa-readme::before { content: "=EF=93=95"; }
.fa-html5::before { content: "=EF=84=BB"; }
.fa-sellsy::before { content: "=EF=88=93"; }
.fa-sass::before { content: "=EF=90=9E"; }
.fa-wirsindhandwerk::before, .fa-wsh::before { content: "=EE=8B=90"; }
.fa-buromobelexperte::before { content: "=EF=8D=BF"; }
.fa-salesforce::before { content: "=EF=A0=BB"; }
.fa-octopus-deploy::before { content: "=EE=82=82"; }
.fa-medapps::before { content: "=EF=8F=86"; }
.fa-ns8::before { content: "=EF=8F=95"; }
.fa-pinterest-p::before { content: "=EF=88=B1"; }
.fa-apper::before { content: "=EF=8D=B1"; }
.fa-fort-awesome::before { content: "=EF=8A=86"; }
.fa-waze::before { content: "=EF=A0=BF"; }
.fa-cc-jcb::before { content: "=EF=89=8B"; }
.fa-snapchat-ghost::before, .fa-snapchat::before { content: "=EF=8A=AB"; }
.fa-fantasy-flight-games::before { content: "=EF=9B=9C"; }
.fa-rust::before { content: "=EE=81=BA"; }
.fa-wix::before { content: "=EF=97=8F"; }
.fa-behance-square::before, .fa-square-behance::before { content: "=EF=86=
=B5"; }
.fa-supple::before { content: "=EF=8F=B9"; }
.fa-rebel::before { content: "=EF=87=90"; }
.fa-css3::before { content: "=EF=84=BC"; }
.fa-staylinked::before { content: "=EF=8F=B5"; }
.fa-kaggle::before { content: "=EF=97=BA"; }
.fa-space-awesome::before { content: "=EE=96=AC"; }
.fa-deviantart::before { content: "=EF=86=BD"; }
.fa-cpanel::before { content: "=EF=8E=88"; }
.fa-goodreads-g::before { content: "=EF=8E=A9"; }
.fa-git-square::before, .fa-square-git::before { content: "=EF=87=92"; }
.fa-square-tumblr::before, .fa-tumblr-square::before { content: "=EF=85=B4"=
; }
.fa-trello::before { content: "=EF=86=81"; }
.fa-creative-commons-nc-jp::before { content: "=EF=93=AA"; }
.fa-get-pocket::before { content: "=EF=89=A5"; }
.fa-perbyte::before { content: "=EE=82=83"; }
.fa-grunt::before { content: "=EF=8E=AD"; }
.fa-weebly::before { content: "=EF=97=8C"; }
.fa-connectdevelop::before { content: "=EF=88=8E"; }
.fa-leanpub::before { content: "=EF=88=92"; }
.fa-black-tie::before { content: "=EF=89=BE"; }
.fa-themeco::before { content: "=EF=97=86"; }
.fa-python::before { content: "=EF=8F=A2"; }
.fa-android::before { content: "=EF=85=BB"; }
.fa-bots::before { content: "=EE=8D=80"; }
.fa-free-code-camp::before { content: "=EF=8B=85"; }
.fa-hornbill::before { content: "=EF=96=92"; }
.fa-js::before { content: "=EF=8E=B8"; }
.fa-ideal::before { content: "=EE=80=93"; }
.fa-git::before { content: "=EF=87=93"; }
.fa-dev::before { content: "=EF=9B=8C"; }
.fa-sketch::before { content: "=EF=9F=86"; }
.fa-yandex-international::before { content: "=EF=90=94"; }
.fa-cc-amex::before { content: "=EF=87=B3"; }
.fa-uber::before { content: "=EF=90=82"; }
.fa-github::before { content: "=EF=82=9B"; }
.fa-php::before { content: "=EF=91=97"; }
.fa-alipay::before { content: "=EF=99=82"; }
.fa-youtube::before { content: "=EF=85=A7"; }
.fa-skyatlas::before { content: "=EF=88=96"; }
.fa-firefox-browser::before { content: "=EE=80=87"; }
.fa-replyd::before { content: "=EF=8F=A6"; }
.fa-suse::before { content: "=EF=9F=96"; }
.fa-jenkins::before { content: "=EF=8E=B6"; }
.fa-twitter::before { content: "=EF=82=99"; }
.fa-rockrms::before { content: "=EF=8F=A9"; }
.fa-pinterest::before { content: "=EF=83=92"; }
.fa-buffer::before { content: "=EF=A0=B7"; }
.fa-npm::before { content: "=EF=8F=94"; }
.fa-yammer::before { content: "=EF=A1=80"; }
.fa-btc::before { content: "=EF=85=9A"; }
.fa-dribbble::before { content: "=EF=85=BD"; }
.fa-stumbleupon-circle::before { content: "=EF=86=A3"; }
.fa-internet-explorer::before { content: "=EF=89=AB"; }
.fa-stubber::before { content: "=EE=97=87"; }
.fa-telegram-plane::before, .fa-telegram::before { content: "=EF=8B=86"; }
.fa-old-republic::before { content: "=EF=94=90"; }
.fa-odysee::before { content: "=EE=97=86"; }
.fa-square-whatsapp::before, .fa-whatsapp-square::before { content: "=EF=90=
=8C"; }
.fa-node-js::before { content: "=EF=8F=93"; }
.fa-edge-legacy::before { content: "=EE=81=B8"; }
.fa-slack-hash::before, .fa-slack::before { content: "=EF=86=98"; }
.fa-medrt::before { content: "=EF=8F=88"; }
.fa-usb::before { content: "=EF=8A=87"; }
.fa-tumblr::before { content: "=EF=85=B3"; }
.fa-vaadin::before { content: "=EF=90=88"; }
.fa-quora::before { content: "=EF=8B=84"; }
.fa-square-x-twitter::before { content: "=EE=98=9A"; }
.fa-reacteurope::before { content: "=EF=9D=9D"; }
.fa-medium-m::before, .fa-medium::before { content: "=EF=88=BA"; }
.fa-amilia::before { content: "=EF=8D=AD"; }
.fa-mixcloud::before { content: "=EF=8A=89"; }
.fa-flipboard::before { content: "=EF=91=8D"; }
.fa-viacoin::before { content: "=EF=88=B7"; }
.fa-critical-role::before { content: "=EF=9B=89"; }
.fa-sitrox::before { content: "=EE=91=8A"; }
.fa-discourse::before { content: "=EF=8E=93"; }
.fa-joomla::before { content: "=EF=86=AA"; }
.fa-mastodon::before { content: "=EF=93=B6"; }
.fa-airbnb::before { content: "=EF=A0=B4"; }
.fa-wolf-pack-battalion::before { content: "=EF=94=94"; }
.fa-buy-n-large::before { content: "=EF=A2=A6"; }
.fa-gulp::before { content: "=EF=8E=AE"; }
.fa-creative-commons-sampling-plus::before { content: "=EF=93=B1"; }
.fa-strava::before { content: "=EF=90=A8"; }
.fa-ember::before { content: "=EF=90=A3"; }
.fa-canadian-maple-leaf::before { content: "=EF=9E=85"; }
.fa-teamspeak::before { content: "=EF=93=B9"; }
.fa-pushed::before { content: "=EF=8F=A1"; }
.fa-wordpress-simple::before { content: "=EF=90=91"; }
.fa-nutritionix::before { content: "=EF=8F=96"; }
.fa-wodu::before { content: "=EE=82=88"; }
.fa-google-pay::before { content: "=EE=81=B9"; }
.fa-intercom::before { content: "=EF=9E=AF"; }
.fa-zhihu::before { content: "=EF=98=BF"; }
.fa-korvue::before { content: "=EF=90=AF"; }
.fa-pix::before { content: "=EE=90=BA"; }
.fa-steam-symbol::before { content: "=EF=8F=B6"; }
:host, :root { --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; }
@font-face { font-family: "Font Awesome 6 Free"; font-style: normal; font-w=
eight: 400; font-display: block; src: url("../webfonts/fa-regular-400.woff2=
") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"=
); }
.fa-regular, .far { font-weight: 400; }
:host, :root { --fa-style-family-classic: "Font Awesome 6 Free"; --fa-font-=
solid: normal 900 1em/1 "Font Awesome 6 Free"; }
@font-face { font-family: "Font Awesome 6 Free"; font-style: normal; font-w=
eight: 900; font-display: block; src: url("../webfonts/fa-solid-900.woff2")=
format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }
.fa-solid, .fas { font-weight: 900; }
@font-face { font-family: "Font Awesome 5 Brands"; font-display: block; fon=
t-weight: 400; src: url("../webfonts/fa-brands-400.woff2") format("woff2"),=
url("../webfonts/fa-brands-400.ttf") format("truetype"); }
@font-face { font-family: "Font Awesome 5 Free"; font-display: block; font-=
weight: 900; src: url("../webfonts/fa-solid-900.woff2") format("woff2"), ur=
l("../webfonts/fa-solid-900.ttf") format("truetype"); }
@font-face { font-family: "Font Awesome 5 Free"; font-display: block; font-=
weight: 400; src: url("../webfonts/fa-regular-400.woff2") format("woff2"), =
url("../webfonts/fa-regular-400.ttf") format("truetype"); }
@font-face { font-family: FontAwesome; font-display: block; src: url("../we=
bfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.=
ttf") format("truetype"); }
@font-face { font-family: FontAwesome; font-display: block; src: url("../we=
bfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-40=
0.ttf") format("truetype"); }
@font-face { font-family: FontAwesome; font-display: block; src: url("../we=
bfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-=
400.ttf") format("truetype"); unicode-range: U+F003, U+F006, U+F014, U+F016=
-F017, U+F01A-F01B, U+F01D, U+F022, U+F03E, U+F044, U+F046, U+F05C-F05D, U+=
F06E, U+F070, U+F087-F088, U+F08A, U+F094, U+F096-F097, U+F09D, U+F0A0, U+F=
0A2, U+F0A4-F0A7, U+F0C5, U+F0C7, U+F0E5-F0E6, U+F0EB, U+F0F6-F0F8, U+F10C,=
U+F114-F115, U+F118-F11A, U+F11C-F11D, U+F133, U+F147, U+F14E, U+F150-F152=
, U+F185-F186, U+F18E, U+F190-F192, U+F196, U+F1C1-F1C9, U+F1D9, U+F1DB, U+=
F1E3, U+F1EA, U+F1F7, U+F1F9, U+F20A, U+F247-F248, U+F24A, U+F24D, U+F255-F=
25B, U+F25D, U+F271-F274, U+F278, U+F27B, U+F28C, U+F28E, U+F29C, U+F2B5, U=
+F2B7, U+F2BA, U+F2BC, U+F2BE, U+F2C0-F2C1, U+F2C3, U+F2D0, U+F2D2, U+F2D4,=
U+F2DC; }
@font-face { font-family: FontAwesome; font-display: block; src: url("../we=
bfonts/fa-v4compatibility.woff2") format("woff2"), url("../webfonts/fa-v4co=
mpatibility.ttf") format("truetype"); unicode-range: U+F041, U+F047, U+F065=
-F066, U+F07D-F07E, U+F080, U+F08B, U+F08E, U+F090, U+F09A, U+F0AC, U+F0AE,=
U+F0B2, U+F0D0, U+F0D6, U+F0E4, U+F0EC, U+F10A-F10B, U+F123, U+F13E, U+F14=
8-F149, U+F14C, U+F156, U+F15E, U+F160-F161, U+F163, U+F175-F178, U+F195, U=
+F1F8, U+F219, U+F27A; }
------MultipartBoundary--gWmtkLL3aPLL9QvHLWg1Yif3XzwEYNRGNBhxAsKdsK----
Content-Type: text/css
Content-Transfer-Encoding: quoted-printable
Content-Location: https://it-notes.dragas.net/lib/animate/animate.min.738daa4d2c3fc0f677ff92c1cc3f81c397fb6d2176a31a2eeb011bf88fe5a9e68a57914321f32fbd1a7bef6cb88dc24b2ae1943a96c931d83f053979d1f25803.css
@charset "utf-8";
:root { --animate-duration: 1s; --animate-delay: 1s; --animate-repeat: 1; }
.animate__animated { animation-duration: var(--animate-duration); animation=
-fill-mode: both; }
.animate__animated.animate__infinite { animation-iteration-count: infinite;=
}
.animate__animated.animate__repeat-1 { animation-iteration-count: var(--ani=
mate-repeat); }
.animate__animated.animate__repeat-2 { animation-iteration-count: calc(var(=
--animate-repeat)*2); }
.animate__animated.animate__repeat-3 { animation-iteration-count: calc(var(=
--animate-repeat)*3); }
.animate__animated.animate__delay-1s { animation-delay: var(--animate-delay=
); }
.animate__animated.animate__delay-2s { animation-delay: calc(var(--animate-=
delay)*2); }
.animate__animated.animate__delay-3s { animation-delay: calc(var(--animate-=
delay)*3); }
.animate__animated.animate__delay-4s { animation-delay: calc(var(--animate-=
delay)*4); }
.animate__animated.animate__delay-5s { animation-delay: calc(var(--animate-=
delay)*5); }
.animate__animated.animate__faster { animation-duration: calc(var(--animate=
-duration)/2); }
.animate__animated.animate__fast { animation-duration: calc(var(--animate-d=
uration)*0.8); }
.animate__animated.animate__slow { animation-duration: calc(var(--animate-d=
uration)*2); }
.animate__animated.animate__slower { animation-duration: calc(var(--animate=
-duration)*3); }
@media (prefers-reduced-motion: reduce), print {
.animate__animated { animation-duration: 1ms !important; transition-durat=
ion: 1ms !important; animation-iteration-count: 1 !important; }
.animate__animated[class*=3D"Out"] { opacity: 0; }
}
@-webkit-keyframes bounce {=20
0%, 20%, 53%, 100% { animation-timing-function: cubic-bezier(0.215, 0.61,=
0.355, 1); transform: translateZ(0px); }
40%, 43% { animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.=
06); transform: translate3d(0px, -30px, 0px) scaleY(1.1); }
70% { animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); =
transform: translate3d(0px, -15px, 0px) scaleY(1.05); }
80% { transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); tr=
ansform: translateZ(0px) scaleY(0.95); }
90% { transform: translate3d(0px, -4px, 0px) scaleY(1.02); }
}
@keyframes bounce {=20
0%, 20%, 53%, 100% { animation-timing-function: cubic-bezier(0.215, 0.61,=
0.355, 1); transform: translateZ(0px); }
40%, 43% { animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.=
06); transform: translate3d(0px, -30px, 0px) scaleY(1.1); }
70% { animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); =
transform: translate3d(0px, -15px, 0px) scaleY(1.05); }
80% { transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); tr=
ansform: translateZ(0px) scaleY(0.95); }
90% { transform: translate3d(0px, -4px, 0px) scaleY(1.02); }
}
.animate__bounce { animation-name: bounce; transform-origin: center bottom;=
}
@-webkit-keyframes flash {=20
0%, 50%, 100% { opacity: 1; }
25%, 75% { opacity: 0; }
}
@keyframes flash {=20
0%, 50%, 100% { opacity: 1; }
25%, 75% { opacity: 0; }
}
.animate__flash { animation-name: flash; }
@-webkit-keyframes pulse {=20
0% { transform: scaleX(1); }
50% { transform: scale3d(1.05, 1.05, 1.05); }
100% { transform: scaleX(1); }
}
@keyframes pulse {=20
0% { transform: scaleX(1); }
50% { transform: scale3d(1.05, 1.05, 1.05); }
100% { transform: scaleX(1); }
}
.animate__pulse { animation-name: pulse; animation-timing-function: ease-in=
-out; }
@-webkit-keyframes rubberBand {=20
0% { transform: scaleX(1); }
30% { transform: scale3d(1.25, 0.75, 1); }
40% { transform: scale3d(0.75, 1.25, 1); }
50% { transform: scale3d(1.15, 0.85, 1); }
65% { transform: scale3d(0.95, 1.05, 1); }
75% { transform: scale3d(1.05, 0.95, 1); }
100% { transform: scaleX(1); }
}
@keyframes rubberBand {=20
0% { transform: scaleX(1); }
30% { transform: scale3d(1.25, 0.75, 1); }
40% { transform: scale3d(0.75, 1.25, 1); }
50% { transform: scale3d(1.15, 0.85, 1); }
65% { transform: scale3d(0.95, 1.05, 1); }
75% { transform: scale3d(1.05, 0.95, 1); }
100% { transform: scaleX(1); }
}
.animate__rubberBand { animation-name: rubberBand; }
@-webkit-keyframes shakeX {=20
0%, 100% { transform: translateZ(0px); }
10%, 30%, 50%, 70%, 90% { transform: translate3d(-10px, 0px, 0px); }
20%, 40%, 60%, 80% { transform: translate3d(10px, 0px, 0px); }
}
@keyframes shakeX {=20
0%, 100% { transform: translateZ(0px); }
10%, 30%, 50%, 70%, 90% { transform: translate3d(-10px, 0px, 0px); }
20%, 40%, 60%, 80% { transform: translate3d(10px, 0px, 0px); }
}
.animate__shakeX { animation-name: shakeX; }
@-webkit-keyframes shakeY {=20
0%, 100% { transform: translateZ(0px); }
10%, 30%, 50%, 70%, 90% { transform: translate3d(0px, -10px, 0px); }
20%, 40%, 60%, 80% { transform: translate3d(0px, 10px, 0px); }
}
@keyframes shakeY {=20
0%, 100% { transform: translateZ(0px); }
10%, 30%, 50%, 70%, 90% { transform: translate3d(0px, -10px, 0px); }
20%, 40%, 60%, 80% { transform: translate3d(0px, 10px, 0px); }
}
.animate__shakeY { animation-name: shakeY; }
@-webkit-keyframes headShake {=20
0% { transform: translateX(0px); }
6.5% { transform: translateX(-6px) rotateY(-9deg); }
18.5% { transform: translateX(5px) rotateY(7deg); }
31.5% { transform: translateX(-3px) rotateY(-5deg); }
43.5% { transform: translateX(2px) rotateY(3deg); }
50% { transform: translateX(0px); }
}
@keyframes headShake {=20
0% { transform: translateX(0px); }
6.5% { transform: translateX(-6px) rotateY(-9deg); }
18.5% { transform: translateX(5px) rotateY(7deg); }
31.5% { transform: translateX(-3px) rotateY(-5deg); }
43.5% { transform: translateX(2px) rotateY(3deg); }
50% { transform: translateX(0px); }
}
.animate__headShake { animation-timing-function: ease-in-out; animation-nam=
e: headShake; }
@-webkit-keyframes swing {=20
20% { transform: rotate(15deg); }
40% { transform: rotate(-10deg); }
60% { transform: rotate(5deg); }
80% { transform: rotate(-5deg); }
100% { transform: rotate(0deg); }
}
@keyframes swing {=20
20% { transform: rotate(15deg); }
40% { transform: rotate(-10deg); }
60% { transform: rotate(5deg); }
80% { transform: rotate(-5deg); }
100% { transform: rotate(0deg); }
}
.animate__swing { transform-origin: center top; animation-name: swing; }
@-webkit-keyframes tada {=20
0% { transform: scaleX(1); }
10%, 20% { transform: scale3d(0.9, 0.9, 0.9) rotate(-3deg); }
30%, 50%, 70%, 90% { transform: scale3d(1.1, 1.1, 1.1) rotate(3deg); }
40%, 60%, 80% { transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg); }
100% { transform: scaleX(1); }
}
@keyframes tada {=20
0% { transform: scaleX(1); }
10%, 20% { transform: scale3d(0.9, 0.9, 0.9) rotate(-3deg); }
30%, 50%, 70%, 90% { transform: scale3d(1.1, 1.1, 1.1) rotate(3deg); }
40%, 60%, 80% { transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg); }
100% { transform: scaleX(1); }
}
.animate__tada { animation-name: tada; }
@-webkit-keyframes wobble {=20
0% { transform: translateZ(0px); }
15% { transform: translate3d(-25%, 0px, 0px) rotate(-5deg); }
30% { transform: translate3d(20%, 0px, 0px) rotate(3deg); }
45% { transform: translate3d(-15%, 0px, 0px) rotate(-3deg); }
60% { transform: translate3d(10%, 0px, 0px) rotate(2deg); }
75% { transform: translate3d(-5%, 0px, 0px) rotate(-1deg); }
100% { transform: translateZ(0px); }
}
@keyframes wobble {=20
0% { transform: translateZ(0px); }
15% { transform: translate3d(-25%, 0px, 0px) rotate(-5deg); }
30% { transform: translate3d(20%, 0px, 0px) rotate(3deg); }
45% { transform: translate3d(-15%, 0px, 0px) rotate(-3deg); }
60% { transform: translate3d(10%, 0px, 0px) rotate(2deg); }
75% { transform: translate3d(-5%, 0px, 0px) rotate(-1deg); }
100% { transform: translateZ(0px); }
}
.animate__wobble { animation-name: wobble; }
@-webkit-keyframes jello {=20
0%, 11.1%, 100% { transform: translateZ(0px); }
22.2% { transform: skewX(-12.5deg) skewY(-12.5deg); }
33.3% { transform: skewX(6.25deg) skewY(6.25deg); }
44.4% { transform: skewX(-3.125deg) skewY(-3.125deg); }
55.5% { transform: skewX(1.5625deg) skewY(1.5625deg); }
66.6% { transform: skewX(-0.78125deg) skewY(-0.78125deg); }
77.7% { transform: skewX(0.390625deg) skewY(0.390625deg); }
88.8% { transform: skewX(-0.195312deg) skewY(-0.195312deg); }
}
@keyframes jello {=20
0%, 11.1%, 100% { transform: translateZ(0px); }
22.2% { transform: skewX(-12.5deg) skewY(-12.5deg); }
33.3% { transform: skewX(6.25deg) skewY(6.25deg); }
44.4% { transform: skewX(-3.125deg) skewY(-3.125deg); }
55.5% { transform: skewX(1.5625deg) skewY(1.5625deg); }
66.6% { transform: skewX(-0.78125deg) skewY(-0.78125deg); }
77.7% { transform: skewX(0.390625deg) skewY(0.390625deg); }
88.8% { transform: skewX(-0.195312deg) skewY(-0.195312deg); }
}
.animate__jello { animation-name: jello; transform-origin: center center; }
@-webkit-keyframes heartBeat {=20
0% { transform: scale(1); }
14% { transform: scale(1.3); }
28% { transform: scale(1); }
42% { transform: scale(1.3); }
70% { transform: scale(1); }
}
@keyframes heartBeat {=20
0% { transform: scale(1); }
14% { transform: scale(1.3); }
28% { transform: scale(1); }
42% { transform: scale(1.3); }
70% { transform: scale(1); }
}
.animate__heartBeat { animation-name: heartBeat; animation-duration: calc(v=
ar(--animate-duration)*1.3); animation-timing-function: ease-in-out; }
@-webkit-keyframes backInDown {=20
0% { transform: translateY(-1200px) scale(0.7); opacity: 0.7; }
80% { transform: translateY(0px) scale(0.7); opacity: 0.7; }
100% { transform: scale(1); opacity: 1; }
}
@keyframes backInDown {=20
0% { transform: translateY(-1200px) scale(0.7); opacity: 0.7; }
80% { transform: translateY(0px) scale(0.7); opacity: 0.7; }
100% { transform: scale(1); opacity: 1; }
}
.animate__backInDown { animation-name: backInDown; }
@-webkit-keyframes backInLeft {=20
0% { transform: translateX(-2000px) scale(0.7); opacity: 0.7; }
80% { transform: translateX(0px) scale(0.7); opacity: 0.7; }
100% { transform: scale(1); opacity: 1; }
}
@keyframes backInLeft {=20
0% { transform: translateX(-2000px) scale(0.7); opacity: 0.7; }
80% { transform: translateX(0px) scale(0.7); opacity: 0.7; }
100% { transform: scale(1); opacity: 1; }
}
.animate__backInLeft { animation-name: backInLeft; }
@-webkit-keyframes backInRight {=20
0% { transform: translateX(2000px) scale(0.7); opacity: 0.7; }
80% { transform: translateX(0px) scale(0.7); opacity: 0.7; }
100% { transform: scale(1); opacity: 1; }
}
@keyframes backInRight {=20
0% { transform: translateX(2000px) scale(0.7); opacity: 0.7; }
80% { transform: translateX(0px) scale(0.7); opacity: 0.7; }
100% { transform: scale(1); opacity: 1; }
}
.animate__backInRight { animation-name: backInRight; }
@-webkit-keyframes backInUp {=20
0% { transform: translateY(1200px) scale(0.7); opacity: 0.7; }
80% { transform: translateY(0px) scale(0.7); opacity: 0.7; }
100% { transform: scale(1); opacity: 1; }
}
@keyframes backInUp {=20
0% { transform: translateY(1200px) scale(0.7); opacity: 0.7; }
80% { transform: translateY(0px) scale(0.7); opacity: 0.7; }
100% { transform: scale(1); opacity: 1; }
}
.animate__backInUp { animation-name: backInUp; }
@-webkit-keyframes backOutDown {=20
0% { transform: scale(1); opacity: 1; }
20% { transform: translateY(0px) scale(0.7); opacity: 0.7; }
100% { transform: translateY(700px) scale(0.7); opacity: 0.7; }
}
@keyframes backOutDown {=20
0% { transform: scale(1); opacity: 1; }
20% { transform: translateY(0px) scale(0.7); opacity: 0.7; }
100% { transform: translateY(700px) scale(0.7); opacity: 0.7; }
}
.animate__backOutDown { animation-name: backOutDown; }
@-webkit-keyframes backOutLeft {=20
0% { transform: scale(1); opacity: 1; }
20% { transform: translateX(0px) scale(0.7); opacity: 0.7; }
100% { transform: translateX(-2000px) scale(0.7); opacity: 0.7; }
}
@keyframes backOutLeft {=20
0% { transform: scale(1); opacity: 1; }
20% { transform: translateX(0px) scale(0.7); opacity: 0.7; }
100% { transform: translateX(-2000px) scale(0.7); opacity: 0.7; }
}
.animate__backOutLeft { animation-name: backOutLeft; }
@-webkit-keyframes backOutRight {=20
0% { transform: scale(1); opacity: 1; }
20% { transform: translateX(0px) scale(0.7); opacity: 0.7; }
100% { transform: translateX(2000px) scale(0.7); opacity: 0.7; }
}
@keyframes backOutRight {=20
0% { transform: scale(1); opacity: 1; }
20% { transform: translateX(0px) scale(0.7); opacity: 0.7; }
100% { transform: translateX(2000px) scale(0.7); opacity: 0.7; }
}
.animate__backOutRight { animation-name: backOutRight; }
@-webkit-keyframes backOutUp {=20
0% { transform: scale(1); opacity: 1; }
20% { transform: translateY(0px) scale(0.7); opacity: 0.7; }
100% { transform: translateY(-700px) scale(0.7); opacity: 0.7; }
}
@keyframes backOutUp {=20
0% { transform: scale(1); opacity: 1; }
20% { transform: translateY(0px) scale(0.7); opacity: 0.7; }
100% { transform: translateY(-700px) scale(0.7); opacity: 0.7; }
}
.animate__backOutUp { animation-name: backOutUp; }
@-webkit-keyframes bounceIn {=20
0%, 20%, 40%, 60%, 80%, 100% { animation-timing-function: cubic-bezier(0.=
215, 0.61, 0.355, 1); }
0% { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); }
20% { transform: scale3d(1.1, 1.1, 1.1); }
40% { transform: scale3d(0.9, 0.9, 0.9); }
60% { opacity: 1; transform: scale3d(1.03, 1.03, 1.03); }
80% { transform: scale3d(0.97, 0.97, 0.97); }
100% { opacity: 1; transform: scaleX(1); }
}
@keyframes bounceIn {=20
0%, 20%, 40%, 60%, 80%, 100% { animation-timing-function: cubic-bezier(0.=
215, 0.61, 0.355, 1); }
0% { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); }
20% { transform: scale3d(1.1, 1.1, 1.1); }
40% { transform: scale3d(0.9, 0.9, 0.9); }
60% { opacity: 1; transform: scale3d(1.03, 1.03, 1.03); }
80% { transform: scale3d(0.97, 0.97, 0.97); }
100% { opacity: 1; transform: scaleX(1); }
}
.animate__bounceIn { animation-duration: calc(var(--animate-duration)*0.75)=
; animation-name: bounceIn; }
@-webkit-keyframes bounceInDown {=20
0%, 60%, 75%, 90%, 100% { animation-timing-function: cubic-bezier(0.215, =
0.61, 0.355, 1); }
0% { opacity: 0; transform: translate3d(0px, -3000px, 0px) scaleY(3); }
60% { opacity: 1; transform: translate3d(0px, 25px, 0px) scaleY(0.9); }
75% { transform: translate3d(0px, -10px, 0px) scaleY(0.95); }
90% { transform: translate3d(0px, 5px, 0px) scaleY(0.985); }
100% { transform: translateZ(0px); }
}
@keyframes bounceInDown {=20
0%, 60%, 75%, 90%, 100% { animation-timing-function: cubic-bezier(0.215, =
0.61, 0.355, 1); }
0% { opacity: 0; transform: translate3d(0px, -3000px, 0px) scaleY(3); }
60% { opacity: 1; transform: translate3d(0px, 25px, 0px) scaleY(0.9); }
75% { transform: translate3d(0px, -10px, 0px) scaleY(0.95); }
90% { transform: translate3d(0px, 5px, 0px) scaleY(0.985); }
100% { transform: translateZ(0px); }
}
.animate__bounceInDown { animation-name: bounceInDown; }
@-webkit-keyframes bounceInLeft {=20
0%, 60%, 75%, 90%, 100% { animation-timing-function: cubic-bezier(0.215, =
0.61, 0.355, 1); }
0% { opacity: 0; transform: translate3d(-3000px, 0px, 0px) scaleX(3); }
60% { opacity: 1; transform: translate3d(25px, 0px, 0px) scaleX(1); }
75% { transform: translate3d(-10px, 0px, 0px) scaleX(0.98); }
90% { transform: translate3d(5px, 0px, 0px) scaleX(0.995); }
100% { transform: translateZ(0px); }
}
@keyframes bounceInLeft {=20
0%, 60%, 75%, 90%, 100% { animation-timing-function: cubic-bezier(0.215, =
0.61, 0.355, 1); }
0% { opacity: 0; transform: translate3d(-3000px, 0px, 0px) scaleX(3); }
60% { opacity: 1; transform: translate3d(25px, 0px, 0px) scaleX(1); }
75% { transform: translate3d(-10px, 0px, 0px) scaleX(0.98); }
90% { transform: translate3d(5px, 0px, 0px) scaleX(0.995); }
100% { transform: translateZ(0px); }
}
.animate__bounceInLeft { animation-name: bounceInLeft; }
@-webkit-keyframes bounceInRight {=20
0%, 60%, 75%, 90%, 100% { animation-timing-function: cubic-bezier(0.215, =
0.61, 0.355, 1); }
0% { opacity: 0; transform: translate3d(3000px, 0px, 0px) scaleX(3); }
60% { opacity: 1; transform: translate3d(-25px, 0px, 0px) scaleX(1); }
75% { transform: translate3d(10px, 0px, 0px) scaleX(0.98); }
90% { transform: translate3d(-5px, 0px, 0px) scaleX(0.995); }
100% { transform: translateZ(0px); }
}
@keyframes bounceInRight {=20
0%, 60%, 75%, 90%, 100% { animation-timing-function: cubic-bezier(0.215, =
0.61, 0.355, 1); }
0% { opacity: 0; transform: translate3d(3000px, 0px, 0px) scaleX(3); }
60% { opacity: 1; transform: translate3d(-25px, 0px, 0px) scaleX(1); }
75% { transform: translate3d(10px, 0px, 0px) scaleX(0.98); }
90% { transform: translate3d(-5px, 0px, 0px) scaleX(0.995); }
100% { transform: translateZ(0px); }
}
.animate__bounceInRight { animation-name: bounceInRight; }
@-webkit-keyframes bounceInUp {=20
0%, 60%, 75%, 90%, 100% { animation-timing-function: cubic-bezier(0.215, =
0.61, 0.355, 1); }
0% { opacity: 0; transform: translate3d(0px, 3000px, 0px) scaleY(5); }
60% { opacity: 1; transform: translate3d(0px, -20px, 0px) scaleY(0.9); }
75% { transform: translate3d(0px, 10px, 0px) scaleY(0.95); }
90% { transform: translate3d(0px, -5px, 0px) scaleY(0.985); }
100% { transform: translateZ(0px); }
}
@keyframes bounceInUp {=20
0%, 60%, 75%, 90%, 100% { animation-timing-function: cubic-bezier(0.215, =
0.61, 0.355, 1); }
0% { opacity: 0; transform: translate3d(0px, 3000px, 0px) scaleY(5); }
60% { opacity: 1; transform: translate3d(0px, -20px, 0px) scaleY(0.9); }
75% { transform: translate3d(0px, 10px, 0px) scaleY(0.95); }
90% { transform: translate3d(0px, -5px, 0px) scaleY(0.985); }
100% { transform: translateZ(0px); }
}
.animate__bounceInUp { animation-name: bounceInUp; }
@-webkit-keyframes bounceOut {=20
20% { transform: scale3d(0.9, 0.9, 0.9); }
50%, 55% { opacity: 1; transform: scale3d(1.1, 1.1, 1.1); }
100% { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); }
}
@keyframes bounceOut {=20
20% { transform: scale3d(0.9, 0.9, 0.9); }
50%, 55% { opacity: 1; transform: scale3d(1.1, 1.1, 1.1); }
100% { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); }
}
.animate__bounceOut { animation-duration: calc(var(--animate-duration)*0.75=
); animation-name: bounceOut; }
@-webkit-keyframes bounceOutDown {=20
20% { transform: translate3d(0px, 10px, 0px) scaleY(0.985); }
40%, 45% { opacity: 1; transform: translate3d(0px, -20px, 0px) scaleY(0.9=
); }
100% { opacity: 0; transform: translate3d(0px, 2000px, 0px) scaleY(3); }
}
@keyframes bounceOutDown {=20
20% { transform: translate3d(0px, 10px, 0px) scaleY(0.985); }
40%, 45% { opacity: 1; transform: translate3d(0px, -20px, 0px) scaleY(0.9=
); }
100% { opacity: 0; transform: translate3d(0px, 2000px, 0px) scaleY(3); }
}
.animate__bounceOutDown { animation-name: bounceOutDown; }
@-webkit-keyframes bounceOutLeft {=20
20% { opacity: 1; transform: translate3d(20px, 0px, 0px) scaleX(0.9); }
100% { opacity: 0; transform: translate3d(-2000px, 0px, 0px) scaleX(2); }
}
@keyframes bounceOutLeft {=20
20% { opacity: 1; transform: translate3d(20px, 0px, 0px) scaleX(0.9); }
100% { opacity: 0; transform: translate3d(-2000px, 0px, 0px) scaleX(2); }
}
.animate__bounceOutLeft { animation-name: bounceOutLeft; }
@-webkit-keyframes bounceOutRight {=20
20% { opacity: 1; transform: translate3d(-20px, 0px, 0px) scaleX(0.9); }
100% { opacity: 0; transform: translate3d(2000px, 0px, 0px) scaleX(2); }
}
@keyframes bounceOutRight {=20
20% { opacity: 1; transform: translate3d(-20px, 0px, 0px) scaleX(0.9); }
100% { opacity: 0; transform: translate3d(2000px, 0px, 0px) scaleX(2); }
}
.animate__bounceOutRight { animation-name: bounceOutRight; }
@-webkit-keyframes bounceOutUp {=20
20% { transform: translate3d(0px, -10px, 0px) scaleY(0.985); }
40%, 45% { opacity: 1; transform: translate3d(0px, 20px, 0px) scaleY(0.9)=
; }
100% { opacity: 0; transform: translate3d(0px, -2000px, 0px) scaleY(3); }
}
@keyframes bounceOutUp {=20
20% { transform: translate3d(0px, -10px, 0px) scaleY(0.985); }
40%, 45% { opacity: 1; transform: translate3d(0px, 20px, 0px) scaleY(0.9)=
; }
100% { opacity: 0; transform: translate3d(0px, -2000px, 0px) scaleY(3); }
}
.animate__bounceOutUp { animation-name: bounceOutUp; }
@-webkit-keyframes fadeIn {=20
0% { opacity: 0; }
100% { opacity: 1; }
}
@keyframes fadeIn {=20
0% { opacity: 0; }
100% { opacity: 1; }
}
.animate__fadeIn { animation-name: fadeIn; }
@-webkit-keyframes fadeInDown {=20
0% { opacity: 0; transform: translate3d(0px, -100%, 0px); }
100% { opacity: 1; transform: translateZ(0px); }
}
@keyframes fadeInDown {=20
0% { opacity: 0; transform: translate3d(0px, -100%, 0px); }
100% { opacity: 1; transform: translateZ(0px); }
}
.animate__fadeInDown { animation-name: fadeInDown; }
@-webkit-keyframes fadeInDownBig {=20
0% { opacity: 0; transform: translate3d(0px, -2000px, 0px); }
100% { opacity: 1; transform: translateZ(0px); }
}
@keyframes fadeInDownBig {=20
0% { opacity: 0; transform: translate3d(0px, -2000px, 0px); }
100% { opacity: 1; transform: translateZ(0px); }
}
.animate__fadeInDownBig { animation-name: fadeInDownBig; }
@-webkit-keyframes fadeInLeft {=20
0% { opacity: 0; transform: translate3d(-100%, 0px, 0px); }
100% { opacity: 1; transform: translateZ(0px); }
}
@keyframes fadeInLeft {=20
0% { opacity: 0; transform: translate3d(-100%, 0px, 0px); }
100% { opacity: 1; transform: translateZ(0px); }
}
.animate__fadeInLeft { animation-name: fadeInLeft; }
@-webkit-keyframes fadeInLeftBig {=20
0% { opacity: 0; transform: translate3d(-2000px, 0px, 0px); }
100% { opacity: 1; transform: translateZ(0px); }
}
@keyframes fadeInLeftBig {=20
0% { opacity: 0; transform: translate3d(-2000px, 0px, 0px); }
100% { opacity: 1; transform: translateZ(0px); }
}
.animate__fadeInLeftBig { animation-name: fadeInLeftBig; }
@-webkit-keyframes fadeInRight {=20
0% { opacity: 0; transform: translate3d(100%, 0px, 0px); }
100% { opacity: 1; transform: translateZ(0px); }
}
@keyframes fadeInRight {=20
0% { opacity: 0; transform: translate3d(100%, 0px, 0px); }
100% { opacity: 1; transform: translateZ(0px); }
}
.animate__fadeInRight { animation-name: fadeInRight; }
@-webkit-keyframes fadeInRightBig {=20
0% { opacity: 0; transform: translate3d(2000px, 0px, 0px); }
100% { opacity: 1; transform: translateZ(0px); }
}
@keyframes fadeInRightBig {=20
0% { opacity: 0; transform: translate3d(2000px, 0px, 0px); }
100% { opacity: 1; transform: translateZ(0px); }
}
.animate__fadeInRightBig { animation-name: fadeInRightBig; }
@-webkit-keyframes fadeInUp {=20
0% { opacity: 0; transform: translate3d(0px, 100%, 0px); }
100% { opacity: 1; transform: translateZ(0px); }
}
@keyframes fadeInUp {=20
0% { opacity: 0; transform: translate3d(0px, 100%, 0px); }
100% { opacity: 1; transform: translateZ(0px); }
}
.animate__fadeInUp { animation-name: fadeInUp; }
@-webkit-keyframes fadeInUpBig {=20
0% { opacity: 0; transform: translate3d(0px, 2000px, 0px); }
100% { opacity: 1; transform: translateZ(0px); }
}
@keyframes fadeInUpBig {=20
0% { opacity: 0; transform: translate3d(0px, 2000px, 0px); }
100% { opacity: 1; transform: translateZ(0px); }
}
.animate__fadeInUpBig { animation-name: fadeInUpBig; }
@-webkit-keyframes fadeInTopLeft {=20
0% { opacity: 0; transform: translate3d(-100%, -100%, 0px); }
100% { opacity: 1; transform: translateZ(0px); }
}
@keyframes fadeInTopLeft {=20
0% { opacity: 0; transform: translate3d(-100%, -100%, 0px); }
100% { opacity: 1; transform: translateZ(0px); }
}
.animate__fadeInTopLeft { animation-name: fadeInTopLeft; }
@-webkit-keyframes fadeInTopRight {=20
0% { opacity: 0; transform: translate3d(100%, -100%, 0px); }
100% { opacity: 1; transform: translateZ(0px); }
}
@keyframes fadeInTopRight {=20
0% { opacity: 0; transform: translate3d(100%, -100%, 0px); }
100% { opacity: 1; transform: translateZ(0px); }
}
.animate__fadeInTopRight { animation-name: fadeInTopRight; }
@-webkit-keyframes fadeInBottomLeft {=20
0% { opacity: 0; transform: translate3d(-100%, 100%, 0px); }
100% { opacity: 1; transform: translateZ(0px); }
}
@keyframes fadeInBottomLeft {=20
0% { opacity: 0; transform: translate3d(-100%, 100%, 0px); }
100% { opacity: 1; transform: translateZ(0px); }
}
.animate__fadeInBottomLeft { animation-name: fadeInBottomLeft; }
@-webkit-keyframes fadeInBottomRight {=20
0% { opacity: 0; transform: translate3d(100%, 100%, 0px); }
100% { opacity: 1; transform: translateZ(0px); }
}
@keyframes fadeInBottomRight {=20
0% { opacity: 0; transform: translate3d(100%, 100%, 0px); }
100% { opacity: 1; transform: translateZ(0px); }
}
.animate__fadeInBottomRight { animation-name: fadeInBottomRight; }
@-webkit-keyframes fadeOut {=20
0% { opacity: 1; }
100% { opacity: 0; }
}
@keyframes fadeOut {=20
0% { opacity: 1; }
100% { opacity: 0; }
}
.animate__fadeOut { animation-name: fadeOut; }
@-webkit-keyframes fadeOutDown {=20
0% { opacity: 1; }
100% { opacity: 0; transform: translate3d(0px, 100%, 0px); }
}
@keyframes fadeOutDown {=20
0% { opacity: 1; }
100% { opacity: 0; transform: translate3d(0px, 100%, 0px); }
}
.animate__fadeOutDown { animation-name: fadeOutDown; }
@-webkit-keyframes fadeOutDownBig {=20
0% { opacity: 1; }
100% { opacity: 0; transform: translate3d(0px, 2000px, 0px); }
}
@keyframes fadeOutDownBig {=20
0% { opacity: 1; }
100% { opacity: 0; transform: translate3d(0px, 2000px, 0px); }
}
.animate__fadeOutDownBig { animation-name: fadeOutDownBig; }
@-webkit-keyframes fadeOutLeft {=20
0% { opacity: 1; }
100% { opacity: 0; transform: translate3d(-100%, 0px, 0px); }
}
@keyframes fadeOutLeft {=20
0% { opacity: 1; }
100% { opacity: 0; transform: translate3d(-100%, 0px, 0px); }
}
.animate__fadeOutLeft { animation-name: fadeOutLeft; }
@-webkit-keyframes fadeOutLeftBig {=20
0% { opacity: 1; }
100% { opacity: 0; transform: translate3d(-2000px, 0px, 0px); }
}
@keyframes fadeOutLeftBig {=20
0% { opacity: 1; }
100% { opacity: 0; transform: translate3d(-2000px, 0px, 0px); }
}
.animate__fadeOutLeftBig { animation-name: fadeOutLeftBig; }
@-webkit-keyframes fadeOutRight {=20
0% { opacity: 1; }
100% { opacity: 0; transform: translate3d(100%, 0px, 0px); }
}
@keyframes fadeOutRight {=20
0% { opacity: 1; }
100% { opacity: 0; transform: translate3d(100%, 0px, 0px); }
}
.animate__fadeOutRight { animation-name: fadeOutRight; }
@-webkit-keyframes fadeOutRightBig {=20
0% { opacity: 1; }
100% { opacity: 0; transform: translate3d(2000px, 0px, 0px); }
}
@keyframes fadeOutRightBig {=20
0% { opacity: 1; }
100% { opacity: 0; transform: translate3d(2000px, 0px, 0px); }
}
.animate__fadeOutRightBig { animation-name: fadeOutRightBig; }
@-webkit-keyframes fadeOutUp {=20
0% { opacity: 1; }
100% { opacity: 0; transform: translate3d(0px, -100%, 0px); }
}
@keyframes fadeOutUp {=20
0% { opacity: 1; }
100% { opacity: 0; transform: translate3d(0px, -100%, 0px); }
}
.animate__fadeOutUp { animation-name: fadeOutUp; }
@-webkit-keyframes fadeOutUpBig {=20
0% { opacity: 1; }
100% { opacity: 0; transform: translate3d(0px, -2000px, 0px); }
}
@keyframes fadeOutUpBig {=20
0% { opacity: 1; }
100% { opacity: 0; transform: translate3d(0px, -2000px, 0px); }
}
.animate__fadeOutUpBig { animation-name: fadeOutUpBig; }
@-webkit-keyframes fadeOutTopLeft {=20
0% { opacity: 1; transform: translateZ(0px); }
100% { opacity: 0; transform: translate3d(-100%, -100%, 0px); }
}
@keyframes fadeOutTopLeft {=20
0% { opacity: 1; transform: translateZ(0px); }
100% { opacity: 0; transform: translate3d(-100%, -100%, 0px); }
}
.animate__fadeOutTopLeft { animation-name: fadeOutTopLeft; }
@-webkit-keyframes fadeOutTopRight {=20
0% { opacity: 1; transform: translateZ(0px); }
100% { opacity: 0; transform: translate3d(100%, -100%, 0px); }
}
@keyframes fadeOutTopRight {=20
0% { opacity: 1; transform: translateZ(0px); }
100% { opacity: 0; transform: translate3d(100%, -100%, 0px); }
}
.animate__fadeOutTopRight { animation-name: fadeOutTopRight; }
@-webkit-keyframes fadeOutBottomRight {=20
0% { opacity: 1; transform: translateZ(0px); }
100% { opacity: 0; transform: translate3d(100%, 100%, 0px); }
}
@keyframes fadeOutBottomRight {=20
0% { opacity: 1; transform: translateZ(0px); }
100% { opacity: 0; transform: translate3d(100%, 100%, 0px); }
}
.animate__fadeOutBottomRight { animation-name: fadeOutBottomRight; }
@-webkit-keyframes fadeOutBottomLeft {=20
0% { opacity: 1; transform: translateZ(0px); }
100% { opacity: 0; transform: translate3d(-100%, 100%, 0px); }
}
@keyframes fadeOutBottomLeft {=20
0% { opacity: 1; transform: translateZ(0px); }
100% { opacity: 0; transform: translate3d(-100%, 100%, 0px); }
}
.animate__fadeOutBottomLeft { animation-name: fadeOutBottomLeft; }
@-webkit-keyframes flip {=20
0% { transform: perspective(400px) scaleX(1) translateZ(0px) rotateY(-1tu=
rn); animation-timing-function: ease-out; }
40% { transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-=
190deg); animation-timing-function: ease-out; }
50% { transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-=
170deg); animation-timing-function: ease-in; }
80% { transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translateZ(=
0px) rotateY(0deg); animation-timing-function: ease-in; }
100% { transform: perspective(400px) scaleX(1) translateZ(0px) rotateY(0d=
eg); animation-timing-function: ease-in; }
}
@keyframes flip {=20
0% { transform: perspective(400px) scaleX(1) translateZ(0px) rotateY(-1tu=
rn); animation-timing-function: ease-out; }
40% { transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-=
190deg); animation-timing-function: ease-out; }
50% { transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-=
170deg); animation-timing-function: ease-in; }
80% { transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translateZ(=
0px) rotateY(0deg); animation-timing-function: ease-in; }
100% { transform: perspective(400px) scaleX(1) translateZ(0px) rotateY(0d=
eg); animation-timing-function: ease-in; }
}
.animate__animated.animate__flip { backface-visibility: visible; animation-=
name: flip; }
@-webkit-keyframes flipInX {=20
0% { transform: perspective(400px) rotateX(90deg); animation-timing-funct=
ion: ease-in; opacity: 0; }
40% { transform: perspective(400px) rotateX(-20deg); animation-timing-fun=
ction: ease-in; }
60% { transform: perspective(400px) rotateX(10deg); opacity: 1; }
80% { transform: perspective(400px) rotateX(-5deg); }
100% { transform: perspective(400px); }
}
@keyframes flipInX {=20
0% { transform: perspective(400px) rotateX(90deg); animation-timing-funct=
ion: ease-in; opacity: 0; }
40% { transform: perspective(400px) rotateX(-20deg); animation-timing-fun=
ction: ease-in; }
60% { transform: perspective(400px) rotateX(10deg); opacity: 1; }
80% { transform: perspective(400px) rotateX(-5deg); }
100% { transform: perspective(400px); }
}
.animate__flipInX { animation-name: flipInX; backface-visibility: visible !=
important; }
@-webkit-keyframes flipInY {=20
0% { transform: perspective(400px) rotateY(90deg); animation-timing-funct=
ion: ease-in; opacity: 0; }
40% { transform: perspective(400px) rotateY(-20deg); animation-timing-fun=
ction: ease-in; }
60% { transform: perspective(400px) rotateY(10deg); opacity: 1; }
80% { transform: perspective(400px) rotateY(-5deg); }
100% { transform: perspective(400px); }
}
@keyframes flipInY {=20
0% { transform: perspective(400px) rotateY(90deg); animation-timing-funct=
ion: ease-in; opacity: 0; }
40% { transform: perspective(400px) rotateY(-20deg); animation-timing-fun=
ction: ease-in; }
60% { transform: perspective(400px) rotateY(10deg); opacity: 1; }
80% { transform: perspective(400px) rotateY(-5deg); }
100% { transform: perspective(400px); }
}
.animate__flipInY { animation-name: flipInY; backface-visibility: visible !=
important; }
@-webkit-keyframes flipOutX {=20
0% { transform: perspective(400px); }
30% { transform: perspective(400px) rotateX(-20deg); opacity: 1; }
100% { transform: perspective(400px) rotateX(90deg); opacity: 0; }
}
@keyframes flipOutX {=20
0% { transform: perspective(400px); }
30% { transform: perspective(400px) rotateX(-20deg); opacity: 1; }
100% { transform: perspective(400px) rotateX(90deg); opacity: 0; }
}
.animate__flipOutX { animation-duration: calc(var(--animate-duration)*0.75)=
; animation-name: flipOutX; backface-visibility: visible !important; }
@-webkit-keyframes flipOutY {=20
0% { transform: perspective(400px); }
30% { transform: perspective(400px) rotateY(-15deg); opacity: 1; }
100% { transform: perspective(400px) rotateY(90deg); opacity: 0; }
}
@keyframes flipOutY {=20
0% { transform: perspective(400px); }
30% { transform: perspective(400px) rotateY(-15deg); opacity: 1; }
100% { transform: perspective(400px) rotateY(90deg); opacity: 0; }
}
.animate__flipOutY { animation-duration: calc(var(--animate-duration)*0.75)=
; animation-name: flipOutY; backface-visibility: visible !important; }
@-webkit-keyframes lightSpeedInRight {=20
0% { transform: translate3d(100%, 0px, 0px) skewX(-30deg); opacity: 0; }
60% { transform: skewX(20deg); opacity: 1; }
80% { transform: skewX(-5deg); }
100% { transform: translateZ(0px); }
}
@keyframes lightSpeedInRight {=20
0% { transform: translate3d(100%, 0px, 0px) skewX(-30deg); opacity: 0; }
60% { transform: skewX(20deg); opacity: 1; }
80% { transform: skewX(-5deg); }
100% { transform: translateZ(0px); }
}
.animate__lightSpeedInRight { animation-name: lightSpeedInRight; animation-=
timing-function: ease-out; }
@-webkit-keyframes lightSpeedInLeft {=20
0% { transform: translate3d(-100%, 0px, 0px) skewX(30deg); opacity: 0; }
60% { transform: skewX(-20deg); opacity: 1; }
80% { transform: skewX(5deg); }
100% { transform: translateZ(0px); }
}
@keyframes lightSpeedInLeft {=20
0% { transform: translate3d(-100%, 0px, 0px) skewX(30deg); opacity: 0; }
60% { transform: skewX(-20deg); opacity: 1; }
80% { transform: skewX(5deg); }
100% { transform: translateZ(0px); }
}
.animate__lightSpeedInLeft { animation-name: lightSpeedInLeft; animation-ti=
ming-function: ease-out; }
@-webkit-keyframes lightSpeedOutRight {=20
0% { opacity: 1; }
100% { transform: translate3d(100%, 0px, 0px) skewX(30deg); opacity: 0; }
}
@keyframes lightSpeedOutRight {=20
0% { opacity: 1; }
100% { transform: translate3d(100%, 0px, 0px) skewX(30deg); opacity: 0; }
}
.animate__lightSpeedOutRight { animation-name: lightSpeedOutRight; animatio=
n-timing-function: ease-in; }
@-webkit-keyframes lightSpeedOutLeft {=20
0% { opacity: 1; }
100% { transform: translate3d(-100%, 0px, 0px) skewX(-30deg); opacity: 0;=
}
}
@keyframes lightSpeedOutLeft {=20
0% { opacity: 1; }
100% { transform: translate3d(-100%, 0px, 0px) skewX(-30deg); opacity: 0;=
}
}
.animate__lightSpeedOutLeft { animation-name: lightSpeedOutLeft; animation-=
timing-function: ease-in; }
@-webkit-keyframes rotateIn {=20
0% { transform: rotate(-200deg); opacity: 0; }
100% { transform: translateZ(0px); opacity: 1; }
}
@keyframes rotateIn {=20
0% { transform: rotate(-200deg); opacity: 0; }
100% { transform: translateZ(0px); opacity: 1; }
}
.animate__rotateIn { animation-name: rotateIn; transform-origin: center cen=
ter; }
@-webkit-keyframes rotateInDownLeft {=20
0% { transform: rotate(-45deg); opacity: 0; }
100% { transform: translateZ(0px); opacity: 1; }
}
@keyframes rotateInDownLeft {=20
0% { transform: rotate(-45deg); opacity: 0; }
100% { transform: translateZ(0px); opacity: 1; }
}
.animate__rotateInDownLeft { animation-name: rotateInDownLeft; transform-or=
igin: left bottom; }
@-webkit-keyframes rotateInDownRight {=20
0% { transform: rotate(45deg); opacity: 0; }
100% { transform: translateZ(0px); opacity: 1; }
}
@keyframes rotateInDownRight {=20
0% { transform: rotate(45deg); opacity: 0; }
100% { transform: translateZ(0px); opacity: 1; }
}
.animate__rotateInDownRight { animation-name: rotateInDownRight; transform-=
origin: right bottom; }
@-webkit-keyframes rotateInUpLeft {=20
0% { transform: rotate(45deg); opacity: 0; }
100% { transform: translateZ(0px); opacity: 1; }
}
@keyframes rotateInUpLeft {=20
0% { transform: rotate(45deg); opacity: 0; }
100% { transform: translateZ(0px); opacity: 1; }
}
.animate__rotateInUpLeft { animation-name: rotateInUpLeft; transform-origin=
: left bottom; }
@-webkit-keyframes rotateInUpRight {=20
0% { transform: rotate(-90deg); opacity: 0; }
100% { transform: translateZ(0px); opacity: 1; }
}
@keyframes rotateInUpRight {=20
0% { transform: rotate(-90deg); opacity: 0; }
100% { transform: translateZ(0px); opacity: 1; }
}
.animate__rotateInUpRight { animation-name: rotateInUpRight; transform-orig=
in: right bottom; }
@-webkit-keyframes rotateOut {=20
0% { opacity: 1; }
100% { transform: rotate(200deg); opacity: 0; }
}
@keyframes rotateOut {=20
0% { opacity: 1; }
100% { transform: rotate(200deg); opacity: 0; }
}
.animate__rotateOut { animation-name: rotateOut; transform-origin: center c=
enter; }
@-webkit-keyframes rotateOutDownLeft {=20
0% { opacity: 1; }
100% { transform: rotate(45deg); opacity: 0; }
}
@keyframes rotateOutDownLeft {=20
0% { opacity: 1; }
100% { transform: rotate(45deg); opacity: 0; }
}
.animate__rotateOutDownLeft { animation-name: rotateOutDownLeft; transform-=
origin: left bottom; }
@-webkit-keyframes rotateOutDownRight {=20
0% { opacity: 1; }
100% { transform: rotate(-45deg); opacity: 0; }
}
@keyframes rotateOutDownRight {=20
0% { opacity: 1; }
100% { transform: rotate(-45deg); opacity: 0; }
}
.animate__rotateOutDownRight { animation-name: rotateOutDownRight; transfor=
m-origin: right bottom; }
@-webkit-keyframes rotateOutUpLeft {=20
0% { opacity: 1; }
100% { transform: rotate(-45deg); opacity: 0; }
}
@keyframes rotateOutUpLeft {=20
0% { opacity: 1; }
100% { transform: rotate(-45deg); opacity: 0; }
}
.animate__rotateOutUpLeft { animation-name: rotateOutUpLeft; transform-orig=
in: left bottom; }
@-webkit-keyframes rotateOutUpRight {=20
0% { opacity: 1; }
100% { transform: rotate(90deg); opacity: 0; }
}
@keyframes rotateOutUpRight {=20
0% { opacity: 1; }
100% { transform: rotate(90deg); opacity: 0; }
}
.animate__rotateOutUpRight { animation-name: rotateOutUpRight; transform-or=
igin: right bottom; }
@-webkit-keyframes hinge {=20
0% { animation-timing-function: ease-in-out; }
20%, 60% { transform: rotate(80deg); animation-timing-function: ease-in-o=
ut; }
40%, 80% { transform: rotate(60deg); animation-timing-function: ease-in-o=
ut; opacity: 1; }
100% { transform: translate3d(0px, 700px, 0px); opacity: 0; }
}
@keyframes hinge {=20
0% { animation-timing-function: ease-in-out; }
20%, 60% { transform: rotate(80deg); animation-timing-function: ease-in-o=
ut; }
40%, 80% { transform: rotate(60deg); animation-timing-function: ease-in-o=
ut; opacity: 1; }
100% { transform: translate3d(0px, 700px, 0px); opacity: 0; }
}
.animate__hinge { animation-duration: calc(var(--animate-duration)*2); anim=
ation-name: hinge; transform-origin: left top; }
@-webkit-keyframes jackInTheBox {=20
0% { opacity: 0; transform: scale(0.1) rotate(30deg); transform-origin: c=
enter bottom; }
50% { transform: rotate(-10deg); }
70% { transform: rotate(3deg); }
100% { opacity: 1; transform: scale(1); }
}
@keyframes jackInTheBox {=20
0% { opacity: 0; transform: scale(0.1) rotate(30deg); transform-origin: c=
enter bottom; }
50% { transform: rotate(-10deg); }
70% { transform: rotate(3deg); }
100% { opacity: 1; transform: scale(1); }
}
.animate__jackInTheBox { animation-name: jackInTheBox; }
@-webkit-keyframes rollIn {=20
0% { opacity: 0; transform: translate3d(-100%, 0px, 0px) rotate(-120deg);=
}
100% { opacity: 1; transform: translateZ(0px); }
}
@keyframes rollIn {=20
0% { opacity: 0; transform: translate3d(-100%, 0px, 0px) rotate(-120deg);=
}
100% { opacity: 1; transform: translateZ(0px); }
}
.animate__rollIn { animation-name: rollIn; }
@-webkit-keyframes rollOut {=20
0% { opacity: 1; }
100% { opacity: 0; transform: translate3d(100%, 0px, 0px) rotate(120deg);=
}
}
@keyframes rollOut {=20
0% { opacity: 1; }
100% { opacity: 0; transform: translate3d(100%, 0px, 0px) rotate(120deg);=
}
}
.animate__rollOut { animation-name: rollOut; }
@-webkit-keyframes zoomIn {=20
0% { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); }
50% { opacity: 1; }
}
@keyframes zoomIn {=20
0% { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); }
50% { opacity: 1; }
}
.animate__zoomIn { animation-name: zoomIn; }
@-webkit-keyframes zoomInDown {=20
0% { opacity: 0; transform: scale3d(0.1, 0.1, 0.1) translate3d(0px, -1000=
px, 0px); animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19)=
; }
60% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(0px=
, 60px, 0px); animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1=
); }
}
@keyframes zoomInDown {=20
0% { opacity: 0; transform: scale3d(0.1, 0.1, 0.1) translate3d(0px, -1000=
px, 0px); animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19)=
; }
60% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(0px=
, 60px, 0px); animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1=
); }
}
.animate__zoomInDown { animation-name: zoomInDown; }
@-webkit-keyframes zoomInLeft {=20
0% { opacity: 0; transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0=
px, 0px); animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19)=
; }
60% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(10p=
x, 0px, 0px); animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1=
); }
}
@keyframes zoomInLeft {=20
0% { opacity: 0; transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0=
px, 0px); animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19)=
; }
60% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(10p=
x, 0px, 0px); animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1=
); }
}
.animate__zoomInLeft { animation-name: zoomInLeft; }
@-webkit-keyframes zoomInRight {=20
0% { opacity: 0; transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0p=
x, 0px); animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);=
}
60% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(-10=
px, 0px, 0px); animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, =
1); }
}
@keyframes zoomInRight {=20
0% { opacity: 0; transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0p=
x, 0px); animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);=
}
60% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(-10=
px, 0px, 0px); animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, =
1); }
}
.animate__zoomInRight { animation-name: zoomInRight; }
@-webkit-keyframes zoomInUp {=20
0% { opacity: 0; transform: scale3d(0.1, 0.1, 0.1) translate3d(0px, 1000p=
x, 0px); animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);=
}
60% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(0px=
, -60px, 0px); animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, =
1); }
}
@keyframes zoomInUp {=20
0% { opacity: 0; transform: scale3d(0.1, 0.1, 0.1) translate3d(0px, 1000p=
x, 0px); animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);=
}
60% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(0px=
, -60px, 0px); animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, =
1); }
}
.animate__zoomInUp { animation-name: zoomInUp; }
@-webkit-keyframes zoomOut {=20
0% { opacity: 1; }
50% { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); }
100% { opacity: 0; }
}
@keyframes zoomOut {=20
0% { opacity: 1; }
50% { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); }
100% { opacity: 0; }
}
.animate__zoomOut { animation-name: zoomOut; }
@-webkit-keyframes zoomOutDown {=20
40% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(0px=
, -60px, 0px); animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, =
0.19); }
100% { opacity: 0; transform: scale3d(0.1, 0.1, 0.1) translate3d(0px, 200=
0px, 0px); animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); =
}
}
@keyframes zoomOutDown {=20
40% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(0px=
, -60px, 0px); animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, =
0.19); }
100% { opacity: 0; transform: scale3d(0.1, 0.1, 0.1) translate3d(0px, 200=
0px, 0px); animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); =
}
}
.animate__zoomOutDown { animation-name: zoomOutDown; transform-origin: cent=
er bottom; }
@-webkit-keyframes zoomOutLeft {=20
40% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(42p=
x, 0px, 0px); }
100% { opacity: 0; transform: scale(0.1) translate3d(-2000px, 0px, 0px); =
}
}
@keyframes zoomOutLeft {=20
40% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(42p=
x, 0px, 0px); }
100% { opacity: 0; transform: scale(0.1) translate3d(-2000px, 0px, 0px); =
}
}
.animate__zoomOutLeft { animation-name: zoomOutLeft; transform-origin: left=
center; }
@-webkit-keyframes zoomOutRight {=20
40% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(-42=
px, 0px, 0px); }
100% { opacity: 0; transform: scale(0.1) translate3d(2000px, 0px, 0px); }
}
@keyframes zoomOutRight {=20
40% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(-42=
px, 0px, 0px); }
100% { opacity: 0; transform: scale(0.1) translate3d(2000px, 0px, 0px); }
}
.animate__zoomOutRight { animation-name: zoomOutRight; transform-origin: ri=
ght center; }
@-webkit-keyframes zoomOutUp {=20
40% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(0px=
, 60px, 0px); animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0=
.19); }
100% { opacity: 0; transform: scale3d(0.1, 0.1, 0.1) translate3d(0px, -20=
00px, 0px); animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);=
}
}
@keyframes zoomOutUp {=20
40% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(0px=
, 60px, 0px); animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0=
.19); }
100% { opacity: 0; transform: scale3d(0.1, 0.1, 0.1) translate3d(0px, -20=
00px, 0px); animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);=
}
}
.animate__zoomOutUp { animation-name: zoomOutUp; transform-origin: center b=
ottom; }
@-webkit-keyframes slideInDown {=20
0% { transform: translate3d(0px, -100%, 0px); visibility: visible; }
100% { transform: translateZ(0px); }
}
@keyframes slideInDown {=20
0% { transform: translate3d(0px, -100%, 0px); visibility: visible; }
100% { transform: translateZ(0px); }
}
.animate__slideInDown { animation-name: slideInDown; }
@-webkit-keyframes slideInLeft {=20
0% { transform: translate3d(-100%, 0px, 0px); visibility: visible; }
100% { transform: translateZ(0px); }
}
@keyframes slideInLeft {=20
0% { transform: translate3d(-100%, 0px, 0px); visibility: visible; }
100% { transform: translateZ(0px); }
}
.animate__slideInLeft { animation-name: slideInLeft; }
@-webkit-keyframes slideInRight {=20
0% { transform: translate3d(100%, 0px, 0px); visibility: visible; }
100% { transform: translateZ(0px); }
}
@keyframes slideInRight {=20
0% { transform: translate3d(100%, 0px, 0px); visibility: visible; }
100% { transform: translateZ(0px); }
}
.animate__slideInRight { animation-name: slideInRight; }
@-webkit-keyframes slideInUp {=20
0% { transform: translate3d(0px, 100%, 0px); visibility: visible; }
100% { transform: translateZ(0px); }
}
@keyframes slideInUp {=20
0% { transform: translate3d(0px, 100%, 0px); visibility: visible; }
100% { transform: translateZ(0px); }
}
.animate__slideInUp { animation-name: slideInUp; }
@-webkit-keyframes slideOutDown {=20
0% { transform: translateZ(0px); }
100% { visibility: hidden; transform: translate3d(0px, 100%, 0px); }
}
@keyframes slideOutDown {=20
0% { transform: translateZ(0px); }
100% { visibility: hidden; transform: translate3d(0px, 100%, 0px); }
}
.animate__slideOutDown { animation-name: slideOutDown; }
@-webkit-keyframes slideOutLeft {=20
0% { transform: translateZ(0px); }
100% { visibility: hidden; transform: translate3d(-100%, 0px, 0px); }
}
@keyframes slideOutLeft {=20
0% { transform: translateZ(0px); }
100% { visibility: hidden; transform: translate3d(-100%, 0px, 0px); }
}
.animate__slideOutLeft { animation-name: slideOutLeft; }
@-webkit-keyframes slideOutRight {=20
0% { transform: translateZ(0px); }
100% { visibility: hidden; transform: translate3d(100%, 0px, 0px); }
}
@keyframes slideOutRight {=20
0% { transform: translateZ(0px); }
100% { visibility: hidden; transform: translate3d(100%, 0px, 0px); }
}
.animate__slideOutRight { animation-name: slideOutRight; }
@-webkit-keyframes slideOutUp {=20
0% { transform: translateZ(0px); }
100% { visibility: hidden; transform: translate3d(0px, -100%, 0px); }
}
@keyframes slideOutUp {=20
0% { transform: translateZ(0px); }
100% { visibility: hidden; transform: translate3d(0px, -100%, 0px); }
}
.animate__slideOutUp { animation-name: slideOutUp; }
------MultipartBoundary--gWmtkLL3aPLL9QvHLWg1Yif3XzwEYNRGNBhxAsKdsK----
Content-Type: image/webp
Content-Transfer-Encoding: base64
Content-Location: https://it-notes.dragas.net/stesmall.webp
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
------MultipartBoundary--gWmtkLL3aPLL9QvHLWg1Yif3XzwEYNRGNBhxAsKdsK----
Content-Type: image/webp
Content-Transfer-Encoding: base64
Content-Location: https://it-notes.dragas.net/featured/server_rack.webp
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
------MultipartBoundary--gWmtkLL3aPLL9QvHLWg1Yif3XzwEYNRGNBhxAsKdsK----
Content-Type: image/svg+xml
Content-Transfer-Encoding: quoted-printable
Content-Location: https://it-notes.dragas.net/images/hugo.min.svg
<svg xmlns=3D"http://www.w3.org/2000/svg" xmlns:xlink=3D"http://www.w3.org/=
1999/xlink" viewBox=3D"0 0 370 391" width=3D"16" height=3D"16"><style>.st0{=
fill-rule:evenodd;clip-rule:evenodd;fill:#ff4088;stroke:#c9177e;stroke-widt=
h:27}.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#fff}</style><path class=
=3D"st0" d=3D"M207.5 22.4 321.9 89c13.5 7.9 21.9 22.4 21.9 38v136.4c0 17.3-=
9.3 33.3-24.5 41.8l-113.5 63.9c-15.1 8.5-33.5 8.4-48.5-.2L52.8 308.8c-16.4-=
9.5-26.6-27-26.6-45.9V133.4c0-19.1 9.9-36.8 26.1-46.8l102.8-63.5C171.1 13.2=
191.3 13 207.5 22.4z"/><polygon class=3D"st1" points=3D"105.6,298.2 105.6,=
91 149,91 149,166.5 220.9,166.5 220.9,91 264.4,91 264.4,298.2 220.9,298.2 2=
20.9,207.6 149,207.6 149,298.2"/></svg>
------MultipartBoundary--gWmtkLL3aPLL9QvHLWg1Yif3XzwEYNRGNBhxAsKdsK----
Content-Type: image/svg+xml
Content-Transfer-Encoding: quoted-printable
Content-Location: https://it-notes.dragas.net/images/fixit.min.svg
<svg xmlns=3D"http://www.w3.org/2000/svg" viewBox=3D"0 0 512 512" width=3D"=
16" height=3D"16"><defs><style>.fixit-ban{opacity:.9}</style></defs><path d=
=3D"M159.12 338.69l24.8-16.54a78.87 78.87.0 01-6.77-22.72l-30.88 4.41a16 16=
0 01-4.54-31.68l34.27-4.9v-.76l98.94 98.95a76.89 76.89.0 01-71.68-17.73l-2=
6.39 17.59c-.15.11-.31.21-.47.31a16 16 0 01-17.28-26.93zm224.72-48.42a16 16=
0 00-13.57-18.11l-34.27-4.9V244.9l34.27-4.9a16 16 0 10-4.54-31.68l-30.54 4=
.36a79.31 79.31.0 00-6.85-22.85l24.54-16.36a16 16 0 10-17.29-26.93l-.46.31-=
26 17.34a79.9 79.9.0 00-102.64-3l139.83 139.88 19.41 2.77a16 16 0 0018.11-1=
3.57z" fill=3D"#358c3c" class=3D"fixit-bug"/><path d=3D"M256 8C119 8 8 119 =
8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 432c-101.46.0-184-82.5=
4-184-184a182.84 182.84.0 0133.38-105.37l256 256A182.86 182.86.0 01256 440z=
m150.62-78.63-256-256A182.84 182.84.0 01256 72c101.46.0 184 82.54 184 184a1=
82.84 182.84.0 01-33.38 105.37z" fill=3D"tomato" class=3D"fixit-ban"/></svg>
------MultipartBoundary--gWmtkLL3aPLL9QvHLWg1Yif3XzwEYNRGNBhxAsKdsK----
Content-Type: text/css
Content-Transfer-Encoding: quoted-printable
Content-Location: https://it-notes.dragas.net/lib/katex/katex.min.af6f85907cdfd6ed3e4906d93a8233d91c5638859f744cd1b98c9b1a3ccaab5f231bdcda49f132f6cdfe8cca86ff33ed468affab8a9a502610a664a34f0f0cfa.css
@charset "utf-8";
@font-face { font-family: KaTeX_AMS; font-style: normal; font-weight: 400; =
src: url("fonts/KaTeX_AMS-Regular.woff2") format("woff2"), url("fonts/KaTeX=
_AMS-Regular.woff") format("woff"), url("fonts/KaTeX_AMS-Regular.ttf") form=
at("truetype"); }
@font-face { font-family: KaTeX_Caligraphic; font-style: normal; font-weigh=
t: 700; src: url("fonts/KaTeX_Caligraphic-Bold.woff2") format("woff2"), url=
("fonts/KaTeX_Caligraphic-Bold.woff") format("woff"), url("fonts/KaTeX_Cali=
graphic-Bold.ttf") format("truetype"); }
@font-face { font-family: KaTeX_Caligraphic; font-style: normal; font-weigh=
t: 400; src: url("fonts/KaTeX_Caligraphic-Regular.woff2") format("woff2"), =
url("fonts/KaTeX_Caligraphic-Regular.woff") format("woff"), url("fonts/KaTe=
X_Caligraphic-Regular.ttf") format("truetype"); }
@font-face { font-family: KaTeX_Fraktur; font-style: normal; font-weight: 7=
00; src: url("fonts/KaTeX_Fraktur-Bold.woff2") format("woff2"), url("fonts/=
KaTeX_Fraktur-Bold.woff") format("woff"), url("fonts/KaTeX_Fraktur-Bold.ttf=
") format("truetype"); }
@font-face { font-family: KaTeX_Fraktur; font-style: normal; font-weight: 4=
00; src: url("fonts/KaTeX_Fraktur-Regular.woff2") format("woff2"), url("fon=
ts/KaTeX_Fraktur-Regular.woff") format("woff"), url("fonts/KaTeX_Fraktur-Re=
gular.ttf") format("truetype"); }
@font-face { font-family: KaTeX_Main; font-style: normal; font-weight: 700;=
src: url("fonts/KaTeX_Main-Bold.woff2") format("woff2"), url("fonts/KaTeX_=
Main-Bold.woff") format("woff"), url("fonts/KaTeX_Main-Bold.ttf") format("t=
ruetype"); }
@font-face { font-family: KaTeX_Main; font-style: italic; font-weight: 700;=
src: url("fonts/KaTeX_Main-BoldItalic.woff2") format("woff2"), url("fonts/=
KaTeX_Main-BoldItalic.woff") format("woff"), url("fonts/KaTeX_Main-BoldItal=
ic.ttf") format("truetype"); }
@font-face { font-family: KaTeX_Main; font-style: italic; font-weight: 400;=
src: url("fonts/KaTeX_Main-Italic.woff2") format("woff2"), url("fonts/KaTe=
X_Main-Italic.woff") format("woff"), url("fonts/KaTeX_Main-Italic.ttf") for=
mat("truetype"); }
@font-face { font-family: KaTeX_Main; font-style: normal; font-weight: 400;=
src: url("fonts/KaTeX_Main-Regular.woff2") format("woff2"), url("fonts/KaT=
eX_Main-Regular.woff") format("woff"), url("fonts/KaTeX_Main-Regular.ttf") =
format("truetype"); }
@font-face { font-family: KaTeX_Math; font-style: italic; font-weight: 700;=
src: url("fonts/KaTeX_Math-BoldItalic.woff2") format("woff2"), url("fonts/=
KaTeX_Math-BoldItalic.woff") format("woff"), url("fonts/KaTeX_Math-BoldItal=
ic.ttf") format("truetype"); }
@font-face { font-family: KaTeX_Math; font-style: italic; font-weight: 400;=
src: url("fonts/KaTeX_Math-Italic.woff2") format("woff2"), url("fonts/KaTe=
X_Math-Italic.woff") format("woff"), url("fonts/KaTeX_Math-Italic.ttf") for=
mat("truetype"); }
@font-face { font-family: KaTeX_SansSerif; font-style: normal; font-weight:=
700; src: url("fonts/KaTeX_SansSerif-Bold.woff2") format("woff2"), url("fo=
nts/KaTeX_SansSerif-Bold.woff") format("woff"), url("fonts/KaTeX_SansSerif-=
Bold.ttf") format("truetype"); }
@font-face { font-family: KaTeX_SansSerif; font-style: italic; font-weight:=
400; src: url("fonts/KaTeX_SansSerif-Italic.woff2") format("woff2"), url("=
fonts/KaTeX_SansSerif-Italic.woff") format("woff"), url("fonts/KaTeX_SansSe=
rif-Italic.ttf") format("truetype"); }
@font-face { font-family: KaTeX_SansSerif; font-style: normal; font-weight:=
400; src: url("fonts/KaTeX_SansSerif-Regular.woff2") format("woff2"), url(=
"fonts/KaTeX_SansSerif-Regular.woff") format("woff"), url("fonts/KaTeX_Sans=
Serif-Regular.ttf") format("truetype"); }
@font-face { font-family: KaTeX_Script; font-style: normal; font-weight: 40=
0; src: url("fonts/KaTeX_Script-Regular.woff2") format("woff2"), url("fonts=
/KaTeX_Script-Regular.woff") format("woff"), url("fonts/KaTeX_Script-Regula=
r.ttf") format("truetype"); }
@font-face { font-family: KaTeX_Size1; font-style: normal; font-weight: 400=
; src: url("fonts/KaTeX_Size1-Regular.woff2") format("woff2"), url("fonts/K=
aTeX_Size1-Regular.woff") format("woff"), url("fonts/KaTeX_Size1-Regular.tt=
f") format("truetype"); }
@font-face { font-family: KaTeX_Size2; font-style: normal; font-weight: 400=
; src: url("fonts/KaTeX_Size2-Regular.woff2") format("woff2"), url("fonts/K=
aTeX_Size2-Regular.woff") format("woff"), url("fonts/KaTeX_Size2-Regular.tt=
f") format("truetype"); }
@font-face { font-family: KaTeX_Size3; font-style: normal; font-weight: 400=
; src: url("fonts/KaTeX_Size3-Regular.woff2") format("woff2"), url("fonts/K=
aTeX_Size3-Regular.woff") format("woff"), url("fonts/KaTeX_Size3-Regular.tt=
f") format("truetype"); }
@font-face { font-family: KaTeX_Size4; font-style: normal; font-weight: 400=
; src: url("fonts/KaTeX_Size4-Regular.woff2") format("woff2"), url("fonts/K=
aTeX_Size4-Regular.woff") format("woff"), url("fonts/KaTeX_Size4-Regular.tt=
f") format("truetype"); }
@font-face { font-family: KaTeX_Typewriter; font-style: normal; font-weight=
: 400; src: url("fonts/KaTeX_Typewriter-Regular.woff2") format("woff2"), ur=
l("fonts/KaTeX_Typewriter-Regular.woff") format("woff"), url("fonts/KaTeX_T=
ypewriter-Regular.ttf") format("truetype"); }
.katex { font: 1.21em / 1.2 KaTeX_Main, "Times New Roman", serif; text-inde=
nt: 0px; text-rendering: auto; }
.katex * { border-color: currentcolor; }
.katex .katex-version::after { content: "0.16.10"; }
.katex .katex-mathml { clip: rect(1px, 1px, 1px, 1px); border: 0px; height:=
1px; overflow: hidden; padding: 0px; position: absolute; width: 1px; }
.katex .katex-html > .newline { display: block; }
.katex .base { position: relative; white-space: nowrap; width: min-content;=
}
.katex .base, .katex .strut { display: inline-block; }
.katex .textbf { font-weight: 700; }
.katex .textit { font-style: italic; }
.katex .textrm { font-family: KaTeX_Main; }
.katex .textsf { font-family: KaTeX_SansSerif; }
.katex .texttt { font-family: KaTeX_Typewriter; }
.katex .mathnormal { font-family: KaTeX_Math; font-style: italic; }
.katex .mathit { font-family: KaTeX_Main; font-style: italic; }
.katex .mathrm { font-style: normal; }
.katex .mathbf { font-family: KaTeX_Main; font-weight: 700; }
.katex .boldsymbol { font-family: KaTeX_Math; font-style: italic; font-weig=
ht: 700; }
.katex .amsrm, .katex .mathbb, .katex .textbb { font-family: KaTeX_AMS; }
.katex .mathcal { font-family: KaTeX_Caligraphic; }
.katex .mathfrak, .katex .textfrak { font-family: KaTeX_Fraktur; }
.katex .mathboldfrak, .katex .textboldfrak { font-family: KaTeX_Fraktur; fo=
nt-weight: 700; }
.katex .mathtt { font-family: KaTeX_Typewriter; }
.katex .mathscr, .katex .textscr { font-family: KaTeX_Script; }
.katex .mathsf, .katex .textsf { font-family: KaTeX_SansSerif; }
.katex .mathboldsf, .katex .textboldsf { font-family: KaTeX_SansSerif; font=
-weight: 700; }
.katex .mathitsf, .katex .textitsf { font-family: KaTeX_SansSerif; font-sty=
le: italic; }
.katex .mainrm { font-family: KaTeX_Main; font-style: normal; }
.katex .vlist-t { border-collapse: collapse; display: inline-table; table-l=
ayout: fixed; }
.katex .vlist-r { display: table-row; }
.katex .vlist { display: table-cell; position: relative; vertical-align: bo=
ttom; }
.katex .vlist > span { display: block; height: 0px; position: relative; }
.katex .vlist > span > span { display: inline-block; }
.katex .vlist > span > .pstrut { overflow: hidden; width: 0px; }
.katex .vlist-t2 { margin-right: -2px; }
.katex .vlist-s { display: table-cell; font-size: 1px; min-width: 2px; vert=
ical-align: bottom; width: 2px; }
.katex .vbox { align-items: baseline; display: inline-flex; flex-direction:=
column; }
.katex .hbox { width: 100%; }
.katex .hbox, .katex .thinbox { display: inline-flex; flex-direction: row; =
}
.katex .thinbox { max-width: 0px; width: 0px; }
.katex .msupsub { text-align: left; }
.katex .mfrac > span > span { text-align: center; }
.katex .mfrac .frac-line { border-bottom-style: solid; display: inline-bloc=
k; width: 100%; }
.katex .hdashline, .katex .hline, .katex .mfrac .frac-line, .katex .overlin=
e .overline-line, .katex .rule, .katex .underline .underline-line { min-hei=
ght: 1px; }
.katex .mspace { display: inline-block; }
.katex .clap, .katex .llap, .katex .rlap { position: relative; width: 0px; =
}
.katex .clap > .inner, .katex .llap > .inner, .katex .rlap > .inner { posit=
ion: absolute; }
.katex .clap > .fix, .katex .llap > .fix, .katex .rlap > .fix { display: in=
line-block; }
.katex .llap > .inner { right: 0px; }
.katex .clap > .inner, .katex .rlap > .inner { left: 0px; }
.katex .clap > .inner > span { margin-left: -50%; margin-right: 50%; }
.katex .rule { border: 0px solid; display: inline-block; position: relative=
; }
.katex .hline, .katex .overline .overline-line, .katex .underline .underlin=
e-line { border-bottom-style: solid; display: inline-block; width: 100%; }
.katex .hdashline { border-bottom-style: dashed; display: inline-block; wid=
th: 100%; }
.katex .sqrt > .root { margin-left: 0.277778em; margin-right: -0.555556em; =
}
.katex .fontsize-ensurer.reset-size1.size1, .katex .sizing.reset-size1.size=
1 { font-size: 1em; }
.katex .fontsize-ensurer.reset-size1.size2, .katex .sizing.reset-size1.size=
2 { font-size: 1.2em; }
.katex .fontsize-ensurer.reset-size1.size3, .katex .sizing.reset-size1.size=
3 { font-size: 1.4em; }
.katex .fontsize-ensurer.reset-size1.size4, .katex .sizing.reset-size1.size=
4 { font-size: 1.6em; }
.katex .fontsize-ensurer.reset-size1.size5, .katex .sizing.reset-size1.size=
5 { font-size: 1.8em; }
.katex .fontsize-ensurer.reset-size1.size6, .katex .sizing.reset-size1.size=
6 { font-size: 2em; }
.katex .fontsize-ensurer.reset-size1.size7, .katex .sizing.reset-size1.size=
7 { font-size: 2.4em; }
.katex .fontsize-ensurer.reset-size1.size8, .katex .sizing.reset-size1.size=
8 { font-size: 2.88em; }
.katex .fontsize-ensurer.reset-size1.size9, .katex .sizing.reset-size1.size=
9 { font-size: 3.456em; }
.katex .fontsize-ensurer.reset-size1.size10, .katex .sizing.reset-size1.siz=
e10 { font-size: 4.148em; }
.katex .fontsize-ensurer.reset-size1.size11, .katex .sizing.reset-size1.siz=
e11 { font-size: 4.976em; }
.katex .fontsize-ensurer.reset-size2.size1, .katex .sizing.reset-size2.size=
1 { font-size: 0.833333em; }
.katex .fontsize-ensurer.reset-size2.size2, .katex .sizing.reset-size2.size=
2 { font-size: 1em; }
.katex .fontsize-ensurer.reset-size2.size3, .katex .sizing.reset-size2.size=
3 { font-size: 1.16667em; }
.katex .fontsize-ensurer.reset-size2.size4, .katex .sizing.reset-size2.size=
4 { font-size: 1.33333em; }
.katex .fontsize-ensurer.reset-size2.size5, .katex .sizing.reset-size2.size=
5 { font-size: 1.5em; }
.katex .fontsize-ensurer.reset-size2.size6, .katex .sizing.reset-size2.size=
6 { font-size: 1.66667em; }
.katex .fontsize-ensurer.reset-size2.size7, .katex .sizing.reset-size2.size=
7 { font-size: 2em; }
.katex .fontsize-ensurer.reset-size2.size8, .katex .sizing.reset-size2.size=
8 { font-size: 2.4em; }
.katex .fontsize-ensurer.reset-size2.size9, .katex .sizing.reset-size2.size=
9 { font-size: 2.88em; }
.katex .fontsize-ensurer.reset-size2.size10, .katex .sizing.reset-size2.siz=
e10 { font-size: 3.45667em; }
.katex .fontsize-ensurer.reset-size2.size11, .katex .sizing.reset-size2.siz=
e11 { font-size: 4.14667em; }
.katex .fontsize-ensurer.reset-size3.size1, .katex .sizing.reset-size3.size=
1 { font-size: 0.714286em; }
.katex .fontsize-ensurer.reset-size3.size2, .katex .sizing.reset-size3.size=
2 { font-size: 0.857143em; }
.katex .fontsize-ensurer.reset-size3.size3, .katex .sizing.reset-size3.size=
3 { font-size: 1em; }
.katex .fontsize-ensurer.reset-size3.size4, .katex .sizing.reset-size3.size=
4 { font-size: 1.14286em; }
.katex .fontsize-ensurer.reset-size3.size5, .katex .sizing.reset-size3.size=
5 { font-size: 1.28571em; }
.katex .fontsize-ensurer.reset-size3.size6, .katex .sizing.reset-size3.size=
6 { font-size: 1.42857em; }
.katex .fontsize-ensurer.reset-size3.size7, .katex .sizing.reset-size3.size=
7 { font-size: 1.71429em; }
.katex .fontsize-ensurer.reset-size3.size8, .katex .sizing.reset-size3.size=
8 { font-size: 2.05714em; }
.katex .fontsize-ensurer.reset-size3.size9, .katex .sizing.reset-size3.size=
9 { font-size: 2.46857em; }
.katex .fontsize-ensurer.reset-size3.size10, .katex .sizing.reset-size3.siz=
e10 { font-size: 2.96286em; }
.katex .fontsize-ensurer.reset-size3.size11, .katex .sizing.reset-size3.siz=
e11 { font-size: 3.55429em; }
.katex .fontsize-ensurer.reset-size4.size1, .katex .sizing.reset-size4.size=
1 { font-size: 0.625em; }
.katex .fontsize-ensurer.reset-size4.size2, .katex .sizing.reset-size4.size=
2 { font-size: 0.75em; }
.katex .fontsize-ensurer.reset-size4.size3, .katex .sizing.reset-size4.size=
3 { font-size: 0.875em; }
.katex .fontsize-ensurer.reset-size4.size4, .katex .sizing.reset-size4.size=
4 { font-size: 1em; }
.katex .fontsize-ensurer.reset-size4.size5, .katex .sizing.reset-size4.size=
5 { font-size: 1.125em; }
.katex .fontsize-ensurer.reset-size4.size6, .katex .sizing.reset-size4.size=
6 { font-size: 1.25em; }
.katex .fontsize-ensurer.reset-size4.size7, .katex .sizing.reset-size4.size=
7 { font-size: 1.5em; }
.katex .fontsize-ensurer.reset-size4.size8, .katex .sizing.reset-size4.size=
8 { font-size: 1.8em; }
.katex .fontsize-ensurer.reset-size4.size9, .katex .sizing.reset-size4.size=
9 { font-size: 2.16em; }
.katex .fontsize-ensurer.reset-size4.size10, .katex .sizing.reset-size4.siz=
e10 { font-size: 2.5925em; }
.katex .fontsize-ensurer.reset-size4.size11, .katex .sizing.reset-size4.siz=
e11 { font-size: 3.11em; }
.katex .fontsize-ensurer.reset-size5.size1, .katex .sizing.reset-size5.size=
1 { font-size: 0.555556em; }
.katex .fontsize-ensurer.reset-size5.size2, .katex .sizing.reset-size5.size=
2 { font-size: 0.666667em; }
.katex .fontsize-ensurer.reset-size5.size3, .katex .sizing.reset-size5.size=
3 { font-size: 0.777778em; }
.katex .fontsize-ensurer.reset-size5.size4, .katex .sizing.reset-size5.size=
4 { font-size: 0.888889em; }
.katex .fontsize-ensurer.reset-size5.size5, .katex .sizing.reset-size5.size=
5 { font-size: 1em; }
.katex .fontsize-ensurer.reset-size5.size6, .katex .sizing.reset-size5.size=
6 { font-size: 1.11111em; }
.katex .fontsize-ensurer.reset-size5.size7, .katex .sizing.reset-size5.size=
7 { font-size: 1.33333em; }
.katex .fontsize-ensurer.reset-size5.size8, .katex .sizing.reset-size5.size=
8 { font-size: 1.6em; }
.katex .fontsize-ensurer.reset-size5.size9, .katex .sizing.reset-size5.size=
9 { font-size: 1.92em; }
.katex .fontsize-ensurer.reset-size5.size10, .katex .sizing.reset-size5.siz=
e10 { font-size: 2.30444em; }
.katex .fontsize-ensurer.reset-size5.size11, .katex .sizing.reset-size5.siz=
e11 { font-size: 2.76444em; }
.katex .fontsize-ensurer.reset-size6.size1, .katex .sizing.reset-size6.size=
1 { font-size: 0.5em; }
.katex .fontsize-ensurer.reset-size6.size2, .katex .sizing.reset-size6.size=
2 { font-size: 0.6em; }
.katex .fontsize-ensurer.reset-size6.size3, .katex .sizing.reset-size6.size=
3 { font-size: 0.7em; }
.katex .fontsize-ensurer.reset-size6.size4, .katex .sizing.reset-size6.size=
4 { font-size: 0.8em; }
.katex .fontsize-ensurer.reset-size6.size5, .katex .sizing.reset-size6.size=
5 { font-size: 0.9em; }
.katex .fontsize-ensurer.reset-size6.size6, .katex .sizing.reset-size6.size=
6 { font-size: 1em; }
.katex .fontsize-ensurer.reset-size6.size7, .katex .sizing.reset-size6.size=
7 { font-size: 1.2em; }
.katex .fontsize-ensurer.reset-size6.size8, .katex .sizing.reset-size6.size=
8 { font-size: 1.44em; }
.katex .fontsize-ensurer.reset-size6.size9, .katex .sizing.reset-size6.size=
9 { font-size: 1.728em; }
.katex .fontsize-ensurer.reset-size6.size10, .katex .sizing.reset-size6.siz=
e10 { font-size: 2.074em; }
.katex .fontsize-ensurer.reset-size6.size11, .katex .sizing.reset-size6.siz=
e11 { font-size: 2.488em; }
.katex .fontsize-ensurer.reset-size7.size1, .katex .sizing.reset-size7.size=
1 { font-size: 0.416667em; }
.katex .fontsize-ensurer.reset-size7.size2, .katex .sizing.reset-size7.size=
2 { font-size: 0.5em; }
.katex .fontsize-ensurer.reset-size7.size3, .katex .sizing.reset-size7.size=
3 { font-size: 0.583333em; }
.katex .fontsize-ensurer.reset-size7.size4, .katex .sizing.reset-size7.size=
4 { font-size: 0.666667em; }
.katex .fontsize-ensurer.reset-size7.size5, .katex .sizing.reset-size7.size=
5 { font-size: 0.75em; }
.katex .fontsize-ensurer.reset-size7.size6, .katex .sizing.reset-size7.size=
6 { font-size: 0.833333em; }
.katex .fontsize-ensurer.reset-size7.size7, .katex .sizing.reset-size7.size=
7 { font-size: 1em; }
.katex .fontsize-ensurer.reset-size7.size8, .katex .sizing.reset-size7.size=
8 { font-size: 1.2em; }
.katex .fontsize-ensurer.reset-size7.size9, .katex .sizing.reset-size7.size=
9 { font-size: 1.44em; }
.katex .fontsize-ensurer.reset-size7.size10, .katex .sizing.reset-size7.siz=
e10 { font-size: 1.72833em; }
.katex .fontsize-ensurer.reset-size7.size11, .katex .sizing.reset-size7.siz=
e11 { font-size: 2.07333em; }
.katex .fontsize-ensurer.reset-size8.size1, .katex .sizing.reset-size8.size=
1 { font-size: 0.347222em; }
.katex .fontsize-ensurer.reset-size8.size2, .katex .sizing.reset-size8.size=
2 { font-size: 0.416667em; }
.katex .fontsize-ensurer.reset-size8.size3, .katex .sizing.reset-size8.size=
3 { font-size: 0.486111em; }
.katex .fontsize-ensurer.reset-size8.size4, .katex .sizing.reset-size8.size=
4 { font-size: 0.555556em; }
.katex .fontsize-ensurer.reset-size8.size5, .katex .sizing.reset-size8.size=
5 { font-size: 0.625em; }
.katex .fontsize-ensurer.reset-size8.size6, .katex .sizing.reset-size8.size=
6 { font-size: 0.694444em; }
.katex .fontsize-ensurer.reset-size8.size7, .katex .sizing.reset-size8.size=
7 { font-size: 0.833333em; }
.katex .fontsize-ensurer.reset-size8.size8, .katex .sizing.reset-size8.size=
8 { font-size: 1em; }
.katex .fontsize-ensurer.reset-size8.size9, .katex .sizing.reset-size8.size=
9 { font-size: 1.2em; }
.katex .fontsize-ensurer.reset-size8.size10, .katex .sizing.reset-size8.siz=
e10 { font-size: 1.44028em; }
.katex .fontsize-ensurer.reset-size8.size11, .katex .sizing.reset-size8.siz=
e11 { font-size: 1.72778em; }
.katex .fontsize-ensurer.reset-size9.size1, .katex .sizing.reset-size9.size=
1 { font-size: 0.289352em; }
.katex .fontsize-ensurer.reset-size9.size2, .katex .sizing.reset-size9.size=
2 { font-size: 0.347222em; }
.katex .fontsize-ensurer.reset-size9.size3, .katex .sizing.reset-size9.size=
3 { font-size: 0.405093em; }
.katex .fontsize-ensurer.reset-size9.size4, .katex .sizing.reset-size9.size=
4 { font-size: 0.462963em; }
.katex .fontsize-ensurer.reset-size9.size5, .katex .sizing.reset-size9.size=
5 { font-size: 0.520833em; }
.katex .fontsize-ensurer.reset-size9.size6, .katex .sizing.reset-size9.size=
6 { font-size: 0.578704em; }
.katex .fontsize-ensurer.reset-size9.size7, .katex .sizing.reset-size9.size=
7 { font-size: 0.694444em; }
.katex .fontsize-ensurer.reset-size9.size8, .katex .sizing.reset-size9.size=
8 { font-size: 0.833333em; }
.katex .fontsize-ensurer.reset-size9.size9, .katex .sizing.reset-size9.size=
9 { font-size: 1em; }
.katex .fontsize-ensurer.reset-size9.size10, .katex .sizing.reset-size9.siz=
e10 { font-size: 1.20023em; }
.katex .fontsize-ensurer.reset-size9.size11, .katex .sizing.reset-size9.siz=
e11 { font-size: 1.43981em; }
.katex .fontsize-ensurer.reset-size10.size1, .katex .sizing.reset-size10.si=
ze1 { font-size: 0.24108em; }
.katex .fontsize-ensurer.reset-size10.size2, .katex .sizing.reset-size10.si=
ze2 { font-size: 0.289296em; }
.katex .fontsize-ensurer.reset-size10.size3, .katex .sizing.reset-size10.si=
ze3 { font-size: 0.337512em; }
.katex .fontsize-ensurer.reset-size10.size4, .katex .sizing.reset-size10.si=
ze4 { font-size: 0.385728em; }
.katex .fontsize-ensurer.reset-size10.size5, .katex .sizing.reset-size10.si=
ze5 { font-size: 0.433944em; }
.katex .fontsize-ensurer.reset-size10.size6, .katex .sizing.reset-size10.si=
ze6 { font-size: 0.48216em; }
.katex .fontsize-ensurer.reset-size10.size7, .katex .sizing.reset-size10.si=
ze7 { font-size: 0.578592em; }
.katex .fontsize-ensurer.reset-size10.size8, .katex .sizing.reset-size10.si=
ze8 { font-size: 0.694311em; }
.katex .fontsize-ensurer.reset-size10.size9, .katex .sizing.reset-size10.si=
ze9 { font-size: 0.833173em; }
.katex .fontsize-ensurer.reset-size10.size10, .katex .sizing.reset-size10.s=
ize10 { font-size: 1em; }
.katex .fontsize-ensurer.reset-size10.size11, .katex .sizing.reset-size10.s=
ize11 { font-size: 1.19961em; }
.katex .fontsize-ensurer.reset-size11.size1, .katex .sizing.reset-size11.si=
ze1 { font-size: 0.200965em; }
.katex .fontsize-ensurer.reset-size11.size2, .katex .sizing.reset-size11.si=
ze2 { font-size: 0.241158em; }
.katex .fontsize-ensurer.reset-size11.size3, .katex .sizing.reset-size11.si=
ze3 { font-size: 0.28135em; }
.katex .fontsize-ensurer.reset-size11.size4, .katex .sizing.reset-size11.si=
ze4 { font-size: 0.321543em; }
.katex .fontsize-ensurer.reset-size11.size5, .katex .sizing.reset-size11.si=
ze5 { font-size: 0.361736em; }
.katex .fontsize-ensurer.reset-size11.size6, .katex .sizing.reset-size11.si=
ze6 { font-size: 0.401929em; }
.katex .fontsize-ensurer.reset-size11.size7, .katex .sizing.reset-size11.si=
ze7 { font-size: 0.482315em; }
.katex .fontsize-ensurer.reset-size11.size8, .katex .sizing.reset-size11.si=
ze8 { font-size: 0.578778em; }
.katex .fontsize-ensurer.reset-size11.size9, .katex .sizing.reset-size11.si=
ze9 { font-size: 0.694534em; }
.katex .fontsize-ensurer.reset-size11.size10, .katex .sizing.reset-size11.s=
ize10 { font-size: 0.833601em; }
.katex .fontsize-ensurer.reset-size11.size11, .katex .sizing.reset-size11.s=
ize11 { font-size: 1em; }
.katex .delimsizing.size1 { font-family: KaTeX_Size1; }
.katex .delimsizing.size2 { font-family: KaTeX_Size2; }
.katex .delimsizing.size3 { font-family: KaTeX_Size3; }
.katex .delimsizing.size4 { font-family: KaTeX_Size4; }
.katex .delimsizing.mult .delim-size1 > span { font-family: KaTeX_Size1; }
.katex .delimsizing.mult .delim-size4 > span { font-family: KaTeX_Size4; }
.katex .nulldelimiter { display: inline-block; width: 0.12em; }
.katex .delimcenter, .katex .op-symbol { position: relative; }
.katex .op-symbol.small-op { font-family: KaTeX_Size1; }
.katex .op-symbol.large-op { font-family: KaTeX_Size2; }
.katex .accent > .vlist-t, .katex .op-limits > .vlist-t { text-align: cente=
r; }
.katex .accent .accent-body { position: relative; }
.katex .accent .accent-body:not(.accent-full) { width: 0px; }
.katex .overlay { display: block; }
.katex .mtable .vertical-separator { display: inline-block; min-width: 1px;=
}
.katex .mtable .arraycolsep { display: inline-block; }
.katex .mtable .col-align-c > .vlist-t { text-align: center; }
.katex .mtable .col-align-l > .vlist-t { text-align: left; }
.katex .mtable .col-align-r > .vlist-t { text-align: right; }
.katex .svg-align { text-align: left; }
.katex svg { fill: currentcolor; stroke: currentcolor; fill-rule: nonzero; =
fill-opacity: 1; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: mi=
ter; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; st=
roke-opacity: 1; display: block; height: inherit; position: absolute; width=
: 100%; }
.katex svg path { stroke: none; }
.katex img { border-style: none; max-height: none; max-width: none; min-hei=
ght: 0px; min-width: 0px; }
.katex .stretchy { display: block; overflow: hidden; position: relative; wi=
dth: 100%; }
.katex .stretchy::after, .katex .stretchy::before { content: ""; }
.katex .hide-tail { overflow: hidden; position: relative; width: 100%; }
.katex .halfarrow-left { left: 0px; overflow: hidden; position: absolute; w=
idth: 50.2%; }
.katex .halfarrow-right { overflow: hidden; position: absolute; right: 0px;=
width: 50.2%; }
.katex .brace-left { left: 0px; overflow: hidden; position: absolute; width=
: 25.1%; }
.katex .brace-center { left: 25%; overflow: hidden; position: absolute; wid=
th: 50%; }
.katex .brace-right { overflow: hidden; position: absolute; right: 0px; wid=
th: 25.1%; }
.katex .x-arrow-pad { padding: 0px 0.5em; }
.katex .cd-arrow-pad { padding: 0px 0.55556em 0px 0.27778em; }
.katex .mover, .katex .munder, .katex .x-arrow { text-align: center; }
.katex .boxpad { padding: 0px 0.3em; }
.katex .fbox, .katex .fcolorbox { border: 0.04em solid; box-sizing: border-=
box; }
.katex .cancel-pad { padding: 0px 0.2em; }
.katex .cancel-lap { margin-left: -0.2em; margin-right: -0.2em; }
.katex .sout { border-bottom-style: solid; border-bottom-width: 0.08em; }
.katex .angl { border-right: 0.049em solid; border-top: 0.049em solid; box-=
sizing: border-box; margin-right: 0.03889em; }
.katex .anglpad { padding: 0px 0.03889em; }
.katex .eqn-num::before { content: "(" counter(katexEqnNo) ")"; counter-inc=
rement: katexEqnNo 1; }
.katex .mml-eqn-num::before { content: "(" counter(mmlEqnNo) ")"; counter-i=
ncrement: mmlEqnNo 1; }
.katex .mtr-glue { width: 50%; }
.katex .cd-vert-arrow { display: inline-block; position: relative; }
.katex .cd-label-left { display: inline-block; position: absolute; right: c=
alc(50% + 0.3em); text-align: left; }
.katex .cd-label-right { display: inline-block; left: calc(50% + 0.3em); po=
sition: absolute; text-align: right; }
.katex-display { display: block; margin: 1em 0px; text-align: center; }
.katex-display > .katex { display: block; text-align: center; white-space: =
nowrap; }
.katex-display > .katex > .katex-html { display: block; position: relative;=
}
.katex-display > .katex > .katex-html > .tag { position: absolute; right: 0=
px; }
.katex-display.leqno > .katex > .katex-html > .tag { left: 0px; right: auto=
; }
.katex-display.fleqn > .katex { padding-left: 2em; text-align: left; }
body { counter-reset: katexEqnNo 0 mmlEqnNo 0; }
------MultipartBoundary--gWmtkLL3aPLL9QvHLWg1Yif3XzwEYNRGNBhxAsKdsK----
Content-Type: text/css
Content-Transfer-Encoding: quoted-printable
Content-Location: https://it-notes.dragas.net/lib/cookieconsent/cookieconsent.min.2d0f7b71a99aaff94e9624ff32a8dc42ce645a0cba433fdc091cf34735027efd1fa2db024c2f591d768f426255f17bbf3d500b7c967b0437b3979956dffa81c6.css
@charset "utf-8";
.cc-window { opacity: 1; transition: opacity 1s; }
.cc-window.cc-invisible { opacity: 0; }
.cc-animate.cc-revoke { transition: transform 1s, -webkit-transform 1s; }
.cc-animate.cc-revoke.cc-top { transform: translateY(-2em); }
.cc-animate.cc-revoke.cc-bottom { transform: translateY(2em); }
.cc-animate.cc-revoke.cc-active.cc-top { transform: translateY(0px); }
.cc-animate.cc-revoke.cc-active.cc-bottom { transform: translateY(0px); }
.cc-revoke:hover { transform: translateY(0px); }
.cc-grower { max-height: 0px; overflow: hidden; transition: max-height 1s; =
}
.cc-revoke, .cc-window { position: fixed; overflow: hidden; box-sizing: bor=
der-box; font-family: Helvetica, Calibri, Arial, sans-serif; font-size: 16p=
x; line-height: 1.5em; display: flex; flex-wrap: nowrap; z-index: 9999; }
.cc-window.cc-static { position: static; }
.cc-window.cc-floating { padding: 2em; max-width: 24em; -webkit-box-orient:=
vertical; -webkit-box-direction: normal; flex-direction: column; }
.cc-window.cc-banner { padding: 1em 1.8em; width: 100%; -webkit-box-orient:=
horizontal; -webkit-box-direction: normal; flex-direction: row; }
.cc-revoke { padding: 0.5em; }
.cc-revoke:hover { text-decoration: underline; }
.cc-header { font-size: 18px; font-weight: 700; }
.cc-btn, .cc-close, .cc-link, .cc-revoke { cursor: pointer; }
.cc-link { opacity: 0.8; display: inline-block; padding: 0.2em; text-decora=
tion: underline; }
.cc-link:hover { opacity: 1; }
.cc-link:active, .cc-link:visited { color: initial; }
.cc-btn { display: block; padding: 0.4em 0.8em; font-size: 0.9em; font-weig=
ht: 700; border-width: 2px; border-style: solid; text-align: center; white-=
space: nowrap; }
.cc-highlight .cc-btn:first-child { background-color: transparent; border-c=
olor: transparent; }
.cc-highlight .cc-btn:first-child:focus, .cc-highlight .cc-btn:first-child:=
hover { background-color: transparent; text-decoration: underline; }
.cc-close { display: block; position: absolute; top: 0.5em; right: 0.5em; f=
ont-size: 1.6em; opacity: 0.9; line-height: 0.75; }
.cc-close:focus, .cc-close:hover { opacity: 1; }
.cc-revoke.cc-top { top: 0px; left: 3em; border-bottom-left-radius: 0.5em; =
border-bottom-right-radius: 0.5em; }
.cc-revoke.cc-bottom { bottom: 0px; left: 3em; border-top-left-radius: 0.5e=
m; border-top-right-radius: 0.5em; }
.cc-revoke.cc-left { left: 3em; right: unset; }
.cc-revoke.cc-right { right: 3em; left: unset; }
.cc-top { top: 1em; }
.cc-left { left: 1em; }
.cc-right { right: 1em; }
.cc-bottom { bottom: 1em; }
.cc-floating > .cc-link { margin-bottom: 1em; }
.cc-floating .cc-message { display: block; margin-bottom: 1em; }
.cc-window.cc-floating .cc-compliance { -webkit-box-flex: 1; flex: 1 0 auto=
; }
.cc-window.cc-banner { -webkit-box-align: center; align-items: center; }
.cc-banner.cc-top { left: 0px; right: 0px; top: 0px; }
.cc-banner.cc-bottom { left: 0px; right: 0px; bottom: 0px; }
.cc-banner .cc-message { display: block; -webkit-box-flex: 1; flex: 1 1 aut=
o; max-width: 100%; margin-right: 1em; }
.cc-compliance { display: flex; -webkit-box-align: center; align-items: cen=
ter; align-content: space-between; }
.cc-floating .cc-compliance > .cc-btn { -webkit-box-flex: 1; flex: 1 1 0%; =
}
.cc-btn + .cc-btn { margin-left: 0.5em; }
@media print {
.cc-revoke, .cc-window { display: none; }
}
@media screen and (max-width: 900px) {
.cc-btn { white-space: normal; }
}
@media screen and (max-width: 414px) and (orientation: portrait), screen an=
d (max-width: 736px) and (orientation: landscape) {
.cc-window.cc-top { top: 0px; }
.cc-window.cc-bottom { bottom: 0px; }
.cc-window.cc-banner, .cc-window.cc-floating, .cc-window.cc-left, .cc-win=
dow.cc-right { left: 0px; right: 0px; }
.cc-window.cc-banner { -webkit-box-orient: vertical; -webkit-box-directio=
n: normal; flex-direction: column; }
.cc-window.cc-banner .cc-compliance { -webkit-box-flex: 1; flex: 1 1 auto=
; }
.cc-window.cc-floating { max-width: none; }
.cc-window .cc-message { margin-bottom: 1em; }
.cc-window.cc-banner { -webkit-box-align: unset; align-items: unset; }
.cc-window.cc-banner .cc-message { margin-right: 0px; }
}
.cc-floating.cc-theme-classic { padding: 1.2em; border-radius: 5px; }
.cc-floating.cc-type-info.cc-theme-classic .cc-compliance { text-align: cen=
ter; display: inline; -webkit-box-flex: 0; flex: 0 0 auto; }
.cc-theme-classic .cc-btn { border-radius: 5px; }
.cc-theme-classic .cc-btn:last-child { min-width: 140px; }
.cc-floating.cc-type-info.cc-theme-classic .cc-btn { display: inline-block;=
}
.cc-theme-edgeless.cc-window { padding: 0px; }
.cc-floating.cc-theme-edgeless .cc-message { margin: 2em 2em 1.5em; }
.cc-banner.cc-theme-edgeless .cc-btn { margin: 0px; padding: 0.8em 1.8em; h=
eight: 100%; }
.cc-banner.cc-theme-edgeless .cc-message { margin-left: 1em; }
.cc-floating.cc-theme-edgeless .cc-btn + .cc-btn { margin-left: 0px; }
------MultipartBoundary--gWmtkLL3aPLL9QvHLWg1Yif3XzwEYNRGNBhxAsKdsK------